@pega/sdk 0.0.4 → 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 +977 -92
- package/package.json +1 -1
- package/templates/angular-sdk-reference/package.json +12 -12
- package/templates/angular-sdk-reference/tsconfig.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/{.github/agents/implementation-expert.agent.md → .ai-common/agents/implementation-expert.md} +44 -48
- 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 +192 -0
- package/templates/react-sdk-reference/.ai-common/instructions/component-map.md +35 -0
- package/templates/react-sdk-reference/.ai-common/instructions/dse-component.md +47 -0
- package/templates/react-sdk-reference/.ai-common/instructions/embedded-component.md +134 -0
- package/templates/react-sdk-reference/.ai-common/instructions/field-component.md +50 -0
- package/templates/react-sdk-reference/.ai-common/instructions/template-component.md +43 -0
- package/templates/react-sdk-reference/.ai-common/instructions/widget-component.md +45 -0
- package/templates/react-sdk-reference/.ai-common/prompts/add-component.md +193 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/prompts/component-manifest.json +106 -2
- 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 +358 -0
- package/templates/react-sdk-reference/.ai-common/prompts/generate-dse-components.md +165 -0
- 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 +190 -0
- package/templates/react-sdk-reference/.ai-common/prompts/generate-template-components.md +227 -0
- package/templates/react-sdk-reference/.ai-common/prompts/generate-widget-components.md +172 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/prompts/identify-components.md +4 -0
- package/templates/react-sdk-reference/{.cursor/rules/prompts/replace-design-system.mdrules → .ai-common/prompts/replace-design-system.md} +2 -3
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/AlertBanner.md +61 -25
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Banner.md +176 -0
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/CaseSummaryFields.md +180 -0
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/DetailsFields.md +180 -0
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldGroup.md +153 -0
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldGroupList.md +136 -0
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldValueList.md +140 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/Operator.md +85 -41
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Pulse.md +97 -0
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/RichTextEditor.md +226 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/WssQuickCreate.md +35 -20
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension.md +169 -0
- 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 +190 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/AutoComplete.md +157 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/CancelAlert.md +178 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Checkbox.md +189 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Currency.md +136 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Date.md +126 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/DateTime.md +115 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Decimal.md +119 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Dropdown.md +136 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Email.md +99 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Group.md +88 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Integer.md +102 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Location.md +142 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Multiselect.md +42 -53
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/ObjectReference.md +36 -60
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Percentage.md +113 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Phone.md +100 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/RadioButtons.md +153 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/RichText.md +117 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/ScalarList.md +95 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/SelectableCard.md +155 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/SemanticLink.md +35 -57
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextArea.md +109 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/TextContent.md +27 -52
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextInput.md +112 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Time.md +102 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/URL.md +96 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/UserReference.md +41 -78
- 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 +198 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/AdvancedSearch.md +126 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/AppShell.md +160 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/BannerPage.md +90 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseSummary.md +129 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseView.md +196 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseViewActionsMenu.md +157 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/Confirmation.md +149 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DataReference.md +46 -31
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DefaultForm.md +141 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/DefaultPage.md +40 -34
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/Details.md +96 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsSubTabs.md +103 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsThreeColumn.md +85 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsTwoColumn.md +77 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DynamicTabs.md +103 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/FieldGroupTemplate.md +130 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/HierarchicalForm.md +200 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/InlineDashboard.md +110 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/InlineDashboardPage.md +105 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/ListPage.md +21 -16
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListView.md +234 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/MultiReferenceReadOnly.md +18 -23
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/NarrowWide.md +161 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/OneColumn.md +114 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/PromotedFilters.md +132 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SelfServiceCaseView.md +173 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/SimpleTable.md +44 -24
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SingleReferenceReadOnly.md +103 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SubTabs.md +89 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/TwoColumn.md +133 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/WideNarrow.md +36 -43
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/WssNavBar.md +26 -45
- package/templates/react-sdk-reference/.ai-common/skills/widget-components.md +124 -0
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/AppAnnouncement.md +94 -0
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/Attachment.md +163 -0
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/CaseHistory.md +90 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/widget-skills/FileUtility.md +68 -62
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/Followers.md +24 -19
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/QuickCreate.md +27 -44
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/SummaryItem.md +35 -61
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/ToDo.md +261 -0
- package/templates/react-sdk-reference/package.json +1 -1
- package/templates/react-sdk-reference/package.minimal.json +29 -0
- 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/AppProviders.tsx +17 -0
- package/templates/react-sdk-reference/src/MashupApp.tsx +8 -19
- package/templates/react-sdk-reference/src/PortalApp.tsx +6 -17
- 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-sdk-reference/.claude/instructions/component-map.md +0 -38
- package/templates/react-sdk-reference/.claude/instructions/dse-component.md +0 -75
- package/templates/react-sdk-reference/.claude/instructions/field-component.md +0 -75
- package/templates/react-sdk-reference/.claude/instructions/template-component.md +0 -93
- package/templates/react-sdk-reference/.claude/instructions/widget-component.md +0 -88
- package/templates/react-sdk-reference/.claude/prompts/add-component.md +0 -152
- package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +0 -158
- package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +0 -140
- package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +0 -153
- package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +0 -165
- package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +0 -138
- package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +0 -519
- package/templates/react-sdk-reference/.claude/skills/component-contracts.md +0 -140
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +0 -137
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +0 -152
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +0 -159
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +0 -148
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +0 -134
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +0 -113
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +0 -118
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +0 -85
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +0 -232
- package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +0 -291
- package/templates/react-sdk-reference/.claude/skills/field-components.md +0 -295
- package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +0 -113
- package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +0 -211
- package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +0 -175
- package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +0 -109
- package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +0 -101
- package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +0 -106
- package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +0 -99
- package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +0 -134
- package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +0 -109
- package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +0 -96
- package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +0 -88
- package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +0 -145
- package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +0 -93
- package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +0 -129
- package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +0 -167
- package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +0 -149
- package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +0 -134
- package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +0 -231
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +0 -98
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +0 -117
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +0 -107
- package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +0 -89
- package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +0 -86
- package/templates/react-sdk-reference/.claude/skills/template-components.md +0 -321
- package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +0 -150
- package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +0 -124
- package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +0 -86
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +0 -106
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +0 -137
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +0 -131
- package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +0 -109
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +0 -104
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +0 -112
- package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +0 -90
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +0 -97
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +0 -80
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +0 -80
- package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +0 -106
- package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +0 -112
- package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +0 -116
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +0 -108
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +0 -82
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +0 -142
- package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +0 -82
- package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +0 -143
- package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +0 -114
- package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +0 -130
- package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +0 -142
- package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +0 -108
- package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +0 -82
- package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +0 -133
- package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +0 -139
- package/templates/react-sdk-reference/.claude/skills/widget-components.md +0 -260
- package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +0 -84
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +0 -151
- package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +0 -110
- package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +0 -206
- package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +0 -198
- package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +0 -41
- package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +0 -78
- package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +0 -74
- package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +0 -247
- package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +0 -149
- package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +0 -193
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +0 -154
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +0 -131
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +0 -144
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +0 -156
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +0 -129
- package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +0 -110
- package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +0 -145
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +0 -140
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +0 -154
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +0 -159
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +0 -149
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +0 -136
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +0 -116
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +0 -120
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +0 -154
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +0 -88
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +0 -211
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +0 -140
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +0 -294
- package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +0 -299
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +0 -117
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +0 -208
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +0 -163
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +0 -111
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +0 -104
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +0 -108
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +0 -103
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +0 -119
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +0 -112
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +0 -95
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +0 -92
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +0 -141
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +0 -169
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +0 -169
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +0 -97
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +0 -115
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +0 -151
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +0 -143
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +0 -129
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +0 -221
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +0 -153
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +0 -101
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +0 -106
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +0 -109
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +0 -93
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +0 -90
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +0 -185
- package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +0 -73
- package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +0 -327
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +0 -149
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +0 -127
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +0 -88
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +0 -105
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +0 -136
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +0 -131
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +0 -112
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +0 -125
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +0 -107
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +0 -115
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +0 -93
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +0 -100
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +0 -83
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +0 -83
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +0 -106
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +0 -114
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +0 -118
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +0 -109
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +0 -90
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +0 -73
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +0 -144
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +0 -85
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +0 -146
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +0 -114
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +0 -129
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +0 -140
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +0 -132
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +0 -108
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +0 -84
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +0 -136
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +0 -155
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +0 -140
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +0 -276
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +0 -87
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +0 -151
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +0 -112
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +0 -205
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +0 -104
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +0 -119
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +0 -172
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +0 -195
- package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +0 -95
- package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +0 -90
- package/templates/react-sdk-reference/.github/copilot-instructions.md +0 -243
- package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +0 -40
- package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +0 -77
- package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +0 -77
- package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +0 -95
- package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +0 -90
- package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +0 -192
- package/templates/react-sdk-reference/.github/prompts/component-manifest.json +0 -193
- package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +0 -411
- package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +0 -205
- package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +0 -223
- package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +0 -229
- package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +0 -208
- package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +0 -110
- package/templates/react-sdk-reference/.github/prompts/replace-design-system.prompt.md +0 -524
- package/templates/react-sdk-reference/.github/skills/component-contracts.md +0 -140
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +0 -152
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +0 -159
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +0 -148
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +0 -134
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +0 -113
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +0 -118
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +0 -155
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +0 -85
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +0 -232
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +0 -137
- package/templates/react-sdk-reference/.github/skills/design-system-extension.md +0 -291
- package/templates/react-sdk-reference/.github/skills/field-components.md +0 -295
- package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +0 -113
- package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +0 -211
- package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +0 -175
- package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +0 -109
- package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +0 -101
- package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +0 -106
- package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +0 -99
- package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +0 -134
- package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +0 -109
- package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +0 -96
- package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +0 -88
- package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +0 -145
- package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +0 -188
- package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +0 -173
- package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +0 -93
- package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +0 -129
- package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +0 -167
- package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +0 -149
- package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +0 -134
- package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +0 -231
- package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +0 -155
- package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +0 -98
- package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +0 -107
- package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +0 -89
- package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +0 -86
- package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +0 -203
- package/templates/react-sdk-reference/.github/skills/run-and-verify.md +0 -70
- package/templates/react-sdk-reference/.github/skills/template-components.md +0 -321
- package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +0 -150
- package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +0 -124
- package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +0 -86
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +0 -106
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +0 -137
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +0 -131
- package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +0 -109
- package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +0 -124
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +0 -104
- package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +0 -90
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +0 -97
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +0 -80
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +0 -80
- package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +0 -106
- package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +0 -112
- package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +0 -116
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +0 -108
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +0 -82
- package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +0 -70
- package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +0 -142
- package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +0 -143
- package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +0 -114
- package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +0 -130
- package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +0 -142
- package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +0 -131
- package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +0 -108
- package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +0 -82
- package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +0 -133
- package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +0 -152
- package/templates/react-sdk-reference/.github/skills/widget-components.md +0 -260
- package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +0 -84
- package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +0 -151
- package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +0 -110
- package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +0 -103
- package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +0 -118
- package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +0 -169
- package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +0 -198
- package/templates/react-sdk-reference/AGENTS.md +0 -246
- package/templates/react-sdk-reference/pega-auth-0.2.42.tgz +0 -0
- /package/templates/react-sdk-reference/{.claude → .ai-common}/skills/run-and-verify.md +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const FORM_INPUT_THEME = {
|
|
2
|
+
colors: {
|
|
3
|
+
primary: '#7C5CE6',
|
|
4
|
+
outline: 'rgba(255, 255, 255, 0.45)',
|
|
5
|
+
onSurface: '#FFFFFF',
|
|
6
|
+
onSurfaceVariant: 'rgba(255, 255, 255, 0.72)',
|
|
7
|
+
error: '#FF3B30',
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const FORM_INPUT_PROPS = {
|
|
12
|
+
mode: 'outlined' as const,
|
|
13
|
+
textColor: '#FFFFFF',
|
|
14
|
+
outlineColor: 'rgba(255, 255, 255, 0.45)',
|
|
15
|
+
activeOutlineColor: '#7C5CE6',
|
|
16
|
+
theme: FORM_INPUT_THEME,
|
|
17
|
+
};
|
|
@@ -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
|
+
});
|
package/templates/react-native-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx
ADDED
|
@@ -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';
|