@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/{.claude → .ai-common}/skills/template-skills/SimpleTable.md
RENAMED
|
@@ -12,11 +12,11 @@ Entry-point template for embedded table data in a form or detail view. Routes to
|
|
|
12
12
|
|
|
13
13
|
## Pega Metadata
|
|
14
14
|
|
|
15
|
-
- **Registration keys:** `SimpleTable`, `SimpleTableManual`, `SimpleTableSelect`, `SimpleTableSelectReadonly` (all in
|
|
15
|
+
- **Registration keys:** `SimpleTable`, `SimpleTableManual`, `SimpleTableSelect`, `SimpleTableSelectReadonly` (all in the project's component map)
|
|
16
16
|
- **Category:** Data display / Form template — embedded table
|
|
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
|
| ---------------------- | ---------- | -------- | ----------------------------------------------------------------------------------------- |
|
|
@@ -29,22 +29,47 @@ Entry-point template for embedded table data in a form or detail view. Routes to
|
|
|
29
29
|
| `readOnly` | `boolean` | No | Alternative read-only flag |
|
|
30
30
|
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
31
31
|
|
|
32
|
+
## Implementation Structure
|
|
33
|
+
|
|
34
|
+
### SimpleTable (router)
|
|
35
|
+
|
|
36
|
+
**Module Setup:** The component depends on the project's component registry (to resolve `ListView`, `FieldGroupTemplate`, and `SimpleTableManual`) and the project's simple-table helper utilities (`buildMetaForListView` and `getContext`).
|
|
37
|
+
|
|
38
|
+
**Main Component Logic** — steps in order:
|
|
39
|
+
|
|
40
|
+
1. Resolve `ListView`, `FieldGroupTemplate`, and `SimpleTableManual` from the project's component registry; receive `getPConnect`, `multiRecordDisplayAs`, `allowTableEdit`, `fieldMetadata`, `displayMode`, and other relevant inputs.
|
|
41
|
+
2. **Route to `fieldGroup`:** when `multiRecordDisplayAs === 'fieldGroup'`, render `FieldGroupTemplate` with all inputs plus `contextClass`.
|
|
42
|
+
3. **Route to a read-only reference list:** when `fieldMetadata?.type === 'Page List'` and `fieldMetadata?.dataRetrievalType === 'refer'`, build `metaForListView` via `buildMetaForListView(...)` and render `ListView` with the list-view inputs plus `bInForm: true` and `displayMode`.
|
|
43
|
+
4. **Route to the editable table:** otherwise, render `SimpleTableManual` with all inputs plus `contextClass`.
|
|
44
|
+
|
|
45
|
+
### SimpleTableManual (editable table — ~600+ lines)
|
|
46
|
+
|
|
47
|
+
Key structural outline:
|
|
48
|
+
|
|
49
|
+
- `getReferenceList(pConn)` + `setReferenceList`
|
|
50
|
+
- `buildElementsForTable()` — creates PConnect views per cell
|
|
51
|
+
- `generateRowsData()` — for read-only/modal mode
|
|
52
|
+
- `addRecord()` / `deleteRecord()` / `editRecord()` with modal support
|
|
53
|
+
- Sort/filter/column menu (same pattern as ListView)
|
|
54
|
+
- Render: Table with header sort + body rows + add/delete controls
|
|
55
|
+
|
|
56
|
+
### SimpleTableSelect (selection wrapper)
|
|
57
|
+
|
|
58
|
+
Retrieve `ListView` and `PromotedFilters` from the component registry. Build an `additionalTableConfig` incorporating `selectionMode` and `compositeKeys`. When promoted filters are configured, render `<PromotedFilters ... />`; otherwise render `<ListView {...listViewProps} />` directly.
|
|
59
|
+
|
|
60
|
+
### SimpleTableSelectReadonly (link + modal)
|
|
61
|
+
|
|
62
|
+
Renders a `SemanticLink` per selected item (comma-separated). When the list has more than 5 items, show a "(N Total)" link that opens a modal. The modal renders a `<Dialog>` wrapping a read-only `<SimpleTableManual readOnly ... />`.
|
|
63
|
+
|
|
32
64
|
## Behavioral Contract
|
|
33
65
|
|
|
34
66
|
### SimpleTable — Routing Logic
|
|
35
67
|
|
|
36
|
-
|
|
37
|
-
if multiRecordDisplayAs === 'fieldGroup':
|
|
38
|
-
→ render FieldGroupTemplate
|
|
39
|
-
else if fieldMetadata.dataRetrievalType === 'refer':
|
|
40
|
-
→ render ListView (read-only, bInForm: true)
|
|
41
|
-
else:
|
|
42
|
-
→ render SimpleTableManual (editable table)
|
|
43
|
-
```
|
|
68
|
+
When `multiRecordDisplayAs === 'fieldGroup'`, render `FieldGroupTemplate`. Otherwise, when `fieldMetadata.dataRetrievalType === 'refer'`, render `ListView` (read-only, `bInForm: true`). Otherwise, render `SimpleTableManual` (the editable table).
|
|
44
69
|
|
|
45
70
|
### SimpleTableManual — Full Editable Table
|
|
46
71
|
|
|
47
|
-
Full
|
|
72
|
+
Full editable table with add/delete rows, inline editing, sort, filter, and column customization (~600+ lines).
|
|
48
73
|
|
|
49
74
|
Key behaviors:
|
|
50
75
|
|
|
@@ -68,7 +93,7 @@ Wraps `ListView` with additional selection configuration:
|
|
|
68
93
|
|
|
69
94
|
1. Renders a link/chip showing the current selection count.
|
|
70
95
|
2. On click: opens a `<Dialog>` containing a `<SimpleTableManual>` in read-only mode.
|
|
71
|
-
3.
|
|
96
|
+
3. Inputs: same as `SimpleTableManual` but all fields locked (no add/delete/edit).
|
|
72
97
|
|
|
73
98
|
## Visual Specifications
|
|
74
99
|
|
|
@@ -109,23 +134,18 @@ Wraps `ListView` with additional selection configuration:
|
|
|
109
134
|
|
|
110
135
|
- `FieldGroupTemplate` (for `multiRecordDisplayAs === 'fieldGroup'` routing)
|
|
111
136
|
- `ListView` (for `dataRetrievalType === 'refer'` routing)
|
|
112
|
-
- `buildView` from
|
|
113
|
-
-
|
|
137
|
+
- `buildView` from the project's field-group utility helpers (for inline cell rendering in SimpleTableManual)
|
|
138
|
+
- The design system's table, dialog, popover, icon button, button, and checkbox components.
|
|
114
139
|
|
|
115
140
|
## Design System Mapping
|
|
116
141
|
|
|
117
142
|
**UI control type:** Embedded data table with routing to field group, read-only list, or fully editable table.
|
|
118
143
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
| Sub-variant | Default (CSS only) | MUI |
|
|
122
|
-
| ------------------------- | ----------------------------- | -------------------- |
|
|
123
|
-
| SimpleTableManual | `<table>` + custom controls | MUI `<Table>` |
|
|
124
|
-
| SimpleTableSelect | Custom table + radio/checkbox | `<ListView>` wrapper |
|
|
125
|
-
| SimpleTableSelectReadonly | Link + `<dialog>` | Chip + `<Dialog>` |
|
|
126
|
-
|
|
127
|
-
When implementing in a specific design system:
|
|
144
|
+
When implementing in a specific design system, map the following:
|
|
128
145
|
|
|
146
|
+
- **SimpleTableManual** → use the DS's table component with add/delete row controls and inline editing
|
|
147
|
+
- **SimpleTableSelect** → use `ListView` with selection mode enabled, optionally with promoted filters
|
|
148
|
+
- **SimpleTableSelectReadonly** → render selected values as chips/links that open a modal with full list view
|
|
129
149
|
- Always check `multiRecordDisplayAs === 'fieldGroup'` first — this bypasses the table entirely
|
|
130
150
|
- `SimpleTableManual` add/delete row controls must be hidden when `readOnly === true` or `displayMode === 'DISPLAY_ONLY'`
|
|
131
151
|
- `SimpleTableSelect` uses the same `ListView` but adds selection callbacks
|
package/templates/react-sdk-reference/.ai-common/skills/template-skills/SingleReferenceReadOnly.md
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Skill: SingleReferenceReadOnly
|
|
2
|
+
|
|
3
|
+
Single reference read-only template. Renders a read-only reference field as a semantic link for editable field types, or as a plain label otherwise.
|
|
4
|
+
|
|
5
|
+
> **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Component Purpose
|
|
10
|
+
|
|
11
|
+
Renders a single data reference field in read-only mode. For fields that were displayed as editable selection controls (autocomplete, table select, dropdown), renders a `SemanticLink` component so the reference value is clickable/navigable. For other display types, renders a plain read-only label.
|
|
12
|
+
|
|
13
|
+
## Pega Metadata
|
|
14
|
+
|
|
15
|
+
- **Registration key:** `SingleReferenceReadOnly` (in the project's component map)
|
|
16
|
+
- **Category:** Display template — read-only reference
|
|
17
|
+
- **Extends:** the project's base component interface
|
|
18
|
+
|
|
19
|
+
## Inputs
|
|
20
|
+
|
|
21
|
+
| Input | Type | Required | Description |
|
|
22
|
+
| ------------------------- | ---------- | -------- | --------------------------------------------------------- |
|
|
23
|
+
| `label` | `string` | Yes | Field label |
|
|
24
|
+
| `displayAs` | `string` | Yes | The edit-mode display type this field was configured with |
|
|
25
|
+
| `value` | `string` | No | Current field value (display text) |
|
|
26
|
+
| `caseClass` | `string` | No | Class identifier for the referenced case |
|
|
27
|
+
| `text` | `string` | No | Display text for the semantic link |
|
|
28
|
+
| `caseID` | `string` | No | Case ID for the semantic link |
|
|
29
|
+
| `contextPage` | `string` | No | Context page identifier |
|
|
30
|
+
| `resourceParams` | `object` | No | Parameters for the referenced resource |
|
|
31
|
+
| `resourcePayload` | `object` | No | Payload for resource navigation |
|
|
32
|
+
| `dataRelationshipContext` | `string` | No | Data relationship context identifier |
|
|
33
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
34
|
+
|
|
35
|
+
## Implementation Structure
|
|
36
|
+
|
|
37
|
+
**Module Setup:** This component requires the project's base component interface. Define a component input contract extending the base interface with `config` (object), optional `displayAs`, optional `ruleClass`, optional `label`, optional `displayMode`, `type` (string), optional `referenceType`, optional `hideLabel`, and optional `dataRelationshipContext`.
|
|
38
|
+
|
|
39
|
+
**Main Component Logic** — steps in order:
|
|
40
|
+
|
|
41
|
+
1. Receive inputs: `getPConnect`, `displayAs` (default `''`), `ruleClass` (default `''`), `label` (default `''`), `type` (default `''`), `displayMode` (default `''`), `referenceType` (default `''`), `hideLabel` (default `false`), `dataRelationshipContext` (default `null`), and `config`.
|
|
42
|
+
2. Define `editableComponents = ['AutoComplete', 'SimpleTableSelect', 'Dropdown']`.
|
|
43
|
+
3. **For editable field types** (when `type` is in `editableComponents`), mutate `config` to add semantic link configuration: `caseClass = ruleClass`; `text = config.primaryField`; `caseID = config.value`; `contextPage = '@P .' + dataRelationshipContext`; `resourceParams = { workID: displayAs === 'table' ? config.selectionKey : config.value }`; `resourcePayload = { caseClassName: ruleClass }`.
|
|
44
|
+
4. Create the `SemanticLink` component via `getPConnect().createComponent({ type: 'SemanticLink', config: { ...config, label, displayMode, referenceType, hideLabel, dataRelationshipContext } }, '', 0, {})`.
|
|
45
|
+
5. Render a form row containing a label showing `label`, followed by the created component.
|
|
46
|
+
|
|
47
|
+
## Behavioral Contract
|
|
48
|
+
|
|
49
|
+
### Editable Component Check
|
|
50
|
+
|
|
51
|
+
`editableComponents = ['AutoComplete', 'SimpleTableSelect', 'Dropdown']`.
|
|
52
|
+
|
|
53
|
+
If `type` is in `editableComponents`:
|
|
54
|
+
|
|
55
|
+
1. Build config with: `caseClass`, `text`, `caseID`, `contextPage`, `resourceParams`, `resourcePayload`.
|
|
56
|
+
2. Create: `createComponent({ type: 'SemanticLink', config: { ...builtConfig } })`.
|
|
57
|
+
3. Render the created `SemanticLink` component.
|
|
58
|
+
|
|
59
|
+
Else:
|
|
60
|
+
|
|
61
|
+
- Render a plain read-only display with a label and value text.
|
|
62
|
+
|
|
63
|
+
### Layout
|
|
64
|
+
|
|
65
|
+
For both variants, wrap the label and the semantic link (or plain value) in a row-oriented form control: a container styled with row direction, containing a label element (with right margin) showing `label`, followed by the semantic link or value.
|
|
66
|
+
|
|
67
|
+
## Visual Specifications
|
|
68
|
+
|
|
69
|
+
| Variant | Layout |
|
|
70
|
+
| --------------- | ------------------------------------- |
|
|
71
|
+
| SemanticLink | Label (left) + clickable link (right) |
|
|
72
|
+
| Plain read-only | Label (left) + plain text (right) |
|
|
73
|
+
|
|
74
|
+
**CSS-only implementation notes:**
|
|
75
|
+
|
|
76
|
+
- Wrapper: `display: flex; flex-direction: row; align-items: baseline; gap: 1rem`.
|
|
77
|
+
- Label: `font-size: 0.875rem; color: var(--secondary-text-color); min-width: 120px`.
|
|
78
|
+
- Semantic link: `color: var(--link-color); text-decoration: underline; cursor: pointer`.
|
|
79
|
+
- Plain value: `font-size: 0.875rem; color: var(--primary-text-color)`.
|
|
80
|
+
|
|
81
|
+
## Edge Cases & Special Logic
|
|
82
|
+
|
|
83
|
+
- `type` check is case-sensitive — values are `'AutoComplete'`, `'SimpleTableSelect'`, `'Dropdown'` (exact match).
|
|
84
|
+
- `createComponent` returns a renderable component — render it via the project's component registry conventions.
|
|
85
|
+
- If `text` is empty/undefined, the semantic link shows the `caseID` as fallback text.
|
|
86
|
+
- `SemanticLink` navigation requires `caseClass` and `caseID` — if either is missing, fall back to plain read-only display.
|
|
87
|
+
|
|
88
|
+
## Dependencies
|
|
89
|
+
|
|
90
|
+
- The project's component registry — for rendering the `SemanticLink`
|
|
91
|
+
- `getPConnect().createComponent()` — creates the SemanticLink component config
|
|
92
|
+
|
|
93
|
+
## Design System Mapping
|
|
94
|
+
|
|
95
|
+
**UI control type:** Read-only reference field — semantic link for navigable references, plain label otherwise.
|
|
96
|
+
|
|
97
|
+
When implementing in a specific design system, map the following:
|
|
98
|
+
|
|
99
|
+
- For editable field types (`'AutoComplete'`, `'SimpleTableSelect'`, `'Dropdown'`), render a semantic link that navigates to the referenced case.
|
|
100
|
+
- For other field types, render a plain read-only label with the value text.
|
|
101
|
+
- `SemanticLink` must be rendered via `createComponent` — do not implement the link logic directly in this component.
|
|
102
|
+
- Horizontal label + value layout (row direction) is required.
|
|
103
|
+
- The wrapper should be a form-control-style container with flex row direction and appropriate spacing between label and value.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Skill: SubTabs
|
|
2
|
+
|
|
3
|
+
Sub-tabs navigation template. Renders a tab container for case view sections using shared tab utilities with deferred content loading.
|
|
4
|
+
|
|
5
|
+
> **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Component Purpose
|
|
10
|
+
|
|
11
|
+
Renders a horizontal tab bar for navigating between case view sections. Uses shared `tabUtils` for tab state management (visible tabs, transient tabs, tab click). Tab content is deferred — only the active tab loads content. No section heading.
|
|
12
|
+
|
|
13
|
+
## Pega Metadata
|
|
14
|
+
|
|
15
|
+
- **Registration key:** `SubTabs` (in the project's component map)
|
|
16
|
+
- **Category:** Navigation template
|
|
17
|
+
- **Extends:** the project's base component interface
|
|
18
|
+
|
|
19
|
+
## Inputs
|
|
20
|
+
|
|
21
|
+
| Input | Type | Required | Description |
|
|
22
|
+
| ------------- | ---------------- | -------- | --------------------------------------------------- |
|
|
23
|
+
| `children` | child node array | Yes | `children[0]` is the deferred-loaded tabs container |
|
|
24
|
+
| `getPConnect` | function | Yes | PConnect getter |
|
|
25
|
+
|
|
26
|
+
## Implementation Structure
|
|
27
|
+
|
|
28
|
+
**Module Setup:** The component requires access to a framework utility for converting children to an array, local state and lifecycle effect primitives, `getTransientTabs`, `getVisibleTabs`, and `tabClick` from the local tab utilities module, and the project's base component interface.
|
|
29
|
+
|
|
30
|
+
**Main Component Logic** — steps in order:
|
|
31
|
+
|
|
32
|
+
1. Receive inputs: extract `children` (defaulting to an empty array).
|
|
33
|
+
2. Extract the deferred tabs container: convert children to an array and take the first element.
|
|
34
|
+
3. Compute `availableTabs` via `getVisibleTabs(deferLoadedTabs, 'tabsSubs')`.
|
|
35
|
+
4. Declare local state: `currentTabId` (string, initialized to `'0'`) and `tabItems` (array, initialized empty).
|
|
36
|
+
5. In a lifecycle effect keyed on `currentTabId`, update `tabItems` via `getTransientTabs(availableTabs, currentTabId, tabItems)`.
|
|
37
|
+
6. Define a tab-click handler that sets `currentTabId` to the clicked index and calls `tabClick(index, availableTabs, currentTabId, setCurrentTabId, tabItems)`.
|
|
38
|
+
7. Render a tab context wrapping a scrollable tab bar (one tab per `tabItems` entry, labeled `tab.name`) and a set of tab panels (each showing `tab.content` or a "No content exists" fallback) — no section heading is rendered.
|
|
39
|
+
|
|
40
|
+
> **Key difference from `DetailsSubTabs`:** No heading, uses `'tabsSubs'` identifier, `getVisibleTabs` called directly (not inside a lifecycle effect).
|
|
41
|
+
|
|
42
|
+
## Behavioral Contract
|
|
43
|
+
|
|
44
|
+
1. **Extract deferred tabs:** `deferLoadedTabs` = first element of the children array.
|
|
45
|
+
2. **State:** `currentTabId` (string, default `'0'`), `tabItems` (array).
|
|
46
|
+
3. **Compute visible tabs:** `getVisibleTabs(deferLoadedTabs, 'tabsSubs')` → `availableTabs`.
|
|
47
|
+
4. **Transient tabs:** lifecycle effect keyed on `currentTabId` → update `tabItems` via `getTransientTabs(availableTabs, currentTabId, tabItems)`.
|
|
48
|
+
5. **Tab click:** `tabClick(index, availableTabs, currentTabId, setCurrentTabId, tabItems)` from `tabUtils`.
|
|
49
|
+
6. **Render:**
|
|
50
|
+
- A tab context container bound to `currentTabId`
|
|
51
|
+
- A scrollable tab bar with change handler — one tab per `tabItems` entry
|
|
52
|
+
- One tab panel per `tabItems` entry with `tab.content` or empty fallback text "No content exists"
|
|
53
|
+
7. No section heading (unlike `DetailsSubTabs`).
|
|
54
|
+
|
|
55
|
+
> **Difference from `DetailsSubTabs`:** SubTabs has no `label`/`showLabel` inputs and no heading. Uses `'tabsSubs'` identifier for `getVisibleTabs` (vs `'detailsSubTabs'`).
|
|
56
|
+
|
|
57
|
+
## Visual Specifications
|
|
58
|
+
|
|
59
|
+
Identical to `DetailsSubTabs` except no heading above the tab bar.
|
|
60
|
+
|
|
61
|
+
**CSS-only implementation notes:**
|
|
62
|
+
|
|
63
|
+
- Tab bar: `display: flex; border-bottom: 2px solid var(--divider)`.
|
|
64
|
+
- Each tab: `padding: 8px 16px; cursor: pointer; border-bottom: 2px solid transparent`.
|
|
65
|
+
- Active tab: `border-bottom-color: var(--app-primary-color); font-weight: 600`.
|
|
66
|
+
- Tab panel: `padding: 16px 0`.
|
|
67
|
+
|
|
68
|
+
## Edge Cases & Special Logic
|
|
69
|
+
|
|
70
|
+
See `DetailsSubTabs.md` for shared edge cases. Additional:
|
|
71
|
+
|
|
72
|
+
- `tabUtils` identifier string `'tabsSubs'` must match exactly — it is used internally by `getVisibleTabs` for scoping.
|
|
73
|
+
|
|
74
|
+
## Dependencies
|
|
75
|
+
|
|
76
|
+
- `getTransientTabs`, `getVisibleTabs`, `tabClick` from the local tab utilities module (`tabUtils`)
|
|
77
|
+
- A design-system tab container, tab bar, and tab panel component (see below)
|
|
78
|
+
|
|
79
|
+
## Design System Mapping
|
|
80
|
+
|
|
81
|
+
**UI control type:** Tab navigation container — no heading, deferred content loading.
|
|
82
|
+
|
|
83
|
+
When implementing in a specific design system, map the following: a tab context container that holds the current tab value; a scrollable tab bar component that emits a change event with the selected index; individual tab items with label text; and tab panel containers that display content for the active tab. In a CSS-only approach, use a custom tab bar with an underline indicator. Other design systems provide equivalent compound tab components.
|
|
84
|
+
|
|
85
|
+
When implementing:
|
|
86
|
+
|
|
87
|
+
- Use `getVisibleTabs(tabs, 'tabsSubs')` — the identifier string must be `'tabsSubs'`
|
|
88
|
+
- No heading above the tab bar (unlike `DetailsSubTabs`)
|
|
89
|
+
- Deferred loading: content populates lazily via `getTransientTabs`
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Skill: TwoColumn
|
|
2
|
+
|
|
3
|
+
Two-column layout template that splits children into two responsive grid columns with configurable width ratios.
|
|
4
|
+
|
|
5
|
+
> **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Component Purpose
|
|
10
|
+
|
|
11
|
+
Renders two child components side by side in a responsive grid. Column widths are driven by the `templateCol` input (e.g., `'1fr 1fr'`, `'2fr 1fr'`). On mobile, both columns collapse to full width. Three closely related sub-variants share this same layout logic:
|
|
12
|
+
|
|
13
|
+
- **`TwoColumn`** — core layout, used inside forms and views
|
|
14
|
+
- **`TwoColumnPage`** — thin wrapper that delegates to `TwoColumn` via the project's component registry
|
|
15
|
+
- **`TwoColumnTab`** — identical layout implementation used inside tab contexts
|
|
16
|
+
|
|
17
|
+
## Pega Metadata
|
|
18
|
+
|
|
19
|
+
| Variant | Registration Key |
|
|
20
|
+
| ------------- | ---------------- |
|
|
21
|
+
| TwoColumn | `TwoColumn` |
|
|
22
|
+
| TwoColumnPage | `TwoColumnPage` |
|
|
23
|
+
| TwoColumnTab | `TwoColumnTab` |
|
|
24
|
+
|
|
25
|
+
All three extend the project's base component interface. Children are received via the framework's content projection mechanism (not via `getPConnect().getChildren()`).
|
|
26
|
+
|
|
27
|
+
## Implementation Structure
|
|
28
|
+
|
|
29
|
+
### TwoColumn (core)
|
|
30
|
+
|
|
31
|
+
**Module Setup:** Define the input contract as an extension of the project's base component interface, adding an optional `templateCol` string field and accepting children.
|
|
32
|
+
|
|
33
|
+
**Main Component Logic** — steps in order:
|
|
34
|
+
|
|
35
|
+
1. Receive `children` and `templateCol` (default `'1fr 1fr'`) from inputs; treat `children` as an array of two child elements.
|
|
36
|
+
2. If the child count isn't exactly 2, log a console error noting the actual count (still continue rendering).
|
|
37
|
+
3. **Parse `templateCol` into 12-grid sizes:** strip unit suffixes (e.g., `'fr'`) via a regex replace (remove all lowercase letters), split on whitespace, and convert each token to a number, producing a column-values array; sum the array into `totalCols`; compute `ratio = 12 / totalCols`; derive `aSize = ratio * colArray[0]` and `bSize = ratio * colArray[1]` (both treated as grid column size values within a 12-column system).
|
|
38
|
+
4. Render a grid container with spacing of 1 unit (≈ 8px) containing two grid items, each with full width at mobile breakpoint and the computed column size at medium+ breakpoint, both with a column-styles class: the first holds `children[0]`, the second holds `children[1]`.
|
|
39
|
+
|
|
40
|
+
**Visual-only styling notes:** apply a column-styles class to each column with `display: grid; gap: 1rem; align-content: baseline`.
|
|
41
|
+
|
|
42
|
+
### TwoColumnPage
|
|
43
|
+
|
|
44
|
+
A thin pass-through wrapper: resolve `TwoColumn` from the project's component registry and render it forwarding all inputs.
|
|
45
|
+
|
|
46
|
+
### TwoColumnTab
|
|
47
|
+
|
|
48
|
+
Identical implementation to `TwoColumn` — same `templateCol` parsing, same grid output. Registered separately under `TwoColumnTab` key to support tab context rendering.
|
|
49
|
+
|
|
50
|
+
## Inputs
|
|
51
|
+
|
|
52
|
+
| Name | Type | Required | Description |
|
|
53
|
+
| ------------- | ------------------ | -------- | ------------------------------------------------------------------------------ |
|
|
54
|
+
| `children` | renderable content | Yes | Exactly 2 children (left column, right column) |
|
|
55
|
+
| `templateCol` | `string` | No | Column width ratio string, e.g., `'1fr 1fr'`, `'2fr 1fr'`. Default `'1fr 1fr'` |
|
|
56
|
+
|
|
57
|
+
## Behavioral Contract
|
|
58
|
+
|
|
59
|
+
1. Accept exactly 2 children. If a different count is received, log an error (console only — still render).
|
|
60
|
+
2. Parse `templateCol` to compute grid column sizes within a 12-column system:
|
|
61
|
+
- Strip unit suffixes (e.g., `'fr'`) from each token using regex (remove lowercase letters).
|
|
62
|
+
- Split on whitespace and convert to numbers.
|
|
63
|
+
- Compute `totalCols = sum(colArray)`.
|
|
64
|
+
- Compute `ratio = 12 / totalCols`.
|
|
65
|
+
- `aSize = ratio * colArray[0]`, `bSize = ratio * colArray[1]`.
|
|
66
|
+
3. Render a grid container with spacing of 1 unit (≈ 8px).
|
|
67
|
+
4. Render `children[0]` in the left column at full width on mobile, `aSize` on medium+ breakpoint.
|
|
68
|
+
5. Render `children[1]` in the right column at full width on mobile, `bSize` on medium+ breakpoint.
|
|
69
|
+
6. Apply column-styles to each column: `display: grid; gap: 1rem; align-content: baseline`.
|
|
70
|
+
|
|
71
|
+
## Visual Specifications
|
|
72
|
+
|
|
73
|
+
### Column Style
|
|
74
|
+
|
|
75
|
+
| Property | Value |
|
|
76
|
+
| ------------- | ------------------------------------- |
|
|
77
|
+
| Display | grid |
|
|
78
|
+
| Gap | 1rem |
|
|
79
|
+
| Align content | baseline (children stack top-aligned) |
|
|
80
|
+
|
|
81
|
+
### Grid Spacing
|
|
82
|
+
|
|
83
|
+
| Property | Value |
|
|
84
|
+
| ----------------- | ------------------------- |
|
|
85
|
+
| Container spacing | 1 (≈ 8px between columns) |
|
|
86
|
+
|
|
87
|
+
### Responsive Behavior
|
|
88
|
+
|
|
89
|
+
| Breakpoint | Column A | Column B |
|
|
90
|
+
| ---------- | ---------- | ------------------------- |
|
|
91
|
+
| Mobile | full width | full width (stacks below) |
|
|
92
|
+
| Medium+ | `aSize`/12 | `bSize`/12 |
|
|
93
|
+
|
|
94
|
+
**Column ratio examples:**
|
|
95
|
+
|
|
96
|
+
| `templateCol` | Column A | Column B |
|
|
97
|
+
| ------------- | ---------- | ---------- |
|
|
98
|
+
| `'1fr 1fr'` | 6/12 (50%) | 6/12 (50%) |
|
|
99
|
+
| `'2fr 1fr'` | 8/12 (67%) | 4/12 (33%) |
|
|
100
|
+
| `'1fr 2fr'` | 4/12 (33%) | 8/12 (67%) |
|
|
101
|
+
| `'3fr 1fr'` | 9/12 (75%) | 3/12 (25%) |
|
|
102
|
+
|
|
103
|
+
**CSS-only implementation notes:**
|
|
104
|
+
|
|
105
|
+
- Column container: `display: grid; gap: 1rem; align-content: baseline`.
|
|
106
|
+
- Outer grid: `display: grid; grid-template-columns: <aFraction>fr <bFraction>fr; gap: 8px`.
|
|
107
|
+
- Mobile: `grid-template-columns: 1fr` (single column stack).
|
|
108
|
+
- Each column has `display: grid; gap: 1rem; align-content: baseline` for internal stacking.
|
|
109
|
+
|
|
110
|
+
## Edge Cases & Special Logic
|
|
111
|
+
|
|
112
|
+
- Default `templateCol` is `'1fr 1fr'` (equal split) when not provided.
|
|
113
|
+
- The `templateCol` parsing is regex-based — any non-numeric suffix is stripped. If only numbers are provided (e.g., `'6 6'`), it still works.
|
|
114
|
+
- `TwoColumnPage` uses the project's component registry to resolve `TwoColumn` — if an override exists, that override is used instead.
|
|
115
|
+
|
|
116
|
+
## Dependencies
|
|
117
|
+
|
|
118
|
+
- `TwoColumnPage`: the project's component registry — to resolve the `TwoColumn` component at runtime.
|
|
119
|
+
- `TwoColumn` / `TwoColumnTab`: no special dependencies beyond layout.
|
|
120
|
+
|
|
121
|
+
## Design System Mapping
|
|
122
|
+
|
|
123
|
+
**UI control type:** Responsive two-column grid layout.
|
|
124
|
+
|
|
125
|
+
When implementing in a specific design system, map the following:
|
|
126
|
+
|
|
127
|
+
- **Grid container** → use the DS's grid/layout system with configurable column spans
|
|
128
|
+
- **Column sizing** → parse `templateCol` using the ratio algorithm (strip units, divide 12 by total) to compute column sizes
|
|
129
|
+
- **Responsive behavior** → full width on mobile, computed ratio on medium+ breakpoint
|
|
130
|
+
- **Column style** → apply `display: grid; gap: 1rem; align-content: baseline` so children within each column stack top-aligned
|
|
131
|
+
- **TwoColumnPage** → resolve via the project's component registry and delegate
|
|
132
|
+
|
|
133
|
+
- Collapse to single column on mobile breakpoint
|
package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/WideNarrow.md
RENAMED
|
@@ -10,8 +10,8 @@ Asymmetric two-column layout with a wide left column (~67%) and a narrow right c
|
|
|
10
10
|
|
|
11
11
|
Renders two children side by side with the left column wider than the right. Typically used when the main content occupies the left and a utility/sidebar panel sits on the right. Four sub-variants:
|
|
12
12
|
|
|
13
|
-
- **`WideNarrow`** — core CSS-based layout, accepts either `a`/`b` slot
|
|
14
|
-
- **`WideNarrowPage`** — wrapper that passes
|
|
13
|
+
- **`WideNarrow`** — core CSS-based layout, accepts either `a`/`b` slot inputs or `children[0]`/`children[1]`
|
|
14
|
+
- **`WideNarrowPage`** — wrapper that passes children as `a` and `b` slot inputs to `WideNarrow`
|
|
15
15
|
- **`WideNarrowForm`** — simplified wrapper using only `children`
|
|
16
16
|
- **`WideNarrowDetails`** — details read-only variant; sets children to DISPLAY_ONLY mode and supports highlighted data
|
|
17
17
|
|
|
@@ -26,39 +26,39 @@ Renders two children side by side with the left column wider than the right. Typ
|
|
|
26
26
|
| WideNarrowForm | `WideNarrowForm` |
|
|
27
27
|
| WideNarrowDetails | `WideNarrowDetails` |
|
|
28
28
|
|
|
29
|
-
All extend
|
|
29
|
+
All extend the project's base component interface.
|
|
30
30
|
|
|
31
|
-
##
|
|
31
|
+
## Inputs
|
|
32
32
|
|
|
33
33
|
### WideNarrow
|
|
34
34
|
|
|
35
|
-
|
|
|
36
|
-
| ---------- |
|
|
37
|
-
| `children` |
|
|
38
|
-
| `a` | `any`
|
|
39
|
-
| `b` | `any`
|
|
40
|
-
| `title` | `string`
|
|
41
|
-
| `cols` | `string`
|
|
42
|
-
| `icon` | `string`
|
|
35
|
+
| Name | Type | Required | Description |
|
|
36
|
+
| ---------- | ------------------ | -------- | ---------------------------------------------------------- |
|
|
37
|
+
| `children` | renderable content | No | Two children — `[0]` → wide (left), `[1]` → narrow (right) |
|
|
38
|
+
| `a` | `any` | No | Wide (left) column content |
|
|
39
|
+
| `b` | `any` | No | Narrow (right) column content |
|
|
40
|
+
| `title` | `string` | No | Optional title (not rendered) |
|
|
41
|
+
| `cols` | `string` | No | Column template (not rendered) |
|
|
42
|
+
| `icon` | `string` | No | Icon name (not rendered) |
|
|
43
43
|
|
|
44
44
|
### WideNarrowPage
|
|
45
45
|
|
|
46
|
-
|
|
|
47
|
-
| ------------- |
|
|
48
|
-
| `children` |
|
|
49
|
-
| `title` | `string`
|
|
50
|
-
| `templateCol` | `string`
|
|
51
|
-
| `icon` | `string`
|
|
46
|
+
| Name | Type | Required | Description |
|
|
47
|
+
| ------------- | ------------------ | -------- | ----------------------------------------------------- |
|
|
48
|
+
| `children` | renderable content | Yes | Two children — `[0]` → wide slot, `[1]` → narrow slot |
|
|
49
|
+
| `title` | `string` | Yes | Page title (passed to WideNarrow) |
|
|
50
|
+
| `templateCol` | `string` | No | Column ratio (default `'1fr 1fr'`) |
|
|
51
|
+
| `icon` | `string` | No | Icon name (strips `'pi pi-'` prefix) |
|
|
52
52
|
|
|
53
53
|
### WideNarrowForm
|
|
54
54
|
|
|
55
|
-
|
|
|
56
|
-
| ---------- |
|
|
57
|
-
| `children` |
|
|
55
|
+
| Name | Type | Required | Description |
|
|
56
|
+
| ---------- | ------------------ | -------- | ------------------------------------------ |
|
|
57
|
+
| `children` | renderable content | Yes | Two children rendered in wide/narrow slots |
|
|
58
58
|
|
|
59
59
|
### WideNarrowDetails
|
|
60
60
|
|
|
61
|
-
|
|
|
61
|
+
| Name | Type | Required | Description |
|
|
62
62
|
| --------------------- | ---------- | -------- | ---------------------------------------------------------- |
|
|
63
63
|
| `label` | `string` | No | Section label for FieldGroup |
|
|
64
64
|
| `showLabel` | `boolean` | No | Whether to show the label. Default `true` |
|
|
@@ -75,9 +75,9 @@ All extend `PConnProps`.
|
|
|
75
75
|
|
|
76
76
|
### WideNarrowPage
|
|
77
77
|
|
|
78
|
-
1. Extract
|
|
79
|
-
2.
|
|
80
|
-
3. Render
|
|
78
|
+
1. Extract the children array from the content projection.
|
|
79
|
+
2. Resolve `WideNarrow` from the project's component registry.
|
|
80
|
+
3. Render `WideNarrow` with `a` set to `children[0]`, `b` set to `children[1]`, `title`, `cols` set to `templateCol`, and `icon` with the `'pi pi-'` prefix stripped.
|
|
81
81
|
|
|
82
82
|
### WideNarrowForm
|
|
83
83
|
|
|
@@ -86,7 +86,7 @@ All extend `PConnProps`.
|
|
|
86
86
|
### WideNarrowDetails
|
|
87
87
|
|
|
88
88
|
1. Set `getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY')` and `setInheritedProp('readOnly', true)`.
|
|
89
|
-
2. Map `getPConnect().getChildren()` →
|
|
89
|
+
2. Map `getPConnect().getChildren()` → render each child using the project's PConnect bridge utility with the config object and a unique key.
|
|
90
90
|
3. If `showHighlightedData` is true, read `getRawMetadata().config.highlightedData`, set each field's `displayMode = 'STACKED_LARGE_VAL'`, mark `pyStatusWork` as `displayAsStatus=true`, and create components via `getPConnect().createComponent(field, '', 0, {})`.
|
|
91
91
|
4. Wrap in `<FieldGroup name={theName}>` using `propsToUse.showLabel && propsToUse.label`.
|
|
92
92
|
5. Layout: highlighted data in `Grid size={{ xs: COLUMN_WIDTHS[i] }}` where **`COLUMN_WIDTHS = [8, 4]`** (wide left, narrow right — reversed vs NarrowWideDetails).
|
|
@@ -123,30 +123,23 @@ Derived from `WideNarrow.css`:
|
|
|
123
123
|
## Edge Cases & Special Logic
|
|
124
124
|
|
|
125
125
|
- `WideNarrowDetails` defaults `children` to empty (`= []`) — safe even if no children are provided.
|
|
126
|
-
- Highlighted data guard: check `if (!theConfigObject) theConfigObject = {}` before creating
|
|
126
|
+
- Highlighted data guard: check `if (!theConfigObject) theConfigObject = {}` before creating the PConnect bridge component — prevents crash on null config objects.
|
|
127
127
|
- Icon cleanup in `WideNarrowPage`: strip `'pi pi-'` from icon string before passing to `WideNarrow`.
|
|
128
128
|
|
|
129
129
|
## Dependencies
|
|
130
130
|
|
|
131
|
-
- `WideNarrowPage`: `
|
|
132
|
-
- `WideNarrowDetails`:
|
|
131
|
+
- `WideNarrowPage`: the project's component registry — to resolve `WideNarrow` at runtime.
|
|
132
|
+
- `WideNarrowDetails`: the project's component registry (to resolve `FieldGroup`) and the project's PConnect bridge utility.
|
|
133
133
|
|
|
134
134
|
## Design System Mapping
|
|
135
135
|
|
|
136
136
|
**UI control type:** Asymmetric two-column layout (main content + sidebar).
|
|
137
137
|
|
|
138
|
-
|
|
138
|
+
When implementing in a specific design system, map the following:
|
|
139
139
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
| Shadcn/ui | Tailwind `grid grid-cols-1 md:grid-cols-[2fr_1fr] gap-4` |
|
|
147
|
-
|
|
148
|
-
When implementing in a specific design system:
|
|
149
|
-
|
|
150
|
-
- Wide column ≈ 67% width (left side)
|
|
151
|
-
- Narrow column ≈ 33% width (right side)
|
|
152
|
-
- `WideNarrowDetails` forces DISPLAY_ONLY + readOnly on all children
|
|
140
|
+
- **Two-column grid** → use the DS's grid with `2fr 1fr` column ratio (wide left, narrow right)
|
|
141
|
+
- **Mobile** → collapse to single column (`1fr`), wide content on top
|
|
142
|
+
- **WideNarrowDetails** → forces DISPLAY_ONLY + readOnly on children via inherited inputs
|
|
143
|
+
- **WideNarrowPage** → resolve via the project's component registry and delegate
|
|
144
|
+
- **Wide column** ≈ 67% width (left side)
|
|
145
|
+
- **Narrow column** ≈ 33% width (right side)
|