@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,126 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+ import { Keyboard, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
3
+ import { TextInput } from 'react-native-paper';
4
+ import LabelText from '../common/LabelText';
5
+ import { FORM_INPUT_PROPS } from '../common/inputTheme';
6
+
7
+ const AutoComplete = (props) => {
8
+ const { label, required, readOnly, testId, placeholder, disabled, status, options, onChange } = props;
9
+
10
+ const [inputValue, setInputValue] = useState('');
11
+ const [showOptions, setShowOptions] = useState(false);
12
+ const [selectedKey, setSelectedKey] = useState(null);
13
+ const inputRef = useRef(null);
14
+
15
+ const handleChange = (value) => {
16
+ setInputValue(value);
17
+ setShowOptions(true);
18
+ setSelectedKey(null);
19
+ if (onChange) onChange(null);
20
+ };
21
+
22
+ const handleBlur = () => {
23
+ // Handle blur event
24
+ setShowOptions(false);
25
+ };
26
+
27
+ const filteredOptions = options.filter((option) => option.value.toLowerCase().includes(inputValue.toLowerCase()));
28
+
29
+ // Show label for selected key
30
+ useEffect(() => {
31
+ if (selectedKey !== null) {
32
+ const selected = options.find((opt) => opt.key === selectedKey);
33
+ if (selected) setInputValue(selected.value);
34
+ }
35
+ }, [selectedKey, options]);
36
+
37
+ // Dismiss dropdown on outside press
38
+ useEffect(() => {
39
+ if (!showOptions) return;
40
+ const hide = () => setShowOptions(false);
41
+ Keyboard.addListener('keyboardDidHide', hide);
42
+ return () => Keyboard.removeAllListeners('keyboardDidHide');
43
+ }, [showOptions]);
44
+
45
+ return (
46
+ <View style={styles.autoCompleteContainer}>
47
+ <TextInput
48
+ ref={inputRef}
49
+ {...FORM_INPUT_PROPS}
50
+ label={<LabelText label={label} required={required} />}
51
+ value={inputValue}
52
+ onChangeText={handleChange}
53
+ onBlur={!readOnly ? handleBlur : undefined}
54
+ error={status === 'error'}
55
+ testID={testId}
56
+ placeholder={placeholder}
57
+ disabled={disabled}
58
+ readOnly={readOnly}
59
+ onFocus={() => setShowOptions(true)}
60
+ accessibilityLabel={label}
61
+ accessibilityRole="combobox"
62
+ accessibilityState={{ disabled, expanded: showOptions }}
63
+ />
64
+ {showOptions && (
65
+ <View style={styles.optionsContainer}>
66
+ {filteredOptions.length === 0 ? (
67
+ <Text style={styles.emptyText}>No options found</Text>
68
+ ) : (
69
+ filteredOptions.map((option) => (
70
+ <TouchableOpacity
71
+ key={option.key}
72
+ onPress={() => {
73
+ setSelectedKey(option.key);
74
+ setInputValue(option.value);
75
+ setShowOptions(false);
76
+ if (onChange) onChange(option.key);
77
+ }}
78
+ accessible={true}
79
+ accessibilityRole="button"
80
+ accessibilityLabel={option.value}
81
+ style={{
82
+ padding: 15,
83
+ backgroundColor: '#444',
84
+ borderBottomWidth: 1,
85
+ borderColor: '#333',
86
+ }}
87
+ >
88
+ <Text style={{ color: '#ffffff' }}>{option.value}</Text>
89
+ </TouchableOpacity>
90
+ ))
91
+ )}
92
+ </View>
93
+ )}
94
+ </View>
95
+ );
96
+ };
97
+
98
+ export default AutoComplete;
99
+
100
+ const styles = StyleSheet.create({
101
+ autoCompleteContainer: {
102
+ position: 'relative',
103
+ },
104
+ optionsContainer: {
105
+ position: 'absolute',
106
+ top: 57,
107
+ left: 0,
108
+ right: 0,
109
+ backgroundColor: '#444',
110
+ borderRadius: 4,
111
+ zIndex: 1000,
112
+ },
113
+ label: {
114
+ fontSize: 18,
115
+ color: '#ffffff',
116
+ },
117
+ requiredLabel: {
118
+ color: 'red',
119
+ },
120
+ emptyText: {
121
+ color: '#aaa',
122
+ padding: 10,
123
+ fontStyle: 'italic',
124
+ textAlign: 'center',
125
+ },
126
+ });
@@ -0,0 +1,72 @@
1
+ import React, { PropsWithChildren, useState } from 'react';
2
+ import { View, Text, TouchableOpacity, StyleSheet } from 'react-native';
3
+
4
+ // FieldGroupProps is one of the few components that does NOT have getPConnect.
5
+ // So, no need to extend PConnProps
6
+ interface FieldGroupProps {
7
+ name?: string;
8
+ collapsible?: boolean;
9
+ instructions?: string;
10
+ }
11
+
12
+ export default function FieldGroup(props: PropsWithChildren<FieldGroupProps>) {
13
+ const { children, name, collapsible = false, instructions } = props;
14
+ const [collapsed, setCollapsed] = useState(false);
15
+
16
+ const headerClickHandler = () => {
17
+ setCollapsed((current) => !current);
18
+ };
19
+
20
+ return (
21
+ <View style={styles.root}>
22
+ <View style={styles.fullWidth}>
23
+ {name && (
24
+ <View style={styles.fieldMargin}>
25
+ {collapsible ? (
26
+ <TouchableOpacity accessibilityRole="button" onPress={headerClickHandler} style={styles.fieldGroupHeader}>
27
+ <Text style={styles.collapseIcon}>{collapsed ? '▶' : '▼'}</Text>
28
+ <Text style={styles.headingText}>{name}</Text>
29
+ </TouchableOpacity>
30
+ ) : (
31
+ <Text style={styles.headingText}>{name}</Text>
32
+ )}
33
+ </View>
34
+ )}
35
+ {instructions && instructions !== 'none' && <Text style={styles.instructionText}>{instructions}</Text>}
36
+ {!collapsed && <View style={styles.fullWidth}>{children}</View>}
37
+ </View>
38
+ </View>
39
+ );
40
+ }
41
+
42
+ const styles = StyleSheet.create({
43
+ root: {
44
+ marginRight: 8,
45
+ marginLeft: 8,
46
+ marginTop: 8,
47
+ marginBottom: 8,
48
+ },
49
+ fieldMargin: {
50
+ paddingTop: 8,
51
+ paddingBottom: 8,
52
+ marginTop: 8,
53
+ },
54
+ fullWidth: {
55
+ width: '100%',
56
+ },
57
+ fieldGroupHeader: {
58
+ flexDirection: 'row',
59
+ alignItems: 'center',
60
+ gap: 5,
61
+ },
62
+ instructionText: {
63
+ paddingVertical: 5,
64
+ color: '#fff',
65
+ },
66
+ headingText: {
67
+ fontWeight: 'bold',
68
+ color: '#fff',
69
+ fontSize: 20,
70
+ },
71
+ collapseIcon: { fontSize: 18, color: '#fff' },
72
+ });
@@ -0,0 +1,61 @@
1
+ import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
2
+ import { MaterialIcons } from '@expo/vector-icons';
3
+
4
+ export default function Radio({ options, selectedValue, readOnly, disabled, onChange, style, inline = false }: any) {
5
+ return (
6
+ <View style={[styles.container, style, inline && { flexDirection: 'row', gap: 10 }]}>
7
+ {options.map((option: any) => {
8
+ const active = selectedValue === option.value;
9
+
10
+ return (
11
+ <TouchableOpacity
12
+ disabled={readOnly || disabled}
13
+ style={[
14
+ styles.radio,
15
+ {
16
+ backgroundColor: readOnly || disabled ? '#49454f' : '#272729',
17
+ borderColor: '#7B8CE5',
18
+ borderWidth: active ? 1 : 0,
19
+ width: inline ? 'auto' : '100%',
20
+ },
21
+ ]}
22
+ onPress={() => onChange(option.value)}
23
+ key={option.value}
24
+ >
25
+ <MaterialIcons
26
+ name={active ? 'radio-button-checked' : 'radio-button-unchecked'}
27
+ size={24}
28
+ color={active ? '#06b6d4' : '#64748b'}
29
+ />
30
+ <Text style={{ color: '#fff' }}>{option.label}</Text>
31
+ </TouchableOpacity>
32
+ );
33
+ })}
34
+ </View>
35
+ );
36
+ }
37
+
38
+ const styles = StyleSheet.create({
39
+ container: {
40
+ width: '100%',
41
+ display: 'flex',
42
+ flexDirection: 'column',
43
+ },
44
+ radio: {
45
+ height: 60,
46
+ flexDirection: 'row',
47
+ alignItems: 'center',
48
+ marginBottom: 10,
49
+ paddingHorizontal: 10,
50
+ borderRadius: 15,
51
+ gap: 10,
52
+ },
53
+ text: {
54
+ fontSize: 16,
55
+ marginLeft: 15,
56
+ color: '#6b7280',
57
+ },
58
+ activeText: {
59
+ color: '#374151',
60
+ },
61
+ });
@@ -0,0 +1,196 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { TextInput as RNTextInput } from 'react-native-paper';
3
+ import isDeepEqual from 'fast-deep-equal/react';
4
+
5
+ import DisplayField from '../../common/DisplayField';
6
+ import FormFieldWrapper from '../../common/FormFieldWrapper';
7
+ import HelperText from '../../common/HelperText';
8
+ import { FORM_INPUT_PROPS } from '../../common/inputTheme';
9
+ import MyAutoComplete from '../../design-system/AutoComplete';
10
+ import { getDataPage } from '../../helpers/data_page';
11
+ import handleEvent from '../../helpers/event-utils';
12
+ import Utils from '../../helpers/utils';
13
+ import { PConnFieldProps } from '@/types/PConnProps';
14
+
15
+ interface IOption {
16
+ key: string;
17
+ value: string;
18
+ }
19
+
20
+ const preProcessColumns = (columnList) => {
21
+ return columnList.map((col) => {
22
+ const tempColObj = { ...col };
23
+ tempColObj.value = col.value && col.value.startsWith('.') ? col.value.substring(1) : col.value;
24
+ return tempColObj;
25
+ });
26
+ };
27
+
28
+ const getDisplayFieldsMetaData = (columnList) => {
29
+ const displayColumns = columnList.filter((col) => col.display === 'true');
30
+ const metaDataObj: any = { key: '', primary: '', secondary: [] };
31
+ const keyCol = columnList.filter((col) => col.key === 'true');
32
+ metaDataObj.key = keyCol.length > 0 ? keyCol[0].value : 'auto';
33
+ for (let index = 0; index < displayColumns.length; index += 1) {
34
+ if (displayColumns[index].primary === 'true') {
35
+ metaDataObj.primary = displayColumns[index].value;
36
+ } else {
37
+ metaDataObj.secondary.push(displayColumns[index].value);
38
+ }
39
+ }
40
+ return metaDataObj;
41
+ };
42
+
43
+ const flattenParameters = (params = {}) => {
44
+ const flatParams = {};
45
+ Object.keys(params).forEach((key) => {
46
+ const { name, value: theVal } = params[key];
47
+ flatParams[name] = theVal;
48
+ });
49
+
50
+ return flatParams;
51
+ };
52
+
53
+ interface AutoCompleteProps extends PConnFieldProps {
54
+ // If any, enter additional props that only exist on AutoComplete here'
55
+ displayMode?: string;
56
+ deferDatasource?: boolean;
57
+ datasourceMetadata?: any;
58
+ status?: string;
59
+ onRecordChange?: any;
60
+ additionalProps?: object;
61
+ listType: string;
62
+ parameters?: any;
63
+ datasource: any;
64
+ columns: any[];
65
+ }
66
+
67
+ export default function AutoComplete(props: AutoCompleteProps) {
68
+ const {
69
+ getPConnect,
70
+ validatemessage,
71
+ displayMode,
72
+ deferDatasource,
73
+ datasourceMetadata,
74
+ status,
75
+ helperText,
76
+ onRecordChange,
77
+ label,
78
+ disabled,
79
+ value = '',
80
+ readOnly,
81
+ testId,
82
+ hideLabel,
83
+ } = props;
84
+
85
+ const context = getPConnect().getContextName();
86
+ let { listType, parameters, datasource = [], columns = [] } = props;
87
+ const [options, setOptions] = useState<IOption[]>([]);
88
+ const [theDatasource, setDatasource] = useState(null);
89
+ const helperTextToDisplay = validatemessage || helperText;
90
+
91
+ const thePConn = getPConnect();
92
+ const actionsApi = thePConn.getActionsApi();
93
+ const propName = (thePConn.getStateProps() as any).value;
94
+
95
+ if (!isDeepEqual(datasource, theDatasource)) {
96
+ // inbound datasource is different, so update theDatasource (to trigger useEffect)
97
+ setDatasource(datasource);
98
+ }
99
+
100
+ // convert associated to datapage listtype and transform props
101
+ // Process deferDatasource when datapage name is present. WHhen tableType is promptList / localList
102
+ if (deferDatasource && datasourceMetadata?.datasource?.name) {
103
+ listType = 'datapage';
104
+ datasource = datasourceMetadata.datasource.name;
105
+ const {
106
+ parameters: dataSourceParameters,
107
+ propertyForDisplayText,
108
+ propertyForValue,
109
+ } = datasourceMetadata.datasource;
110
+ parameters = flattenParameters(dataSourceParameters);
111
+ const displayProp = propertyForDisplayText.startsWith('@P')
112
+ ? propertyForDisplayText.substring(3)
113
+ : propertyForDisplayText;
114
+ const valueProp = propertyForValue.startsWith('@P') ? propertyForValue.substring(3) : propertyForValue;
115
+ columns = [
116
+ {
117
+ key: 'true',
118
+ setProperty: 'Associated property',
119
+ value: valueProp,
120
+ },
121
+ {
122
+ display: 'true',
123
+ primary: 'true',
124
+ useForSearch: true,
125
+ value: displayProp,
126
+ },
127
+ ];
128
+ }
129
+ columns = preProcessColumns(columns);
130
+
131
+ useEffect(() => {
132
+ if (listType === 'associated') {
133
+ setOptions(Utils.getOptionList(props, getPConnect().getDataObject('')));
134
+ }
135
+ }, [theDatasource]);
136
+
137
+ useEffect(() => {
138
+ if (!displayMode && listType !== 'associated') {
139
+ getDataPage(datasource, parameters, context).then((results: any) => {
140
+ const optionsData: any[] = [];
141
+ const displayColumn = getDisplayFieldsMetaData(columns);
142
+ results?.forEach((element) => {
143
+ const val = element[displayColumn.primary]?.toString();
144
+ const obj = {
145
+ key: element[displayColumn.key] || element.pyGUID,
146
+ value: val,
147
+ };
148
+ optionsData.push(obj);
149
+ });
150
+ setOptions(optionsData);
151
+ });
152
+ }
153
+ }, []);
154
+
155
+ if (['STACKED_LARGE_VAL', 'DISPLAY_ONLY'].includes(displayMode || '')) {
156
+ return (
157
+ <DisplayField
158
+ type="text"
159
+ label={label}
160
+ value={value}
161
+ hideLabel={hideLabel}
162
+ variant={displayMode === 'STACKED_LARGE_VAL' ? 'stacked' : 'inline'}
163
+ />
164
+ );
165
+ }
166
+
167
+ const handleChange = (newValue) => {
168
+ handleEvent(actionsApi, 'changeNblur', propName, newValue);
169
+ if (onRecordChange) {
170
+ onRecordChange(newValue);
171
+ }
172
+ };
173
+
174
+ if (readOnly || disabled) {
175
+ const theValAsString = options?.find((opt) => opt.key === value)?.value;
176
+ return (
177
+ <FormFieldWrapper>
178
+ <RNTextInput
179
+ {...FORM_INPUT_PROPS}
180
+ label={label}
181
+ value={theValAsString}
182
+ testID={testId}
183
+ readOnly={readOnly}
184
+ disabled={disabled}
185
+ />
186
+ </FormFieldWrapper>
187
+ );
188
+ }
189
+
190
+ return (
191
+ <FormFieldWrapper>
192
+ <MyAutoComplete {...props} options={options} onChange={handleChange} />
193
+ <HelperText type={status === 'error' ? 'error' : 'info'} value={helperTextToDisplay} />
194
+ </FormFieldWrapper>
195
+ );
196
+ }
@@ -0,0 +1 @@
1
+ export { default } from './AutoComplete';
@@ -0,0 +1,89 @@
1
+ import React, { useState } from 'react';
2
+ import { StyleSheet, View } from 'react-native';
3
+ import { Checkbox as RNCheckbox } from '@futurejj/react-native-checkbox';
4
+
5
+ import FormFieldWrapper from '../../common/FormFieldWrapper';
6
+ import DisplayField from '../../common/DisplayField';
7
+ import HelperText from '../../common/HelperText';
8
+ import handleEvent from '../../helpers/event-utils';
9
+ import { PConnFieldProps } from '@/types/PConnProps';
10
+ import LabelText from '../../common/LabelText';
11
+
12
+ interface checkboxProps extends Omit<PConnFieldProps, 'value'> {
13
+ // If any, enter additional props that only exist on Date here
14
+ caption?: string;
15
+ value?: boolean;
16
+ trueLabel?: string;
17
+ falseLabel?: string;
18
+ }
19
+
20
+ function Checkbox(props: checkboxProps) {
21
+ const {
22
+ getPConnect,
23
+ caption,
24
+ value,
25
+ validatemessage,
26
+ helperText,
27
+ status,
28
+ displayMode,
29
+ hideLabel,
30
+ trueLabel,
31
+ falseLabel,
32
+ required,
33
+ readOnly,
34
+ disabled,
35
+ } = props;
36
+ const helperTextToDisplay = validatemessage || helperText;
37
+
38
+ const [checked, setChecked] = useState(value);
39
+
40
+ const thePConn = getPConnect();
41
+ const actionsApi = thePConn.getActionsApi();
42
+ const propName = (thePConn.getStateProps() as any).value;
43
+
44
+ const handleChange = () => {
45
+ setChecked(!checked);
46
+
47
+ handleEvent(actionsApi, 'changeNblur', propName, !checked as any);
48
+ };
49
+
50
+ if (['STACKED_LARGE_VAL', 'DISPLAY_ONLY'].includes(displayMode || '')) {
51
+ return (
52
+ <DisplayField
53
+ type="checkbox"
54
+ label={caption}
55
+ value={value ? trueLabel : falseLabel}
56
+ hideLabel={hideLabel}
57
+ variant={displayMode === 'STACKED_LARGE_VAL' ? 'stacked' : 'inline'}
58
+ />
59
+ );
60
+ }
61
+
62
+ return (
63
+ <FormFieldWrapper>
64
+ <View style={styles.checkboxContainer}>
65
+ <LabelText label={caption} required={required} />
66
+ <RNCheckbox
67
+ status={checked ? 'checked' : 'unchecked'}
68
+ style={{ marginLeft: 8 }}
69
+ onPress={handleChange}
70
+ disabled={readOnly || disabled}
71
+ />
72
+ </View>
73
+ <HelperText type={status === 'error' ? 'error' : 'info'} value={helperTextToDisplay} />
74
+ </FormFieldWrapper>
75
+ );
76
+ }
77
+
78
+ const styles = StyleSheet.create({
79
+ checkboxContainer: {
80
+ paddingHorizontal: 20,
81
+ marginVertical: 5,
82
+ width: '100%',
83
+ flexDirection: 'row',
84
+ justifyContent: 'space-between',
85
+ alignItems: 'center',
86
+ },
87
+ });
88
+
89
+ export default Checkbox;
@@ -0,0 +1 @@
1
+ export { default } from './Checkbox';
@@ -0,0 +1,84 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { TextInput } from 'react-native-paper';
3
+
4
+ import { PConnFieldProps } from '../../../types/PConnProps';
5
+ import FormFieldWrapper from '../../common/FormFieldWrapper';
6
+ import HelperText from '../../common/HelperText';
7
+ import handleEvent from '../../helpers/event-utils';
8
+ import LabelText from '../../common/LabelText';
9
+ import DisplayField from '../../common/DisplayField';
10
+ import { FORM_INPUT_PROPS } from '../../common/inputTheme';
11
+
12
+ interface TextInputProps extends PConnFieldProps {
13
+ // If any, enter additional props that only exist on Currency here
14
+ fieldMetadata?: any;
15
+ }
16
+
17
+ export default function Currency(props: TextInputProps) {
18
+ const {
19
+ getPConnect,
20
+ label,
21
+ required,
22
+ disabled,
23
+ value = '',
24
+ validatemessage,
25
+ status,
26
+ readOnly,
27
+ testId,
28
+ helperText,
29
+ placeholder,
30
+ displayMode,
31
+ hideLabel,
32
+ } = props;
33
+
34
+ const pConn = getPConnect();
35
+ const actions = pConn.getActionsApi();
36
+ const propName = (pConn.getStateProps() as any).value;
37
+
38
+ const helperTextToDisplay = validatemessage || helperText;
39
+
40
+ const [inputValue, setInputValue] = useState('');
41
+
42
+ useEffect(() => {
43
+ setInputValue(value);
44
+ }, [value]);
45
+
46
+ if (['STACKED_LARGE_VAL', 'DISPLAY_ONLY'].includes(displayMode || '')) {
47
+ return (
48
+ <DisplayField
49
+ type="currency"
50
+ label={label}
51
+ value={value}
52
+ hideLabel={hideLabel}
53
+ variant={displayMode === 'STACKED_LARGE_VAL' ? 'stacked' : 'inline'}
54
+ />
55
+ );
56
+ }
57
+
58
+ function handleChange(value) {
59
+ setInputValue(value);
60
+ }
61
+
62
+ function handleBlur() {
63
+ handleEvent(actions, 'changeNblur', propName, inputValue);
64
+ }
65
+
66
+ return (
67
+ <FormFieldWrapper>
68
+ <TextInput
69
+ keyboardType="decimal-pad"
70
+ {...FORM_INPUT_PROPS}
71
+ label={<LabelText label={label} required={required} />}
72
+ value={inputValue}
73
+ onChangeText={handleChange}
74
+ onBlur={!readOnly ? handleBlur : undefined}
75
+ error={status === 'error'}
76
+ testID={testId}
77
+ placeholder={placeholder}
78
+ disabled={disabled}
79
+ readOnly={readOnly}
80
+ />
81
+ <HelperText type={status === 'error' ? 'error' : 'info'} value={helperTextToDisplay} />
82
+ </FormFieldWrapper>
83
+ );
84
+ }
@@ -0,0 +1 @@
1
+ export { default } from './Currency';