@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.
- package/README.md +10 -3
- package/dist/index.js +764 -165
- package/package.json +1 -1
- package/templates/react-native-sdk-reference/.claude/settings.json +5 -0
- package/templates/react-native-sdk-reference/.prettierignore +17 -0
- package/templates/react-native-sdk-reference/.vscode/extensions.json +1 -0
- package/templates/react-native-sdk-reference/.vscode/settings.json +7 -0
- package/templates/react-native-sdk-reference/AGENTS.md +3 -0
- package/templates/react-native-sdk-reference/CLAUDE.md +1 -0
- package/templates/react-native-sdk-reference/README.md +56 -0
- package/templates/react-native-sdk-reference/app.json +40 -5
- package/templates/react-native-sdk-reference/assets/expo.icon/Assets/expo-symbol 2.svg +3 -0
- package/templates/react-native-sdk-reference/assets/expo.icon/Assets/grid.png +0 -0
- package/templates/react-native-sdk-reference/assets/expo.icon/icon.json +35 -0
- package/templates/react-native-sdk-reference/assets/icons/bell.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/clock.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/cross.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/donut.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/gear.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/globe.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/internet.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/music.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/right-arrow.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/speed.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/MediaCo.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/adaptive-icon.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/android-icon-background.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/android-icon-foreground.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/android-icon-monochrome.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/expo-badge-white.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/expo-badge.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/expo-logo.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/favicon.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/icon.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/logo-glow.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/partial-react-logo.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/react-logo.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/react-logo@2x.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/react-logo@3x.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/splash-icon.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/tutorial-web.png +0 -0
- package/templates/react-native-sdk-reference/eslint.config.mjs +68 -0
- package/templates/react-native-sdk-reference/package.json +59 -14
- package/templates/react-native-sdk-reference/pega-constellationjs-0.26.3.tgz +0 -0
- package/templates/react-native-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
- package/templates/react-native-sdk-reference/pega-sdk-types-0.1.0.tgz +0 -0
- package/templates/react-native-sdk-reference/sdk-config.json +31 -9
- package/templates/react-native-sdk-reference/src/app/_layout.tsx +38 -0
- package/templates/react-native-sdk-reference/src/app/home/_layout.tsx +39 -0
- package/templates/react-native-sdk-reference/src/app/home/contact.tsx +11 -0
- package/templates/react-native-sdk-reference/src/app/home/index.tsx +36 -0
- package/templates/react-native-sdk-reference/src/app/home/shop.tsx +11 -0
- package/templates/react-native-sdk-reference/src/app/home/your-services.tsx +11 -0
- package/templates/react-native-sdk-reference/src/app/index.tsx +72 -0
- package/templates/react-native-sdk-reference/src/app/workarea.tsx +135 -0
- package/templates/react-native-sdk-reference/src/bridge/Context/StoreContext.ts +4 -0
- package/templates/react-native-sdk-reference/src/bridge/RootComponent.tsx +12 -0
- package/templates/react-native-sdk-reference/src/bridge/react_pconnect.jsx +334 -0
- package/templates/react-native-sdk-reference/src/components/common/DisplayField.tsx +29 -0
- package/templates/react-native-sdk-reference/src/components/common/FormFieldWrapper.tsx +5 -0
- package/templates/react-native-sdk-reference/src/components/common/HelperText.tsx +11 -0
- package/templates/react-native-sdk-reference/src/components/common/LabelText.tsx +22 -0
- package/templates/react-native-sdk-reference/src/components/common/inputTheme.ts +17 -0
- package/templates/react-native-sdk-reference/src/components/design-system/AutoComplete.tsx +126 -0
- package/templates/react-native-sdk-reference/src/components/design-system/FieldGroup.tsx +72 -0
- package/templates/react-native-sdk-reference/src/components/design-system/Radio.tsx +61 -0
- package/templates/react-native-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +196 -0
- package/templates/react-native-sdk-reference/src/components/field/AutoComplete/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +89 -0
- package/templates/react-native-sdk-reference/src/components/field/Checkbox/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Currency/Currency.tsx +84 -0
- package/templates/react-native-sdk-reference/src/components/field/Currency/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Date/Date.tsx +94 -0
- package/templates/react-native-sdk-reference/src/components/field/Date/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +211 -0
- package/templates/react-native-sdk-reference/src/components/field/Dropdown/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Email/Email.tsx +81 -0
- package/templates/react-native-sdk-reference/src/components/field/Email/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Group/Group.tsx +47 -0
- package/templates/react-native-sdk-reference/src/components/field/Group/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Integer/Integer.tsx +84 -0
- package/templates/react-native-sdk-reference/src/components/field/Integer/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Phone/Phone.tsx +85 -0
- package/templates/react-native-sdk-reference/src/components/field/Phone/index.ts +1 -0
- package/templates/react-native-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +118 -0
- package/templates/react-native-sdk-reference/src/components/field/RadioButtons/index.ts +1 -0
- package/templates/react-native-sdk-reference/src/components/field/TextArea/TextArea.tsx +86 -0
- package/templates/react-native-sdk-reference/src/components/field/TextArea/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/TextInput/TextInput.tsx +84 -0
- package/templates/react-native-sdk-reference/src/components/field/TextInput/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/URL/URL.tsx +86 -0
- package/templates/react-native-sdk-reference/src/components/field/URL/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/helpers/data_page.ts +20 -0
- package/templates/react-native-sdk-reference/src/components/helpers/event-utils.ts +20 -0
- package/templates/react-native-sdk-reference/src/components/helpers/instructions-utils.ts +57 -0
- package/templates/react-native-sdk-reference/src/components/helpers/state-utils.tsx +46 -0
- package/templates/react-native-sdk-reference/src/components/helpers/template-utils.ts +75 -0
- package/templates/react-native-sdk-reference/src/components/helpers/utils.ts +339 -0
- package/templates/react-native-sdk-reference/src/components/infra/ActionButtons/ActionButtons.tsx +63 -0
- package/templates/react-native-sdk-reference/src/components/infra/ActionButtons/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Assignment/Assignment.tsx +348 -0
- package/templates/react-native-sdk-reference/src/components/infra/Assignment/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/AssignmentCard/AssignmentCard.tsx +56 -0
- package/templates/react-native-sdk-reference/src/components/infra/AssignmentCard/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/FlowContainer/FlowContainer.tsx +57 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/FlowContainer/helpers.ts +137 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/FlowContainer/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/RootContainer/RootContainer.tsx +52 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/RootContainer/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/SimpleView/helper.ts +128 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/SimpleView/index.tsx +59 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/ViewContainer/ViewContainer.tsx +31 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/ViewContainer/helper.ts +39 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/ViewContainer/index.ts +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/helper.ts +9 -0
- package/templates/react-native-sdk-reference/src/components/infra/ErrorBoundary/ErrorBoundary.tsx +53 -0
- package/templates/react-native-sdk-reference/src/components/infra/ErrorBoundary/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/MultiStep/MultiStep.tsx +24 -0
- package/templates/react-native-sdk-reference/src/components/infra/MultiStep/index.ts +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Reference/Reference.tsx +68 -0
- package/templates/react-native-sdk-reference/src/components/infra/Reference/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Reference/utils.ts +16 -0
- package/templates/react-native-sdk-reference/src/components/infra/Region/Region.tsx +10 -0
- package/templates/react-native-sdk-reference/src/components/infra/Region/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/View/View.tsx +49 -0
- package/templates/react-native-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +38 -0
- package/templates/react-native-sdk-reference/src/components/template/DefaultForm/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/template/DefaultForm/utils/index.ts +28 -0
- package/templates/react-native-sdk-reference/src/components/template/Details/Details.tsx +82 -0
- package/templates/react-native-sdk-reference/src/components/template/Details/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/template/OneColumn/OneColumn.tsx +29 -0
- package/templates/react-native-sdk-reference/src/components/template/OneColumn/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/context/LoaderContext.tsx +42 -0
- package/templates/react-native-sdk-reference/src/mediaco/AdvBanner.tsx +62 -0
- package/templates/react-native-sdk-reference/src/mediaco/Header.tsx +60 -0
- package/templates/react-native-sdk-reference/src/mediaco/HomeScreen.tsx +78 -0
- package/templates/react-native-sdk-reference/src/mediaco/QuickActions.tsx +68 -0
- package/templates/react-native-sdk-reference/src/mediaco/ResolutionScreen.tsx +48 -0
- package/templates/react-native-sdk-reference/src/mediaco/SafeArea.tsx +11 -0
- package/templates/react-native-sdk-reference/src/mediaco/TabBar.tsx +102 -0
- package/templates/react-native-sdk-reference/src/mediaco/YourServices.tsx +90 -0
- package/templates/react-native-sdk-reference/src/sdk-pega-component-map.ts +64 -0
- package/templates/react-native-sdk-reference/src/types/PConnProps.d.ts +41 -0
- package/templates/react-native-sdk-reference/src/utils/auth.ts +62 -0
- package/templates/react-native-sdk-reference/src/utils/init-pcore.ts +37 -0
- package/templates/react-native-sdk-reference/src/utils/pcore-polyfills.ts +66 -0
- package/templates/react-native-sdk-reference/tsconfig.json +9 -8
- package/templates/react-sdk-reference/.ai-common/agents/embedded-flow-expert.md +171 -0
- package/templates/react-sdk-reference/.ai-common/agents/implementation-expert.md +25 -26
- package/templates/react-sdk-reference/.ai-common/global/ai-agent-instructions-embedded.md +119 -0
- package/templates/react-sdk-reference/.ai-common/global/ai-agent-instructions.md +70 -121
- package/templates/react-sdk-reference/.ai-common/instructions/component-map.md +7 -19
- package/templates/react-sdk-reference/.ai-common/instructions/dse-component.md +10 -40
- package/templates/react-sdk-reference/.ai-common/instructions/embedded-component.md +134 -0
- package/templates/react-sdk-reference/.ai-common/instructions/field-component.md +15 -43
- package/templates/react-sdk-reference/.ai-common/instructions/template-component.md +11 -63
- package/templates/react-sdk-reference/.ai-common/instructions/widget-component.md +12 -57
- package/templates/react-sdk-reference/.ai-common/prompts/add-component.md +45 -71
- package/templates/react-sdk-reference/.ai-common/prompts/component-manifest.json +98 -0
- package/templates/react-sdk-reference/.ai-common/prompts/embedded-component-manifest.md +155 -0
- package/templates/react-sdk-reference/.ai-common/prompts/generate-all-components.md +67 -237
- package/templates/react-sdk-reference/.ai-common/prompts/generate-dse-components.md +26 -77
- package/templates/react-sdk-reference/.ai-common/prompts/generate-embedded-components.md +315 -0
- package/templates/react-sdk-reference/.ai-common/prompts/generate-field-components.md +31 -80
- package/templates/react-sdk-reference/.ai-common/prompts/generate-template-components.md +43 -99
- package/templates/react-sdk-reference/.ai-common/prompts/generate-widget-components.md +33 -83
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/AlertBanner.md +60 -74
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Banner.md +64 -84
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/CaseSummaryFields.md +76 -109
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/DetailsFields.md +84 -101
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldGroup.md +62 -87
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldGroupList.md +56 -76
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldValueList.md +61 -85
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Operator.md +84 -107
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Pulse.md +36 -44
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/RichTextEditor.md +125 -189
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/WssQuickCreate.md +34 -50
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension.md +57 -179
- package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/analyze-customer-repo.md +130 -0
- package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/authenticate.md +311 -0
- package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/run-and-verify-integration.md +156 -0
- package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/wire-integration.md +476 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-components.md +120 -242
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/AutoComplete.md +71 -212
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/CancelAlert.md +47 -209
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Checkbox.md +90 -259
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Currency.md +75 -169
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Date.md +65 -160
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/DateTime.md +59 -157
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Decimal.md +55 -134
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Dropdown.md +61 -185
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Email.md +60 -138
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Group.md +40 -99
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Integer.md +44 -111
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Location.md +57 -165
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Multiselect.md +41 -122
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/ObjectReference.md +32 -130
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Percentage.md +48 -112
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Phone.md +43 -153
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/RadioButtons.md +76 -183
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/RichText.md +59 -176
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/ScalarList.md +30 -123
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/SelectableCard.md +47 -178
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/SemanticLink.md +31 -117
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextArea.md +51 -106
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextContent.md +22 -75
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextInput.md +54 -116
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Time.md +46 -100
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/URL.md +44 -93
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/UserReference.md +40 -167
- package/templates/react-sdk-reference/.ai-common/skills/infra-components.md +165 -0
- package/templates/react-sdk-reference/.ai-common/skills/infra-skills/ActionButtons.md +122 -0
- package/templates/react-sdk-reference/.ai-common/skills/infra-skills/MultiStep.md +178 -0
- package/templates/react-sdk-reference/.ai-common/skills/infra-skills/Stages.md +140 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-components.md +74 -228
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/AdvancedSearch.md +66 -167
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/AppShell.md +57 -170
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/BannerPage.md +41 -76
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseSummary.md +53 -109
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseView.md +86 -289
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseViewActionsMenu.md +60 -185
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/Confirmation.md +66 -115
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DataReference.md +33 -68
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DefaultForm.md +53 -133
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DefaultPage.md +39 -82
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/Details.md +38 -91
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsSubTabs.md +47 -101
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsThreeColumn.md +27 -34
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsTwoColumn.md +25 -40
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DynamicTabs.md +34 -104
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/FieldGroupTemplate.md +46 -147
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/HierarchicalForm.md +139 -100
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/InlineDashboard.md +43 -82
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/InlineDashboardPage.md +47 -80
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListPage.md +16 -29
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListView.md +43 -228
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/MultiReferenceReadOnly.md +20 -65
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/NarrowWide.md +49 -97
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/OneColumn.md +37 -71
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/PromotedFilters.md +58 -148
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SelfServiceCaseView.md +82 -107
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SimpleTable.md +21 -60
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SingleReferenceReadOnly.md +43 -100
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SubTabs.md +36 -76
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/TwoColumn.md +41 -90
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/WideNarrow.md +36 -43
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/WssNavBar.md +25 -115
- package/templates/react-sdk-reference/.ai-common/skills/widget-components.md +38 -174
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/AppAnnouncement.md +30 -57
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/Attachment.md +55 -101
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/CaseHistory.md +38 -121
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/FileUtility.md +37 -98
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/Followers.md +18 -33
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/QuickCreate.md +26 -91
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/SummaryItem.md +28 -120
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/ToDo.md +41 -272
- package/templates/react-sdk-reference/package.json +1 -1
- package/templates/react-sdk-reference/pega-auth-0.2.44.tgz +0 -0
- package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
- package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +13 -3
- package/templates/react-native-sdk-reference/.github/AGENTS.md +0 -23
- package/templates/react-native-sdk-reference/.github/copilot-instructions.md +0 -40
- package/templates/react-native-sdk-reference/.github/skills/pega-sdk-component.md +0 -48
- package/templates/react-native-sdk-reference/App.tsx +0 -49
- package/templates/react-native-sdk-reference/expo-env.d.ts +0 -3
- package/templates/react-sdk-reference/pega-auth-0.2.42.tgz +0 -0
package/package.json
CHANGED
|
@@ -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 @@
|
|
|
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": "
|
|
4
|
-
"slug": "
|
|
3
|
+
"name": "react-native-sdk-reference",
|
|
4
|
+
"slug": "react-native-sdk-reference",
|
|
5
5
|
"version": "1.0.0",
|
|
6
6
|
"orientation": "portrait",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
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
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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": "
|
|
3
|
-
"
|
|
4
|
-
"
|
|
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
|
-
"@
|
|
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-
|
|
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
|
-
"@
|
|
19
|
-
"@types/react": "
|
|
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
|
}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,14 +1,36 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
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
|
-
|
|
11
|
-
"
|
|
12
|
-
"
|
|
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,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
|
+
});
|