@pega/sdk 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/LICENSE +183 -183
  2. package/README.md +6 -6
  3. package/SECURITY.md +2 -1
  4. package/dist/index.js +12 -55
  5. package/package.json +7 -6
  6. package/templates/angular-sdk-reference/package.json +15 -15
  7. package/templates/angular-sdk-reference/tsconfig.json +2 -2
  8. package/templates/react-native-sdk-reference/App.tsx +2 -4
  9. package/templates/react-native-sdk-reference/package.json +6 -6
  10. package/templates/react-native-sdk-reference/tsconfig.json +2 -1
  11. package/templates/react-sdk-reference/.claude/instructions/component-map.md +1 -1
  12. package/templates/react-sdk-reference/.claude/instructions/field-component.md +4 -0
  13. package/templates/react-sdk-reference/.claude/instructions/template-component.md +2 -1
  14. package/templates/react-sdk-reference/.claude/instructions/widget-component.md +1 -0
  15. package/templates/react-sdk-reference/.claude/prompts/add-component.md +18 -10
  16. package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +165 -83
  17. package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +26 -17
  18. package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +27 -13
  19. package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +42 -28
  20. package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +48 -34
  21. package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +25 -11
  22. package/templates/react-sdk-reference/.claude/prompts/identify-components.md +65 -65
  23. package/templates/react-sdk-reference/.claude/skills/component-contracts.md +99 -99
  24. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +40 -38
  25. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +54 -51
  26. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
  27. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +32 -28
  28. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +38 -35
  29. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +25 -23
  30. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +29 -26
  31. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +32 -26
  32. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +17 -15
  33. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +85 -59
  34. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
  35. package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +13 -11
  36. package/templates/react-sdk-reference/.claude/skills/field-components.md +9 -8
  37. package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +27 -26
  38. package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +30 -22
  39. package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +60 -43
  40. package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +23 -20
  41. package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +19 -17
  42. package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +18 -15
  43. package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +22 -21
  44. package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +50 -30
  45. package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +20 -18
  46. package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +21 -15
  47. package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +17 -16
  48. package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +30 -21
  49. package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +66 -42
  50. package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +27 -18
  51. package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +22 -21
  52. package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +36 -17
  53. package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +56 -35
  54. package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +23 -12
  55. package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +41 -31
  56. package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +70 -55
  57. package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +34 -27
  58. package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +24 -22
  59. package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +38 -22
  60. package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +24 -21
  61. package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +16 -15
  62. package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +16 -15
  63. package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +57 -34
  64. package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +10 -8
  65. package/templates/react-sdk-reference/.claude/skills/template-components.md +7 -8
  66. package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +27 -21
  67. package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +17 -15
  68. package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +19 -16
  69. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +19 -13
  70. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +23 -17
  71. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +34 -29
  72. package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +18 -16
  73. package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +36 -32
  74. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +23 -21
  75. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +31 -29
  76. package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +19 -17
  77. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +22 -20
  78. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +19 -17
  79. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +19 -17
  80. package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +15 -10
  81. package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +19 -16
  82. package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +18 -15
  83. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +17 -13
  84. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +10 -13
  85. package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +9 -7
  86. package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +33 -30
  87. package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +13 -11
  88. package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +42 -40
  89. package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +25 -20
  90. package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +25 -19
  91. package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +36 -29
  92. package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +31 -27
  93. package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +29 -24
  94. package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +14 -11
  95. package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +34 -32
  96. package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +48 -46
  97. package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +23 -19
  98. package/templates/react-sdk-reference/.claude/skills/widget-components.md +11 -22
  99. package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +22 -20
  100. package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +33 -28
  101. package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +18 -15
  102. package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +43 -37
  103. package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +23 -19
  104. package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +20 -16
  105. package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +26 -24
  106. package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +43 -35
  107. package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +165 -83
  108. package/templates/react-sdk-reference/.github/agents/implementation-expert.agent.md +135 -0
  109. package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +2 -2
  110. package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +1 -1
  111. package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +5 -1
  112. package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +3 -2
  113. package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +2 -1
  114. package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +58 -15
  115. package/templates/react-sdk-reference/.github/prompts/component-manifest.json +165 -83
  116. package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +322 -65
  117. package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +124 -50
  118. package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +145 -66
  119. package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +146 -73
  120. package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +128 -49
  121. package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +65 -65
  122. package/templates/react-sdk-reference/.github/skills/component-contracts.md +99 -99
  123. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/AlertBanner.md +40 -38
  124. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +54 -51
  125. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
  126. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +32 -28
  127. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +38 -35
  128. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +25 -23
  129. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +29 -26
  130. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +32 -26
  131. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +17 -15
  132. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +85 -59
  133. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
  134. package/templates/react-sdk-reference/.github/skills/design-system-extension.md +13 -11
  135. package/templates/react-sdk-reference/.github/skills/field-components.md +9 -8
  136. package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +27 -26
  137. package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +30 -22
  138. package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +60 -43
  139. package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +23 -20
  140. package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +19 -17
  141. package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +18 -15
  142. package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +22 -21
  143. package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +50 -30
  144. package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +20 -18
  145. package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +21 -15
  146. package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +17 -16
  147. package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +30 -21
  148. package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +66 -42
  149. package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +27 -18
  150. package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +22 -21
  151. package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +36 -17
  152. package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +56 -35
  153. package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +23 -12
  154. package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +41 -31
  155. package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +70 -55
  156. package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +34 -27
  157. package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +24 -22
  158. package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +38 -22
  159. package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +24 -21
  160. package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +16 -15
  161. package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +16 -15
  162. package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +57 -34
  163. package/templates/react-sdk-reference/.github/skills/run-and-verify.md +10 -8
  164. package/templates/react-sdk-reference/.github/skills/template-components.md +7 -8
  165. package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +27 -21
  166. package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +17 -15
  167. package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +19 -16
  168. package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +19 -13
  169. package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +23 -17
  170. package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +34 -29
  171. package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +18 -16
  172. package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +36 -32
  173. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +23 -21
  174. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +31 -29
  175. package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +19 -17
  176. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +22 -20
  177. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +19 -17
  178. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +19 -17
  179. package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +15 -10
  180. package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +19 -16
  181. package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +18 -15
  182. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +17 -13
  183. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +10 -13
  184. package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +9 -7
  185. package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +33 -30
  186. package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md +13 -11
  187. package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +42 -40
  188. package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +25 -20
  189. package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +25 -19
  190. package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +36 -29
  191. package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +31 -27
  192. package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +29 -24
  193. package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +14 -11
  194. package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +34 -32
  195. package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +48 -46
  196. package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +23 -19
  197. package/templates/react-sdk-reference/.github/skills/widget-components.md +11 -22
  198. package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +22 -20
  199. package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +33 -28
  200. package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +18 -15
  201. package/templates/react-sdk-reference/.github/skills/widget-skills/FileUtility.md +43 -37
  202. package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +23 -19
  203. package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +20 -16
  204. package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +26 -24
  205. package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +43 -35
  206. package/templates/react-sdk-reference/AGENTS.md +0 -1
  207. package/templates/react-sdk-reference/index.html +1 -4
  208. package/templates/react-sdk-reference/package.json +15 -15
  209. package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  210. package/templates/react-sdk-reference/src/AppSelector.tsx +6 -6
  211. package/templates/react-sdk-reference/src/FallbackComponent.tsx +2 -6
  212. package/templates/react-sdk-reference/src/MashupApp.styles.ts +269 -41
  213. package/templates/react-sdk-reference/src/MashupApp.tsx +186 -85
  214. package/templates/react-sdk-reference/src/PortalApp.tsx +10 -34
  215. package/templates/react-sdk-reference/src/components/component-map.ts +2 -7
  216. package/templates/react-sdk-reference/src/components/designSystemExtension/AlertBanner/AlertBanner.tsx +7 -28
  217. package/templates/react-sdk-reference/src/components/designSystemExtension/Banner/Banner.tsx +12 -7
  218. package/templates/react-sdk-reference/src/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +35 -33
  219. package/templates/react-sdk-reference/src/components/designSystemExtension/DetailsFields/DetailsFields.tsx +6 -27
  220. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroup/FieldGroup.tsx +15 -11
  221. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx +7 -7
  222. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -12
  223. package/templates/react-sdk-reference/src/components/designSystemExtension/Operator/Operator.tsx +27 -25
  224. package/templates/react-sdk-reference/src/components/designSystemExtension/Pulse/Pulse.tsx +4 -4
  225. package/templates/react-sdk-reference/src/components/designSystemExtension/RichTextEditor/RichTextEditor.tsx +8 -40
  226. package/templates/react-sdk-reference/src/components/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +9 -9
  227. package/templates/react-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +26 -20
  228. package/templates/react-sdk-reference/src/components/field/CancelAlert/CancelAlert.tsx +35 -17
  229. package/templates/react-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +27 -25
  230. package/templates/react-sdk-reference/src/components/field/Currency/Currency.tsx +10 -6
  231. package/templates/react-sdk-reference/src/components/field/Currency/currency-utils.ts +1 -1
  232. package/templates/react-sdk-reference/src/components/field/Date/Date.tsx +20 -7
  233. package/templates/react-sdk-reference/src/components/field/DateTime/DateTime.tsx +23 -8
  234. package/templates/react-sdk-reference/src/components/field/Decimal/Decimal.tsx +5 -5
  235. package/templates/react-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +45 -25
  236. package/templates/react-sdk-reference/src/components/field/Email/Email.tsx +8 -8
  237. package/templates/react-sdk-reference/src/components/field/Group/Group.tsx +1 -1
  238. package/templates/react-sdk-reference/src/components/field/Integer/Integer.tsx +5 -5
  239. package/templates/react-sdk-reference/src/components/field/Location/Location.tsx +21 -16
  240. package/templates/react-sdk-reference/src/components/field/Multiselect/Multiselect.tsx +42 -27
  241. package/templates/react-sdk-reference/src/components/field/Multiselect/utils.ts +43 -29
  242. package/templates/react-sdk-reference/src/components/field/ObjectReference/ObjectReference.tsx +53 -30
  243. package/templates/react-sdk-reference/src/components/field/ObjectReference/utils.ts +12 -11
  244. package/templates/react-sdk-reference/src/components/field/Percentage/Percentage.tsx +6 -6
  245. package/templates/react-sdk-reference/src/components/field/Phone/Phone.tsx +12 -12
  246. package/templates/react-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +38 -16
  247. package/templates/react-sdk-reference/src/components/field/RichText/RichText.tsx +17 -4
  248. package/templates/react-sdk-reference/src/components/field/ScalarList/ScalarList.tsx +5 -5
  249. package/templates/react-sdk-reference/src/components/field/SelectableCard/SelectableCard.tsx +31 -18
  250. package/templates/react-sdk-reference/src/components/field/SelectableCard/utils.tsx +28 -20
  251. package/templates/react-sdk-reference/src/components/field/SemanticLink/SemanticLink.tsx +28 -19
  252. package/templates/react-sdk-reference/src/components/field/SemanticLink/utils.ts +3 -1
  253. package/templates/react-sdk-reference/src/components/field/TextArea/TextArea.tsx +4 -4
  254. package/templates/react-sdk-reference/src/components/field/TextInput/TextInput.tsx +4 -4
  255. package/templates/react-sdk-reference/src/components/field/Time/Time.tsx +20 -7
  256. package/templates/react-sdk-reference/src/components/field/URL/URL.tsx +7 -7
  257. package/templates/react-sdk-reference/src/components/field/UserReference/UserReference.tsx +14 -14
  258. package/templates/react-sdk-reference/src/components/field/UserReference/UserReferenceUtils.ts +2 -2
  259. package/templates/react-sdk-reference/src/components/helpers/case-utils.tsx +5 -5
  260. package/templates/react-sdk-reference/src/components/helpers/data_page.ts +3 -3
  261. package/templates/react-sdk-reference/src/components/helpers/date-format-utils.ts +5 -5
  262. package/templates/react-sdk-reference/src/components/helpers/field-group-utils.ts +2 -7
  263. package/templates/react-sdk-reference/src/components/helpers/formatters/Boolean.ts +9 -3
  264. package/templates/react-sdk-reference/src/components/helpers/formatters/Currency.ts +18 -6
  265. package/templates/react-sdk-reference/src/components/helpers/formatters/CurrencyMap.ts +168 -168
  266. package/templates/react-sdk-reference/src/components/helpers/formatters/Date.ts +5 -5
  267. package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +8 -5
  268. package/templates/react-sdk-reference/src/components/helpers/instructions-utils.ts +2 -2
  269. package/templates/react-sdk-reference/src/components/helpers/simpleTableHelpers.ts +54 -30
  270. package/templates/react-sdk-reference/src/components/helpers/state-utils.tsx +5 -2
  271. package/templates/react-sdk-reference/src/components/helpers/template-utils.ts +5 -4
  272. package/templates/react-sdk-reference/src/components/helpers/utils.ts +3 -3
  273. package/templates/react-sdk-reference/src/components/helpers/versionHelpers.ts +3 -1
  274. package/templates/react-sdk-reference/src/components/index.ts +1 -4
  275. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/AdvancedSearch.tsx +18 -10
  276. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroup/persistUtils.ts +3 -3
  277. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +26 -90
  278. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/hooks.ts +8 -5
  279. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/utils.ts +8 -4
  280. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/TemplateContext.ts +1 -1
  281. package/templates/react-sdk-reference/src/components/template/AppShell/AppShell.tsx +28 -19
  282. package/templates/react-sdk-reference/src/components/template/BannerPage/BannerPage.tsx +2 -2
  283. package/templates/react-sdk-reference/src/components/template/CaseSummary/CaseSummary.tsx +5 -5
  284. package/templates/react-sdk-reference/src/components/template/CaseView/CaseView.tsx +35 -16
  285. package/templates/react-sdk-reference/src/components/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +10 -10
  286. package/templates/react-sdk-reference/src/components/template/Confirmation/Confirmation.tsx +12 -26
  287. package/templates/react-sdk-reference/src/components/template/DataReference/DataReference.tsx +41 -124
  288. package/templates/react-sdk-reference/src/components/template/DataReference/DataReferenceAdvancedSearchContext.ts +2 -2
  289. package/templates/react-sdk-reference/src/components/template/DataReference/SearchForm.tsx +18 -78
  290. package/templates/react-sdk-reference/src/components/template/DataReference/utils.ts +18 -12
  291. package/templates/react-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +4 -12
  292. package/templates/react-sdk-reference/src/components/template/DefaultForm/utils/index.ts +3 -3
  293. package/templates/react-sdk-reference/src/components/template/DefaultPage/DefaultPage.tsx +3 -3
  294. package/templates/react-sdk-reference/src/components/template/Details/Details/Details.tsx +6 -8
  295. package/templates/react-sdk-reference/src/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +7 -14
  296. package/templates/react-sdk-reference/src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +7 -14
  297. package/templates/react-sdk-reference/src/components/template/Details/DynamicTabs/DynamicTabs.tsx +16 -8
  298. package/templates/react-sdk-reference/src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx +7 -4
  299. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/HierarchicalForm.tsx +20 -5
  300. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/hooks.ts +35 -77
  301. package/templates/react-sdk-reference/src/components/template/InlineDashboard/InlineDashboard.tsx +10 -10
  302. package/templates/react-sdk-reference/src/components/template/ListView/DefaultViewMeta.ts +31 -31
  303. package/templates/react-sdk-reference/src/components/template/ListView/ListView.tsx +173 -133
  304. package/templates/react-sdk-reference/src/components/template/ListView/hooks.ts +17 -10
  305. package/templates/react-sdk-reference/src/components/template/ListView/utils.ts +64 -51
  306. package/templates/react-sdk-reference/src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +6 -6
  307. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWide/NarrowWide.tsx +6 -6
  308. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +8 -18
  309. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +3 -3
  310. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +7 -1
  311. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumn/OneColumn.tsx +3 -3
  312. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumnTab/OneColumnTab.tsx +1 -1
  313. package/templates/react-sdk-reference/src/components/template/PromotedFilters/PromotedFilters.tsx +13 -40
  314. package/templates/react-sdk-reference/src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx +19 -16
  315. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTable/SimpleTable.tsx +8 -7
  316. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +84 -203
  317. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +15 -5
  318. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.tsx +15 -29
  319. package/templates/react-sdk-reference/src/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +7 -7
  320. package/templates/react-sdk-reference/src/components/template/SubTabs/SubTabs.tsx +1 -1
  321. package/templates/react-sdk-reference/src/components/template/SubTabs/tabUtils.ts +13 -11
  322. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumn/TwoColumn.tsx +3 -3
  323. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +3 -3
  324. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrow/WideNarrow.tsx +6 -6
  325. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +13 -24
  326. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +3 -3
  327. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +7 -1
  328. package/templates/react-sdk-reference/src/components/template/WssNavBar/WssNavBar.tsx +25 -25
  329. package/templates/react-sdk-reference/src/components/template/utils.tsx +6 -6
  330. package/templates/react-sdk-reference/src/components/widget/AppAnnouncement/AppAnnouncement.tsx +9 -9
  331. package/templates/react-sdk-reference/src/components/widget/Attachment/Attachment.tsx +125 -79
  332. package/templates/react-sdk-reference/src/components/widget/Attachment/AttachmentUtils.ts +58 -33
  333. package/templates/react-sdk-reference/src/components/widget/CaseHistory/CaseHistory.tsx +14 -12
  334. package/templates/react-sdk-reference/src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -7
  335. package/templates/react-sdk-reference/src/components/widget/FileUtility/FileUtility/FileUtility.tsx +137 -107
  336. package/templates/react-sdk-reference/src/components/widget/Followers/Followers.tsx +4 -4
  337. package/templates/react-sdk-reference/src/components/widget/QuickCreate/QuickCreate.tsx +15 -11
  338. package/templates/react-sdk-reference/src/components/widget/SummaryItem/SummaryItem.tsx +25 -18
  339. package/templates/react-sdk-reference/src/components/widget/SummaryList/SummaryList.tsx +7 -2
  340. package/templates/react-sdk-reference/src/components/widget/ToDo/ToDo.tsx +30 -116
  341. package/templates/react-sdk-reference/src/main.tsx +1 -1
  342. package/templates/react-sdk-reference/tsconfig.json +2 -1
  343. package/templates/react-sdk-reference/vite.config.ts +51 -26
  344. package/templates/wc-sdk-reference/package.json +3 -3
  345. package/templates/wc-sdk-reference/src/index.ts +10 -10
  346. package/templates/wc-sdk-reference/tsconfig.json +1 -0
@@ -18,11 +18,11 @@ Renders a form's fields in a 1, 2, or 3-column grid layout. Children come from a
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `NumCols` | `string` | No | Number of columns: `'1'`, `'2'`, or `'3'`. Default `'1'` |
24
- | `instructions` | `string` | No | HTML instruction text shown above the form |
25
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | -------------- | ---------- | -------- | -------------------------------------------------------- |
23
+ | `NumCols` | `string` | No | Number of columns: `'1'`, `'2'`, or `'3'`. Default `'1'` |
24
+ | `instructions` | `string` | No | HTML instruction text shown above the form |
25
+ | `getPConnect` | `function` | Yes | PConnect getter |
26
26
 
27
27
  ## Behavioral Contract
28
28
 
@@ -47,13 +47,14 @@ Derived from `DefaultForm.css`:
47
47
 
48
48
  ### Column Layouts
49
49
 
50
- | Class | Layout |
51
- |-------|--------|
52
- | `psdk-default-form-one-column` | Single column, full width |
53
- | `psdk-default-form-two-column` | Two equal columns |
54
- | `psdk-default-form-three-column` | Three equal columns |
50
+ | Class | Layout |
51
+ | -------------------------------- | ------------------------- |
52
+ | `psdk-default-form-one-column` | Single column, full width |
53
+ | `psdk-default-form-two-column` | Two equal columns |
54
+ | `psdk-default-form-three-column` | Three equal columns |
55
55
 
56
56
  **CSS-only implementation notes:**
57
+
57
58
  - One column: `display: grid; grid-template-columns: 1fr; gap: 1rem`.
58
59
  - Two column: `display: grid; grid-template-columns: 1fr 1fr; gap: 1rem`.
59
60
  - Three column: `display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem`.
@@ -62,10 +63,10 @@ Derived from `DefaultForm.css`:
62
63
 
63
64
  ### Instruction Text
64
65
 
65
- | Property | Value |
66
- |----------|-------|
67
- | CSS class | `psdk-default-form-instruction-text` |
68
- | Content | Raw HTML rendered with `dangerouslySetInnerHTML` |
66
+ | Property | Value |
67
+ | --------- | ------------------------------------------------ |
68
+ | CSS class | `psdk-default-form-instruction-text` |
69
+ | Content | Raw HTML rendered with `dangerouslySetInnerHTML` |
69
70
 
70
71
  ## Edge Cases & Special Logic
71
72
 
@@ -88,15 +89,16 @@ Derived from `DefaultForm.css`:
88
89
 
89
90
  Listed design systems are examples only.
90
91
 
91
- | Design System | Recommended Component |
92
- |---|---|
93
- | Default (CSS only) | CSS Grid with column count driven by `NumCols` |
94
- | MUI | CSS Grid via `sx` prop or makeStyles |
95
- | Ant Design | `<Form layout='vertical'>` with `<Row>/<Col>` for multi-column |
96
- | Chakra UI | `<SimpleGrid columns={N} spacing={4}>` |
97
- | Shadcn/ui | Tailwind `grid grid-cols-1/2/3 gap-4` |
92
+ | Design System | Recommended Component |
93
+ | ------------------ | -------------------------------------------------------------- |
94
+ | Default (CSS only) | CSS Grid with column count driven by `NumCols` |
95
+ | MUI | CSS Grid via `sx` prop or makeStyles |
96
+ | Ant Design | `<Form layout='vertical'>` with `<Row>/<Col>` for multi-column |
97
+ | Chakra UI | `<SimpleGrid columns={N} spacing={4}>` |
98
+ | Shadcn/ui | Tailwind `grid grid-cols-1/2/3 gap-4` |
98
99
 
99
100
  When implementing in a specific design system:
101
+
100
102
  - `NumCols` is always a string (`'1'`/`'2'`/`'3'`) — parse before use
101
103
  - Instructions HTML is rendered above the form, before any fields
102
104
  - Each child field must be subscribed to the store for reactive visibility/prop updates
@@ -18,20 +18,20 @@ Renders a page's child regions in a responsive grid layout. The number and propo
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `layout` | `'one-column' \| 'two-column' \| 'narrow-wide' \| 'wide-narrow' \| 'dynamic'` | No | Column layout. Default `'one-column'` |
24
- | `children` | `ReactNode \| ReactNode[]` | Yes | Child region components to render in columns |
25
- | `title` | `string` | Yes | Page title (part of `CommonPageProps`, not directly rendered) |
26
- | `icon` | `string` | Yes | Page icon (part of `CommonPageProps`, not directly rendered) |
27
- | `localeReference` | `string` | Yes | Locale reference key |
28
- | `enableBanner` | `boolean` | No | If `true`, render `Banner` hero with children as `a`/`b` columns |
29
- | `heading` | `string` | No | Banner heading. Default `''` |
30
- | `message` | `string` | No | Banner message. Default `''` |
31
- | `imageTheme` | `'light' \| 'dark' \| undefined` | No | Banner image theme |
32
- | `backgroundImage` | `string` | No | Banner background image URL. Default `''` |
33
- | `backgroundColor` | `string` | No | Banner background color. Default `''` |
34
- | `tintImage` | `boolean` | No | Banner image tint flag |
21
+ | Prop | Type | Required | Description |
22
+ | ----------------- | ----------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- |
23
+ | `layout` | `'one-column' \| 'two-column' \| 'narrow-wide' \| 'wide-narrow' \| 'dynamic'` | No | Column layout. Default `'one-column'` |
24
+ | `children` | `ReactNode \| ReactNode[]` | Yes | Child region components to render in columns |
25
+ | `title` | `string` | Yes | Page title (part of `CommonPageProps`, not directly rendered) |
26
+ | `icon` | `string` | Yes | Page icon (part of `CommonPageProps`, not directly rendered) |
27
+ | `localeReference` | `string` | Yes | Locale reference key |
28
+ | `enableBanner` | `boolean` | No | If `true`, render `Banner` hero with children as `a`/`b` columns |
29
+ | `heading` | `string` | No | Banner heading. Default `''` |
30
+ | `message` | `string` | No | Banner message. Default `''` |
31
+ | `imageTheme` | `'light' \| 'dark' \| undefined` | No | Banner image theme |
32
+ | `backgroundImage` | `string` | No | Banner background image URL. Default `''` |
33
+ | `backgroundColor` | `string` | No | Banner background color. Default `''` |
34
+ | `tintImage` | `boolean` | No | Banner image tint flag |
35
35
 
36
36
  ## Behavioral Contract
37
37
 
@@ -58,20 +58,21 @@ Renders a page's child regions in a responsive grid layout. The number and propo
58
58
 
59
59
  ### Column Widths
60
60
 
61
- | `layout` | Column sizes (MUI 12-grid) |
62
- |----------|--------------------------|
63
- | `'one-column'` | 12 |
64
- | `'two-column'` | 6, 6 |
65
- | `'narrow-wide'` | 4, 8 |
66
- | `'wide-narrow'` | 8, 4 |
61
+ | `layout` | Column sizes (MUI 12-grid) |
62
+ | --------------- | -------------------------- |
63
+ | `'one-column'` | 12 |
64
+ | `'two-column'` | 6, 6 |
65
+ | `'narrow-wide'` | 4, 8 |
66
+ | `'wide-narrow'` | 8, 4 |
67
67
 
68
68
  ### Grid Spacing
69
69
 
70
- | Property | Value |
71
- |----------|-------|
70
+ | Property | Value |
71
+ | ----------------- | ------------------------- |
72
72
  | Container spacing | 1 (≈ 8px between columns) |
73
73
 
74
74
  **CSS-only implementation notes:**
75
+
75
76
  - One-column: `display: grid; grid-template-columns: 1fr; gap: 8px`.
76
77
  - Two-column: `display: grid; grid-template-columns: 1fr 1fr; gap: 8px`.
77
78
  - Narrow-wide: `display: grid; grid-template-columns: 1fr 2fr; gap: 8px`.
@@ -96,15 +97,16 @@ Renders a page's child regions in a responsive grid layout. The number and propo
96
97
 
97
98
  Listed design systems are examples only.
98
99
 
99
- | Design System | Recommended Component |
100
- |---|---|
101
- | Default (CSS only) | CSS Grid with column template driven by `layout` prop |
102
- | MUI | `<Grid container spacing={1}>` with `<Grid size={N}>` per child |
103
- | Ant Design | `<Row gutter={8}>` with `<Col span={N * 2}>` (24-col grid) |
104
- | Chakra UI | `<SimpleGrid columns={{ base: 1, md: N }}>` |
105
- | Shadcn/ui | Tailwind grid utilities matching the layout |
100
+ | Design System | Recommended Component |
101
+ | ------------------ | --------------------------------------------------------------- |
102
+ | Default (CSS only) | CSS Grid with column template driven by `layout` prop |
103
+ | MUI | `<Grid container spacing={1}>` with `<Grid size={N}>` per child |
104
+ | Ant Design | `<Row gutter={8}>` with `<Col span={N * 2}>` (24-col grid) |
105
+ | Chakra UI | `<SimpleGrid columns={{ base: 1, md: N }}>` |
106
+ | Shadcn/ui | Tailwind grid utilities matching the layout |
106
107
 
107
108
  When implementing in a specific design system:
109
+
108
110
  - Map `layout` prop to the appropriate column template
109
111
  - Banner mode delegates to the `Banner` component — implement Banner first
110
112
  - All children are sized uniformly within their column (no per-child overrides)
@@ -18,12 +18,12 @@ Renders a labeled group of read-only fields in a single-column vertical stack. F
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `label` | `string` | Yes | Section heading for the FieldGroup wrapper |
24
- | `showLabel` | `boolean` | Yes | Whether to show the section label |
25
- | `showHighlightedData` | `boolean` | Yes | Whether to render highlighted fields above children |
26
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | --------------------- | ---------- | -------- | --------------------------------------------------- |
23
+ | `label` | `string` | Yes | Section heading for the FieldGroup wrapper |
24
+ | `showLabel` | `boolean` | Yes | Whether to show the section label |
25
+ | `showHighlightedData` | `boolean` | Yes | Whether to render highlighted fields above children |
26
+ | `getPConnect` | `function` | Yes | PConnect getter |
27
27
 
28
28
  ## Behavioral Contract
29
29
 
@@ -44,13 +44,14 @@ Renders a labeled group of read-only fields in a single-column vertical stack. F
44
44
 
45
45
  ### Overall Layout
46
46
 
47
- | Property | Value |
48
- |----------|-------|
49
- | Column structure | Single column (xs: 12 for each child) |
50
- | Inner spacing | Grid spacing 1 (≈ 8px between fields) |
47
+ | Property | Value |
48
+ | ------------------------ | -------------------------------------------------------- |
49
+ | Column structure | Single column (xs: 12 for each child) |
50
+ | Inner spacing | Grid spacing 1 (≈ 8px between fields) |
51
51
  | Highlighted data padding | `padding: 0 0 1em` (space below before regular children) |
52
52
 
53
53
  **CSS-only implementation notes:**
54
+
54
55
  - Outer wrapper: `FieldGroup` component (see `FieldGroupDSE.md` for styles).
55
56
  - Children grid: `display: grid; grid-template-columns: 1fr; gap: 8px`.
56
57
  - Highlighted data row: `display: grid; grid-template-columns: 1fr; gap: 8px; padding-bottom: 1rem`.
@@ -74,15 +75,16 @@ Renders a labeled group of read-only fields in a single-column vertical stack. F
74
75
 
75
76
  Listed design systems are examples only.
76
77
 
77
- | Design System | Recommended Component |
78
- |---|---|
79
- | Default (CSS only) | `<fieldset>/<legend>` wrapper with CSS grid single column |
80
- | MUI | `<Grid container spacing={1}>` with `<Grid size={{ xs: 12 }}>` per field |
81
- | Ant Design | `<Card title={label}>` with `<Row><Col span={24}>` per field |
82
- | Chakra UI | `<Box>` with heading + `<Stack spacing={2}>` |
83
- | Shadcn/ui | `<Card><CardHeader><CardContent>` with stacked field items |
78
+ | Design System | Recommended Component |
79
+ | ------------------ | ------------------------------------------------------------------------ |
80
+ | Default (CSS only) | `<fieldset>/<legend>` wrapper with CSS grid single column |
81
+ | MUI | `<Grid container spacing={1}>` with `<Grid size={{ xs: 12 }}>` per field |
82
+ | Ant Design | `<Card title={label}>` with `<Row><Col span={24}>` per field |
83
+ | Chakra UI | `<Box>` with heading + `<Stack spacing={2}>` |
84
+ | Shadcn/ui | `<Card><CardHeader><CardContent>` with stacked field items |
84
85
 
85
86
  When implementing in a specific design system:
87
+
86
88
  - All children must have `displayMode='DISPLAY_ONLY'` and `readOnly=true` inherited
87
89
  - Highlighted data uses `STACKED_LARGE_VAL` — larger/bolder value display
88
90
  - `showLabel=false` hides the section heading entirely
@@ -18,12 +18,12 @@ Renders a tabbed layout for a details region. Each tab contains display-only con
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `children` | `ReactNode[]` | Yes | Tab content — `children[0]` is the deferred-loaded tabs container |
24
- | `label` | `string` | Yes | Section heading shown above tabs when `showLabel` is true |
25
- | `showLabel` | `boolean` | No | Whether to show the section heading. Default `true` |
26
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | ------------- | ------------- | -------- | ----------------------------------------------------------------- |
23
+ | `children` | `ReactNode[]` | Yes | Tab content — `children[0]` is the deferred-loaded tabs container |
24
+ | `label` | `string` | Yes | Section heading shown above tabs when `showLabel` is true |
25
+ | `showLabel` | `boolean` | No | Whether to show the section heading. Default `true` |
26
+ | `getPConnect` | `function` | Yes | PConnect getter |
27
27
 
28
28
  ## Behavioral Contract
29
29
 
@@ -43,19 +43,20 @@ Renders a tabbed layout for a details region. Each tab contains display-only con
43
43
 
44
44
  ### Heading
45
45
 
46
- | Property | Value |
47
- |----------|-------|
48
- | Tag | `<h3>` |
46
+ | Property | Value |
47
+ | --------------- | ------------------------------- |
48
+ | Tag | `<h3>` |
49
49
  | Shown only when | `propsToUse.showLabel === true` |
50
50
 
51
51
  ### Tab Bar
52
52
 
53
- | Property | Value |
54
- |----------|-------|
55
- | Scrollable | Not specified (default non-scrollable in reference implementation) |
56
- | Tab text transform | Inherits design system default |
53
+ | Property | Value |
54
+ | ------------------ | ------------------------------------------------------------------ |
55
+ | Scrollable | Not specified (default non-scrollable in reference implementation) |
56
+ | Tab text transform | Inherits design system default |
57
57
 
58
58
  **CSS-only implementation notes:**
59
+
59
60
  - Heading: `font-size: 1.25rem; font-weight: 600; margin-bottom: 8px`.
60
61
  - Tab bar: `display: flex; border-bottom: 2px solid var(--divider); gap: 0`.
61
62
  - Each tab: `padding: 8px 16px; cursor: pointer; border-bottom: 2px solid transparent`.
@@ -81,15 +82,16 @@ Renders a tabbed layout for a details region. Each tab contains display-only con
81
82
 
82
83
  Listed design systems are examples only.
83
84
 
84
- | Design System | Recommended Component |
85
- |---|---|
86
- | Default (CSS only) | Custom tab bar with CSS underline indicator |
87
- | MUI | `<TabContext>` + `<Tabs>` + `<TabPanel>` from `@mui/lab` |
88
- | Ant Design | `<Tabs>` with `items` array |
89
- | Chakra UI | `<Tabs>` + `<TabList>` + `<TabPanels>` |
90
- | Shadcn/ui | `<Tabs>` + `<TabsList>` + `<TabsContent>` |
85
+ | Design System | Recommended Component |
86
+ | ------------------ | -------------------------------------------------------- |
87
+ | Default (CSS only) | Custom tab bar with CSS underline indicator |
88
+ | MUI | `<TabContext>` + `<Tabs>` + `<TabPanel>` from `@mui/lab` |
89
+ | Ant Design | `<Tabs>` with `items` array |
90
+ | Chakra UI | `<Tabs>` + `<TabList>` + `<TabPanels>` |
91
+ | Shadcn/ui | `<Tabs>` + `<TabsList>` + `<TabsContent>` |
91
92
 
92
93
  When implementing in a specific design system:
94
+
93
95
  - `getVisibleTabs` and `getTransientTabs` are tabUtils helpers — use them regardless of UI library
94
96
  - Tab content is lazily loaded via the transient tab pattern
95
97
  - Optional `<h3>` heading above the tab bar (controlled by `showLabel`)
@@ -20,12 +20,12 @@ Identical to `Details` and `DetailsTwoColumn` in all behavior except children ar
20
20
 
21
21
  ## Props
22
22
 
23
- | Prop | Type | Required | Description |
24
- |------|------|----------|-------------|
25
- | `label` | `string` | Yes | Section heading for the FieldGroup wrapper |
26
- | `showLabel` | `boolean` | No | Whether to show the section label. Default `true` |
27
- | `showHighlightedData` | `boolean` | No | Whether to render highlighted fields above children. Default `false` |
28
- | `getPConnect` | `function` | Yes | PConnect getter |
23
+ | Prop | Type | Required | Description |
24
+ | --------------------- | ---------- | -------- | -------------------------------------------------------------------- |
25
+ | `label` | `string` | Yes | Section heading for the FieldGroup wrapper |
26
+ | `showLabel` | `boolean` | No | Whether to show the section label. Default `true` |
27
+ | `showHighlightedData` | `boolean` | No | Whether to render highlighted fields above children. Default `false` |
28
+ | `getPConnect` | `function` | Yes | PConnect getter |
29
29
 
30
30
  ## Behavioral Contract
31
31
 
@@ -39,13 +39,14 @@ All steps identical to `Details`, except:
39
39
 
40
40
  ### Column Structure
41
41
 
42
- | | Details | DetailsTwoColumn | DetailsThreeColumn |
43
- |-|---------|-----------------|-------------------|
44
- | Column width per child | xs: 12 | xs: 6 | **xs: 4** |
45
- | Columns per row | 1 | 2 | **3** |
46
- | Highlighted data column | xs: 12 | xs: 6 | **xs: 4** |
42
+ | | Details | DetailsTwoColumn | DetailsThreeColumn |
43
+ | ----------------------- | ------- | ---------------- | ------------------ |
44
+ | Column width per child | xs: 12 | xs: 6 | **xs: 4** |
45
+ | Columns per row | 1 | 2 | **3** |
46
+ | Highlighted data column | xs: 12 | xs: 6 | **xs: 4** |
47
47
 
48
48
  **CSS-only implementation notes:**
49
+
49
50
  - Children grid: `display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px`.
50
51
  - Highlighted data row: `display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; padding-bottom: 1rem`.
51
52
  - Wrap in FieldGroup (see `FieldGroup.md` DSE skill).
@@ -65,14 +66,15 @@ All edge cases identical to `Details`. See `Details.md`.
65
66
 
66
67
  Listed design systems are examples only.
67
68
 
68
- | Design System | Recommended Component |
69
- |---|---|
69
+ | Design System | Recommended Component |
70
+ | ------------------ | ----------------------------------------------------------------------------- |
70
71
  | Default (CSS only) | `<fieldset>/<legend>` with CSS `grid-template-columns: 1fr 1fr 1fr; gap: 8px` |
71
- | MUI | `<Grid container spacing={1}>` with `<Grid size={{ xs: 4 }}>` per field |
72
- | Ant Design | `<Descriptions column={3}>` or `<Row><Col span={8}>` per field |
73
- | Chakra UI | `<SimpleGrid columns={3} spacing={2}>` |
74
- | Shadcn/ui | Tailwind `grid grid-cols-3 gap-2` |
72
+ | MUI | `<Grid container spacing={1}>` with `<Grid size={{ xs: 4 }}>` per field |
73
+ | Ant Design | `<Descriptions column={3}>` or `<Row><Col span={8}>` per field |
74
+ | Chakra UI | `<SimpleGrid columns={3} spacing={2}>` |
75
+ | Shadcn/ui | Tailwind `grid grid-cols-3 gap-2` |
75
76
 
76
77
  When implementing in a specific design system:
78
+
77
79
  - 3-column layout — each field takes one-third of the available width
78
80
  - All other behaviors inherited from `Details` (DISPLAY_ONLY, readOnly, FieldGroup, highlighted data)
@@ -20,12 +20,12 @@ Identical to `Details` in all behavior except children are distributed into a **
20
20
 
21
21
  ## Props
22
22
 
23
- | Prop | Type | Required | Description |
24
- |------|------|----------|-------------|
25
- | `label` | `string` | Yes | Section heading for the FieldGroup wrapper |
26
- | `showLabel` | `boolean` | No | Whether to show the section label. Default `true` |
27
- | `showHighlightedData` | `boolean` | No | Whether to render highlighted fields above children. Default `false` |
28
- | `getPConnect` | `function` | Yes | PConnect getter |
23
+ | Prop | Type | Required | Description |
24
+ | --------------------- | ---------- | -------- | -------------------------------------------------------------------- |
25
+ | `label` | `string` | Yes | Section heading for the FieldGroup wrapper |
26
+ | `showLabel` | `boolean` | No | Whether to show the section label. Default `true` |
27
+ | `showHighlightedData` | `boolean` | No | Whether to render highlighted fields above children. Default `false` |
28
+ | `getPConnect` | `function` | Yes | PConnect getter |
29
29
 
30
30
  ## Behavioral Contract
31
31
 
@@ -39,13 +39,14 @@ All steps identical to `Details`, except:
39
39
 
40
40
  ### Column Structure
41
41
 
42
- | | Details | DetailsTwoColumn |
43
- |-|---------|-----------------|
44
- | Column width per child | xs: 12 (full width) | **xs: 6 (half width)** |
45
- | Columns per row | 1 | **2** |
46
- | Highlighted data column | xs: 12 | **xs: 6** |
42
+ | | Details | DetailsTwoColumn |
43
+ | ----------------------- | ------------------- | ---------------------- |
44
+ | Column width per child | xs: 12 (full width) | **xs: 6 (half width)** |
45
+ | Columns per row | 1 | **2** |
46
+ | Highlighted data column | xs: 12 | **xs: 6** |
47
47
 
48
48
  **CSS-only implementation notes:**
49
+
49
50
  - Children grid: `display: grid; grid-template-columns: 1fr 1fr; gap: 8px`.
50
51
  - Highlighted data row: `display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding-bottom: 1rem`.
51
52
  - Wrap in FieldGroup (see `FieldGroup.md` DSE skill).
@@ -65,14 +66,15 @@ All edge cases identical to `Details`. See `Details.md`.
65
66
 
66
67
  Listed design systems are examples only.
67
68
 
68
- | Design System | Recommended Component |
69
- |---|---|
69
+ | Design System | Recommended Component |
70
+ | ------------------ | ------------------------------------------------------------------------- |
70
71
  | Default (CSS only) | `<fieldset>/<legend>` with CSS `grid-template-columns: 1fr 1fr; gap: 8px` |
71
- | MUI | `<Grid container spacing={1}>` with `<Grid size={{ xs: 6 }}>` per field |
72
- | Ant Design | `<Descriptions column={2}>` or `<Row><Col span={12}>` per field |
73
- | Chakra UI | `<SimpleGrid columns={2} spacing={2}>` |
74
- | Shadcn/ui | Tailwind `grid grid-cols-2 gap-2` |
72
+ | MUI | `<Grid container spacing={1}>` with `<Grid size={{ xs: 6 }}>` per field |
73
+ | Ant Design | `<Descriptions column={2}>` or `<Row><Col span={12}>` per field |
74
+ | Chakra UI | `<SimpleGrid columns={2} spacing={2}>` |
75
+ | Shadcn/ui | Tailwind `grid grid-cols-2 gap-2` |
75
76
 
76
77
  When implementing in a specific design system:
78
+
77
79
  - 2-column layout — each field takes half the available width
78
80
  - All other behaviors inherited from `Details` (DISPLAY_ONLY, readOnly, FieldGroup, highlighted data)
@@ -18,10 +18,10 @@ Unlike `SubTabs` or `DetailsSubTabs` where tabs are defined statically in metada
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `referenceList` | `string` | Yes | Property path to the reference list (e.g. `'.pxResults'`) |
24
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | --------------- | ---------- | -------- | --------------------------------------------------------- |
23
+ | `referenceList` | `string` | Yes | Property path to the reference list (e.g. `'.pxResults'`) |
24
+ | `getPConnect` | `function` | Yes | PConnect getter |
25
25
 
26
26
  ## Behavioral Contract
27
27
 
@@ -37,14 +37,17 @@ Unlike `SubTabs` or `DetailsSubTabs` where tabs are defined statically in metada
37
37
  ```
38
38
  referenceListData = pConnect.getValue(referenceList + '.pxResults')
39
39
  ```
40
+
40
41
  Returns an array of row objects.
41
42
 
42
43
  ### Tab Views
43
44
 
44
45
  For each row index `i`:
46
+
45
47
  ```
46
48
  tabView = buildView(pConnect, i, '')
47
49
  ```
50
+
48
51
  Memoized — recalculate only when `referenceListData` changes.
49
52
 
50
53
  ### State
@@ -63,6 +66,7 @@ Memoized — recalculate only when `referenceListData` changes.
63
66
  Identical tab bar appearance to `SubTabs`.
64
67
 
65
68
  **CSS-only implementation notes:**
69
+
66
70
  - Same tab bar and panel styles as `SubTabs.md`.
67
71
  - Tab count is dynamic — do not hard-code tab widths.
68
72
 
@@ -87,15 +91,16 @@ Identical tab bar appearance to `SubTabs`.
87
91
 
88
92
  Listed design systems are examples only.
89
93
 
90
- | Design System | Recommended Component |
91
- |---|---|
94
+ | Design System | Recommended Component |
95
+ | ------------------ | ------------------------------------------------ |
92
96
  | Default (CSS only) | Custom tab bar, dynamically generated from array |
93
- | MUI | `<TabContext>` + `<Tabs>` + `<TabPanel>` |
94
- | Ant Design | `<Tabs items={dynamicItems}>` |
95
- | Chakra UI | `<Tabs>` with dynamic `<TabList>/<TabPanels>` |
96
- | Shadcn/ui | `<Tabs>` with mapped triggers and content |
97
+ | MUI | `<TabContext>` + `<Tabs>` + `<TabPanel>` |
98
+ | Ant Design | `<Tabs items={dynamicItems}>` |
99
+ | Chakra UI | `<Tabs>` with dynamic `<TabList>/<TabPanels>` |
100
+ | Shadcn/ui | `<Tabs>` with mapped triggers and content |
97
101
 
98
102
  When implementing in a specific design system:
103
+
99
104
  - `tablabelProp` resolution via `PCore.getAnnotationUtils().getPropertyName()` is required — do not hardcode the label field
100
105
  - `buildView(pConnect, rowIndex, '')` generates the content for each tab — the empty string third arg means no specific child config lookup
101
106
  - Tab count is entirely data-driven — handle 0, 1, and many tab cases
@@ -18,21 +18,22 @@ Renders a repeating list of field group rows sourced from a PConnect reference l
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `label` | `string` | Yes | Section heading |
24
- | `showLabel` | `boolean` | No | Whether to show the heading. Default `true` |
25
- | `fieldHeader` | `string` | No | Property ref for the dynamic row heading. E.g. `'.pyStatusWork'` |
26
- | `allowTableEdit` | `boolean` | No | Whether to show add/delete row controls. Default `true` |
27
- | `displayMode` | `string` | No | `'DISPLAY_ONLY'` triggers read-only rendering |
28
- | `readOnly` | `boolean` | No | Alternative read-only flag |
29
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | ---------------- | ---------- | -------- | ---------------------------------------------------------------- |
23
+ | `label` | `string` | Yes | Section heading |
24
+ | `showLabel` | `boolean` | No | Whether to show the heading. Default `true` |
25
+ | `fieldHeader` | `string` | No | Property ref for the dynamic row heading. E.g. `'.pyStatusWork'` |
26
+ | `allowTableEdit` | `boolean` | No | Whether to show add/delete row controls. Default `true` |
27
+ | `displayMode` | `string` | No | `'DISPLAY_ONLY'` triggers read-only rendering |
28
+ | `readOnly` | `boolean` | No | Alternative read-only flag |
29
+ | `getPConnect` | `function` | Yes | PConnect getter |
30
30
 
31
31
  ## Behavioral Contract
32
32
 
33
33
  ### Read-Only Mode
34
34
 
35
35
  If `displayMode === 'DISPLAY_ONLY'` or `readOnly === true`:
36
+
36
37
  1. Set `setInheritedProp('DISPLAY_ONLY', true)` on the pConn.
37
38
  2. Render `<FieldGroup>` — the DSE component that shows data in a read-only layout.
38
39
 
@@ -70,6 +71,7 @@ If the field group is inside a read-only context (parent has set `readOnly` or `
70
71
  - Flat list of rows — no add/delete controls.
71
72
 
72
73
  **CSS-only implementation notes:**
74
+
73
75
  - Row section: `border: 1px solid var(--border-color); border-radius: 4px; padding: 1rem; margin-bottom: 0.5rem`.
74
76
  - Add button: text button, below the last row.
75
77
  - Delete button: icon button, top-right of each row section.
@@ -95,15 +97,16 @@ If the field group is inside a read-only context (parent has set `readOnly` or `
95
97
 
96
98
  Listed design systems are examples only.
97
99
 
98
- | Design System | Recommended Component |
99
- |---|---|
100
- | Default (CSS only) | Custom row card list with add/delete buttons |
101
- | MUI | `<Paper>` per row + `<IconButton>` for delete + `<Button>` for add |
102
- | Ant Design | `<Form.List>` with `<Card>` per row |
103
- | Chakra UI | Custom repeating section with `<Box>` rows |
104
- | Shadcn/ui | Custom list with `<Card>` per row + `<Button variant='ghost'>` |
100
+ | Design System | Recommended Component |
101
+ | ------------------ | ------------------------------------------------------------------ |
102
+ | Default (CSS only) | Custom row card list with add/delete buttons |
103
+ | MUI | `<Paper>` per row + `<IconButton>` for delete + `<Button>` for add |
104
+ | Ant Design | `<Form.List>` with `<Card>` per row |
105
+ | Chakra UI | Custom repeating section with `<Box>` rows |
106
+ | Shadcn/ui | Custom list with `<Card>` per row + `<Button variant='ghost'>` |
105
107
 
106
108
  When implementing in a specific design system:
109
+
107
110
  - The add/delete controls must be hidden when `allowActions` is false
108
111
  - Row heading is dynamic — evaluate `fieldHeader` property ref per row
109
112
  - `buildView` generates child PConnect views — render them inside each row section
@@ -18,17 +18,18 @@ Renders a multi-step form where each section is a tab. Tabs display error badges
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `children` | `ReactNode[]` | Yes | One child per tab section |
24
- | `instructions` | `string` | No | HTML instruction text shown above the tab bar |
25
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | -------------- | ------------- | -------- | --------------------------------------------- |
23
+ | `children` | `ReactNode[]` | Yes | One child per tab section |
24
+ | `instructions` | `string` | No | HTML instruction text shown above the tab bar |
25
+ | `getPConnect` | `function` | Yes | PConnect getter |
26
26
 
27
27
  ## Behavioral Contract
28
28
 
29
29
  ### Hook: `useHierarchicalForm`
30
30
 
31
31
  `useHierarchicalForm(getPConnect, numTabs)` returns:
32
+
32
33
  - `activeTabId`: currently selected tab index (string, e.g. `'0'`)
33
34
  - `setActiveTabId`: setter for `activeTabId`
34
35
  - `tabErrorCounts`: `Record<string, number>` — error count per tab index key
@@ -68,12 +69,13 @@ Internally it calls `useGetTabsCount(getPConnect)` to compute `tabErrorCounts`.
68
69
 
69
70
  ### Tab Bar
70
71
 
71
- | Property | Value |
72
- |----------|-------|
73
- | Orientation | Horizontal |
72
+ | Property | Value |
73
+ | ----------- | ------------------------------------------------------ |
74
+ | Orientation | Horizontal |
74
75
  | Error badge | Red MUI Badge with tooltip showing error count message |
75
76
 
76
77
  **CSS-only implementation notes:**
78
+
77
79
  - Tab bar: same as `DetailsSubTabs` — `display: flex; border-bottom: 2px solid var(--divider)`.
78
80
  - Error badge: red circle badge overlaid top-right of the tab label text.
79
81
  - Instruction text: `padding: 0.5rem 0; margin-bottom: 0.5rem; font-size: 0.875rem`.
@@ -99,15 +101,16 @@ Internally it calls `useGetTabsCount(getPConnect)` to compute `tabErrorCounts`.
99
101
 
100
102
  Listed design systems are examples only.
101
103
 
102
- | Design System | Recommended Component |
103
- |---|---|
104
- | Default (CSS only) | Custom tab bar + CSS badge (red circle via pseudo-element) |
105
- | MUI | `<Tabs>` + `<Badge>` + `<Tooltip>` + `<TabContext>/<TabPanel>` |
106
- | Ant Design | `<Tabs>` with custom `tabBarExtraContent` for error badges |
107
- | Chakra UI | `<Tabs>` + `<Badge colorScheme='red'>` inside tab label |
108
- | Shadcn/ui | `<Tabs>` + custom badge overlay on tab trigger |
104
+ | Design System | Recommended Component |
105
+ | ------------------ | -------------------------------------------------------------- |
106
+ | Default (CSS only) | Custom tab bar + CSS badge (red circle via pseudo-element) |
107
+ | MUI | `<Tabs>` + `<Badge>` + `<Tooltip>` + `<TabContext>/<TabPanel>` |
108
+ | Ant Design | `<Tabs>` with custom `tabBarExtraContent` for error badges |
109
+ | Chakra UI | `<Tabs>` + `<Badge colorScheme='red'>` inside tab label |
110
+ | Shadcn/ui | `<Tabs>` + custom badge overlay on tab trigger |
109
111
 
110
112
  When implementing in a specific design system:
113
+
111
114
  - Error badge is mandatory — always show error counts when `tabErrorCounts[id] > 0`
112
115
  - Active tab must be persisted via `PCore.getNavigationUtils()` for correct navigation behavior
113
116
  - Instructions HTML renders above the entire tab bar, not per-tab