@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
@@ -12,7 +12,9 @@ export function getFieldMeta(getPConnect, dataRelationshipContext) {
12
12
  const isMultiSelectMode = selectionMode === MULTI;
13
13
 
14
14
  const pageReference = pConn.getPageReference();
15
- let referenceProp = isMultiSelectMode ? selectionList.substring(1) : pageReference.substring(pageReference.lastIndexOf('.') + 1);
15
+ let referenceProp = isMultiSelectMode
16
+ ? selectionList.substring(1)
17
+ : pageReference.substring(pageReference.lastIndexOf('.') + 1);
16
18
  // Replace here to use the context name instead
17
19
  let contextPageReference = null;
18
20
  if (dataRelationshipContext !== null && selectionMode === 'single') {
@@ -21,7 +23,9 @@ export function getFieldMeta(getPConnect, dataRelationshipContext) {
21
23
  }
22
24
 
23
25
  const fieldMetadata =
24
- (isMultiSelectMode ? pConn.getFieldMetadata(`${referenceProp}`) : pConn.getCurrentPageFieldMetadata(contextPageReference)) ?? {};
26
+ (isMultiSelectMode
27
+ ? pConn.getFieldMetadata(`${referenceProp}`)
28
+ : pConn.getCurrentPageFieldMetadata(contextPageReference)) ?? {};
25
29
  const { datasource: { parameters: fieldParameters = {} } = {} } = fieldMetadata;
26
30
  const compositeKeys: any = [];
27
31
  Object.values(fieldParameters).forEach((param: any) => {
@@ -39,7 +43,7 @@ const getCompositeKeys = (pConnect, property) => {
39
43
  const fieldMetadata = pConnect.getFieldMetadata(property) || {};
40
44
  const { datasource: { parameters: fieldParameters = {} } = {} } = fieldMetadata;
41
45
  const compositeKeys: any = [];
42
- Object.values(fieldParameters).forEach(param => {
46
+ Object.values(fieldParameters).forEach((param) => {
43
47
  if (isSelfReferencedProperty(param, property)) {
44
48
  compositeKeys.push(param);
45
49
  }
@@ -55,11 +59,11 @@ export const getFirstChildConfig = ({
55
59
  dataReferenceConfigToChild,
56
60
  isCreateNewReferenceEnabled,
57
61
  disableStartingFieldsForReference,
58
- pyID
62
+ pyID,
59
63
  }) => {
60
64
  const config = {
61
65
  ...firstChildMeta.config,
62
- ...dataReferenceConfigToChild
66
+ ...dataReferenceConfigToChild,
63
67
  };
64
68
  const compositeKeys = getCompositeKeys(getPConnect(), dataReferenceConfigToChild?.dataRelationshipContext);
65
69
  return {
@@ -68,8 +72,10 @@ export const getFirstChildConfig = ({
68
72
  referenceList: config.referenceList ?? rawViewMetadata.config.referenceList,
69
73
  parameters: rawViewMetadata.config.parameters,
70
74
  localeReference: rawViewMetadata.config.localeReference,
71
- contextClass: config.contextClass || rawViewMetadata?.config?.contextClass || rawViewMetadata?.config?.targetObjectClass,
72
- allowAddingNewRecords: firstChildMeta.type === 'SimpleTableSelect' && isCreateNewReferenceEnabled ? true : undefined,
75
+ contextClass:
76
+ config.contextClass || rawViewMetadata?.config?.contextClass || rawViewMetadata?.config?.targetObjectClass,
77
+ allowAddingNewRecords:
78
+ firstChildMeta.type === 'SimpleTableSelect' && isCreateNewReferenceEnabled ? true : undefined,
73
79
  actions: firstChildMeta.type === 'SimpleTableSelect' &&
74
80
  isCreateNewReferenceEnabled && [
75
81
  {
@@ -80,11 +86,11 @@ export const getFirstChildConfig = ({
80
86
  inputFields: disableStartingFieldsForReference
81
87
  ? {}
82
88
  : {
83
- [`.pyAddCaseContextPage.${pyID}`]: `@P .${pyID}`
84
- }
85
- }
86
- }
89
+ [`.pyAddCaseContextPage.${pyID}`]: `@P .${pyID}`,
90
+ },
91
+ },
92
+ },
87
93
  ],
88
- compositeKeys
94
+ compositeKeys,
89
95
  };
90
96
  };
@@ -21,9 +21,7 @@ const Child = connectToState(mapStateToProps)((props) => {
21
21
  return createElement(PConnectComponent, { ...rest, key, visibility });
22
22
  });
23
23
 
24
- export default function DefaultForm(
25
- props: PropsWithChildren<DefaultFormProps>,
26
- ) {
24
+ export default function DefaultForm(props: PropsWithChildren<DefaultFormProps>) {
27
25
  const { getPConnect, NumCols = '1' } = props;
28
26
  const instructions = getInstructions(getPConnect(), props.instructions);
29
27
 
@@ -51,21 +49,15 @@ export default function DefaultForm(
51
49
  // to take the children and create components for them, put in an array and pass as the
52
50
  // defaultForm kids
53
51
  const arChildren = getPConnect().getChildren()[0].getPConnect().getChildren();
54
- const dfChildren = arChildren?.map((kid) => (
55
- <Child key={getKeyForMappedField(kid)} {...kid} />
56
- ));
52
+ const dfChildren = arChildren?.map((kid) => <Child key={getKeyForMappedField(kid)} {...kid} />);
57
53
 
58
54
  return (
59
55
  <>
60
56
  {instructions && (
61
- <div className='psdk-default-form-instruction-text'>
57
+ <div className="psdk-default-form-instruction-text">
62
58
  {/* server performs sanitization method for instructions html content */}
63
59
  {}
64
- <div
65
- key='instructions'
66
- id='instruction-text'
67
- dangerouslySetInnerHTML={{ __html: instructions }}
68
- />
60
+ <div key="instructions" id="instruction-text" dangerouslySetInnerHTML={{ __html: instructions }} />
69
61
  </div>
70
62
  )}
71
63
  <div className={divClass}>{dfChildren}</div>
@@ -3,14 +3,14 @@ export const mapStateToProps: any = (_, ownProps) => {
3
3
 
4
4
  return {
5
5
  visibility: getPConnect().getComputedVisibility(),
6
- getPConnect
6
+ getPConnect,
7
7
  };
8
8
  };
9
9
 
10
- export const getKeyForMappedField = field => {
10
+ export const getKeyForMappedField = (field) => {
11
11
  if (Array.isArray(field)) {
12
12
  return field
13
- .map(item => {
13
+ .map((item) => {
14
14
  return getKeyForMappedField(item);
15
15
  })
16
16
  .join('__');
@@ -58,7 +58,7 @@ const COLUMNS_WIDTHS = {
58
58
  'one-column': [12],
59
59
  'two-column': [6, 6],
60
60
  'narrow-wide': [4, 8],
61
- 'wide-narrow': [8, 4]
61
+ 'wide-narrow': [8, 4],
62
62
  };
63
63
 
64
64
  export default function DefaultPage({
@@ -70,7 +70,7 @@ export default function DefaultPage({
70
70
  imageTheme,
71
71
  backgroundImage = '',
72
72
  backgroundColor = '',
73
- tintImage
73
+ tintImage,
74
74
  }: DefaultPageProps) {
75
75
  const Banner = getComponentFromRegistry('Banner');
76
76
 
@@ -90,7 +90,7 @@ export default function DefaultPage({
90
90
  title: heading,
91
91
  message,
92
92
  backgroundImage,
93
- tintImage
93
+ tintImage,
94
94
  }}
95
95
  />
96
96
  );
@@ -24,20 +24,18 @@ export default function Details(props: DetailsProps) {
24
24
  // in a readonly (display) mode instead of a editable
25
25
  getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');
26
26
  getPConnect().setInheritedProp('readOnly', true);
27
- const children = (getPConnect().getChildren() as any[]).map(
28
- (configObject, index) =>
29
- createElement(PConnectComponent, {
30
- ...configObject,
27
+ const children = (getPConnect().getChildren() as any[]).map((configObject, index) =>
28
+ createElement(PConnectComponent, {
29
+ ...configObject,
31
30
 
32
- key: index.toString(),
33
- }),
31
+ key: index.toString(),
32
+ }),
34
33
  );
35
34
 
36
35
  // Set up highlighted data to pass in return if is set to show, need raw metadata to pass to createComponent
37
36
  let highlightedDataArr = [];
38
37
  if (showHighlightedData) {
39
- const { highlightedData = [] } = (getPConnect().getRawMetadata() as any)
40
- .config;
38
+ const { highlightedData = [] } = (getPConnect().getRawMetadata() as any).config;
41
39
  highlightedDataArr = highlightedData.map((field) => {
42
40
  field.config.displayMode = 'STACKED_LARGE_VAL';
43
41
 
@@ -15,12 +15,7 @@ export default function DetailsThreeColumn(props: DetailsThreeColumnProps) {
15
15
  // Get emitted components from map (so we can get any override that may exist)
16
16
  const FieldGroup = getComponentFromRegistry('FieldGroup');
17
17
 
18
- const {
19
- label,
20
- showLabel = true,
21
- getPConnect,
22
- showHighlightedData = false,
23
- } = props;
18
+ const { label, showLabel = true, getPConnect, showHighlightedData = false } = props;
24
19
 
25
20
  // Get the inherited props from the parent to determine label settings
26
21
  const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };
@@ -29,20 +24,18 @@ export default function DetailsThreeColumn(props: DetailsThreeColumnProps) {
29
24
  // in a readonly (display) mode instead of a editable
30
25
  getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');
31
26
  getPConnect().setInheritedProp('readOnly', true);
32
- const children = (getPConnect().getChildren() as any[]).map(
33
- (configObject, index) =>
34
- createElement(PConnectComponent, {
35
- ...configObject,
27
+ const children = (getPConnect().getChildren() as any[]).map((configObject, index) =>
28
+ createElement(PConnectComponent, {
29
+ ...configObject,
36
30
 
37
- key: index.toString(),
38
- }),
31
+ key: index.toString(),
32
+ }),
39
33
  );
40
34
 
41
35
  // Set up highlighted data to pass in return if is set to show, need raw metadata to pass to createComponent
42
36
  let highlightedDataArr = [];
43
37
  if (showHighlightedData) {
44
- const { highlightedData = [] } = (getPConnect().getRawMetadata() as any)
45
- .config;
38
+ const { highlightedData = [] } = (getPConnect().getRawMetadata() as any).config;
46
39
  highlightedDataArr = highlightedData.map((field) => {
47
40
  field.config.displayMode = 'STACKED_LARGE_VAL';
48
41
 
@@ -15,12 +15,7 @@ export default function DetailsTwoColumn(props: DetailsTwoColumnProps) {
15
15
  // Get emitted components from map (so we can get any override that may exist)
16
16
  const FieldGroup = getComponentFromRegistry('FieldGroup');
17
17
 
18
- const {
19
- label,
20
- showLabel = true,
21
- getPConnect,
22
- showHighlightedData = false,
23
- } = props;
18
+ const { label, showLabel = true, getPConnect, showHighlightedData = false } = props;
24
19
 
25
20
  // Get the inherited props from the parent to determine label settings
26
21
  const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };
@@ -29,20 +24,18 @@ export default function DetailsTwoColumn(props: DetailsTwoColumnProps) {
29
24
  // in a readonly (display) mode instead of a editable
30
25
  getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');
31
26
  getPConnect().setInheritedProp('readOnly', true);
32
- const children = (getPConnect().getChildren() as any[]).map(
33
- (configObject, index) =>
34
- createElement(PConnectComponent, {
35
- ...configObject,
27
+ const children = (getPConnect().getChildren() as any[]).map((configObject, index) =>
28
+ createElement(PConnectComponent, {
29
+ ...configObject,
36
30
 
37
- key: index.toString(),
38
- }),
31
+ key: index.toString(),
32
+ }),
39
33
  );
40
34
 
41
35
  // Set up highlighted data to pass in return if is set to show, need raw metadata to pass to createComponent
42
36
  let highlightedDataArr = [];
43
37
  if (showHighlightedData) {
44
- const { highlightedData = [] } = (getPConnect().getRawMetadata() as any)
45
- .config;
38
+ const { highlightedData = [] } = (getPConnect().getRawMetadata() as any).config;
46
39
  highlightedDataArr = highlightedData.map((field) => {
47
40
  field.config.displayMode = 'STACKED_LARGE_VAL';
48
41
 
@@ -8,8 +8,8 @@ import type { PConnProps } from '@pega/sdk-react';
8
8
 
9
9
  const useStyles = makeStyles(() => ({
10
10
  tab: {
11
- minWidth: '72px'
12
- }
11
+ minWidth: '72px',
12
+ },
13
13
  }));
14
14
 
15
15
  interface DynamicTabsProps extends PConnProps {
@@ -38,7 +38,7 @@ function DynamicTabs(props: DynamicTabsProps) {
38
38
  Children.toArray(
39
39
  referenceListData.map((item, index) => {
40
40
  return <React.Fragment key={item[tablabelProp]}>{buildView(pConnect, index, '')}</React.Fragment>;
41
- })
41
+ }),
42
42
  )
43
43
  );
44
44
  }, [referenceListData]);
@@ -49,25 +49,33 @@ function DynamicTabs(props: DynamicTabsProps) {
49
49
  // Loop over the tab contents and and pull out the labels for the navigation
50
50
  const tabItems =
51
51
  referenceListData?.map((item, i) => {
52
- const currentTabLabel = item[tablabelProp] || PCore.getLocaleUtils().getLocaleValue('No label specified in config', 'Generic');
52
+ const currentTabLabel =
53
+ item[tablabelProp] || PCore.getLocaleUtils().getLocaleValue('No label specified in config', 'Generic');
53
54
  return {
54
55
  name: currentTabLabel,
55
- id: i
56
+ id: i,
56
57
  };
57
58
  }) || [];
58
59
 
59
60
  return (
60
61
  <>
61
- {propsToUse.label && <h3 id='dynamic-tabs-title'>{propsToUse.label}</h3>}
62
+ {propsToUse.label && <h3 id="dynamic-tabs-title">{propsToUse.label}</h3>}
62
63
  <TabContext value={panelShown.toString()}>
63
- <Tabs onChange={handleTabClick} value={panelShown} variant='scrollable' scrollButtons='auto' indicatorColor='primary' id='dynamic-tabs'>
64
+ <Tabs
65
+ onChange={handleTabClick}
66
+ value={panelShown}
67
+ variant="scrollable"
68
+ scrollButtons="auto"
69
+ indicatorColor="primary"
70
+ id="dynamic-tabs"
71
+ >
64
72
  {tabItems.map((tab: any) => (
65
73
  <Tab key={tab.id} label={tab.name} value={tab.id} className={classes.tab} />
66
74
  ))}
67
75
  </Tabs>
68
76
 
69
77
  {tabItems.map((tab: any) => (
70
- <TabPanel key={tab.id} value={tab.id.toString()} tabIndex={+tab.id} id='dynamic-tabpanel'>
78
+ <TabPanel key={tab.id} value={tab.id.toString()} tabIndex={+tab.id} id="dynamic-tabpanel">
71
79
  <div>{memoisedTabViews[parseInt(tab.id, 10)] || 'No content exists'}</div>
72
80
  </TabPanel>
73
81
  ))}
@@ -32,7 +32,7 @@ export default function FieldGroupTemplate(props: FieldGroupTemplateProps) {
32
32
  displayMode,
33
33
  fieldHeader,
34
34
  allowActions,
35
- allowTableEdit: allowAddEdit
35
+ allowTableEdit: allowAddEdit,
36
36
  } = props;
37
37
  const pConn = getPConnect();
38
38
  const resolvedList = getReferenceList(pConn);
@@ -72,7 +72,7 @@ export default function FieldGroupTemplate(props: FieldGroupTemplateProps) {
72
72
  const addFieldGroupItem = () => {
73
73
  addRecord();
74
74
  };
75
- const deleteFieldGroupItem = index => {
75
+ const deleteFieldGroupItem = (index) => {
76
76
  if (PCore.getPCoreVersion()?.includes('8.7')) {
77
77
  pConn.getListActions().deleteEntry(index, pageReference);
78
78
  } else {
@@ -87,7 +87,7 @@ export default function FieldGroupTemplate(props: FieldGroupTemplateProps) {
87
87
  return referenceList.map((item, index) => ({
88
88
  id: index,
89
89
  name: fieldHeader === 'propertyRef' ? getDynamicHeaderProp(item, index) : `${HEADING} ${index + 1}`,
90
- children: buildView(pConn, index, lookForChildInConfig)
90
+ children: buildView(pConn, index, lookForChildInConfig),
91
91
  }));
92
92
  }, [referenceList?.length]);
93
93
 
@@ -105,7 +105,10 @@ export default function FieldGroupTemplate(props: FieldGroupTemplateProps) {
105
105
  return referenceList.map((item, index) => {
106
106
  const key = item[heading] || `field-group-row-${index}`;
107
107
  return (
108
- <FieldGroup key={key} name={fieldHeader === 'propertyRef' ? getDynamicHeaderProp(item, index) : `${HEADING} ${index + 1}`}>
108
+ <FieldGroup
109
+ key={key}
110
+ name={fieldHeader === 'propertyRef' ? getDynamicHeaderProp(item, index) : `${HEADING} ${index + 1}`}
111
+ >
109
112
  {buildView(pConn, index, lookForChildInConfig)}
110
113
  </FieldGroup>
111
114
  );
@@ -12,7 +12,7 @@ export default function HierarchicalForm(props: PropsWithChildren<HierarchicalFo
12
12
  }
13
13
 
14
14
  return (
15
- <Box display='flex' flexDirection='column'>
15
+ <Box display="flex" flexDirection="column">
16
16
  {instructions && (
17
17
  <Box mb={2}>
18
18
  <div dangerouslySetInnerHTML={{ __html: instructions }} />
@@ -21,7 +21,7 @@ export default function HierarchicalForm(props: PropsWithChildren<HierarchicalFo
21
21
  <Box sx={{ flexGrow: 1 }}>
22
22
  <TabContext value={currentTabId.toString()}>
23
23
  <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
24
- <Tabs onChange={handleTabClick} value={currentTabId.toString()} variant='scrollable'>
24
+ <Tabs onChange={handleTabClick} value={currentTabId.toString()} variant="scrollable">
25
25
  {processedTabs.map((tab: any) => {
26
26
  const tabLabel = tab.name || tab.label;
27
27
  return (
@@ -30,10 +30,25 @@ export default function HierarchicalForm(props: PropsWithChildren<HierarchicalFo
30
30
  sx={{ textTransform: 'none' }}
31
31
  label={
32
32
  tab.errors ? (
33
- <Tooltip title={`${tabLabel} has errors`} placement='top'>
34
- <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>
33
+ <Tooltip title={`${tabLabel} has errors`} placement="top">
34
+ <Box
35
+ sx={{
36
+ display: 'flex',
37
+ alignItems: 'center',
38
+ gap: 1,
39
+ }}
40
+ >
35
41
  <span>{tabLabel}</span>
36
- <Badge badgeContent={tab.errors} color='error' sx={{ '& .MuiBadge-badge': { position: 'static', transform: 'none' } }} />
42
+ <Badge
43
+ badgeContent={tab.errors}
44
+ color="error"
45
+ sx={{
46
+ '& .MuiBadge-badge': {
47
+ position: 'static',
48
+ transform: 'none',
49
+ },
50
+ }}
51
+ />
37
52
  </Box>
38
53
  </Tooltip>
39
54
  ) : (
@@ -10,11 +10,7 @@ import {
10
10
  } from 'react';
11
11
 
12
12
  import { useGetTabsCount } from '@pega/sdk-react';
13
- import {
14
- searchtabsClick as tabClick,
15
- getActiveTabId,
16
- getFirstVisibleTabId,
17
- } from '../SubTabs/tabUtils';
13
+ import { searchtabsClick as tabClick, getActiveTabId, getFirstVisibleTabId } from '../SubTabs/tabUtils';
18
14
  import { getInstructions } from '../../helpers/template-utils';
19
15
  import type { PConnProps } from '@pega/sdk-react';
20
16
 
@@ -22,12 +18,8 @@ const ComponentName = 'HierarchicalForm';
22
18
 
23
19
  const getLandingPageViewName = (contextName: string) => {
24
20
  const target = contextName.substring(0, contextName.lastIndexOf('_'));
25
- const activeContainerItemID =
26
- PCore.getContainerUtils().getActiveContainerItemName(target);
27
- const containerItemData = PCore.getContainerUtils().getContainerItemData(
28
- target,
29
- activeContainerItemID,
30
- );
21
+ const activeContainerItemID = PCore.getContainerUtils().getActiveContainerItemName(target);
22
+ const containerItemData = PCore.getContainerUtils().getContainerItemData(target, activeContainerItemID);
31
23
  return containerItemData?.view?.config?.name;
32
24
  };
33
25
 
@@ -38,19 +30,13 @@ export interface HierarchicalFormProps extends PConnProps {
38
30
  lastUpdateCaseTime?: string | number;
39
31
  }
40
32
 
41
- export function useHierarchicalForm(
42
- props: PropsWithChildren<HierarchicalFormProps>,
43
- ) {
33
+ export function useHierarchicalForm(props: PropsWithChildren<HierarchicalFormProps>) {
44
34
  const { children = [], getPConnect, tabsVisibility = {}, template } = props;
45
35
  const [tabErrors, setTabErrors] = useState<Record<string, any>>({});
46
36
  const tabErrorsRef = useRef<Record<string, any>>({});
47
37
  const submitAttemptedRef = useRef(false);
48
- const {
49
- lastUpdateCaseTime = getPConnect().getValue('caseInfo.lastUpdateTime'),
50
- } = props;
51
- const fullCaseId = getPConnect().getValue(
52
- PCore.getConstants().CASE_INFO.CASE_INFO_ID,
53
- );
38
+ const { lastUpdateCaseTime = getPConnect().getValue('caseInfo.lastUpdateTime') } = props;
39
+ const fullCaseId = getPConnect().getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID);
54
40
 
55
41
  const deferLoadedTabs: any = Children.toArray(children)[0];
56
42
  deferLoadedTabs.props.getPConnect().setInheritedProp('template', template);
@@ -65,24 +51,15 @@ export function useHierarchicalForm(
65
51
 
66
52
  const instructions = getInstructions(getPConnect(), props.instructions);
67
53
 
68
- const storedTab = (
69
- PCore.getNavigationUtils().getComponentState(navigationKey) as any
70
- )?.activeTab;
54
+ const storedTab = (PCore.getNavigationUtils().getComponentState(navigationKey) as any)?.activeTab;
71
55
 
72
56
  const tabsFromChildren = deferLoadedTabs.props.getPConnect().getChildren();
73
57
 
74
58
  const firstTabId = getFirstVisibleTabId(deferLoadedTabs, undefined);
75
59
 
76
- const [currentTabId, setCurrentTabId] = useState(
77
- getActiveTabId(tabsFromChildren, storedTab || firstTabId),
78
- );
60
+ const [currentTabId, setCurrentTabId] = useState(getActiveTabId(tabsFromChildren, storedTab || firstTabId));
79
61
  const [tabVisibilityStr, setTabVisibilityStr] = useState('');
80
- const { data: tabData, refreshTabData } = useGetTabsCount(
81
- deferLoadedTabs,
82
- 'hierarchical',
83
- currentTabId,
84
- template,
85
- );
62
+ const { data: tabData, refreshTabData } = useGetTabsCount(deferLoadedTabs, 'hierarchical', currentTabId, template);
86
63
 
87
64
  const handleCaseRefresh = (message: any) => {
88
65
  if (message.subtype === 'tab') {
@@ -116,10 +93,7 @@ export function useHierarchicalForm(
116
93
  }
117
94
 
118
95
  return () => {
119
- if (fullCaseId)
120
- PCore.getMessagingServiceManager()
121
- .getCaseSubscription(fullCaseId)
122
- .unsubscribe(caseSubId);
96
+ if (fullCaseId) PCore.getMessagingServiceManager().getCaseSubscription(fullCaseId).unsubscribe(caseSubId);
123
97
  };
124
98
  }, []);
125
99
 
@@ -130,9 +104,7 @@ export function useHierarchicalForm(
130
104
  useEffect(() => {
131
105
  const isVisibilityAvailable =
132
106
  Object.values(tabsVisibility).length > 0 &&
133
- Object.values(tabsVisibility).every(
134
- (visibility) => typeof visibility === 'boolean',
135
- );
107
+ Object.values(tabsVisibility).every((visibility) => typeof visibility === 'boolean');
136
108
  if (isVisibilityAvailable) {
137
109
  let str = '';
138
110
  Object.keys(tabsVisibility).forEach((key) => {
@@ -176,38 +148,31 @@ export function useHierarchicalForm(
176
148
  [tabData, currentTabId],
177
149
  );
178
150
 
179
- const tabItems = useMemo(
180
- () => tabData?.filter((tab: any) => tab.visibility()) ?? [],
181
- [tabData, tabVisibilityStr],
182
- );
151
+ const tabItems = useMemo(() => tabData?.filter((tab: any) => tab.visibility()) ?? [], [tabData, tabVisibilityStr]);
183
152
 
184
153
  const tabsRef = useRef(tabItems);
185
154
  tabsRef.current = tabItems;
186
155
 
187
- const updateTabErrorsOnViewMutate = useCallback(
188
- (messageObject: any, tab: any) => {
189
- if (!messageObject.type) {
190
- return;
191
- }
192
- const previousTabErrors = tabErrorsRef.current;
193
- let currentTabState = previousTabErrors[tab.id] || {};
194
- const { MESSAGES_TYPE_ERROR } = PCore.getConstants().MESSAGES;
195
- if (messageObject.type !== MESSAGES_TYPE_ERROR) {
196
- delete currentTabState[messageObject.fieldName];
197
- currentTabState =
198
- Object.keys(currentTabState).length > 0 ? currentTabState : undefined;
199
- } else {
200
- currentTabState = {
201
- ...currentTabState,
202
- [messageObject.fieldName]: messageObject.messages,
203
- };
204
- }
205
- const newErrors = { ...previousTabErrors, [tab.id]: currentTabState };
206
- tabErrorsRef.current = newErrors;
207
- setTabErrors(newErrors);
208
- },
209
- [],
210
- );
156
+ const updateTabErrorsOnViewMutate = useCallback((messageObject: any, tab: any) => {
157
+ if (!messageObject.type) {
158
+ return;
159
+ }
160
+ const previousTabErrors = tabErrorsRef.current;
161
+ let currentTabState = previousTabErrors[tab.id] || {};
162
+ const { MESSAGES_TYPE_ERROR } = PCore.getConstants().MESSAGES;
163
+ if (messageObject.type !== MESSAGES_TYPE_ERROR) {
164
+ delete currentTabState[messageObject.fieldName];
165
+ currentTabState = Object.keys(currentTabState).length > 0 ? currentTabState : undefined;
166
+ } else {
167
+ currentTabState = {
168
+ ...currentTabState,
169
+ [messageObject.fieldName]: messageObject.messages,
170
+ };
171
+ }
172
+ const newErrors = { ...previousTabErrors, [tab.id]: currentTabState };
173
+ tabErrorsRef.current = newErrors;
174
+ setTabErrors(newErrors);
175
+ }, []);
211
176
 
212
177
  useEffect(() => {
213
178
  const rawConfig = '_rawConfig';
@@ -239,8 +204,7 @@ export function useHierarchicalForm(
239
204
  }, [navigateToFirstErrorTab]);
240
205
 
241
206
  useEffect(() => {
242
- const { CURRENT_ASSIGNMENT_UPDATED } =
243
- PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS;
207
+ const { CURRENT_ASSIGNMENT_UPDATED } = PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS;
244
208
  PCore.getPubSubUtils().subscribe(
245
209
  CURRENT_ASSIGNMENT_UPDATED,
246
210
  () => {
@@ -258,10 +222,7 @@ export function useHierarchicalForm(
258
222
  );
259
223
 
260
224
  return () => {
261
- PCore.getPubSubUtils().unsubscribe(
262
- CURRENT_ASSIGNMENT_UPDATED,
263
- 'CURRENT_ASSIGNMENT_UPDATED-HierarchicalForm',
264
- );
225
+ PCore.getPubSubUtils().unsubscribe(CURRENT_ASSIGNMENT_UPDATED, 'CURRENT_ASSIGNMENT_UPDATED-HierarchicalForm');
265
226
  PCore.getPubSubUtils().unsubscribe(
266
227
  PCore.getConstants().PUB_SUB_EVENTS.ERROR_ON_FINISH_ASSIGNMENT,
267
228
  'ERROR_ON_FINISH_ASSIGNMENT-HierarchicalForm',
@@ -280,10 +241,7 @@ export function useHierarchicalForm(
280
241
  const errorKeys = Object.keys(tabErrors[tab.id] ?? {});
281
242
  const errors =
282
243
  errorKeys.length > 0
283
- ? errorKeys.reduce(
284
- (sum, fieldName) => sum + tabErrors[tab.id][fieldName].length,
285
- 0,
286
- )
244
+ ? errorKeys.reduce((sum, fieldName) => sum + tabErrors[tab.id][fieldName].length, 0)
287
245
  : undefined;
288
246
  return { ...tab, errors };
289
247
  });