@pega/sdk 0.0.5 → 0.0.6

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 (266) hide show
  1. package/README.md +10 -3
  2. package/dist/index.js +764 -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/prompts/add-component.md +45 -71
  159. package/templates/react-sdk-reference/.ai-common/prompts/component-manifest.json +98 -0
  160. package/templates/react-sdk-reference/.ai-common/prompts/embedded-component-manifest.md +155 -0
  161. package/templates/react-sdk-reference/.ai-common/prompts/generate-all-components.md +67 -237
  162. package/templates/react-sdk-reference/.ai-common/prompts/generate-dse-components.md +26 -77
  163. package/templates/react-sdk-reference/.ai-common/prompts/generate-embedded-components.md +315 -0
  164. package/templates/react-sdk-reference/.ai-common/prompts/generate-field-components.md +31 -80
  165. package/templates/react-sdk-reference/.ai-common/prompts/generate-template-components.md +43 -99
  166. package/templates/react-sdk-reference/.ai-common/prompts/generate-widget-components.md +33 -83
  167. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/AlertBanner.md +60 -74
  168. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Banner.md +64 -84
  169. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/CaseSummaryFields.md +76 -109
  170. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/DetailsFields.md +84 -101
  171. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldGroup.md +62 -87
  172. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldGroupList.md +56 -76
  173. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldValueList.md +61 -85
  174. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Operator.md +84 -107
  175. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Pulse.md +36 -44
  176. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/RichTextEditor.md +125 -189
  177. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/WssQuickCreate.md +34 -50
  178. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension.md +57 -179
  179. package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/analyze-customer-repo.md +130 -0
  180. package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/authenticate.md +311 -0
  181. package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/run-and-verify-integration.md +156 -0
  182. package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/wire-integration.md +476 -0
  183. package/templates/react-sdk-reference/.ai-common/skills/field-components.md +120 -242
  184. package/templates/react-sdk-reference/.ai-common/skills/field-skills/AutoComplete.md +71 -212
  185. package/templates/react-sdk-reference/.ai-common/skills/field-skills/CancelAlert.md +47 -209
  186. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Checkbox.md +90 -259
  187. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Currency.md +75 -169
  188. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Date.md +65 -160
  189. package/templates/react-sdk-reference/.ai-common/skills/field-skills/DateTime.md +59 -157
  190. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Decimal.md +55 -134
  191. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Dropdown.md +61 -185
  192. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Email.md +60 -138
  193. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Group.md +40 -99
  194. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Integer.md +44 -111
  195. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Location.md +57 -165
  196. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Multiselect.md +41 -122
  197. package/templates/react-sdk-reference/.ai-common/skills/field-skills/ObjectReference.md +32 -130
  198. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Percentage.md +48 -112
  199. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Phone.md +43 -153
  200. package/templates/react-sdk-reference/.ai-common/skills/field-skills/RadioButtons.md +76 -183
  201. package/templates/react-sdk-reference/.ai-common/skills/field-skills/RichText.md +59 -176
  202. package/templates/react-sdk-reference/.ai-common/skills/field-skills/ScalarList.md +30 -123
  203. package/templates/react-sdk-reference/.ai-common/skills/field-skills/SelectableCard.md +47 -178
  204. package/templates/react-sdk-reference/.ai-common/skills/field-skills/SemanticLink.md +31 -117
  205. package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextArea.md +51 -106
  206. package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextContent.md +22 -75
  207. package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextInput.md +54 -116
  208. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Time.md +46 -100
  209. package/templates/react-sdk-reference/.ai-common/skills/field-skills/URL.md +44 -93
  210. package/templates/react-sdk-reference/.ai-common/skills/field-skills/UserReference.md +40 -167
  211. package/templates/react-sdk-reference/.ai-common/skills/infra-components.md +165 -0
  212. package/templates/react-sdk-reference/.ai-common/skills/infra-skills/ActionButtons.md +122 -0
  213. package/templates/react-sdk-reference/.ai-common/skills/infra-skills/MultiStep.md +178 -0
  214. package/templates/react-sdk-reference/.ai-common/skills/infra-skills/Stages.md +140 -0
  215. package/templates/react-sdk-reference/.ai-common/skills/template-components.md +74 -228
  216. package/templates/react-sdk-reference/.ai-common/skills/template-skills/AdvancedSearch.md +66 -167
  217. package/templates/react-sdk-reference/.ai-common/skills/template-skills/AppShell.md +57 -170
  218. package/templates/react-sdk-reference/.ai-common/skills/template-skills/BannerPage.md +41 -76
  219. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseSummary.md +53 -109
  220. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseView.md +86 -289
  221. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseViewActionsMenu.md +60 -185
  222. package/templates/react-sdk-reference/.ai-common/skills/template-skills/Confirmation.md +66 -115
  223. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DataReference.md +33 -68
  224. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DefaultForm.md +53 -133
  225. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DefaultPage.md +39 -82
  226. package/templates/react-sdk-reference/.ai-common/skills/template-skills/Details.md +38 -91
  227. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsSubTabs.md +47 -101
  228. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsThreeColumn.md +27 -34
  229. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsTwoColumn.md +25 -40
  230. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DynamicTabs.md +34 -104
  231. package/templates/react-sdk-reference/.ai-common/skills/template-skills/FieldGroupTemplate.md +46 -147
  232. package/templates/react-sdk-reference/.ai-common/skills/template-skills/HierarchicalForm.md +139 -100
  233. package/templates/react-sdk-reference/.ai-common/skills/template-skills/InlineDashboard.md +43 -82
  234. package/templates/react-sdk-reference/.ai-common/skills/template-skills/InlineDashboardPage.md +47 -80
  235. package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListPage.md +16 -29
  236. package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListView.md +43 -228
  237. package/templates/react-sdk-reference/.ai-common/skills/template-skills/MultiReferenceReadOnly.md +20 -65
  238. package/templates/react-sdk-reference/.ai-common/skills/template-skills/NarrowWide.md +49 -97
  239. package/templates/react-sdk-reference/.ai-common/skills/template-skills/OneColumn.md +37 -71
  240. package/templates/react-sdk-reference/.ai-common/skills/template-skills/PromotedFilters.md +58 -148
  241. package/templates/react-sdk-reference/.ai-common/skills/template-skills/SelfServiceCaseView.md +82 -107
  242. package/templates/react-sdk-reference/.ai-common/skills/template-skills/SimpleTable.md +21 -60
  243. package/templates/react-sdk-reference/.ai-common/skills/template-skills/SingleReferenceReadOnly.md +43 -100
  244. package/templates/react-sdk-reference/.ai-common/skills/template-skills/SubTabs.md +36 -76
  245. package/templates/react-sdk-reference/.ai-common/skills/template-skills/TwoColumn.md +41 -90
  246. package/templates/react-sdk-reference/.ai-common/skills/template-skills/WideNarrow.md +36 -43
  247. package/templates/react-sdk-reference/.ai-common/skills/template-skills/WssNavBar.md +25 -115
  248. package/templates/react-sdk-reference/.ai-common/skills/widget-components.md +38 -174
  249. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/AppAnnouncement.md +30 -57
  250. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/Attachment.md +55 -101
  251. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/CaseHistory.md +38 -121
  252. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/FileUtility.md +37 -98
  253. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/Followers.md +18 -33
  254. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/QuickCreate.md +26 -91
  255. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/SummaryItem.md +28 -120
  256. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/ToDo.md +41 -272
  257. package/templates/react-sdk-reference/package.json +1 -1
  258. package/templates/react-sdk-reference/pega-auth-0.2.44.tgz +0 -0
  259. package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  260. package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +13 -3
  261. package/templates/react-native-sdk-reference/.github/AGENTS.md +0 -23
  262. package/templates/react-native-sdk-reference/.github/copilot-instructions.md +0 -40
  263. package/templates/react-native-sdk-reference/.github/skills/pega-sdk-component.md +0 -48
  264. package/templates/react-native-sdk-reference/App.tsx +0 -49
  265. package/templates/react-native-sdk-reference/expo-env.d.ts +0 -3
  266. package/templates/react-sdk-reference/pega-auth-0.2.42.tgz +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/sdk",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "Scaffold a Pega SDK application project",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,5 @@
1
+ {
2
+ "enabledPlugins": {
3
+ "expo@claude-plugins-official": true
4
+ }
5
+ }
@@ -0,0 +1,17 @@
1
+ # Dependencies
2
+ node_modules/
3
+
4
+ # Expo / native build output
5
+ .expo/
6
+ android/
7
+ ios/
8
+ dist/
9
+ web-build/
10
+ *.tsbuildinfo
11
+
12
+ # Lockfiles (not meant to be hand-formatted)
13
+ package-lock.json
14
+ yarn.lock
15
+
16
+ # Auto-generated
17
+ expo-env.d.ts
@@ -0,0 +1 @@
1
+ { "recommendations": ["expo.vscode-expo-tools"] }
@@ -0,0 +1,7 @@
1
+ {
2
+ "editor.codeActionsOnSave": {
3
+ "source.fixAll": "explicit",
4
+ "source.organizeImports": "explicit",
5
+ "source.sortMembers": "explicit"
6
+ }
7
+ }
@@ -0,0 +1,3 @@
1
+ # Expo HAS CHANGED
2
+
3
+ Read the exact versioned docs at https://docs.expo.dev/versions/v57.0.0/ before writing any code.
@@ -0,0 +1 @@
1
+ @AGENTS.md
@@ -0,0 +1,56 @@
1
+ # Welcome to your Expo app 👋
2
+
3
+ This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app).
4
+
5
+ ## Get started
6
+
7
+ 1. Install dependencies
8
+
9
+ ```bash
10
+ npm install
11
+ ```
12
+
13
+ 2. Start the app
14
+
15
+ ```bash
16
+ npx expo start
17
+ ```
18
+
19
+ In the output, you'll find options to open the app in a
20
+
21
+ - [development build](https://docs.expo.dev/develop/development-builds/introduction/)
22
+ - [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/)
23
+ - [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/)
24
+ - [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo
25
+
26
+ You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction).
27
+
28
+ ## Get a fresh project
29
+
30
+ When you're ready, run:
31
+
32
+ ```bash
33
+ npm run reset-project
34
+ ```
35
+
36
+ This command will move the starter code to the **app-example** directory and create a blank **app** directory where you can start developing.
37
+
38
+ ### Other setup steps
39
+
40
+ - To set up ESLint for linting, run `npx expo lint`, or follow our guide on ["Using ESLint and Prettier"](https://docs.expo.dev/guides/using-eslint/)
41
+ - If you'd like to set up unit testing, follow our guide on ["Unit Testing with Jest"](https://docs.expo.dev/develop/unit-testing/)
42
+ - Learn more about the TypeScript setup in this template in our guide on ["Using TypeScript"](https://docs.expo.dev/guides/typescript/)
43
+
44
+ ## Learn more
45
+
46
+ To learn more about developing your project with Expo, look at the following resources:
47
+
48
+ - [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides).
49
+ - [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.
50
+
51
+ ## Join the community
52
+
53
+ Join our community of developers creating universal apps.
54
+
55
+ - [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute.
56
+ - [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions.
@@ -1,11 +1,46 @@
1
1
  {
2
2
  "expo": {
3
- "name": "pega-sdk-react-native-reference",
4
- "slug": "pega-sdk-react-native-reference",
3
+ "name": "react-native-sdk-reference",
4
+ "slug": "react-native-sdk-reference",
5
5
  "version": "1.0.0",
6
6
  "orientation": "portrait",
7
- "scheme": "pegasdk",
8
- "userInterfaceStyle": "light",
9
- "platforms": ["ios", "android"]
7
+ "icon": "./assets/images/icon.png",
8
+ "scheme": "reactnativesdkreference",
9
+ "userInterfaceStyle": "automatic",
10
+ "ios": {
11
+ "supportsTablet": true,
12
+ "icon": "./assets/expo.icon"
13
+ },
14
+ "android": {
15
+ "adaptiveIcon": {
16
+ "backgroundColor": "#E6F4FE",
17
+ "foregroundImage": "./assets/images/android-icon-foreground.png",
18
+ "backgroundImage": "./assets/images/android-icon-background.png",
19
+ "monochromeImage": "./assets/images/android-icon-monochrome.png"
20
+ },
21
+ "predictiveBackGestureEnabled": false
22
+ },
23
+ "web": {
24
+ "output": "static",
25
+ "favicon": "./assets/images/favicon.png"
26
+ },
27
+ "plugins": [
28
+ "expo-router",
29
+ [
30
+ "expo-splash-screen",
31
+ {
32
+ "backgroundColor": "#208AEF",
33
+ "image": "./assets/images/splash-icon.png",
34
+ "imageWidth": 76
35
+ }
36
+ ],
37
+ "expo-font",
38
+ "expo-image",
39
+ "expo-web-browser"
40
+ ],
41
+ "experiments": {
42
+ "typedRoutes": true,
43
+ "reactCompiler": true
44
+ }
10
45
  }
11
46
  }
@@ -0,0 +1,3 @@
1
+ <svg width="652" height="606" viewBox="0 0 652 606" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M353.554 0H298.446C273.006 0 249.684 14.6347 237.962 37.9539L4.37994 502.646C-1.04325 513.435 -1.45067 526.178 3.2716 537.313L22.6123 582.918C34.6475 611.297 72.5404 614.156 88.4414 587.885L309.863 222.063C313.34 216.317 319.439 212.826 326 212.826C332.561 212.826 338.659 216.317 342.137 222.063L563.559 587.885C579.46 614.156 617.352 611.297 629.388 582.918L648.728 537.313C653.451 526.178 653.043 513.435 647.62 502.646L414.038 37.9539C402.316 14.6347 378.994 0 353.554 0Z" fill="white"/>
3
+ </svg>
@@ -0,0 +1,35 @@
1
+ {
2
+ "fill": {
3
+ "automatic-gradient": "extended-srgb:0.00000,0.47843,1.00000,1.00000"
4
+ },
5
+ "groups": [
6
+ {
7
+ "layers": [
8
+ {
9
+ "image-name": "expo-symbol 2.svg",
10
+ "name": "expo-symbol 2",
11
+ "position": {
12
+ "scale": 1,
13
+ "translation-in-points": [1.1008400065293245e-5, -16.046875]
14
+ }
15
+ },
16
+ {
17
+ "image-name": "grid.png",
18
+ "name": "grid"
19
+ }
20
+ ],
21
+ "shadow": {
22
+ "kind": "neutral",
23
+ "opacity": 0.5
24
+ },
25
+ "translucency": {
26
+ "enabled": true,
27
+ "value": 0.5
28
+ }
29
+ }
30
+ ],
31
+ "supported-platforms": {
32
+ "circles": ["watchOS"],
33
+ "squares": "shared"
34
+ }
35
+ }
@@ -0,0 +1,68 @@
1
+ // @ts-check
2
+ // Local ESLint flat config for the React Native sample app.
3
+ //
4
+ // Why this file exists:
5
+ // Without a local config, ESLint walks up the tree and discovers the repo
6
+ // root eslint.config.mjs, which ignores `samples/**` — causing `expo lint`
7
+ // to fail with "all of the files matching the glob pattern ... are ignored".
8
+ //
9
+ // The repo pins ESLint 10, which is incompatible with the eslint-plugin-react
10
+ // bundled by `eslint-config-expo`, so we use a small hand-rolled flat config
11
+ // instead of extending the Expo preset.
12
+ import js from '@eslint/js';
13
+ import tseslint from 'typescript-eslint';
14
+ import reactHooks from 'eslint-plugin-react-hooks';
15
+ import globals from 'globals';
16
+ import eslintConfigPrettier from 'eslint-config-prettier';
17
+
18
+ // No-op rule definitions so inline `eslint-disable` comments in the source that
19
+ // reference the Expo preset's react/import rules resolve without pulling in
20
+ // packages that are incompatible with ESLint 10.
21
+ const noopRule = { create: () => ({}) };
22
+ const reactStub = { rules: { 'display-name': noopRule } };
23
+ const importStub = { rules: { 'no-named-as-default': noopRule } };
24
+
25
+ export default tseslint.config(
26
+ {
27
+ ignores: ['**/dist/**', '**/node_modules/**', '.expo/**', 'android/**', 'ios/**', 'expo-env.d.ts'],
28
+ },
29
+
30
+ js.configs.recommended,
31
+ ...tseslint.configs.recommended,
32
+
33
+ {
34
+ files: ['src/**/*.{ts,tsx,js,jsx}', '*.{ts,tsx,js,jsx}'],
35
+ plugins: {
36
+ 'react-hooks': reactHooks,
37
+ react: reactStub,
38
+ import: importStub,
39
+ },
40
+ languageOptions: {
41
+ parserOptions: {
42
+ // Disambiguate the TSConfig root (repo root vs. this app) so the
43
+ // typescript-eslint parser doesn't error on multiple candidates.
44
+ tsconfigRootDir: import.meta.dirname,
45
+ },
46
+ globals: {
47
+ ...globals.browser,
48
+ ...globals.node,
49
+ // PCore/PConnect are injected globals provided by the host runtime.
50
+ PCore: 'readonly',
51
+ PConnect: 'readonly',
52
+ __DEV__: 'readonly',
53
+ },
54
+ },
55
+ rules: {
56
+ // `require()` is the idiomatic way to reference static assets in RN.
57
+ '@typescript-eslint/no-require-imports': 'off',
58
+ '@typescript-eslint/no-explicit-any': 'off',
59
+ '@typescript-eslint/ban-ts-comment': ['warn', { 'ts-ignore': 'allow-with-description' }],
60
+ '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }],
61
+ 'react-hooks/rules-of-hooks': 'error',
62
+ 'react-hooks/exhaustive-deps': 'off',
63
+ },
64
+ },
65
+
66
+ // Disable stylistic ESLint rules that conflict with Prettier. Must stay last.
67
+ eslintConfigPrettier,
68
+ );
@@ -1,22 +1,67 @@
1
1
  {
2
- "name": "@pega/react-native-sdk-reference",
3
- "version": "0.0.0",
4
- "private": true,
5
- "scripts": {
6
- "start": "expo start",
7
- "android": "expo start --android",
8
- "ios": "expo start --ios",
9
- "web": "expo start --web"
10
- },
2
+ "name": "react-native-sdk-reference",
3
+ "main": "expo-router/entry",
4
+ "version": "1.0.0",
11
5
  "dependencies": {
12
- "@pega/sdk-react": "^0.1.0",
6
+ "@expo/ui": "~57.0.4",
7
+ "@expo/vector-icons": "^15.0.2",
8
+ "@futurejj/react-native-checkbox": "^1.0.7",
9
+ "@pega/constellationjs": "file:pega-constellationjs-0.26.3.tgz",
10
+ "@pega/sdk-react": "file:pega-sdk-react-0.1.0.tgz",
11
+ "@pega/sdk-types": "file:pega-sdk-types-0.1.0.tgz",
12
+ "@react-navigation/bottom-tabs": "^7.3.10",
13
+ "@react-navigation/elements": "^2.3.8",
14
+ "@react-navigation/native": "^7.1.6",
15
+ "dayjs": "^1.11.21",
13
16
  "expo": "~57.0.4",
17
+ "expo-auth-session": "~57.0.4",
18
+ "expo-constants": "~57.0.6",
19
+ "expo-crypto": "~57.0.1",
20
+ "expo-device": "~57.0.0",
21
+ "expo-font": "~57.0.1",
22
+ "expo-glass-effect": "~57.0.0",
23
+ "expo-image": "~57.0.1",
24
+ "expo-linear-gradient": "~57.0.1",
25
+ "expo-linking": "~57.0.3",
26
+ "expo-router": "~57.0.7",
27
+ "expo-splash-screen": "~57.0.4",
28
+ "expo-symbols": "~57.0.0",
29
+ "expo-system-ui": "~57.0.1",
30
+ "expo-web-browser": "~57.0.1",
31
+ "fast-deep-equal": "^3.1.3",
32
+ "libphonenumber-js": "^1.13.9",
14
33
  "react": "^19.2.7",
15
- "react-native": "0.86.0"
34
+ "react-dom": "^19.2.7",
35
+ "react-native": "0.86.0",
36
+ "react-native-gesture-handler": "~2.32.0",
37
+ "react-native-keyboard-aware-scroll-view": "^0.9.5",
38
+ "react-native-paper": "^5.15.3",
39
+ "react-native-paper-dates": "^0.22.57",
40
+ "react-native-paper-dropdown": "^2.3.1",
41
+ "react-native-paper-phone-number-input": "^1.3.1",
42
+ "react-native-reanimated": "4.5.0",
43
+ "react-native-safe-area-context": "~5.7.0",
44
+ "react-native-screens": "4.25.2",
45
+ "react-native-web": "~0.21.0",
46
+ "react-native-worklets": "0.10.0",
47
+ "react-redux": "^9.3.0",
48
+ "uuid": "^11.1.1",
49
+ "xmldom": "^0.6.0"
16
50
  },
17
51
  "devDependencies": {
18
- "@babel/core": "^8.0.1",
19
- "@types/react": "^19.2.17",
52
+ "@pega/pcore-pconnect-typedefs": "^4.1.0",
53
+ "@types/react": "~19.2.2",
54
+ "eslint-config-expo": "~10.0.0",
20
55
  "typescript": "~6.0.3"
21
- }
56
+ },
57
+ "scripts": {
58
+ "start": "expo start",
59
+ "android": "expo start --android",
60
+ "ios": "expo start --ios",
61
+ "web": "expo start --web",
62
+ "lint": "expo lint",
63
+ "format": "prettier --write .",
64
+ "format:check": "prettier --check ."
65
+ },
66
+ "private": true
22
67
  }
@@ -1,14 +1,36 @@
1
1
  {
2
- "serverConfig": {
3
- "infinityRestServerUrl": "https://YOUR_PEGA_SERVER/prweb",
4
- "appAlias": "YOUR_APP_ALIAS",
5
- "sdkContentServerUrl": "",
6
- "appMashupCaseType": "YOUR-CASETYPE-CLASS"
7
- },
2
+ "comment_sdk_config": "This is the configuration file for the React SDK",
8
3
  "authConfig": {
4
+ "authConfig_comment": "Optional Full paths to Infinity server OAuth endpoints (Only needed if using custom OAuth service)",
5
+ "authConfig_comment2": "Optional attributes are: authorize, token, revoke, redirectUri, authService, silentTimeout, iframeLoginUI,",
6
+ "authConfig_comment3": "mashupAuthService, portalGrantType, mashupGrantType, tokenStorage",
9
7
  "authService": "pega",
10
- "mashupClientId": "YOUR_MASHUP_CLIENT_ID",
11
- "mashupUserIdentifier": "",
12
- "mashupPassword": ""
8
+
9
+ "mashupClient_comment": "Client ID and Client secret from the OAuth 2.0 Client Registration record used for mashup use case",
10
+ "mashupClient_comment2": "See SDK Guide for instructions on how to generate and obtain the proper values for the following entries",
11
+ "mashupClientId": "25795373220702300272"
12
+ },
13
+ "serverConfig": {
14
+ "infinityRestServerUrl_comment": "Full path to Infinity REST server",
15
+ "infinityRestServerUrl": "https://lab-16027-us-east-1.internal.pegalabs.io/prweb",
16
+
17
+ "appAlias_comment": "appAlias of the application which operators will be accessing (e.g., MediaCo)",
18
+ "appAlias": "MediaCo",
19
+
20
+ "sdkContentServerUrl_comment": "If specified, the given URL will be used. If left blank, window.location.origin will be used.",
21
+ "sdkContentServerUrl": "http://localhost:8081",
22
+
23
+ "appMashupCaseType_comment": "If specified, uses this case type for mashup. Otherwise, uses the first case type found for the app",
24
+ "appMashupCaseType": "DIXL-MediaCo-Work-NewService",
25
+
26
+ "excludePortals_comment": "Array of specific portals to avoid attempting to load with SDK",
27
+ "excludePortals": [
28
+ "pxExpress",
29
+ "Developer",
30
+ "pxPredictionStudio",
31
+ "pxAdminStudio",
32
+ "pyCaseWorker",
33
+ "pyCaseManager7"
34
+ ]
13
35
  }
14
36
  }
@@ -0,0 +1,38 @@
1
+ import { Stack } from 'expo-router';
2
+ import { StatusBar } from 'react-native';
3
+
4
+ import { LoaderProvider } from '@/context/LoaderContext';
5
+ import SafeArea from '@/mediaco/SafeArea';
6
+
7
+ export default function RootLayout() {
8
+ return (
9
+ <>
10
+ <StatusBar barStyle={'dark-content'} />
11
+
12
+ {/* MIGRATED: Expo Router routes moved from legacy app/* to Expo 57 src/app/* convention */}
13
+ <SafeArea>
14
+ <LoaderProvider>
15
+ <Stack
16
+ screenOptions={{
17
+ headerShown: false,
18
+ }}
19
+ >
20
+ <Stack.Screen name="index" />
21
+ <Stack.Screen
22
+ name="workarea"
23
+ options={{
24
+ // presentation: 'modal',
25
+ headerShown: true,
26
+ headerTitle: 'Schedule Service Appointment',
27
+ headerTintColor: '#fff',
28
+ headerStyle: {
29
+ backgroundColor: '#01153d',
30
+ },
31
+ }}
32
+ />
33
+ </Stack>
34
+ </LoaderProvider>
35
+ </SafeArea>
36
+ </>
37
+ );
38
+ }
@@ -0,0 +1,39 @@
1
+ import { Tabs } from 'expo-router';
2
+ import TabBar from '@/mediaco/TabBar';
3
+
4
+ export default function Layout() {
5
+ return (
6
+ <>
7
+ <Tabs tabBar={(props) => <TabBar {...props} />}>
8
+ <Tabs.Screen
9
+ name="index"
10
+ options={{
11
+ title: 'Home',
12
+ headerShown: false,
13
+ }}
14
+ />
15
+ <Tabs.Screen
16
+ name="your-services"
17
+ options={{
18
+ title: 'Your Services',
19
+ headerShown: false,
20
+ }}
21
+ />
22
+ <Tabs.Screen
23
+ name="shop"
24
+ options={{
25
+ title: 'Shop',
26
+ headerShown: false,
27
+ }}
28
+ />
29
+ <Tabs.Screen
30
+ name="contact"
31
+ options={{
32
+ title: 'Contact',
33
+ headerShown: false,
34
+ }}
35
+ />
36
+ </Tabs>
37
+ </>
38
+ );
39
+ }
@@ -0,0 +1,11 @@
1
+ import { Text, View } from 'react-native';
2
+
3
+ const Contact = () => {
4
+ return (
5
+ <View>
6
+ <Text>Contact</Text>
7
+ </View>
8
+ );
9
+ };
10
+
11
+ export default Contact;
@@ -0,0 +1,36 @@
1
+ import { LinearGradient } from 'expo-linear-gradient';
2
+ import { StyleSheet, View } from 'react-native';
3
+ import Header from '@/mediaco/Header';
4
+ import HomeScreen from '@/mediaco/HomeScreen';
5
+
6
+ export default function Index() {
7
+ // This is the main entry point of the app.
8
+ // The actual implementation is in the home screen.
9
+ return (
10
+ <View
11
+ style={{
12
+ flex: 1,
13
+ alignItems: 'center',
14
+ }}
15
+ >
16
+ <LinearGradient
17
+ // Background Linear Gradient
18
+ colors={['#3A53E9', '#0043C8', '#01153E']}
19
+ style={styles.background}
20
+ />
21
+
22
+ <Header />
23
+ <HomeScreen />
24
+ </View>
25
+ );
26
+ }
27
+
28
+ const styles = StyleSheet.create({
29
+ background: {
30
+ position: 'absolute',
31
+ left: 0,
32
+ right: 0,
33
+ top: 0,
34
+ height: '100%',
35
+ },
36
+ });
@@ -0,0 +1,11 @@
1
+ import { Text, View } from 'react-native';
2
+
3
+ const Shop = () => {
4
+ return (
5
+ <View>
6
+ <Text>Shop</Text>
7
+ </View>
8
+ );
9
+ };
10
+
11
+ export default Shop;
@@ -0,0 +1,11 @@
1
+ import { Text, View } from 'react-native';
2
+
3
+ const yourServices = () => {
4
+ return (
5
+ <View>
6
+ <Text>yourServices</Text>
7
+ </View>
8
+ );
9
+ };
10
+
11
+ export default yourServices;