@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
@@ -9,6 +9,7 @@ Promotional/informational banner with a full-width background image hero section
9
9
  ## Component Purpose
10
10
 
11
11
  Renders a visually rich banner composed of two parts:
12
+
12
13
  1. **Hero section:** Full-width area with a background image, centered title and message text overlaid.
13
14
  2. **Content columns:** Two adjustable-width columns below the hero, rendered from the `a` and `b` slot props. Column widths are controlled by the `variant` prop.
14
15
 
@@ -20,18 +21,18 @@ Renders a visually rich banner composed of two parts:
20
21
 
21
22
  ## Props
22
23
 
23
- | Prop | Type | Required | Description |
24
- |------|------|----------|-------------|
25
- | `a` | `ReactNode` | Yes | Content for the first (left/narrower) column |
26
- | `b` | `ReactNode` | Yes | Content for the second (right/wider) column |
27
- | `banner` | `object` | Yes | Banner metadata (see sub-props below) |
28
- | `banner.title` | `string` | Yes | Title text displayed in the hero section |
29
- | `banner.message` | `string` | Yes | Descriptive message text in the hero section |
30
- | `banner.backgroundImage` | `string` | Yes | URL of the background image for the hero section |
31
- | `banner.variant` | `any` | No | Unused internally (layout variant comes from top-level `variant`) |
32
- | `banner.backgroundColor` | `any` | No | Unused internally |
33
- | `banner.tintImage` | `any` | No | Unused internally |
34
- | `variant` | `string` | Yes | Column layout: `'two-column'`, `'narrow-wide'`, or `'wide-narrow'` |
24
+ | Prop | Type | Required | Description |
25
+ | ------------------------ | ----------- | -------- | ------------------------------------------------------------------ |
26
+ | `a` | `ReactNode` | Yes | Content for the first (left/narrower) column |
27
+ | `b` | `ReactNode` | Yes | Content for the second (right/wider) column |
28
+ | `banner` | `object` | Yes | Banner metadata (see sub-props below) |
29
+ | `banner.title` | `string` | Yes | Title text displayed in the hero section |
30
+ | `banner.message` | `string` | Yes | Descriptive message text in the hero section |
31
+ | `banner.backgroundImage` | `string` | Yes | URL of the background image for the hero section |
32
+ | `banner.variant` | `any` | No | Unused internally (layout variant comes from top-level `variant`) |
33
+ | `banner.backgroundColor` | `any` | No | Unused internally |
34
+ | `banner.tintImage` | `any` | No | Unused internally |
35
+ | `variant` | `string` | Yes | Column layout: `'two-column'`, `'narrow-wide'`, or `'wide-narrow'` |
35
36
 
36
37
  ## Behavioral Contract
37
38
 
@@ -63,53 +64,54 @@ Derived from `Banner.css`:
63
64
 
64
65
  ### Hero Section
65
66
 
66
- | Property | Value |
67
- |----------|-------|
68
- | Margin left | -16px (bleeds to container edge) |
69
- | Margin right | -16px |
70
- | Height | `calc(19rem)` |
71
- | Background size | cover |
72
- | Background position | center center |
67
+ | Property | Value |
68
+ | ------------------- | -------------------------------- |
69
+ | Margin left | -16px (bleeds to container edge) |
70
+ | Margin right | -16px |
71
+ | Height | `calc(19rem)` |
72
+ | Background size | cover |
73
+ | Background position | center center |
73
74
 
74
75
  ### Hero Overlay
75
76
 
76
- | Property | Value |
77
- |----------|-------|
78
- | Background color | transparent |
79
- | Color | `var(--banner-text-color)` |
80
- | Width | 100% |
81
- | Height | 100% |
82
- | Text align | center |
83
- | Display | flex |
84
- | Flex direction | column |
85
- | Justify content | center |
86
- | Align items | center |
87
- | Gap | `calc(0.5rem)` |
77
+ | Property | Value |
78
+ | ---------------- | -------------------------- |
79
+ | Background color | transparent |
80
+ | Color | `var(--banner-text-color)` |
81
+ | Width | 100% |
82
+ | Height | 100% |
83
+ | Text align | center |
84
+ | Display | flex |
85
+ | Flex direction | column |
86
+ | Justify content | center |
87
+ | Align items | center |
88
+ | Gap | `calc(0.5rem)` |
88
89
 
89
90
  ### Hero Title
90
91
 
91
- | Property | Value |
92
- |----------|-------|
93
- | Margin | 0 |
94
- | Font size | 1.728rem |
95
- | Font weight | 600 |
92
+ | Property | Value |
93
+ | ----------- | -------- |
94
+ | Margin | 0 |
95
+ | Font size | 1.728rem |
96
+ | Font weight | 600 |
96
97
 
97
98
  ### Hero Message
98
99
 
99
- | Property | Value |
100
- |----------|-------|
101
- | Margin | 0 |
102
- | Font size | 1rem |
103
- | Font weight | 400 |
100
+ | Property | Value |
101
+ | ----------- | ----- |
102
+ | Margin | 0 |
103
+ | Font size | 1rem |
104
+ | Font weight | 400 |
104
105
 
105
106
  ### Content Grid
106
107
 
107
- | Property | Value |
108
- |----------|-------|
109
- | Padding | 1rem |
108
+ | Property | Value |
109
+ | -------------- | ---------------------- |
110
+ | Padding | 1rem |
110
111
  | Column spacing | 1 spacing unit (≈ 8px) |
111
112
 
112
113
  **CSS-only implementation notes:**
114
+
113
115
  - Hero: `margin: 0 -16px; height: 19rem; background-size: cover; background-position: center; position: relative`.
114
116
  - Overlay: `position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0.5rem; color: var(--banner-text-color); text-align: center`.
115
117
  - Content grid below hero: `display: grid; grid-template-columns: <a-cols>fr <b-cols>fr; gap: 8px; padding: 1rem`.
@@ -134,15 +136,16 @@ Derived from `Banner.css`:
134
136
 
135
137
  Listed design systems are examples only.
136
138
 
137
- | Design System | Recommended Component |
138
- |---|---|
139
- | Default (CSS only) | CSS Grid for columns, CSS background for hero |
140
- | MUI | `<Grid container size={12}>` with `<Grid size={{ xs: ... }}>` for columns |
141
- | Ant Design | `<Row gutter={8}>` with `<Col span={...}>` for columns |
142
- | Chakra UI | `<SimpleGrid columns={2}>` or `<Grid templateColumns='...'>` |
143
- | Shadcn/ui | CSS Grid with Tailwind column utilities |
139
+ | Design System | Recommended Component |
140
+ | ------------------ | ------------------------------------------------------------------------- |
141
+ | Default (CSS only) | CSS Grid for columns, CSS background for hero |
142
+ | MUI | `<Grid container size={12}>` with `<Grid size={{ xs: ... }}>` for columns |
143
+ | Ant Design | `<Row gutter={8}>` with `<Col span={...}>` for columns |
144
+ | Chakra UI | `<SimpleGrid columns={2}>` or `<Grid templateColumns='...'>` |
145
+ | Shadcn/ui | CSS Grid with Tailwind column utilities |
144
146
 
145
147
  When implementing in a specific design system, map the following:
148
+
146
149
  - `variant` column widths → grid column span values
147
150
  - Background image hero → `backgroundImage` inline style with `background-size: cover`
148
151
  - Column A (card-like) → design system's Card or `bg` prop with border-radius
@@ -18,32 +18,34 @@ Renders a responsive 2-column read-only grid of field values for a case summary
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `theFields` | `Array<{ type: string; config: FieldConfig }>` | Yes | Array of typed field descriptors to render |
24
- | `status` | `string` | No | The case status value, injected at position 1 if `showStatus` is true |
25
- | `showStatus` | `boolean` | No | If `true`, splices a status field entry at position 1 in the fields array |
21
+ | Prop | Type | Required | Description |
22
+ | ------------ | ---------------------------------------------- | -------- | ------------------------------------------------------------------------- |
23
+ | `theFields` | `Array<{ type: string; config: FieldConfig }>` | Yes | Array of typed field descriptors to render |
24
+ | `status` | `string` | No | The case status value, injected at position 1 if `showStatus` is true |
25
+ | `showStatus` | `boolean` | No | If `true`, splices a status field entry at position 1 in the fields array |
26
26
 
27
27
  ### FieldConfig shape (within each item in `theFields`)
28
28
 
29
- | Property | Type | Description |
30
- |----------|------|-------------|
31
- | `label` | `string` | Field label |
32
- | `value` | `any` | Field value |
33
- | `visibility` | `boolean` (optional) | If `false`, the field is hidden |
34
- | `caption` | `string` (optional) | Alternative label for checkbox fields |
35
- | `trueLabel` | `string` (optional) | Display text when checkbox value is true |
36
- | `falseLabel` | `string` (optional) | Display text when checkbox value is false |
37
- | `currencyISOCode` | `string` (optional) | ISO currency code for currency fields |
29
+ | Property | Type | Description |
30
+ | ----------------- | -------------------- | ----------------------------------------- |
31
+ | `label` | `string` | Field label |
32
+ | `value` | `any` | Field value |
33
+ | `visibility` | `boolean` (optional) | If `false`, the field is hidden |
34
+ | `caption` | `string` (optional) | Alternative label for checkbox fields |
35
+ | `trueLabel` | `string` (optional) | Display text when checkbox value is true |
36
+ | `falseLabel` | `string` (optional) | Display text when checkbox value is false |
37
+ | `currencyISOCode` | `string` (optional) | ISO currency code for currency fields |
38
38
 
39
39
  ## Behavioral Contract
40
40
 
41
41
  ### 1. Status Field Injection
42
42
 
43
43
  Before rendering, if `showStatus` is `true` AND `theFields[1].type !== 'status'`, inject a status entry at position 1:
44
+
44
45
  ```
45
46
  { type: 'status', config: { value: status, label: 'Status' } }
46
47
  ```
48
+
47
49
  If the fields array has fewer than 2 items, append the status entry at the end.
48
50
 
49
51
  ### 2. State Management with Deep Equality
@@ -59,24 +61,25 @@ Skip any field where `config.visibility` exists and is `false`.
59
61
  ### 4. Type-Based Rendering (`getFieldValue(field)`)
60
62
 
61
63
  When `field.config.value` is `null` or `''` (empty):
64
+
62
65
  - For `caseoperator`: render `<Operator {...field.config} />`.
63
66
  - For all other types: render a read-only TextField with value `'---'` and the field label.
64
67
 
65
68
  When `field.config.value` is non-empty, switch on `field.type.toLowerCase()`:
66
69
 
67
- | Type | Rendering |
68
- |------|-----------|
69
- | `textinput`, `decimal`, `integer`, `dropdown` | Read-only TextField (standard, no underline) with `value` |
70
- | `checkbox` | Label: `label \|\| caption`; Value: `value ? trueLabel : falseLabel`; read-only TextField |
71
- | `status` | Read-only TextField with class `psdk-csf-status-style` (uppercase, small, bold) |
72
- | `phone` | `<a href={'tel:' + value}>` wrapping a read-only TextField with pointer cursor |
73
- | `email` | `<a href={'mailto:' + format(value, 'email')}>` wrapping a read-only TextField with pointer cursor |
74
- | `date` | Read-only TextField with `format(value, 'date', { format: dateFormatStringLong })` |
75
- | `datetime` | Read-only TextField with `format(value, 'datetime', { format: dateFormatStringLong + ' hh:mm a' })` |
76
- | `currency` | Read-only TextField with `format(value, 'currency', getCurrencyOptions(currencyISOCode))` |
77
- | `boolean`, `userreference` | Read-only TextField with `format(value, type)` |
78
- | `caseoperator` | `<Operator {...field.config} />` |
79
- | default (unknown) | `<span>{type} {value}</span>` |
70
+ | Type | Rendering |
71
+ | --------------------------------------------- | --------------------------------------------------------------------------------------------------- |
72
+ | `textinput`, `decimal`, `integer`, `dropdown` | Read-only TextField (standard, no underline) with `value` |
73
+ | `checkbox` | Label: `label \|\| caption`; Value: `value ? trueLabel : falseLabel`; read-only TextField |
74
+ | `status` | Read-only TextField with class `psdk-csf-status-style` (uppercase, small, bold) |
75
+ | `phone` | `<a href={'tel:' + value}>` wrapping a read-only TextField with pointer cursor |
76
+ | `email` | `<a href={'mailto:' + format(value, 'email')}>` wrapping a read-only TextField with pointer cursor |
77
+ | `date` | Read-only TextField with `format(value, 'date', { format: dateFormatStringLong })` |
78
+ | `datetime` | Read-only TextField with `format(value, 'datetime', { format: dateFormatStringLong + ' hh:mm a' })` |
79
+ | `currency` | Read-only TextField with `format(value, 'currency', getCurrencyOptions(currencyISOCode))` |
80
+ | `boolean`, `userreference` | Read-only TextField with `format(value, type)` |
81
+ | `caseoperator` | `<Operator {...field.config} />` |
82
+ | default (unknown) | `<span>{type} {value}</span>` |
80
83
 
81
84
  All TextFields use: `variant='standard'`, `slotProps.input.readOnly = true`, `slotProps.input.disableUnderline = true`.
82
85
 
@@ -90,23 +93,24 @@ Derived from `CaseSummaryFields.css`:
90
93
 
91
94
  ### Status Field
92
95
 
93
- | Property | Value |
94
- |----------|-------|
95
- | Display | inline-block |
96
- | Font size | 0.75rem |
97
- | Font weight | bold |
98
- | Line height | `calc(0.5rem * 2.5)` (≈ 1.25rem) |
99
- | Height | `calc(0.5rem * 2.5)` (≈ 1.25rem) |
100
- | Text transform | uppercase |
96
+ | Property | Value |
97
+ | -------------- | -------------------------------- |
98
+ | Display | inline-block |
99
+ | Font size | 0.75rem |
100
+ | Font weight | bold |
101
+ | Line height | `calc(0.5rem * 2.5)` (≈ 1.25rem) |
102
+ | Height | `calc(0.5rem * 2.5)` (≈ 1.25rem) |
103
+ | Text transform | uppercase |
101
104
 
102
105
  ### Summary Grid Container
103
106
 
104
- | Property | Value |
105
- |----------|-------|
106
- | Padding | `calc(2 * 0.5rem)` (≈ 1rem) |
107
- | Row gap | `calc(2 * 0.5rem)` (≈ 1rem) |
107
+ | Property | Value |
108
+ | -------- | --------------------------- |
109
+ | Padding | `calc(2 * 0.5rem)` (≈ 1rem) |
110
+ | Row gap | `calc(2 * 0.5rem)` (≈ 1rem) |
108
111
 
109
112
  **CSS-only implementation notes:**
113
+
110
114
  - Summary grid: `display: grid; grid-template-columns: 1fr 1fr; padding: 1rem; row-gap: 1rem`.
111
115
  - Each field cell: standard read-only text display with label above value.
112
116
  - Status text: `font-size: 0.75rem; font-weight: bold; text-transform: uppercase; line-height: 1.25rem`.
@@ -137,15 +141,16 @@ Derived from `CaseSummaryFields.css`:
137
141
 
138
142
  Listed design systems are examples only.
139
143
 
140
- | Design System | Recommended Component |
141
- |---|---|
142
- | Default (CSS only) | CSS Grid 2-column layout with label/value pairs |
143
- | MUI | `<Grid container>` with `<Grid size={{ xs: 6 }}>` cells; `<TextField variant='standard' readOnly>` per field |
144
- | Ant Design | `<Descriptions layout='vertical' column={2}>` with typed item renderers |
145
- | Chakra UI | `<SimpleGrid columns={2}>` with `<FormControl>` label/value pairs |
146
- | Shadcn/ui | 2-column grid with `<Label>` / `<p>` pairs |
144
+ | Design System | Recommended Component |
145
+ | ------------------ | ------------------------------------------------------------------------------------------------------------ |
146
+ | Default (CSS only) | CSS Grid 2-column layout with label/value pairs |
147
+ | MUI | `<Grid container>` with `<Grid size={{ xs: 6 }}>` cells; `<TextField variant='standard' readOnly>` per field |
148
+ | Ant Design | `<Descriptions layout='vertical' column={2}>` with typed item renderers |
149
+ | Chakra UI | `<SimpleGrid columns={2}>` with `<FormControl>` label/value pairs |
150
+ | Shadcn/ui | 2-column grid with `<Label>` / `<p>` pairs |
147
151
 
148
152
  When implementing in a specific design system, map the following:
153
+
149
154
  - Read-only TextField (standard, no underline) → design system's read-only text display
150
155
  - Phone field → `<a href='tel:...'>` wrapper around the display
151
156
  - Email field → `<a href='mailto:...'>` wrapper around the display
@@ -11,6 +11,7 @@ Read-only field display component that receives an array of PConnect-aware field
11
11
  Renders a vertical list of read-only field name/value pairs for a details/summary panel. Each field is a PConnect-aware object. The component extracts type, label, and view config from each field's PConnect, forces the view into `readOnly + DISPLAY_ONLY` mode, and delegates rendering to `PConnectComponent`.
12
12
 
13
13
  Supports three item layouts:
14
+
14
15
  - **Reference type:** Renders the value directly (no label/value grid wrapper).
15
16
  - **React element value:** Renders value in a single full-width cell (no label).
16
17
  - **Label + value pair:** Renders label in a 6-col cell and value in a 6-col cell.
@@ -23,15 +24,16 @@ Supports three item layouts:
23
24
 
24
25
  ## Props
25
26
 
26
- | Prop | Type | Required | Description |
27
- |------|------|----------|-------------|
28
- | `fields` | `any[]` | Yes | Array of PConnect-aware field objects. Each must have `.getPConnect()` method |
27
+ | Prop | Type | Required | Description |
28
+ | -------- | ------- | -------- | ----------------------------------------------------------------------------- |
29
+ | `fields` | `any[]` | Yes | Array of PConnect-aware field objects. Each must have `.getPConnect()` method |
29
30
 
30
31
  ## Behavioral Contract
31
32
 
32
33
  ### 1. Field Iteration and PConnect Setup
33
34
 
34
35
  For each field in `fields`:
36
+
35
37
  1. Call `field.getPConnect()` to get `thePConn`.
36
38
  2. Get `theCompType = thePConn.getComponentName().toLowerCase()`.
37
39
  3. Get `label = thePConn.getConfigProps().label`.
@@ -45,11 +47,11 @@ For each field in `fields`:
45
47
 
46
48
  Choose the layout based on the field:
47
49
 
48
- | Condition | Layout |
49
- |-----------|--------|
50
- | `type === 'reference'` | Render `field.value` directly with no wrapper |
51
- | `isValidElement(field.value)` | Single 12-col cell containing `field.value` (no label) |
52
- | Default (string/primitive value) | 6-col label cell + 6-col value cell |
50
+ | Condition | Layout |
51
+ | -------------------------------- | ------------------------------------------------------ |
52
+ | `type === 'reference'` | Render `field.value` directly with no wrapper |
53
+ | `isValidElement(field.value)` | Single 12-col cell containing `field.value` (no label) |
54
+ | Default (string/primitive value) | 6-col label cell + 6-col value cell |
53
55
 
54
56
  ### 3. Label/Value Grid Row
55
57
 
@@ -73,28 +75,29 @@ Derived from `DetailsFields.tsx` makeStyles:
73
75
 
74
76
  ### Label
75
77
 
76
- | Property | Value |
77
- |----------|-------|
78
- | Display | block |
79
- | Font weight | 400 |
80
- | Color | `theme.palette.text.secondary` |
81
- | Typography | `body2` (≈ 0.875rem / 14px) |
78
+ | Property | Value |
79
+ | ----------- | ------------------------------ |
80
+ | Display | block |
81
+ | Font weight | 400 |
82
+ | Color | `theme.palette.text.secondary` |
83
+ | Typography | `body2` (≈ 0.875rem / 14px) |
82
84
 
83
85
  ### Value
84
86
 
85
- | Property | Value |
86
- |----------|-------|
87
- | Font weight | 400 |
88
- | Color | `theme.palette.text.primary` |
89
- | Typography | `body2` (≈ 0.875rem / 14px) |
87
+ | Property | Value |
88
+ | ----------- | ---------------------------- |
89
+ | Font weight | 400 |
90
+ | Color | `theme.palette.text.primary` |
91
+ | Typography | `body2` (≈ 0.875rem / 14px) |
90
92
 
91
93
  ### Row Padding
92
94
 
93
- | Property | Value |
94
- |----------|-------|
95
+ | Property | Value |
96
+ | --------- | ------------------ |
95
97
  | Row style | `padding: 4px 0px` |
96
98
 
97
99
  **CSS-only implementation notes:**
100
+
98
101
  - Each row: `display: grid; grid-template-columns: 1fr 1fr; padding: 4px 0; gap: 8px`.
99
102
  - Label: `font-size: 0.875rem; font-weight: 400; color: var(--text-secondary); display: block`.
100
103
  - Value: `font-size: 0.875rem; font-weight: 400; color: var(--text-primary)`.
@@ -127,15 +130,16 @@ Derived from `DetailsFields.tsx` makeStyles:
127
130
 
128
131
  Listed design systems are examples only.
129
132
 
130
- | Design System | Recommended Component |
131
- |---|---|
132
- | Default (CSS only) | CSS grid 2-column rows per field pair |
133
- | MUI | `<Grid container spacing={1}>` per row with `<Typography>` label and value |
134
- | Ant Design | `<Descriptions layout='horizontal' column={1}>` with PConnect-rendered values |
135
- | Chakra UI | `<Grid templateColumns='1fr 1fr'>` rows with `<Text>` label/value |
136
- | Shadcn/ui | `<div class='grid grid-cols-2'>` rows |
133
+ | Design System | Recommended Component |
134
+ | ------------------ | ----------------------------------------------------------------------------- |
135
+ | Default (CSS only) | CSS grid 2-column rows per field pair |
136
+ | MUI | `<Grid container spacing={1}>` per row with `<Typography>` label and value |
137
+ | Ant Design | `<Descriptions layout='horizontal' column={1}>` with PConnect-rendered values |
138
+ | Chakra UI | `<Grid templateColumns='1fr 1fr'>` rows with `<Text>` label/value |
139
+ | Shadcn/ui | `<div class='grid grid-cols-2'>` rows |
137
140
 
138
141
  When implementing in a specific design system, map the following:
142
+
139
143
  - Label → secondary muted text, `body2` size
140
144
  - Value → primary text, `body2` size
141
145
  - Row padding → `4px 0` vertical spacing between pairs
@@ -9,6 +9,7 @@ Collapsible or static container that groups related fields under an optional sec
9
9
  ## Component Purpose
10
10
 
11
11
  Renders a labeled section that wraps one or more field components. Supports optional:
12
+
12
13
  - **Section name** — rendered as a bold header above the fields.
13
14
  - **Collapsible behavior** — the name header becomes a toggle that shows/hides the fields.
14
15
  - **Instructions text** — rendered as HTML below the header and above the fields.
@@ -23,12 +24,12 @@ Children are rendered inside a full-width inner container.
23
24
 
24
25
  ## Props
25
26
 
26
- | Prop | Type | Required | Description |
27
- |------|------|----------|-------------|
28
- | `children` | `ReactNode` | No | Field components to render inside the group |
29
- | `name` | `string` | No | Section heading displayed above the fields |
30
- | `collapsible` | `boolean` | No | If `true`, the header acts as a collapse/expand toggle. Default `false` |
31
- | `instructions` | `string` | No | HTML string of instruction text shown between header and fields |
27
+ | Prop | Type | Required | Description |
28
+ | -------------- | ----------- | -------- | ----------------------------------------------------------------------- |
29
+ | `children` | `ReactNode` | No | Field components to render inside the group |
30
+ | `name` | `string` | No | Section heading displayed above the fields |
31
+ | `collapsible` | `boolean` | No | If `true`, the header acts as a collapse/expand toggle. Default `false` |
32
+ | `instructions` | `string` | No | HTML string of instruction text shown between header and fields |
32
33
 
33
34
  ## Behavioral Contract
34
35
 
@@ -52,43 +53,44 @@ Derived from `FieldGroup.tsx` makeStyles:
52
53
 
53
54
  ### Outer Container
54
55
 
55
- | Property | Value |
56
- |----------|-------|
57
- | Spacing | 4 units (≈ 32px in MUI default) |
56
+ | Property | Value |
57
+ | -------- | ------------------------------- |
58
+ | Spacing | 4 units (≈ 32px in MUI default) |
58
59
 
59
60
  ### Component Root Margins
60
61
 
61
- | Property | Value |
62
- |----------|-------|
63
- | Margin right | `theme.spacing(1)` (≈ 8px) |
64
- | Margin left | `theme.spacing(1)` |
65
- | Margin top | `theme.spacing(1)` |
66
- | Margin bottom | `theme.spacing(1)` |
62
+ | Property | Value |
63
+ | ------------- | -------------------------- |
64
+ | Margin right | `theme.spacing(1)` (≈ 8px) |
65
+ | Margin left | `theme.spacing(1)` |
66
+ | Margin top | `theme.spacing(1)` |
67
+ | Margin bottom | `theme.spacing(1)` |
67
68
 
68
69
  ### Field Margin (name row)
69
70
 
70
- | Property | Value |
71
- |----------|-------|
72
- | Padding top | `theme.spacing(1)` |
71
+ | Property | Value |
72
+ | -------------- | ------------------ |
73
+ | Padding top | `theme.spacing(1)` |
73
74
  | Padding bottom | `theme.spacing(1)` |
74
- | Margin top | `theme.spacing(1)` |
75
+ | Margin top | `theme.spacing(1)` |
75
76
 
76
77
  ### Header Row (collapsible)
77
78
 
78
- | Property | Value |
79
- |----------|-------|
80
- | Display | flex |
81
- | Align items | center |
82
- | Gap | 5px |
83
- | Cursor | `pointer` (collapsible) or `auto` (non-collapsible) |
79
+ | Property | Value |
80
+ | ----------- | --------------------------------------------------- |
81
+ | Display | flex |
82
+ | Align items | center |
83
+ | Gap | 5px |
84
+ | Cursor | `pointer` (collapsible) or `auto` (non-collapsible) |
84
85
 
85
86
  ### Instructions
86
87
 
87
- | Property | Value |
88
- |----------|-------|
89
- | Padding | `5px 0` |
88
+ | Property | Value |
89
+ | -------- | ------- |
90
+ | Padding | `5px 0` |
90
91
 
91
92
  **CSS-only implementation notes:**
93
+
92
94
  - Outer wrapper: `margin: 8px`.
93
95
  - Name row: `padding: 8px 0; margin-top: 8px`.
94
96
  - Collapsible header: `display: flex; align-items: center; gap: 5px; cursor: pointer; user-select: none`.
@@ -116,15 +118,16 @@ Derived from `FieldGroup.tsx` makeStyles:
116
118
 
117
119
  Listed design systems are examples only.
118
120
 
119
- | Design System | Recommended Component |
120
- |---|---|
121
- | Default (CSS only) | `<div>` with toggled `display: none` on children, `<b>` header |
122
- | MUI | Grid container with `KeyboardArrowRight/Down` icons for collapse toggle |
123
- | Ant Design | `<Collapse>` or `<Card>` with collapsible panels |
124
- | Chakra UI | `<Accordion>` or manual `<Box>` with toggle state |
125
- | Shadcn/ui | `<Collapsible>` + `<CollapsibleTrigger>` + `<CollapsibleContent>` |
121
+ | Design System | Recommended Component |
122
+ | ------------------ | ----------------------------------------------------------------------- |
123
+ | Default (CSS only) | `<div>` with toggled `display: none` on children, `<b>` header |
124
+ | MUI | Grid container with `KeyboardArrowRight/Down` icons for collapse toggle |
125
+ | Ant Design | `<Collapse>` or `<Card>` with collapsible panels |
126
+ | Chakra UI | `<Accordion>` or manual `<Box>` with toggle state |
127
+ | Shadcn/ui | `<Collapsible>` + `<CollapsibleTrigger>` + `<CollapsibleContent>` |
126
128
 
127
129
  When implementing in a specific design system, map the following:
130
+
128
131
  - `collapsed` toggle → design system's collapse/expand state or controlled component
129
132
  - Arrow direction → visual indicator of expand/collapse state (chevron or arrow icon)
130
133
  - `instructions` HTML → design system's `dangerouslySetInnerHTML` or rich content slot
@@ -18,11 +18,11 @@ Renders a vertical list of field group items. Each item has a bold name header,
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `items` | `Array<{ name: string; id: string; children: ReactNode }>` | Yes | List of field group items to render |
24
- | `onDelete` | `(id: string) => void` | No | Called with the item's `id` when the delete button is clicked. If not provided, no delete button is shown |
25
- | `onAdd` | `() => void` | No | Called when the "+Add" link is clicked. If not provided, no add link or dividers are shown |
21
+ | Prop | Type | Required | Description |
22
+ | ---------- | ---------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------- |
23
+ | `items` | `Array<{ name: string; id: string; children: ReactNode }>` | Yes | List of field group items to render |
24
+ | `onDelete` | `(id: string) => void` | No | Called with the item's `id` when the delete button is clicked. If not provided, no delete button is shown |
25
+ | `onAdd` | `() => void` | No | Called when the "+Add" link is clicked. If not provided, no add link or dividers are shown |
26
26
 
27
27
  ## Behavioral Contract
28
28
 
@@ -49,27 +49,28 @@ Derived from `FieldGroupList.tsx`:
49
49
 
50
50
  ### Outer Layout
51
51
 
52
- | Property | Value |
53
- |----------|-------|
52
+ | Property | Value |
53
+ | ---------------------- | ---------- |
54
54
  | Grid container spacing | 4 (≈ 32px) |
55
55
 
56
56
  ### Delete Button
57
57
 
58
- | Property | Value |
59
- |----------|-------|
60
- | Float | right |
61
- | Style class | `psdk-utility-button` |
58
+ | Property | Value |
59
+ | ----------- | ----------------------------------------------------------- |
60
+ | Float | right |
61
+ | Style class | `psdk-utility-button` |
62
62
  | Icon source | `Utils.getImageSrc('trash', Utils.getSDKStaticConentUrl())` |
63
63
 
64
64
  ### "+Add" Link
65
65
 
66
- | Property | Value |
67
- |----------|-------|
68
- | Cursor | pointer |
69
- | Underline | hover |
70
- | Text | `'+Add'` |
66
+ | Property | Value |
67
+ | --------- | -------- |
68
+ | Cursor | pointer |
69
+ | Underline | hover |
70
+ | Text | `'+Add'` |
71
71
 
72
72
  **CSS-only implementation notes:**
73
+
73
74
  - Outer wrapper: `display: flex; flex-direction: column; gap: 32px`.
74
75
  - Item wrapper: `display: flex; flex-direction: column; gap: 8px; width: 100%`.
75
76
  - Item header row: `display: flex; justify-content: space-between; align-items: center`.
@@ -96,15 +97,16 @@ Derived from `FieldGroupList.tsx`:
96
97
 
97
98
  Listed design systems are examples only.
98
99
 
99
- | Design System | Recommended Component |
100
- |---|---|
101
- | Default (CSS only) | Flex column layout with `<hr>` divider and `<button>` delete |
102
- | MUI | `<Grid container>` items with `<Divider>` and `<Link>` for "+Add" |
103
- | Ant Design | `<List>` items with `<Divider>` and `<Button type='link'>` for "+Add" |
104
- | Chakra UI | `<VStack>` with `<Divider>` and `<Button variant='link'>` |
105
- | Shadcn/ui | `<div>` flex column with `<Separator>` and a link button |
100
+ | Design System | Recommended Component |
101
+ | ------------------ | --------------------------------------------------------------------- |
102
+ | Default (CSS only) | Flex column layout with `<hr>` divider and `<button>` delete |
103
+ | MUI | `<Grid container>` items with `<Divider>` and `<Link>` for "+Add" |
104
+ | Ant Design | `<List>` items with `<Divider>` and `<Button type='link'>` for "+Add" |
105
+ | Chakra UI | `<VStack>` with `<Divider>` and `<Button variant='link'>` |
106
+ | Shadcn/ui | `<div>` flex column with `<Separator>` and a link button |
106
107
 
107
108
  When implementing in a specific design system, map the following:
109
+
108
110
  - Delete button → icon button or `danger` variant button placed at the item top-right
109
111
  - Divider between items → `<Divider>` / `<hr>` (only when `onAdd` is present)
110
112
  - "+Add" link → a text link / `Button variant='link'` that calls `onAdd`