@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
package/templates/react-sdk-reference/{.github → .ai-common}/skills/widget-skills/FileUtility.md
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
File and URL management utility widget. Displays case attachments and links, supports upload/download/delete, and provides modals for adding new files or URLs. Also covers `ActionButtonsForFileUtil` sub-component.
|
|
4
4
|
|
|
5
|
-
> **Prerequisite skill:** [`widget-components.md`](../widget-components.md) — covers architecture,
|
|
5
|
+
> **Prerequisite skill:** [`widget-components.md`](../widget-components.md) — covers architecture, input contract, data-fetching patterns, and registration conventions common to ALL widget components.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -12,30 +12,54 @@ The primary attachments management panel in the case utilities column. Shows up
|
|
|
12
12
|
|
|
13
13
|
## Pega Metadata
|
|
14
14
|
|
|
15
|
-
- **Registration key:** `FileUtility` (in
|
|
15
|
+
- **Registration key:** `FileUtility` (in the project's component map)
|
|
16
16
|
- **Category:** Widget — file management
|
|
17
|
-
- **Extends:**
|
|
17
|
+
- **Extends:** The project's base component interface
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## Inputs
|
|
20
20
|
|
|
21
21
|
| Prop | Type | Required | Description |
|
|
22
22
|
| ------------- | ---------- | -------- | --------------------------------------------------------------------------------- |
|
|
23
23
|
| `caseId` | `string` | No | Optional case ID override. If absent, resolved from `pConn.getCaseInfo().getID()` |
|
|
24
24
|
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
25
25
|
|
|
26
|
+
## Implementation Structure
|
|
27
|
+
|
|
28
|
+
This is the largest widget (~500 lines). Key structural outline:
|
|
29
|
+
|
|
30
|
+
**Module Setup:** The component depends on lifecycle effects and local state management, a debounce utility, a file-download utility, the project's SDK utility helpers, the project's attachment-validation helpers, and the project's component registry (to resolve `SummaryList` and `ActionButtonsForFileUtil`). Define the input contract as an extension of the project's base component interface.
|
|
31
|
+
|
|
32
|
+
**Main Component Logic** — steps in order:
|
|
33
|
+
|
|
34
|
+
1. Resolve `SummaryList` and `ActionButtonsForFileUtil` from the project's component registry. Receive `getPConnect` and `caseId` from inputs; call `getPConnect()` into `thePConn`; resolve `caseID` from `caseId ?? thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, '')`.
|
|
35
|
+
2. Declare state: `list` (an object with `data` array and `count`, default `{ data: [], count: 0 }`) for the top-3 display; `fileData` (an object tracking the add-file modal's `showfileModal`, `fileList`, `attachedFiles`, and related fields); `linkData` (an object tracking the add-link modal's `showLinkModal`, `linksList`, `attachedLinks`, and related fields); and `link` (an object with `title`, `url`, and `disable`, default `{ title: '', url: '', disable: true }`).
|
|
36
|
+
3. Define `getAttachments`: fetches case attachments and builds `SummaryItem`-compatible objects from them.
|
|
37
|
+
4. Define `debouncedGetAttachments` as `debounce(getAttachments, 1000)`.
|
|
38
|
+
5. In a lifecycle effect, subscribe to the messaging service for attachment-change events so the list stays fresh.
|
|
39
|
+
6. Define `downloadAttachedFile` and `deleteAttachedFile` handlers.
|
|
40
|
+
7. Define `onAttachFiles`: uploads the selected file(s) and links them to the case.
|
|
41
|
+
8. Define `onAttachLinks`: links the given URL(s) to the case with the URL category.
|
|
42
|
+
9. **Render**: a `Card` containing a header, a `SummaryList` showing the top 3 items, and a "View all" button; an Add File modal (file input + `SummaryList` + `ActionButtonsForFileUtil`); an Add Link modal (title + url fields + `ActionButtonsForFileUtil`); and a View All modal (the full `SummaryList`).
|
|
43
|
+
|
|
44
|
+
> **Key patterns:** Debounced refresh (1000ms) on messaging subscription, `linkAttachmentsToCase` after upload, `ActionButtonsForFileUtil` for modal button rows, `SummaryList` for item display.
|
|
45
|
+
|
|
26
46
|
## Behavioral Contract
|
|
27
47
|
|
|
28
48
|
### Attachment Fetch
|
|
29
49
|
|
|
30
|
-
On mount and on attachment change events
|
|
50
|
+
On mount and on attachment change events, resolve `caseID` from `caseId ?? thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, '')` — do NOT use `pConn.getCaseInfo().getID()`, since it may return the wrong format — then call `PCore.getAttachmentUtils().getCaseAttachments(caseID, context)`.
|
|
51
|
+
|
|
52
|
+
Returns array of attachment/link objects. Store in `attachments` state. Guard: only fetch if `caseID` is non-empty.
|
|
53
|
+
|
|
54
|
+
### Pub/Sub Subscription
|
|
31
55
|
|
|
32
|
-
|
|
33
|
-
PCore.getAttachmentUtils().getCaseAttachments(caseKey, context)
|
|
34
|
-
```
|
|
56
|
+
Subscribe to the case attachments event for auto-refresh: resolve `eventName` from `(PCore.getEvents().getCaseEvent() as any).CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW`, then call `PCore.getPubSubUtils().subscribe(eventName, refresh, 'FileUtility')`. On cleanup, call `PCore.getPubSubUtils().unsubscribe(eventName, 'FileUtility')`.
|
|
35
57
|
|
|
36
|
-
|
|
58
|
+
This ensures attachments refresh when CaseView publishes the update event.
|
|
37
59
|
|
|
38
|
-
|
|
60
|
+
### Menu Actions
|
|
61
|
+
|
|
62
|
+
"Add files" and "Add links" should be in a **dropdown menu** (overflow/three-dot icon or text dropdown), NOT as plain buttons. The reference uses a `<Menu>` + `<MenuItem>` pattern.
|
|
39
63
|
|
|
40
64
|
### Main View — Top 3 Display
|
|
41
65
|
|
|
@@ -43,42 +67,33 @@ Show only the first 3 items from `attachments`. If `attachments.length > 3`, sho
|
|
|
43
67
|
|
|
44
68
|
### SummaryList Integration
|
|
45
69
|
|
|
46
|
-
Map each attachment/link to a `SummaryItem`-compatible object:
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
{
|
|
50
|
-
id: attachment.ID,
|
|
51
|
-
visual: { icon: getFileIcon(attachment.mimeType) },
|
|
52
|
-
primary: {
|
|
53
|
-
type: attachment.category === 'FILE' ? 'FILE' : 'URL',
|
|
54
|
-
name: attachment.name,
|
|
55
|
-
click: () => handleDownloadOrOpen(attachment)
|
|
56
|
-
},
|
|
57
|
-
secondary: { text: attachment.createdBy + ' · ' + formatDate(attachment.createTime) }
|
|
58
|
-
actions: [
|
|
59
|
-
{ id: 'delete', text: 'Delete', icon: 'trash', onClick: () => handleDelete(attachment.ID) }
|
|
60
|
-
]
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Pass to `<SummaryList arItems$={summaryItems} />`.
|
|
70
|
+
Map each attachment/link to a `SummaryItem`-compatible object with: `id` from `attachment.ID`; `visual.icon` from `getFileIcon(attachment.mimeType)`; a `primary` object with `type` set to `'FILE'` or `'URL'` based on `attachment.category`, `name` from `attachment.name`, and a `click` handler that calls `handleDownloadOrOpen(attachment)`; a `secondary.text` combining `attachment.createdBy` and the formatted `attachment.createTime`; and an `actions` array with a single delete entry (`id: 'delete'`, label "Delete", trash icon, calling `handleDelete(attachment.ID)` on click).
|
|
71
|
+
|
|
72
|
+
Pass the resulting array to `<SummaryList arItems$={summaryItems} />`.
|
|
65
73
|
|
|
66
74
|
### File Upload
|
|
67
75
|
|
|
68
|
-
1. User clicks "Add
|
|
69
|
-
2. Opens an add-file modal (
|
|
70
|
-
3. User selects a file via
|
|
71
|
-
4.
|
|
72
|
-
5. On
|
|
73
|
-
6.
|
|
76
|
+
1. User clicks "Add files" from the overflow menu (three-dot icon).
|
|
77
|
+
2. Opens an add-file modal (DS Modal/Dialog component with `primaryButtonText="Attach"` and `secondaryButtonText="Cancel"`).
|
|
78
|
+
3. User selects a file via the DS file uploader component — do NOT use a bare unstyled file input. Use the DS's styled file upload component for visual consistency. Show the selected file name below the button.
|
|
79
|
+
4. "Attach" button is disabled until a file is selected.
|
|
80
|
+
5. On confirm: call `PCore.getAttachmentUtils().uploadAttachment(file, onProgress, onError, context)`.
|
|
81
|
+
6. On success: call `PCore.getAttachmentUtils().linkAttachmentsToCase(caseKey, [newAttachment], 'FILE', context)`.
|
|
82
|
+
7. Close modal, clear file state, refresh attachment list.
|
|
83
|
+
|
|
84
|
+
> ⚠️ Do NOT use a bare `<input type="file">` — it renders as an unstyled browser-native button. Always use the design system's file uploader component for visual consistency.
|
|
74
85
|
|
|
75
86
|
### URL Attachment
|
|
76
87
|
|
|
77
|
-
1. User clicks "Add
|
|
78
|
-
2. Opens add-link modal with two fields: `Title` (required) and `URL` (required).
|
|
79
|
-
3.
|
|
80
|
-
4. On confirm: call `PCore.getAttachmentUtils().linkAttachmentsToCase(caseKey, [{ name: title, url, category: 'URL' }], context)`.
|
|
81
|
-
5.
|
|
88
|
+
1. User clicks "Add links" from the overflow menu.
|
|
89
|
+
2. Opens add-link modal with two DS text input fields: `Title` (required) and `URL` (required).
|
|
90
|
+
3. "Attach" button is disabled until both `title` and `url` are non-empty.
|
|
91
|
+
4. On confirm: call `PCore.getAttachmentUtils().linkAttachmentsToCase(caseKey, [{ name: title, url, category: 'URL' }], 'URL', context)`.
|
|
92
|
+
5. Close modal, clear fields, refresh attachment list.
|
|
93
|
+
|
|
94
|
+
### Menu Actions
|
|
95
|
+
|
|
96
|
+
"Add files" and "Add links" MUST be in a **dropdown/overflow menu** (three-dot icon), NOT as plain text buttons. Use the DS's overflow menu or dropdown component.
|
|
82
97
|
|
|
83
98
|
### Download / Open
|
|
84
99
|
|
|
@@ -145,7 +160,7 @@ Render a `<MoreVertIcon>` `<IconButton>` that opens a `<Menu>` with:
|
|
|
145
160
|
|
|
146
161
|
A simple button row component used inside the FileUtility modals to render Cancel + primary action buttons.
|
|
147
162
|
|
|
148
|
-
###
|
|
163
|
+
### Inputs
|
|
149
164
|
|
|
150
165
|
| Prop | Type | Required | Description |
|
|
151
166
|
| -------------------- | ---------- | -------- | ------------------------------------------------------------ |
|
|
@@ -157,10 +172,7 @@ A simple button row component used inside the FileUtility modals to render Cance
|
|
|
157
172
|
|
|
158
173
|
### Layout
|
|
159
174
|
|
|
160
|
-
|
|
161
|
-
[Secondary buttons (left)] [Primary buttons (right)]
|
|
162
|
-
Cancel Attach
|
|
163
|
-
```
|
|
175
|
+
The secondary (Cancel) buttons render on the left and the primary (Attach) buttons render on the right, in a single row.
|
|
164
176
|
|
|
165
177
|
- Secondary buttons: outlined/text style.
|
|
166
178
|
- Primary buttons: contained/filled style with theme primary color.
|
|
@@ -179,28 +191,22 @@ A simple button row component used inside the FileUtility modals to render Cance
|
|
|
179
191
|
- `PCore.getAttachmentUtils()` — getCaseAttachments, uploadAttachment, downloadAttachment, deleteAttachment, linkAttachmentsToCase
|
|
180
192
|
- `PCore.getMessagingServiceManager()` — subscribe to attachment change events
|
|
181
193
|
- `PCore.getConstants()` — case info ID, summary refresh timing
|
|
182
|
-
- `
|
|
183
|
-
- `
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
- MUI Icons: `<MoreVertIcon>`
|
|
194
|
+
- The project's component registry, resolving `SummaryList` — renders the attachment item list.
|
|
195
|
+
- The project's component registry, resolving `ActionButtonsForFileUtil` — renders modal action buttons.
|
|
196
|
+
- A file-download utility — browser file download trigger.
|
|
197
|
+
- The DS's card, icon button, menu, button, text input, modal/dialog, and progress indicator components.
|
|
187
198
|
|
|
188
199
|
## Design System Mapping
|
|
189
200
|
|
|
190
201
|
**UI control type:** File management widget — attachment list with upload/download/delete and add modals.
|
|
191
202
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
| Design System | Card | Action Menu | Modal | Progress |
|
|
195
|
-
| ------------------ | ------------ | ------------------------------------ | ---------- | ------------------------------------------ |
|
|
196
|
-
| Default (CSS only) | `<div>` card | `<button>` + custom dropdown | `<dialog>` | CSS progress bar |
|
|
197
|
-
| MUI | `<Card>` | `<IconButton>` + `<Menu>/<MenuItem>` | `<Dialog>` | `<CircularProgress>` or `<LinearProgress>` |
|
|
198
|
-
| Ant Design | `<Card>` | `<Dropdown menu={{ items }}>` | `<Modal>` | `<Progress>` |
|
|
199
|
-
| Chakra UI | `<Card>` | `<Menu>/<MenuButton>/<MenuList>` | `<Modal>` | `<Progress>` |
|
|
200
|
-
| Shadcn/ui | `<Card>` | `<DropdownMenu>` | `<Dialog>` | Custom progress bar |
|
|
201
|
-
|
|
202
|
-
When implementing in a specific design system:
|
|
203
|
+
When implementing in a specific design system, map the following:
|
|
203
204
|
|
|
204
|
-
-
|
|
205
|
+
- **Card** → use the DS's card component for the main panel
|
|
206
|
+
- **Action menu** → use the DS's overflow/dropdown menu (three-dot icon button)
|
|
207
|
+
- **Modal/dialog** → use the DS's modal or dialog for add-file, add-link, and view-all overlays
|
|
208
|
+
- **Progress indicator** → use the DS's progress bar or spinner for upload progress
|
|
209
|
+
- **File upload** → use the DS's styled file uploader component (not a bare file input)
|
|
210
|
+
- Debounced refresh (1000ms) after pub-sub attachment events is required
|
|
205
211
|
- `linkAttachmentsToCase` must be called after upload — uploading alone does not attach to the case
|
|
206
212
|
- `ActionButtonsForFileUtil` receives button definition arrays — render them generically from `arMainButtons`/`arSecondaryButtons`
|
package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/Followers.md
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Followers widget. Displays the list of users following the current case. Currently a stub/placeholder in the reference implementation — renders an "unsupported" message.
|
|
4
4
|
|
|
5
|
-
> **Prerequisite skill:** [`widget-components.md`](../widget-components.md) — covers architecture,
|
|
5
|
+
> **Prerequisite skill:** [`widget-components.md`](../widget-components.md) — covers architecture, input contract, data-fetching patterns, and registration conventions common to ALL widget components.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -12,17 +12,29 @@ Intended to display the list of operators following a case, allowing users to fo
|
|
|
12
12
|
|
|
13
13
|
## Pega Metadata
|
|
14
14
|
|
|
15
|
-
- **Registration key:** `Followers` (in
|
|
15
|
+
- **Registration key:** `Followers` (in the project's component map)
|
|
16
16
|
- **Category:** Widget — social / collaboration
|
|
17
|
-
- **Extends:**
|
|
17
|
+
- **Extends:** The project's base component interface
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## Inputs
|
|
20
20
|
|
|
21
|
-
|
|
|
21
|
+
| Name | Type | Required | Description |
|
|
22
22
|
| ------------- | ---------- | -------- | --------------- |
|
|
23
23
|
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
## Implementation Structure
|
|
26
|
+
|
|
27
|
+
This is a stub implementation.
|
|
28
|
+
|
|
29
|
+
**Module Setup:** Define the input contract as an extension of the project's base component interface, accepting children via the framework's content projection mechanism.
|
|
30
|
+
|
|
31
|
+
**Main Component Logic** — steps in order:
|
|
32
|
+
|
|
33
|
+
1. Render a `Card` containing a `CardHeader` with the heading text "Followers - " followed by the word "unsupported" in emphasis/italic styling, and a `CardContent` block with the plain text "Followers content".
|
|
34
|
+
|
|
35
|
+
> A production implementation would fetch from `D_pyCaseFollowers` and provide follow/unfollow actions.
|
|
36
|
+
|
|
37
|
+
No additional custom inputs in the current stub implementation. A full implementation would likely include:
|
|
26
38
|
|
|
27
39
|
- `datasource` — data page name for follower list
|
|
28
40
|
- `headerText` — widget title (e.g., `"Followers"`)
|
|
@@ -79,25 +91,18 @@ No additional custom props in the current stub implementation. A full implementa
|
|
|
79
91
|
|
|
80
92
|
## Dependencies
|
|
81
93
|
|
|
82
|
-
-
|
|
83
|
-
- Future full implementation would add:
|
|
94
|
+
- The DS's card and text components (current stub).
|
|
95
|
+
- Future full implementation would add: avatar, button, badge components, and pub-sub subscriptions.
|
|
84
96
|
|
|
85
97
|
## Design System Mapping
|
|
86
98
|
|
|
87
99
|
**UI control type:** Social widget — follower list with follow/unfollow action.
|
|
88
100
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
| Design System | Card | Avatar | Toggle Button |
|
|
92
|
-
| ------------------ | --------------------- | ------------------------ | ------------------------- |
|
|
93
|
-
| Default (CSS only) | `<div>` with border | CSS circle with initials | `<button>` |
|
|
94
|
-
| MUI | `<Card>` + `<Avatar>` | `<Avatar>` | `<Button>` variant toggle |
|
|
95
|
-
| Ant Design | `<Card>` | `<Avatar>` | `<Button>` |
|
|
96
|
-
| Chakra UI | `<Card>` | `<Avatar>` | `<Button>` |
|
|
97
|
-
| Shadcn/ui | `<Card>` | Custom avatar | `<Button>` |
|
|
98
|
-
|
|
99
|
-
When implementing in a specific design system:
|
|
101
|
+
When implementing in a specific design system, map the following:
|
|
100
102
|
|
|
103
|
+
- **Card** → use the DS's card component for the widget container
|
|
104
|
+
- **Avatar** → use the DS's avatar/initials component for follower display
|
|
105
|
+
- **Follow/unfollow toggle** → use the DS's button component with toggle state
|
|
101
106
|
- The current stub only needs a card with a message — implement the full behavior once the Pega backend supports it
|
|
102
107
|
- Follow/unfollow must be scoped to the current case (`caseKey` from `pConn.getCaseInfo().getKey()`)
|
|
103
108
|
- Follower count badge in the card header improves scannability
|
package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/QuickCreate.md
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Quick case creation widget. Renders a set of buttons — one per available case type — allowing users to create cases directly from the widget without navigating to a separate form.
|
|
4
4
|
|
|
5
|
-
> **Prerequisite skill:** [`widget-components.md`](../widget-components.md) — covers architecture,
|
|
5
|
+
> **Prerequisite skill:** [`widget-components.md`](../widget-components.md) — covers architecture, input contract, data-fetching patterns, and registration conventions common to ALL widget components.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -12,11 +12,11 @@ Provides a shortcut panel for creating new cases. Case types are sourced from th
|
|
|
12
12
|
|
|
13
13
|
## Pega Metadata
|
|
14
14
|
|
|
15
|
-
- **Registration key:** `QuickCreate` (in
|
|
15
|
+
- **Registration key:** `QuickCreate` (in the project's component map)
|
|
16
16
|
- **Category:** Widget — action / case creation
|
|
17
|
-
- **Extends:**
|
|
17
|
+
- **Extends:** The project's base component interface
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## Inputs
|
|
20
20
|
|
|
21
21
|
| Prop | Type | Required | Description |
|
|
22
22
|
| --------------- | ---------- | -------- | --------------------------------------------------------------------------- |
|
|
@@ -25,41 +25,32 @@ Provides a shortcut panel for creating new cases. Case types are sourced from th
|
|
|
25
25
|
| `classFilter` | `any[]` | No | Array of class names to filter available case types. Empty array = show all |
|
|
26
26
|
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
27
27
|
|
|
28
|
+
## Implementation Structure
|
|
29
|
+
|
|
30
|
+
**Module Setup:** The component depends on lifecycle effects, local state management, the project's SDK utility helpers, and the project's component registry (to resolve `WssQuickCreate`). Define the input contract as an extension of the project's base component interface with `heading`, `showCaseIcons`, and `classFilter` fields.
|
|
31
|
+
|
|
32
|
+
**Main Component Logic** — steps in order:
|
|
33
|
+
|
|
34
|
+
1. Resolve `WssQuickCreate` from the project's component registry. Receive `getPConnect`, `heading`, `showCaseIcons`, and `classFilter` from inputs; call `getPConnect()` into `pConn`. Declare `quickCreateCases` local state (default `[]`).
|
|
35
|
+
2. In a lifecycle effect that runs once on initialization: read `PCore.getEnvironmentInfo()` into `envInfo`; when `envInfo?.environmentInfoObject?.pyCaseTypeList` is present, map each case type entry to `{ classname: ct.pyWorkTypeImplementationClassName, label: ct.pyWorkTypeName, onClick: () => pConn.getActionsApi().createWork(ct.pyWorkTypeImplementationClassName, {}), ...(showCaseIcons and { icon: Utils.getImageSrc(ct.pxIcon, Utils.getSDKStaticConentUrl()) } when showCaseIcons is true) }` into `defaultCases`; otherwise (Launchpad mode), fall back to reading case types from the store/portal config.
|
|
36
|
+
3. Apply `classFilter`: when it has entries, filter `defaultCases` down to only those whose `classname` is included in `classFilter`; otherwise use `defaultCases` unfiltered (empty filter array means show all). Store the result via `setCases`.
|
|
37
|
+
4. Delegate rendering entirely to the `WssQuickCreate` design system extension component, passing `heading` and the resolved `quickCreateCases` as its `actions` prop.
|
|
38
|
+
|
|
28
39
|
## Behavioral Contract
|
|
29
40
|
|
|
30
41
|
### Case Types Resolution
|
|
31
42
|
|
|
32
43
|
1. Read `PCore.getEnvironmentInfo().environmentInfoObject.pyCaseTypeList` — the primary source.
|
|
33
|
-
2. If the list is empty or unavailable (e.g., Launchpad mode), fall back to the app portal config
|
|
34
|
-
```
|
|
35
|
-
PCore.getConfig().getApplicationName() // or portal config equivalent
|
|
36
|
-
```
|
|
44
|
+
2. If the list is empty or unavailable (e.g., Launchpad mode), fall back to the app portal config equivalent of `PCore.getConfig().getApplicationName()`.
|
|
37
45
|
3. Apply `classFilter`: if `classFilter` is non-empty, retain only case types whose class name is included in the array.
|
|
38
46
|
|
|
39
47
|
### Case Type Object Mapping
|
|
40
48
|
|
|
41
|
-
For each case type, build:
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
|
-
{
|
|
45
|
-
classname: caseType.pyClassName,
|
|
46
|
-
label: caseType.pyLabel,
|
|
47
|
-
onClick: () => pConn.getActionsApi().createWork(caseType.pyClassName, {
|
|
48
|
-
openCaseViewAfterCreate: true,
|
|
49
|
-
containerName: PCore.getConstants().APP.APP
|
|
50
|
-
}),
|
|
51
|
-
icon: showCaseIcons ? getIconURL(caseType.pyClassName) : undefined
|
|
52
|
-
}
|
|
53
|
-
```
|
|
49
|
+
For each case type, build an object with: `classname` from `caseType.pyClassName`; `label` from `caseType.pyLabel`; an `onClick` handler that calls `pConn.getActionsApi().createWork(caseType.pyClassName, { openCaseViewAfterCreate: true, containerName: PCore.getConstants().APP.APP })`; and, when `showCaseIcons` is true, an `icon` resolved via `getIconURL(caseType.pyClassName)` (otherwise `undefined`).
|
|
54
50
|
|
|
55
51
|
### Rendering Delegation
|
|
56
52
|
|
|
57
|
-
Pass the mapped case type array to `WssQuickCreate` (
|
|
58
|
-
|
|
59
|
-
```tsx
|
|
60
|
-
const WssQuickCreate = getComponentFromRegistry('WssQuickCreate');
|
|
61
|
-
return <WssQuickCreate heading={heading} caseTypes={caseTypeObjects} />;
|
|
62
|
-
```
|
|
53
|
+
Pass the mapped case type array to `WssQuickCreate` (resolved from the project's component registry), passing `heading` and the resolved case type objects as its `actions` input.
|
|
63
54
|
|
|
64
55
|
This component handles all button rendering — `QuickCreate` is purely a data-preparation orchestrator.
|
|
65
56
|
|
|
@@ -88,31 +79,23 @@ Visual rendering is owned by `WssQuickCreate` (a design system extension compone
|
|
|
88
79
|
|
|
89
80
|
## Dependencies
|
|
90
81
|
|
|
91
|
-
- `
|
|
92
|
-
- `pConn.getActionsApi().createWork()` — triggers case creation
|
|
93
|
-
- `PCore.getEnvironmentInfo()` — primary source for available case types
|
|
94
|
-
- `PCore.getConstants().APP.APP` — app context constant
|
|
82
|
+
- The project's component registry, resolving `WssQuickCreate` — design system extension for case type button rendering.
|
|
83
|
+
- `pConn.getActionsApi().createWork()` — triggers case creation.
|
|
84
|
+
- `PCore.getEnvironmentInfo()` — primary source for available case types.
|
|
85
|
+
- `PCore.getConstants().APP.APP` — app context constant.
|
|
95
86
|
|
|
96
87
|
## Design System Mapping
|
|
97
88
|
|
|
98
89
|
**UI control type:** Quick-action panel with one button per available case type.
|
|
99
90
|
|
|
100
|
-
Listed design systems are examples only.
|
|
101
|
-
|
|
102
91
|
Rendering is delegated to `WssQuickCreate` — implement that DSE component for your design system. `QuickCreate` itself has no direct UI output beyond the delegation.
|
|
103
92
|
|
|
104
|
-
|
|
93
|
+
When implementing in a specific design system without `WssQuickCreate`, map the following:
|
|
105
94
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
| MUI | `<List>` + `<ListItemButton>` or `<Button>` stack |
|
|
110
|
-
| Ant Design | `<Space direction='vertical'>` + `<Button>` per case type |
|
|
111
|
-
| Chakra UI | `<VStack>` + `<Button>` per case type |
|
|
112
|
-
| Shadcn/ui | `<div>` stack + `<Button variant='outline'>` |
|
|
95
|
+
- **Button list** → use the DS's button or list-item-button component, one per case type
|
|
96
|
+
- **Icon** → render the case type icon when `showCaseIcons` is true
|
|
97
|
+
- **Click handler** → wire to `pConn.getActionsApi().createWork(classname, {})`
|
|
113
98
|
|
|
114
|
-
|
|
99
|
+
`classFilter` empty array = show ALL case types (not zero) — this is a common gotcha. `createWork` must be called with the correct `containerName` constant (`APP.APP`).
|
|
115
100
|
|
|
116
|
-
- `classFilter` empty array = show ALL case types (not zero) — this is a common gotcha
|
|
117
|
-
- `createWork` must be called with the correct `containerName` constant (`APP.APP`)
|
|
118
101
|
- `showCaseIcons` is optional — only fetch/render icons when this prop is `true`
|
package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/SummaryItem.md
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Individual item card for displaying an attachment, file, or link with an icon, name, metadata, and an actions menu. Also covers `SummaryList` — the container that renders multiple `SummaryItem` cards.
|
|
4
4
|
|
|
5
|
-
> **Prerequisite skill:** [`widget-components.md`](../widget-components.md) — covers architecture,
|
|
5
|
+
> **Prerequisite skill:** [`widget-components.md`](../widget-components.md) — covers architecture, input contract, data-fetching patterns, and registration conventions common to ALL widget components.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -18,13 +18,34 @@ Individual item card for displaying an attachment, file, or link with an icon, n
|
|
|
18
18
|
- `SummaryItem` — the individual item card
|
|
19
19
|
- `SummaryList` — the container/list component
|
|
20
20
|
- **Category:** Widget — display / composition
|
|
21
|
-
- **Extends:**
|
|
21
|
+
- **Extends:** The project's base component interface
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
+
## Implementation Structure
|
|
26
|
+
|
|
27
|
+
### SummaryItem
|
|
28
|
+
|
|
29
|
+
**Module Setup:** The component depends on local state management and the project's SDK utility helpers for icon path resolution. Define the input contract as an extension of the project's base component interface with `menuIconOverride$`, `menuIconOverrideAction$`, and `arItems$` fields. Import a companion stylesheet.
|
|
30
|
+
|
|
31
|
+
**Main Component Logic** — steps in order:
|
|
32
|
+
|
|
33
|
+
1. Receive `menuIconOverride$` (as a reassignable variable) from inputs; read the single item into `item` from the `arItems$` input. Resolve `imagePath` via `Utils.getIconPath(Utils.getSDKStaticConentUrl())` and build `srcImg` by concatenating `imagePath`, `item.visual.icon`, and `.svg`. Declare `anchorEl` state (default `null`) for the actions menu.
|
|
34
|
+
2. When `menuIconOverride$` is provided, resolve it to a full image source via `Utils.getImageSrc(menuIconOverride$, Utils.getSDKStaticConentUrl())`.
|
|
35
|
+
3. **Render** a `psdk-utility-card` container with three sections: an icon block showing `srcImg`; a main content block showing the primary element (plain text when `item.primary.type !== 'URL'`, or a link-styled button element when it is a URL, both displaying `item.primary.name`) followed by the secondary metadata text (`item.secondary.text`, styled red when `item.secondary.error` is true); and an actions block that either renders a single override icon button (calling the `menuIconOverrideAction$` callback with the item on click, shown when `menuIconOverride$` is set) or an overflow menu icon button that opens a dropdown menu listing one menu item per entry in `item.actions` (shown when no override is set).
|
|
36
|
+
|
|
37
|
+
### SummaryList
|
|
38
|
+
|
|
39
|
+
**Module Setup:** The component depends on the project's component registry (to resolve `SummaryItem`).
|
|
40
|
+
|
|
41
|
+
**Main Component Logic** — steps in order:
|
|
42
|
+
|
|
43
|
+
1. Resolve `SummaryItem` from the project's component registry. Receive `arItems$`, `menuIconOverride$` (default `''`), and `menuIconOverrideAction$` from inputs.
|
|
44
|
+
2. Render a wrapping `div` containing one `SummaryItem` per entry in `arItems$`, keyed by `file.id`, passing that entry as `arItems$`, plus `menuIconOverride$` and `menuIconOverrideAction$`.
|
|
45
|
+
|
|
25
46
|
## SummaryItem
|
|
26
47
|
|
|
27
|
-
###
|
|
48
|
+
### Inputs
|
|
28
49
|
|
|
29
50
|
| Prop | Type | Required | Description |
|
|
30
51
|
| ------------------------- | ---------- | -------- | --------------------------------------------------------------------------------------- |
|
|
@@ -35,31 +56,7 @@ Individual item card for displaying an attachment, file, or link with an icon, n
|
|
|
35
56
|
|
|
36
57
|
### Item Structure (`arItems$`)
|
|
37
58
|
|
|
38
|
-
|
|
39
|
-
{
|
|
40
|
-
id: string;
|
|
41
|
-
visual: {
|
|
42
|
-
icon: string; // Icon identifier or URL
|
|
43
|
-
progress?: number; // Upload progress 0–100 (optional)
|
|
44
|
-
};
|
|
45
|
-
primary: {
|
|
46
|
-
type: 'FILE' | 'URL';
|
|
47
|
-
name: string; // Display name of the item
|
|
48
|
-
icon: string; // Icon for the primary element
|
|
49
|
-
click: () => void; // Download (FILE) or open in new tab (URL)
|
|
50
|
-
};
|
|
51
|
-
secondary: {
|
|
52
|
-
text: string; // Metadata text (e.g., "John Smith · 01/15/2025")
|
|
53
|
-
error?: boolean; // If true, render text in error/red color
|
|
54
|
-
};
|
|
55
|
-
actions: Array<{
|
|
56
|
-
id: string;
|
|
57
|
-
text: string; // Menu item label
|
|
58
|
-
icon: string; // Menu item icon identifier
|
|
59
|
-
onClick: () => void; // Action callback
|
|
60
|
-
}>;
|
|
61
|
-
}
|
|
62
|
-
```
|
|
59
|
+
Each item object has: `id` (string); a `visual` object with an `icon` (string identifier or URL) and an optional `progress` (number, upload progress 0–100); a `primary` object with `type` (`'FILE'` or `'URL'`), `name` (display name), `icon` (icon for the primary element), and `click` (a callback that downloads the file or opens the URL in a new tab); a `secondary` object with `text` (metadata, e.g. "John Smith · 01/15/2025") and an optional `error` boolean (renders the text in error/red color when true); and an `actions` array of `{ id, text, icon, onClick }` entries describing the menu items.
|
|
63
60
|
|
|
64
61
|
### Behavioral Contract
|
|
65
62
|
|
|
@@ -76,11 +73,7 @@ Individual item card for displaying an attachment, file, or link with an icon, n
|
|
|
76
73
|
|
|
77
74
|
### Item Layout
|
|
78
75
|
|
|
79
|
-
|
|
80
|
-
[File Icon] [Name (link if URL)]
|
|
81
|
-
[Secondary metadata text]
|
|
82
|
-
[Actions button (⋮ or override)]
|
|
83
|
-
```
|
|
76
|
+
The file icon sits on the left, followed by the name (rendered as a link when the item is a URL) with the secondary metadata text below it, and the actions button (the overflow `⋮` icon or the override icon) anchored to the far right.
|
|
84
77
|
|
|
85
78
|
| Element | Description |
|
|
86
79
|
| -------------- | --------------------------------------------- |
|
|
@@ -111,7 +104,7 @@ Individual item card for displaying an attachment, file, or link with an icon, n
|
|
|
111
104
|
|
|
112
105
|
## SummaryList
|
|
113
106
|
|
|
114
|
-
###
|
|
107
|
+
### Inputs
|
|
115
108
|
|
|
116
109
|
| Prop | Type | Required | Description |
|
|
117
110
|
| ------------------------- | ---------- | -------- | ---------------------------------------------------------------- |
|
|
@@ -122,44 +115,25 @@ Individual item card for displaying an attachment, file, or link with an icon, n
|
|
|
122
115
|
|
|
123
116
|
### Behavioral Contract
|
|
124
117
|
|
|
125
|
-
|
|
126
|
-
const SummaryItemComp = getComponentFromRegistry('SummaryItem');
|
|
127
|
-
|
|
128
|
-
return (
|
|
129
|
-
<div>
|
|
130
|
-
{arItems$.map((item, i) => (
|
|
131
|
-
<SummaryItemComp
|
|
132
|
-
key={item.id || i}
|
|
133
|
-
arItems$={item}
|
|
134
|
-
menuIconOverride$={menuIconOverride$}
|
|
135
|
-
menuIconOverrideAction$={menuIconOverrideAction$}
|
|
136
|
-
getPConnect={getPConnect}
|
|
137
|
-
/>
|
|
138
|
-
))}
|
|
139
|
-
</div>
|
|
140
|
-
);
|
|
141
|
-
```
|
|
118
|
+
Resolve `SummaryItem` from the project's component registry. Render a wrapping container with one `SummaryItem` instance per entry in `arItems$` (keyed by `item.id` or its index), passing that entry as `arItems$`, plus `menuIconOverride$`, `menuIconOverrideAction$`, and `getPConnect`.
|
|
142
119
|
|
|
143
120
|
No state, no data fetching — purely a mapping wrapper.
|
|
144
121
|
|
|
145
122
|
## Dependencies
|
|
146
123
|
|
|
147
|
-
- **SummaryItem:**
|
|
148
|
-
- **SummaryList:** `
|
|
124
|
+
- **SummaryItem:** The DS's icon button and menu/dropdown components, the project's SDK utility helpers for icon path resolution.
|
|
125
|
+
- **SummaryList:** The project's component registry, resolving `SummaryItem` — resolves the item component dynamically.
|
|
149
126
|
|
|
150
127
|
## Design System Mapping
|
|
151
128
|
|
|
152
129
|
**UI control type:** File/link item row with icon, name, metadata, and action menu.
|
|
153
130
|
|
|
154
|
-
|
|
131
|
+
When implementing in a specific design system, map the following:
|
|
155
132
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
| Ant Design | `<List.Item>` | `<Dropdown menu={{ items }}>` |
|
|
161
|
-
| Chakra UI | `<HStack>` | `<Menu>/<MenuButton>/<MenuList>` |
|
|
162
|
-
| Shadcn/ui | `<div>` flexbox | `<DropdownMenu>` |
|
|
133
|
+
- **Item row** → use the DS's list-item or flex-row container
|
|
134
|
+
- **Actions menu** → use the DS's overflow/dropdown menu with an icon button trigger
|
|
135
|
+
- **Override icon button** → render a single icon button with the override image when `menuIconOverride$` is set
|
|
136
|
+
- **URL item** → render as a link-styled button element
|
|
163
137
|
|
|
164
138
|
When implementing in a specific design system:
|
|
165
139
|
|