@pega/sdk 0.0.5 → 0.0.7

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 (269) hide show
  1. package/README.md +10 -3
  2. package/dist/index.js +828 -165
  3. package/package.json +1 -1
  4. package/templates/react-native-sdk-reference/.claude/settings.json +5 -0
  5. package/templates/react-native-sdk-reference/.prettierignore +17 -0
  6. package/templates/react-native-sdk-reference/.vscode/extensions.json +1 -0
  7. package/templates/react-native-sdk-reference/.vscode/settings.json +7 -0
  8. package/templates/react-native-sdk-reference/AGENTS.md +3 -0
  9. package/templates/react-native-sdk-reference/CLAUDE.md +1 -0
  10. package/templates/react-native-sdk-reference/README.md +56 -0
  11. package/templates/react-native-sdk-reference/app.json +40 -5
  12. package/templates/react-native-sdk-reference/assets/expo.icon/Assets/expo-symbol 2.svg +3 -0
  13. package/templates/react-native-sdk-reference/assets/expo.icon/Assets/grid.png +0 -0
  14. package/templates/react-native-sdk-reference/assets/expo.icon/icon.json +35 -0
  15. package/templates/react-native-sdk-reference/assets/icons/bell.png +0 -0
  16. package/templates/react-native-sdk-reference/assets/icons/clock.png +0 -0
  17. package/templates/react-native-sdk-reference/assets/icons/cross.png +0 -0
  18. package/templates/react-native-sdk-reference/assets/icons/donut.png +0 -0
  19. package/templates/react-native-sdk-reference/assets/icons/gear.png +0 -0
  20. package/templates/react-native-sdk-reference/assets/icons/globe.png +0 -0
  21. package/templates/react-native-sdk-reference/assets/icons/internet.png +0 -0
  22. package/templates/react-native-sdk-reference/assets/icons/music.png +0 -0
  23. package/templates/react-native-sdk-reference/assets/icons/right-arrow.png +0 -0
  24. package/templates/react-native-sdk-reference/assets/icons/speed.png +0 -0
  25. package/templates/react-native-sdk-reference/assets/images/MediaCo.png +0 -0
  26. package/templates/react-native-sdk-reference/assets/images/adaptive-icon.png +0 -0
  27. package/templates/react-native-sdk-reference/assets/images/android-icon-background.png +0 -0
  28. package/templates/react-native-sdk-reference/assets/images/android-icon-foreground.png +0 -0
  29. package/templates/react-native-sdk-reference/assets/images/android-icon-monochrome.png +0 -0
  30. package/templates/react-native-sdk-reference/assets/images/expo-badge-white.png +0 -0
  31. package/templates/react-native-sdk-reference/assets/images/expo-badge.png +0 -0
  32. package/templates/react-native-sdk-reference/assets/images/expo-logo.png +0 -0
  33. package/templates/react-native-sdk-reference/assets/images/favicon.png +0 -0
  34. package/templates/react-native-sdk-reference/assets/images/icon.png +0 -0
  35. package/templates/react-native-sdk-reference/assets/images/logo-glow.png +0 -0
  36. package/templates/react-native-sdk-reference/assets/images/partial-react-logo.png +0 -0
  37. package/templates/react-native-sdk-reference/assets/images/react-logo.png +0 -0
  38. package/templates/react-native-sdk-reference/assets/images/react-logo@2x.png +0 -0
  39. package/templates/react-native-sdk-reference/assets/images/react-logo@3x.png +0 -0
  40. package/templates/react-native-sdk-reference/assets/images/splash-icon.png +0 -0
  41. package/templates/react-native-sdk-reference/assets/images/tutorial-web.png +0 -0
  42. package/templates/react-native-sdk-reference/eslint.config.mjs +68 -0
  43. package/templates/react-native-sdk-reference/package.json +59 -14
  44. package/templates/react-native-sdk-reference/pega-constellationjs-0.26.3.tgz +0 -0
  45. package/templates/react-native-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  46. package/templates/react-native-sdk-reference/pega-sdk-types-0.1.0.tgz +0 -0
  47. package/templates/react-native-sdk-reference/sdk-config.json +31 -9
  48. package/templates/react-native-sdk-reference/src/app/_layout.tsx +38 -0
  49. package/templates/react-native-sdk-reference/src/app/home/_layout.tsx +39 -0
  50. package/templates/react-native-sdk-reference/src/app/home/contact.tsx +11 -0
  51. package/templates/react-native-sdk-reference/src/app/home/index.tsx +36 -0
  52. package/templates/react-native-sdk-reference/src/app/home/shop.tsx +11 -0
  53. package/templates/react-native-sdk-reference/src/app/home/your-services.tsx +11 -0
  54. package/templates/react-native-sdk-reference/src/app/index.tsx +72 -0
  55. package/templates/react-native-sdk-reference/src/app/workarea.tsx +135 -0
  56. package/templates/react-native-sdk-reference/src/bridge/Context/StoreContext.ts +4 -0
  57. package/templates/react-native-sdk-reference/src/bridge/RootComponent.tsx +12 -0
  58. package/templates/react-native-sdk-reference/src/bridge/react_pconnect.jsx +334 -0
  59. package/templates/react-native-sdk-reference/src/components/common/DisplayField.tsx +29 -0
  60. package/templates/react-native-sdk-reference/src/components/common/FormFieldWrapper.tsx +5 -0
  61. package/templates/react-native-sdk-reference/src/components/common/HelperText.tsx +11 -0
  62. package/templates/react-native-sdk-reference/src/components/common/LabelText.tsx +22 -0
  63. package/templates/react-native-sdk-reference/src/components/common/inputTheme.ts +17 -0
  64. package/templates/react-native-sdk-reference/src/components/design-system/AutoComplete.tsx +126 -0
  65. package/templates/react-native-sdk-reference/src/components/design-system/FieldGroup.tsx +72 -0
  66. package/templates/react-native-sdk-reference/src/components/design-system/Radio.tsx +61 -0
  67. package/templates/react-native-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +196 -0
  68. package/templates/react-native-sdk-reference/src/components/field/AutoComplete/index.tsx +1 -0
  69. package/templates/react-native-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +89 -0
  70. package/templates/react-native-sdk-reference/src/components/field/Checkbox/index.tsx +1 -0
  71. package/templates/react-native-sdk-reference/src/components/field/Currency/Currency.tsx +84 -0
  72. package/templates/react-native-sdk-reference/src/components/field/Currency/index.tsx +1 -0
  73. package/templates/react-native-sdk-reference/src/components/field/Date/Date.tsx +94 -0
  74. package/templates/react-native-sdk-reference/src/components/field/Date/index.tsx +1 -0
  75. package/templates/react-native-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +211 -0
  76. package/templates/react-native-sdk-reference/src/components/field/Dropdown/index.tsx +1 -0
  77. package/templates/react-native-sdk-reference/src/components/field/Email/Email.tsx +81 -0
  78. package/templates/react-native-sdk-reference/src/components/field/Email/index.tsx +1 -0
  79. package/templates/react-native-sdk-reference/src/components/field/Group/Group.tsx +47 -0
  80. package/templates/react-native-sdk-reference/src/components/field/Group/index.tsx +1 -0
  81. package/templates/react-native-sdk-reference/src/components/field/Integer/Integer.tsx +84 -0
  82. package/templates/react-native-sdk-reference/src/components/field/Integer/index.tsx +1 -0
  83. package/templates/react-native-sdk-reference/src/components/field/Phone/Phone.tsx +85 -0
  84. package/templates/react-native-sdk-reference/src/components/field/Phone/index.ts +1 -0
  85. package/templates/react-native-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +118 -0
  86. package/templates/react-native-sdk-reference/src/components/field/RadioButtons/index.ts +1 -0
  87. package/templates/react-native-sdk-reference/src/components/field/TextArea/TextArea.tsx +86 -0
  88. package/templates/react-native-sdk-reference/src/components/field/TextArea/index.tsx +1 -0
  89. package/templates/react-native-sdk-reference/src/components/field/TextInput/TextInput.tsx +84 -0
  90. package/templates/react-native-sdk-reference/src/components/field/TextInput/index.tsx +1 -0
  91. package/templates/react-native-sdk-reference/src/components/field/URL/URL.tsx +86 -0
  92. package/templates/react-native-sdk-reference/src/components/field/URL/index.tsx +1 -0
  93. package/templates/react-native-sdk-reference/src/components/helpers/data_page.ts +20 -0
  94. package/templates/react-native-sdk-reference/src/components/helpers/event-utils.ts +20 -0
  95. package/templates/react-native-sdk-reference/src/components/helpers/instructions-utils.ts +57 -0
  96. package/templates/react-native-sdk-reference/src/components/helpers/state-utils.tsx +46 -0
  97. package/templates/react-native-sdk-reference/src/components/helpers/template-utils.ts +75 -0
  98. package/templates/react-native-sdk-reference/src/components/helpers/utils.ts +339 -0
  99. package/templates/react-native-sdk-reference/src/components/infra/ActionButtons/ActionButtons.tsx +63 -0
  100. package/templates/react-native-sdk-reference/src/components/infra/ActionButtons/index.tsx +1 -0
  101. package/templates/react-native-sdk-reference/src/components/infra/Assignment/Assignment.tsx +348 -0
  102. package/templates/react-native-sdk-reference/src/components/infra/Assignment/index.tsx +1 -0
  103. package/templates/react-native-sdk-reference/src/components/infra/AssignmentCard/AssignmentCard.tsx +56 -0
  104. package/templates/react-native-sdk-reference/src/components/infra/AssignmentCard/index.tsx +1 -0
  105. package/templates/react-native-sdk-reference/src/components/infra/Containers/FlowContainer/FlowContainer.tsx +57 -0
  106. package/templates/react-native-sdk-reference/src/components/infra/Containers/FlowContainer/helpers.ts +137 -0
  107. package/templates/react-native-sdk-reference/src/components/infra/Containers/FlowContainer/index.tsx +1 -0
  108. package/templates/react-native-sdk-reference/src/components/infra/Containers/RootContainer/RootContainer.tsx +52 -0
  109. package/templates/react-native-sdk-reference/src/components/infra/Containers/RootContainer/index.tsx +1 -0
  110. package/templates/react-native-sdk-reference/src/components/infra/Containers/SimpleView/helper.ts +128 -0
  111. package/templates/react-native-sdk-reference/src/components/infra/Containers/SimpleView/index.tsx +59 -0
  112. package/templates/react-native-sdk-reference/src/components/infra/Containers/ViewContainer/ViewContainer.tsx +31 -0
  113. package/templates/react-native-sdk-reference/src/components/infra/Containers/ViewContainer/helper.ts +39 -0
  114. package/templates/react-native-sdk-reference/src/components/infra/Containers/ViewContainer/index.ts +1 -0
  115. package/templates/react-native-sdk-reference/src/components/infra/Containers/helper.ts +9 -0
  116. package/templates/react-native-sdk-reference/src/components/infra/ErrorBoundary/ErrorBoundary.tsx +53 -0
  117. package/templates/react-native-sdk-reference/src/components/infra/ErrorBoundary/index.tsx +1 -0
  118. package/templates/react-native-sdk-reference/src/components/infra/MultiStep/MultiStep.tsx +24 -0
  119. package/templates/react-native-sdk-reference/src/components/infra/MultiStep/index.ts +1 -0
  120. package/templates/react-native-sdk-reference/src/components/infra/Reference/Reference.tsx +68 -0
  121. package/templates/react-native-sdk-reference/src/components/infra/Reference/index.tsx +1 -0
  122. package/templates/react-native-sdk-reference/src/components/infra/Reference/utils.ts +16 -0
  123. package/templates/react-native-sdk-reference/src/components/infra/Region/Region.tsx +10 -0
  124. package/templates/react-native-sdk-reference/src/components/infra/Region/index.tsx +1 -0
  125. package/templates/react-native-sdk-reference/src/components/infra/View/View.tsx +49 -0
  126. package/templates/react-native-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +38 -0
  127. package/templates/react-native-sdk-reference/src/components/template/DefaultForm/index.tsx +1 -0
  128. package/templates/react-native-sdk-reference/src/components/template/DefaultForm/utils/index.ts +28 -0
  129. package/templates/react-native-sdk-reference/src/components/template/Details/Details.tsx +82 -0
  130. package/templates/react-native-sdk-reference/src/components/template/Details/index.tsx +1 -0
  131. package/templates/react-native-sdk-reference/src/components/template/OneColumn/OneColumn.tsx +29 -0
  132. package/templates/react-native-sdk-reference/src/components/template/OneColumn/index.tsx +1 -0
  133. package/templates/react-native-sdk-reference/src/context/LoaderContext.tsx +42 -0
  134. package/templates/react-native-sdk-reference/src/mediaco/AdvBanner.tsx +62 -0
  135. package/templates/react-native-sdk-reference/src/mediaco/Header.tsx +60 -0
  136. package/templates/react-native-sdk-reference/src/mediaco/HomeScreen.tsx +78 -0
  137. package/templates/react-native-sdk-reference/src/mediaco/QuickActions.tsx +68 -0
  138. package/templates/react-native-sdk-reference/src/mediaco/ResolutionScreen.tsx +48 -0
  139. package/templates/react-native-sdk-reference/src/mediaco/SafeArea.tsx +11 -0
  140. package/templates/react-native-sdk-reference/src/mediaco/TabBar.tsx +102 -0
  141. package/templates/react-native-sdk-reference/src/mediaco/YourServices.tsx +90 -0
  142. package/templates/react-native-sdk-reference/src/sdk-pega-component-map.ts +64 -0
  143. package/templates/react-native-sdk-reference/src/types/PConnProps.d.ts +41 -0
  144. package/templates/react-native-sdk-reference/src/utils/auth.ts +62 -0
  145. package/templates/react-native-sdk-reference/src/utils/init-pcore.ts +37 -0
  146. package/templates/react-native-sdk-reference/src/utils/pcore-polyfills.ts +66 -0
  147. package/templates/react-native-sdk-reference/tsconfig.json +9 -8
  148. package/templates/react-sdk-reference/.ai-common/agents/embedded-flow-expert.md +171 -0
  149. package/templates/react-sdk-reference/.ai-common/agents/implementation-expert.md +25 -26
  150. package/templates/react-sdk-reference/.ai-common/global/ai-agent-instructions-embedded.md +119 -0
  151. package/templates/react-sdk-reference/.ai-common/global/ai-agent-instructions.md +70 -121
  152. package/templates/react-sdk-reference/.ai-common/instructions/component-map.md +7 -19
  153. package/templates/react-sdk-reference/.ai-common/instructions/dse-component.md +10 -40
  154. package/templates/react-sdk-reference/.ai-common/instructions/embedded-component.md +134 -0
  155. package/templates/react-sdk-reference/.ai-common/instructions/field-component.md +15 -43
  156. package/templates/react-sdk-reference/.ai-common/instructions/template-component.md +11 -63
  157. package/templates/react-sdk-reference/.ai-common/instructions/widget-component.md +12 -57
  158. package/templates/react-sdk-reference/.ai-common/mcp/claude-code.mcp.json +8 -0
  159. package/templates/react-sdk-reference/.ai-common/mcp/copilot.mcp.json +8 -0
  160. package/templates/react-sdk-reference/.ai-common/mcp/cursor.mcp.json +11 -0
  161. package/templates/react-sdk-reference/.ai-common/prompts/add-component.md +45 -71
  162. package/templates/react-sdk-reference/.ai-common/prompts/component-manifest.json +98 -0
  163. package/templates/react-sdk-reference/.ai-common/prompts/embedded-component-manifest.md +155 -0
  164. package/templates/react-sdk-reference/.ai-common/prompts/generate-all-components.md +67 -237
  165. package/templates/react-sdk-reference/.ai-common/prompts/generate-dse-components.md +26 -77
  166. package/templates/react-sdk-reference/.ai-common/prompts/generate-embedded-components.md +315 -0
  167. package/templates/react-sdk-reference/.ai-common/prompts/generate-field-components.md +31 -80
  168. package/templates/react-sdk-reference/.ai-common/prompts/generate-template-components.md +43 -99
  169. package/templates/react-sdk-reference/.ai-common/prompts/generate-widget-components.md +33 -83
  170. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/AlertBanner.md +60 -74
  171. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Banner.md +64 -84
  172. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/CaseSummaryFields.md +76 -109
  173. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/DetailsFields.md +84 -101
  174. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldGroup.md +62 -87
  175. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldGroupList.md +56 -76
  176. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldValueList.md +61 -85
  177. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Operator.md +84 -107
  178. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Pulse.md +36 -44
  179. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/RichTextEditor.md +125 -189
  180. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/WssQuickCreate.md +34 -50
  181. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension.md +57 -179
  182. package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/analyze-customer-repo.md +130 -0
  183. package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/authenticate.md +311 -0
  184. package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/run-and-verify-integration.md +156 -0
  185. package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/wire-integration.md +476 -0
  186. package/templates/react-sdk-reference/.ai-common/skills/field-components.md +120 -242
  187. package/templates/react-sdk-reference/.ai-common/skills/field-skills/AutoComplete.md +71 -212
  188. package/templates/react-sdk-reference/.ai-common/skills/field-skills/CancelAlert.md +47 -209
  189. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Checkbox.md +90 -259
  190. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Currency.md +75 -169
  191. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Date.md +65 -160
  192. package/templates/react-sdk-reference/.ai-common/skills/field-skills/DateTime.md +59 -157
  193. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Decimal.md +55 -134
  194. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Dropdown.md +61 -185
  195. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Email.md +60 -138
  196. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Group.md +40 -99
  197. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Integer.md +44 -111
  198. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Location.md +57 -165
  199. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Multiselect.md +41 -122
  200. package/templates/react-sdk-reference/.ai-common/skills/field-skills/ObjectReference.md +32 -130
  201. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Percentage.md +48 -112
  202. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Phone.md +43 -153
  203. package/templates/react-sdk-reference/.ai-common/skills/field-skills/RadioButtons.md +76 -183
  204. package/templates/react-sdk-reference/.ai-common/skills/field-skills/RichText.md +59 -176
  205. package/templates/react-sdk-reference/.ai-common/skills/field-skills/ScalarList.md +30 -123
  206. package/templates/react-sdk-reference/.ai-common/skills/field-skills/SelectableCard.md +47 -178
  207. package/templates/react-sdk-reference/.ai-common/skills/field-skills/SemanticLink.md +31 -117
  208. package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextArea.md +51 -106
  209. package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextContent.md +22 -75
  210. package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextInput.md +54 -116
  211. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Time.md +46 -100
  212. package/templates/react-sdk-reference/.ai-common/skills/field-skills/URL.md +44 -93
  213. package/templates/react-sdk-reference/.ai-common/skills/field-skills/UserReference.md +40 -167
  214. package/templates/react-sdk-reference/.ai-common/skills/infra-components.md +165 -0
  215. package/templates/react-sdk-reference/.ai-common/skills/infra-skills/ActionButtons.md +122 -0
  216. package/templates/react-sdk-reference/.ai-common/skills/infra-skills/MultiStep.md +178 -0
  217. package/templates/react-sdk-reference/.ai-common/skills/infra-skills/Stages.md +140 -0
  218. package/templates/react-sdk-reference/.ai-common/skills/template-components.md +74 -228
  219. package/templates/react-sdk-reference/.ai-common/skills/template-skills/AdvancedSearch.md +66 -167
  220. package/templates/react-sdk-reference/.ai-common/skills/template-skills/AppShell.md +57 -170
  221. package/templates/react-sdk-reference/.ai-common/skills/template-skills/BannerPage.md +41 -76
  222. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseSummary.md +53 -109
  223. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseView.md +86 -289
  224. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseViewActionsMenu.md +60 -185
  225. package/templates/react-sdk-reference/.ai-common/skills/template-skills/Confirmation.md +66 -115
  226. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DataReference.md +33 -68
  227. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DefaultForm.md +53 -133
  228. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DefaultPage.md +39 -82
  229. package/templates/react-sdk-reference/.ai-common/skills/template-skills/Details.md +38 -91
  230. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsSubTabs.md +47 -101
  231. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsThreeColumn.md +27 -34
  232. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsTwoColumn.md +25 -40
  233. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DynamicTabs.md +34 -104
  234. package/templates/react-sdk-reference/.ai-common/skills/template-skills/FieldGroupTemplate.md +46 -147
  235. package/templates/react-sdk-reference/.ai-common/skills/template-skills/HierarchicalForm.md +139 -100
  236. package/templates/react-sdk-reference/.ai-common/skills/template-skills/InlineDashboard.md +43 -82
  237. package/templates/react-sdk-reference/.ai-common/skills/template-skills/InlineDashboardPage.md +47 -80
  238. package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListPage.md +16 -29
  239. package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListView.md +43 -228
  240. package/templates/react-sdk-reference/.ai-common/skills/template-skills/MultiReferenceReadOnly.md +20 -65
  241. package/templates/react-sdk-reference/.ai-common/skills/template-skills/NarrowWide.md +49 -97
  242. package/templates/react-sdk-reference/.ai-common/skills/template-skills/OneColumn.md +37 -71
  243. package/templates/react-sdk-reference/.ai-common/skills/template-skills/PromotedFilters.md +58 -148
  244. package/templates/react-sdk-reference/.ai-common/skills/template-skills/SelfServiceCaseView.md +82 -107
  245. package/templates/react-sdk-reference/.ai-common/skills/template-skills/SimpleTable.md +21 -60
  246. package/templates/react-sdk-reference/.ai-common/skills/template-skills/SingleReferenceReadOnly.md +43 -100
  247. package/templates/react-sdk-reference/.ai-common/skills/template-skills/SubTabs.md +36 -76
  248. package/templates/react-sdk-reference/.ai-common/skills/template-skills/TwoColumn.md +41 -90
  249. package/templates/react-sdk-reference/.ai-common/skills/template-skills/WideNarrow.md +36 -43
  250. package/templates/react-sdk-reference/.ai-common/skills/template-skills/WssNavBar.md +25 -115
  251. package/templates/react-sdk-reference/.ai-common/skills/widget-components.md +38 -174
  252. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/AppAnnouncement.md +30 -57
  253. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/Attachment.md +55 -101
  254. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/CaseHistory.md +38 -121
  255. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/FileUtility.md +37 -98
  256. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/Followers.md +18 -33
  257. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/QuickCreate.md +26 -91
  258. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/SummaryItem.md +28 -120
  259. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/ToDo.md +41 -272
  260. package/templates/react-sdk-reference/package.json +1 -1
  261. package/templates/react-sdk-reference/pega-auth-0.2.44.tgz +0 -0
  262. package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  263. package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +13 -3
  264. package/templates/react-native-sdk-reference/.github/AGENTS.md +0 -23
  265. package/templates/react-native-sdk-reference/.github/copilot-instructions.md +0 -40
  266. package/templates/react-native-sdk-reference/.github/skills/pega-sdk-component.md +0 -48
  267. package/templates/react-native-sdk-reference/App.tsx +0 -49
  268. package/templates/react-native-sdk-reference/expo-env.d.ts +0 -3
  269. package/templates/react-sdk-reference/pega-auth-0.2.42.tgz +0 -0
@@ -0,0 +1,339 @@
1
+ import dayjs from 'dayjs';
2
+ import customParseFormat from 'dayjs/plugin/customParseFormat';
3
+ import localizedFormat from 'dayjs/plugin/localizedFormat';
4
+ import relativeTime from 'dayjs/plugin/relativeTime';
5
+ import * as SDK_Config from '../../../sdk-config.json';
6
+
7
+ dayjs.extend(customParseFormat);
8
+ dayjs.extend(localizedFormat);
9
+ dayjs.extend(relativeTime);
10
+
11
+ export class Utils {
12
+ static lastControlID = 0;
13
+
14
+ static getSDKStaticConentUrl() {
15
+ const sdkConfigServer = SDK_Config.serverConfig;
16
+
17
+ // NOTE: Needs a trailing slash! So add one if not provided
18
+ if (!sdkConfigServer.sdkContentServerUrl.endsWith('/')) {
19
+ sdkConfigServer.sdkContentServerUrl = `${sdkConfigServer.sdkContentServerUrl}/`;
20
+ }
21
+
22
+ return `${sdkConfigServer.sdkContentServerUrl}constellation/`;
23
+ }
24
+
25
+ static getUniqueControlID(): string {
26
+ const sPrefix = 'control-';
27
+
28
+ this.lastControlID += 1;
29
+
30
+ return sPrefix + this.lastControlID.toString();
31
+ }
32
+
33
+ static getOptionList(configProps: any, dataObject: any): any[] {
34
+ const listType = configProps.listType;
35
+ let arReturn: any[] = [];
36
+
37
+ if (listType) {
38
+ switch (listType.toLowerCase()) {
39
+ case 'associated':
40
+ // data source should be an array
41
+ if (typeof configProps.datasource === 'object') {
42
+ arReturn = configProps.datasource;
43
+ }
44
+ break;
45
+
46
+ case 'datapage': {
47
+ // get data page
48
+ const dataPage = configProps.datasource;
49
+ if (typeof dataPage === 'string' && dataObject[dataPage]) {
50
+ alert('need to handle data page');
51
+ } else {
52
+ let listSourceItems = configProps.listOutput;
53
+ if (typeof dataPage === 'object' && !Array.isArray(listSourceItems)) {
54
+ listSourceItems = dataPage.source ? dataPage.source : [];
55
+ }
56
+ (listSourceItems || []).forEach((item) => {
57
+ item.value = item.text ? item.text : item.value;
58
+ });
59
+ arReturn = listSourceItems || [];
60
+ }
61
+ break;
62
+ }
63
+
64
+ default:
65
+ break;
66
+ }
67
+ }
68
+
69
+ return arReturn;
70
+ }
71
+
72
+ static getInitials(userName: string): string {
73
+ let userInitials = '';
74
+
75
+ if (userName && userName !== '') {
76
+ userInitials = userName.charAt(0);
77
+
78
+ if (userName.lastIndexOf(' ') > 0) {
79
+ const lastName = userName.substring(userName.lastIndexOf(' ') + 1);
80
+ userInitials += lastName.charAt(0);
81
+ } else if (userName.lastIndexOf('.') > 0) {
82
+ const lastName = userName.substring(userName.lastIndexOf('.') + 1);
83
+ userInitials += lastName.charAt(0);
84
+ }
85
+ }
86
+
87
+ return userInitials.toUpperCase();
88
+ }
89
+
90
+ static getImageSrc(name: string, serverUrl: string): string {
91
+ let iconName = name.replace('pi-', '').replace('pi ', '').trim();
92
+ if (iconName === 'line-chart') {
93
+ iconName = 'chart-line';
94
+ }
95
+
96
+ return this.getIconPath(serverUrl).concat(iconName).concat('.svg');
97
+ }
98
+
99
+ static getIconPath(serverUrl: string): string {
100
+ // Directory in the constellation folder where the icons will be
101
+ return serverUrl.concat('icons/');
102
+ }
103
+
104
+ static getBooleanValue(inValue: any): boolean {
105
+ let bReturn = false;
106
+
107
+ if (typeof inValue === 'string') {
108
+ // Experiment with having "" be true, too (and "on")
109
+ if (inValue.toLowerCase() === 'true' || inValue.toLowerCase() === 'on' || inValue === '') {
110
+ bReturn = true;
111
+ }
112
+ } else {
113
+ bReturn = inValue;
114
+ }
115
+
116
+ return bReturn;
117
+ }
118
+
119
+ // Note: Explored using formatters/format but that doesn't do the same as this function. So not possible to just invoke
120
+ // format and do away with all the separate Pega possible dateFormats.
121
+ static generateDate(dateVal, dateFormat) {
122
+ let sReturnDate = dateVal;
123
+
124
+ if (dateVal === null || dateVal === '') {
125
+ return dateVal;
126
+ }
127
+
128
+ // VRS: Dont think we need the below line. Commenting out for now. (2020.05.20)
129
+ // dateTimeVal = dateTimeVal.replace("GMT", "+0000")
130
+ // Anything else would require a specific String pattern be specified as an argument to the dayjs constructor
131
+
132
+ // if date has a ".", then of the format YYYMMDD[T]HHmmss[.]SSS Z, need to change to YYYYMMDD
133
+ if (dateVal.indexOf('.') >= 0) {
134
+ // VRS: Dont think we need the dateVal.replace("GMT", "+0000"). Commenting out for now. (2020.05.20)
135
+ // dateVal = dayjs(dateVal.replace("GMT", "+0000"), "YYYYMMDD[T]HHmmss[.]SSS Z").format("YYYYMMDD");
136
+ // dateVal format appears to be YYYY-MM-DDThh:mm:ss.SSSZ (which is the default dayjs expected format)
137
+ // Don't change the dateVal passed to dayjs (rather just set a default sReturnDate--if that is what we want to do)
138
+ // (better might be just doing that in a default switch block)
139
+ sReturnDate = dayjs(dateVal).format('YYYYMMDD');
140
+ }
141
+
142
+ switch (dateFormat) {
143
+ case 'Date-Short':
144
+ // 1/1/01
145
+ sReturnDate = dayjs(dateVal).format('M/D/YY');
146
+ break;
147
+ case 'Date-Short-YYYY':
148
+ // 1/1/2001
149
+ sReturnDate = dayjs(dateVal).format('M/D/YYYY');
150
+ break;
151
+ case 'Date-Short-Custom':
152
+ // 01/01/01
153
+ sReturnDate = dayjs(dateVal).format('MM/DD/YY');
154
+ break;
155
+ case 'Date-Short-Custom-YYYY':
156
+ // 01/01/2001
157
+ sReturnDate = dayjs(dateVal).format('L');
158
+ break;
159
+ case 'Date-Medium':
160
+ // Jan 1, 2001
161
+ sReturnDate = dayjs(dateVal).format('ll');
162
+ break;
163
+ case 'Date-DayMonthYear-Custom':
164
+ // 01-Jan-2001
165
+ sReturnDate = dayjs(dateVal).format('DD-MMM-YYYY');
166
+ break;
167
+ case 'Date-Full':
168
+ // Monday, January 1, 2001
169
+ sReturnDate = dayjs(dateVal).format('dddd, MMMM D, YYYY');
170
+ break;
171
+ case 'DateTime-Frame':
172
+ case 'DateTime-Frame-Short':
173
+ case 'DateTime-Since':
174
+ // 2 days, 5 hours ago
175
+ sReturnDate = dayjs(dateVal).fromNow();
176
+ break;
177
+ case 'Date-Long':
178
+ // January 1, 2001
179
+ sReturnDate = dayjs(dateVal).format('MMMM D, YYYY');
180
+ break;
181
+ case 'Date-ISO-8601':
182
+ // 2001/01/01 y/m/d
183
+ sReturnDate = dayjs(dateVal).format('YYYY/MM/DD');
184
+ break;
185
+ case 'Date-Gregorian-1':
186
+ // 01 January, 2001
187
+ sReturnDate = dayjs(dateVal).format('DD MMMM, YYYY');
188
+ break;
189
+ case 'Date-Gregorian-2':
190
+ // January 01, 2001
191
+ sReturnDate = dayjs(dateVal).format('MMMM DD, YYYY');
192
+ break;
193
+ case 'Date-Gregorian-3':
194
+ // 2001, January 01
195
+ sReturnDate = dayjs(dateVal).format('YYYY, MMMM DD');
196
+ break;
197
+ case 'DateTime-Custom':
198
+ break;
199
+ default:
200
+ break;
201
+ }
202
+
203
+ return sReturnDate;
204
+ }
205
+
206
+ // Note: Explored using formatters/format but that doesn't do the same as this function. So not possible to just invoke
207
+ // format and do away with all the separate Pega possible dateFormats.
208
+ static generateDateTime(dateTimeVal, dateFormat) {
209
+ let sReturnDate = dateTimeVal;
210
+
211
+ if (dateTimeVal === null || dateTimeVal === '') {
212
+ return dateTimeVal;
213
+ }
214
+
215
+ // VRS: Dont think we need the below line. Commenting out for now. (2020.05.20)
216
+ // dateTimeVal = dateTimeVal.replace("GMT", "+0000")
217
+ // dateTimeVal format appears to be YYYY-MM-DDThh:mm:ss.SSSZ (which is the default dayjs expected format)
218
+ // Anything else would require a specific String pattern be specified as an argument to the dayjs constructor
219
+
220
+ switch (dateFormat) {
221
+ case 'DateTime-Short':
222
+ // 1/1/01 1:00 AM
223
+ sReturnDate = dayjs(dateTimeVal).format('M/D/YY h:mm A');
224
+ break;
225
+ case 'DateTime-Short-Custom':
226
+ // 01/01/01 01:00 AM
227
+ sReturnDate = dayjs(dateTimeVal).format('MM/DD/YY hh:mm A');
228
+ break;
229
+ case 'DateTime-Short-YYYY-Custom':
230
+ // 01/01/2001 01:00 AM
231
+ sReturnDate = dayjs(dateTimeVal).format('M/D/YYYY hh:mm A');
232
+ break;
233
+ case 'DateTime-Short-YYYY':
234
+ // 1/1/2001 1:00 AM
235
+ sReturnDate = dayjs(dateTimeVal).format('M/D/YYYY h:mm A');
236
+ break;
237
+ case 'DateTime-Medium':
238
+ // Jan 1, 2001 1:00:00 AM
239
+ sReturnDate = dayjs(dateTimeVal).format('MMM D, YYYY h:mm:ss A');
240
+ break;
241
+ case 'DateTime-Long':
242
+ // January 1, 2001 1:00:00 AM
243
+ sReturnDate = dayjs(dateTimeVal).format('MMMM D, YYYY h:mm:ss A');
244
+ break;
245
+ case 'DateTime-DayMonthYear-Custom':
246
+ // 01-Jan-2001 1:00:00 AM
247
+ sReturnDate = dayjs(dateTimeVal).format('DD-MMM-YYYY h:mm:ss A');
248
+ break;
249
+ case 'DateTime-Full':
250
+ // Monday, January 1, 2001 1:00 AM EDT
251
+ sReturnDate = dayjs(dateTimeVal).format('dddd, MMMM D, YYYY h:mm A z');
252
+ break;
253
+ case 'DateTime-Frame':
254
+ case 'DateTime-Frame-Short':
255
+ case 'DateTime-Since':
256
+ // 2 days, 5 hours ago
257
+ sReturnDate = dayjs(dateTimeVal).fromNow();
258
+ break;
259
+ case 'DateTime-ISO-8601':
260
+ // 2001/01/01 1:00:00 AM y/m/d
261
+ sReturnDate = dayjs(dateTimeVal).format('YYYY/MM/DD h:mm:ss A');
262
+ break;
263
+ case 'DateTime-Gregorian-1':
264
+ // 01 January, 2001 1:00:00 AM
265
+ sReturnDate = dayjs(dateTimeVal).format('DD MMMM, YYYY h:mm:ss A');
266
+ break;
267
+ case 'DateTime-Gregorian-2':
268
+ // January 01, 2001 1:00:00 AM
269
+ sReturnDate = dayjs(dateTimeVal).format('MMMM DD, YYYY h:mm:ss A');
270
+ break;
271
+ case 'DateTime-Gregorian-3':
272
+ // 2001, January 01 1:00:00 AM
273
+ sReturnDate = dayjs(dateTimeVal).format('YYYY, MMMM DD h:mm:ss A');
274
+ break;
275
+ case 'DateTime-Custom':
276
+ break;
277
+ default:
278
+ break;
279
+ }
280
+
281
+ return sReturnDate;
282
+ }
283
+
284
+ static getSeconds(sTime): any {
285
+ return dayjs(sTime).valueOf();
286
+ }
287
+
288
+ static getIconFromFileType(fileType): string {
289
+ let icon = 'document-doc';
290
+ if (!fileType) return icon;
291
+ if (fileType.startsWith('audio')) {
292
+ icon = 'audio';
293
+ } else if (fileType.startsWith('video')) {
294
+ icon = 'video';
295
+ } else if (fileType.startsWith('image')) {
296
+ icon = 'picture';
297
+ } else if (fileType.includes('pdf')) {
298
+ icon = 'document-pdf';
299
+ } else {
300
+ const [, subtype] = fileType.split('/');
301
+ const foundMatch = (sources) => {
302
+ return sources.some((key) => subtype.includes(key));
303
+ };
304
+
305
+ if (foundMatch(['excel', 'spreadsheet'])) {
306
+ icon = 'document-xls';
307
+ } else if (foundMatch(['zip', 'compressed', 'gzip', 'rar', 'tar'])) {
308
+ icon = 'document-compress';
309
+ }
310
+ }
311
+
312
+ return icon;
313
+ }
314
+
315
+ static getIconForAttachment(attachment) {
316
+ let icon;
317
+ switch (attachment.type) {
318
+ case 'FILE':
319
+ icon = this.getIconFromFileType(attachment.mimeType);
320
+ break;
321
+ case 'URL':
322
+ icon = 'chain';
323
+ break;
324
+ default:
325
+ icon = 'document-doc';
326
+ }
327
+ return icon;
328
+ }
329
+
330
+ static getLastChar(text) {
331
+ return text.charAt(text.length - 1);
332
+ }
333
+
334
+ static isObject(objValue) {
335
+ return objValue && typeof objValue === 'object' && objValue.constructor === Object;
336
+ }
337
+ }
338
+
339
+ export default Utils;
@@ -0,0 +1,63 @@
1
+ import { StyleSheet, View } from 'react-native';
2
+ import { Button } from 'react-native-paper';
3
+
4
+ // ActionButtons does NOT have getPConnect. So, no need to extend from PConnProps
5
+ interface ActionButtonsProps {
6
+ // If any, enter additional props that only exist on this component
7
+ arMainButtons?: any[];
8
+ arSecondaryButtons?: any[];
9
+ onButtonPress: any;
10
+ }
11
+
12
+ export default function ActionButtons(props: ActionButtonsProps) {
13
+ const { arMainButtons = [], arSecondaryButtons = [], onButtonPress } = props;
14
+ const localizedVal = PCore.getLocaleUtils().getLocaleValue;
15
+ const localeCategory = 'Assignment';
16
+
17
+ function _onButtonPress(sAction: string, sButtonType: string) {
18
+ onButtonPress(sAction, sButtonType);
19
+ }
20
+
21
+ return (
22
+ <View style={styles.buttonsContainer}>
23
+ {arSecondaryButtons
24
+ ?.filter((action) => action.actionID !== 'fillFormWithAI' && action.actionID !== 'save')
25
+ .map((sButton) => (
26
+ <View key={sButton.name}>
27
+ <Button
28
+ mode="contained"
29
+ buttonColor="#5A6882"
30
+ textColor="#FFFFFF"
31
+ onPress={() => {
32
+ _onButtonPress(sButton.jsAction, 'secondary');
33
+ }}
34
+ >
35
+ {localizedVal(sButton.name, localeCategory)}
36
+ </Button>
37
+ </View>
38
+ ))}
39
+ {arMainButtons.map((mButton) => (
40
+ <View key={mButton.name}>
41
+ <Button
42
+ mode="contained"
43
+ buttonColor="#0B84FF"
44
+ textColor="#FFFFFF"
45
+ onPress={() => {
46
+ _onButtonPress(mButton.jsAction, 'primary');
47
+ }}
48
+ >
49
+ {localizedVal(mButton.name, localeCategory)}
50
+ </Button>
51
+ </View>
52
+ ))}
53
+ </View>
54
+ );
55
+ }
56
+
57
+ const styles = StyleSheet.create({
58
+ buttonsContainer: {
59
+ flexDirection: 'row',
60
+ justifyContent: 'space-between',
61
+ padding: 10,
62
+ },
63
+ });
@@ -0,0 +1 @@
1
+ export { default } from './ActionButtons';