@pega/sdk 0.0.4 → 0.0.5
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/dist/index.js +287 -1
- 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/expo-env.d.ts +3 -0
- package/templates/react-sdk-reference/{.github/agents/implementation-expert.agent.md → .ai-common/agents/implementation-expert.md} +23 -26
- package/templates/react-sdk-reference/{.github/copilot-instructions.md → .ai-common/global/ai-agent-instructions.md} +7 -7
- package/templates/react-sdk-reference/{.github/instructions/component-map.instructions.md → .ai-common/instructions/component-map.md} +8 -1
- package/templates/react-sdk-reference/{.github/instructions/dse-component.instructions.md → .ai-common/instructions/dse-component.md} +1 -1
- package/templates/react-sdk-reference/{.github/instructions/field-component.instructions.md → .ai-common/instructions/field-component.md} +2 -1
- package/templates/react-sdk-reference/{.github/instructions/template-component.instructions.md → .ai-common/instructions/template-component.md} +1 -1
- package/templates/react-sdk-reference/{.github/instructions/widget-component.instructions.md → .ai-common/instructions/widget-component.md} +1 -1
- package/templates/react-sdk-reference/{.github/prompts/add-component.prompt.md → .ai-common/prompts/add-component.md} +45 -18
- package/templates/react-sdk-reference/{.cursor/rules → .ai-common}/prompts/component-manifest.json +8 -2
- package/templates/react-sdk-reference/{.github/prompts/generate-all-components.prompt.md → .ai-common/prompts/generate-all-components.md} +195 -78
- package/templates/react-sdk-reference/{.github/prompts/generate-dse-components.prompt.md → .ai-common/prompts/generate-dse-components.md} +28 -17
- package/templates/react-sdk-reference/{.github/prompts/generate-field-components.prompt.md → .ai-common/prompts/generate-field-components.md} +32 -16
- package/templates/react-sdk-reference/{.github/prompts/generate-template-components.prompt.md → .ai-common/prompts/generate-template-components.md} +76 -22
- package/templates/react-sdk-reference/{.github/prompts/generate-widget-components.prompt.md → .ai-common/prompts/generate-widget-components.md} +44 -30
- 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 +50 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/Banner.md +44 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/CaseSummaryFields.md +54 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/DetailsFields.md +49 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/FieldGroup.md +44 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/FieldGroupList.md +43 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/FieldValueList.md +46 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/Operator.md +67 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/Pulse.md +20 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/RichTextEditor.md +58 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/WssQuickCreate.md +31 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension.md +1 -1
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-components.md +18 -1
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/AutoComplete.md +298 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/CancelAlert.md +132 -3
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Checkbox.md +358 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Currency.md +230 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Date.md +221 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/DateTime.md +213 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Decimal.md +112 -13
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Dropdown.md +127 -1
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Email.md +68 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Group.md +51 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Integer.md +81 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Location.md +105 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Multiselect.md +70 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/ObjectReference.md +74 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Percentage.md +84 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Phone.md +81 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/RadioButtons.md +93 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/RichText.md +85 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/ScalarList.md +54 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/SelectableCard.md +55 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/SemanticLink.md +64 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/TextArea.md +66 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/TextContent.md +28 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/TextInput.md +67 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Time.md +67 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/URL.md +59 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/UserReference.md +90 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-components.md +83 -52
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/AdvancedSearch.md +77 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/AppShell.md +273 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/BannerPage.md +39 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/CaseSummary.md +79 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseView.md +399 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseViewActionsMenu.md +282 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/Confirmation.md +89 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DataReference.md +50 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DefaultForm.md +117 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DefaultPage.md +49 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/Details.md +59 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/DetailsSubTabs.md +60 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DetailsThreeColumn.md +12 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/DetailsTwoColumn.md +12 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DynamicTabs.md +67 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/FieldGroupTemplate.md +119 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/HierarchicalForm.md +45 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/InlineDashboard.md +41 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/InlineDashboardPage.md +56 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/ListPage.md +18 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListView.md +419 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/MultiReferenceReadOnly.md +40 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/NarrowWide.md +66 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/OneColumn.md +34 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/PromotedFilters.md +92 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/SelfServiceCaseView.md +56 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/SimpleTable.md +59 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/SingleReferenceReadOnly.md +52 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/SubTabs.md +47 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/TwoColumn.md +49 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/WssNavBar.md +71 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-components.md +1 -1
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/AppAnnouncement.md +38 -1
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/Attachment.md +58 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/CaseHistory.md +63 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/widget-skills/FileUtility.md +81 -14
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/Followers.md +20 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/widget-skills/QuickCreate.md +48 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/SummaryItem.md +66 -0
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/ToDo.md +492 -0
- package/templates/react-sdk-reference/package.minimal.json +29 -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/.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/component-manifest.json +0 -193
- 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/FieldGroup.md +0 -134
- 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-skills/WssQuickCreate.md +0 -137
- package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +0 -291
- package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +0 -113
- 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/Integer.md +0 -88
- package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +0 -188
- package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +0 -173
- 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/SemanticLink.md +0 -155
- 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/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/DetailsSubTabs.md +0 -97
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +0 -80
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +0 -70
- 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/OneColumn.md +0 -114
- package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +0 -131
- 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/widget-skills/FileUtility.md +0 -206
- package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +0 -118
- 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/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/prompts/component-manifest.json +0 -193
- 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/FieldGroupList.md +0 -113
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +0 -155
- 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/Location.md +0 -145
- package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +0 -98
- package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +0 -117
- 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-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/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/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/DefaultPage.md +0 -112
- package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +0 -90
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.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/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/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/TwoColumn.md +0 -133
- package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +0 -152
- package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +0 -139
- 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/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/{.claude → .ai-common}/skills/run-and-verify.md +0 -0
- /package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/WideNarrow.md +0 -0
package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: generate-widget-components.prompt
|
|
3
|
-
alwaysApply: false
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Step 0 — Resolve inputs
|
|
7
|
-
|
|
8
|
-
Read the user's message carefully. Extract:
|
|
9
|
-
|
|
10
|
-
- **Design system** — the UI library to use (e.g. `Ant Design`, `Chakra UI`, `Carbon`, `Radix UI`)
|
|
11
|
-
- **Output base path** — the folder where widget components should be generated (e.g. `src/components/widget/`)
|
|
12
|
-
- **Component list** — which widgets to generate (default: all 9 listed below)
|
|
13
|
-
|
|
14
|
-
Both **design system** and **output base path** are required. If either is missing or ambiguous, ask both unresolved items in one numbered list. Do not assume or default the output path — the client's folder structure may differ from the reference app.
|
|
15
|
-
|
|
16
|
-
Example questions (ask only the ones that are actually missing):
|
|
17
|
-
1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
|
|
18
|
-
2. Where should the widget components be generated? (e.g. `src/components/widget/`)
|
|
19
|
-
|
|
20
|
-
If the user specified a subset (e.g., "just ToDo and Attachment"), restrict the list accordingly.
|
|
21
|
-
|
|
22
|
-
Once both are known, continue to Step 1.
|
|
23
|
-
|
|
24
|
-
### Full component list (default — 9 widgets)
|
|
25
|
-
|
|
26
|
-
| Component | Description |
|
|
27
|
-
|---|---|
|
|
28
|
-
| AppAnnouncement | System-wide announcements |
|
|
29
|
-
| Attachment | File upload/download |
|
|
30
|
-
| CaseHistory | Case audit trail |
|
|
31
|
-
| FileUtility | File management utility |
|
|
32
|
-
| Followers | Case followers list |
|
|
33
|
-
| QuickCreate | Quick case creation buttons |
|
|
34
|
-
| SummaryItem | Single summary card |
|
|
35
|
-
| SummaryList | List of summary cards |
|
|
36
|
-
| ToDo | Assignment worklist |
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Step 1 — Read `widget-components.md` (once, for the entire session)
|
|
41
|
-
|
|
42
|
-
Read the full contents of `.cursor/rules/skills/widget-components.mdrules`.
|
|
43
|
-
|
|
44
|
-
This gives you:
|
|
45
|
-
- The DS-agnostic data-fetching skeleton with `// [DS RENDER]` placeholder
|
|
46
|
-
- The Design System Adaptation guide (primitive mapping table, icon discovery rules)
|
|
47
|
-
- All common Pega APIs used in widgets: `PCore.getDataPageUtils()`, `PCore.getMashupApi()`, `PCore.getAttachmentUtils()`, `pConn.getCaseInfo()`, etc.
|
|
48
|
-
- Registration conventions
|
|
49
|
-
|
|
50
|
-
> The PCore data-fetching logic is always identical regardless of design system. Only the `// [DS RENDER]` section changes per DS.
|
|
51
|
-
|
|
52
|
-
Keep this context active throughout the entire generation session. Do not re-read it per component.
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## Step 2 — Install and discover the design system (once)
|
|
57
|
-
|
|
58
|
-
Execute **Step 3** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
|
|
59
|
-
- Check `package.json` for the DS package
|
|
60
|
-
- Install if missing, including any peer dependencies
|
|
61
|
-
- Report what was installed
|
|
62
|
-
|
|
63
|
-
Then execute **Step 4** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
|
|
64
|
-
- Read the DS README from `node_modules`
|
|
65
|
-
- Discover exported components from `dist/index.d.ts`
|
|
66
|
-
- Focus on presentation primitives used in widgets: Card, List, Table, Button, Badge, Spinner, Skeleton, Empty state
|
|
67
|
-
- Read prop interfaces for these components from `.d.ts` files
|
|
68
|
-
- If the DS has a companion icon package, discover its exports
|
|
69
|
-
|
|
70
|
-
Build a **DS UI primitive reference map** from this discovery. Reuse it for every widget — do not repeat these commands per component.
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## Step 3 — Overwrite check (all at once)
|
|
75
|
-
|
|
76
|
-
For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
|
|
77
|
-
|
|
78
|
-
If **any** exist, report them all at once and ask:
|
|
79
|
-
> "The following N components already exist: [list]. How should I proceed?
|
|
80
|
-
> - **Overwrite all** — replace all existing implementations
|
|
81
|
-
> - **Skip existing** — only generate components that don't exist yet
|
|
82
|
-
> - **Cancel** — stop without generating anything"
|
|
83
|
-
|
|
84
|
-
Wait for the user's answer before proceeding. If none exist, continue immediately.
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## Step 4 — Generate each component (loop)
|
|
89
|
-
|
|
90
|
-
For each component in the resolved list (in the order listed in Step 0):
|
|
91
|
-
|
|
92
|
-
### 4a — Read the component-specific skill file
|
|
93
|
-
Execute **Step 2** from `.cursor/rules/prompts/add-component.mdrules` for this component:
|
|
94
|
-
- Read `.cursor/rules/skills/widget-skills/<ComponentName>.mdrules` fully if it exists
|
|
95
|
-
- Pay attention to:
|
|
96
|
-
- **Behavioral Contract** — data fetching logic, PCore API calls, state management, action handlers
|
|
97
|
-
- **Design System Mapping** table — the recommended DS component for presentation
|
|
98
|
-
- If no skill file exists (e.g., `SummaryList`), use the general data-fetching pattern from `widget-components.md`
|
|
99
|
-
|
|
100
|
-
### 4b — Generate the component files
|
|
101
|
-
Execute **Step 5** from `.cursor/rules/prompts/add-component.mdrules` for this component:
|
|
102
|
-
- Create `<outputPath>/<ComponentName>/` directory
|
|
103
|
-
- Create `<ComponentName>.tsx` using:
|
|
104
|
-
- The DS-agnostic data-fetching skeleton from `widget-components.md` (read in Step 1)
|
|
105
|
-
- The Behavioral Contract from the component skill file (PCore API calls, state, actions)
|
|
106
|
-
- The DS UI primitives confirmed in Step 2 (from the DS primitive reference map — no new terminal commands needed) filling in the `// [DS RENDER]` section
|
|
107
|
-
- Create `index.tsx` if required by the skill file:
|
|
108
|
-
```typescript
|
|
109
|
-
export { default } from './<ComponentName>';
|
|
110
|
-
```
|
|
111
|
-
- Create any CSS or utility files required by the skill file
|
|
112
|
-
|
|
113
|
-
### 4c — Register the component
|
|
114
|
-
Execute **Step 6** from `.cursor/rules/prompts/add-component.mdrules` for this component:
|
|
115
|
-
- Add the import to `src/components/component-map.ts` in the Widgets section
|
|
116
|
-
- Add the entry to `getSampleComponentMap()` under the widgets comment
|
|
117
|
-
- Do not reorder or restructure any existing entries
|
|
118
|
-
|
|
119
|
-
### 4d — Report progress
|
|
120
|
-
After each component: "`<ComponentName>` ✓ — using `<DS card/list primitive>`"
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## Step 5 — Verify the build
|
|
125
|
-
|
|
126
|
-
Execute **Step 7** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
|
|
127
|
-
- Run `npm run build`
|
|
128
|
-
- Fix any TypeScript or build errors before reporting completion
|
|
129
|
-
- Report a summary: list of all files created and all entries added to `component-map.ts`
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: identify-components.prompt
|
|
3
|
-
alwaysApply: false
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# identify-components
|
|
7
|
-
|
|
8
|
-
Analyze the attached screenshot and identify which SDK components from this application are visible in the image.
|
|
9
|
-
|
|
10
|
-
**Output only a single line** in this exact format — nothing else:
|
|
11
|
-
|
|
12
|
-
```
|
|
13
|
-
components="ComponentA,ComponentB,ComponentC"
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
This output can be pasted directly into a `/replace-design-system` invocation.
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Visual Recognition Guide
|
|
21
|
-
|
|
22
|
-
Use the table below to map what you see in the image to SDK component names.
|
|
23
|
-
|
|
24
|
-
### Structural / layout components
|
|
25
|
-
|
|
26
|
-
| What you see | SDK component name | Category |
|
|
27
|
-
|---|---|---|
|
|
28
|
-
| Chevron/arrow step bar at the top of a form (e.g. "Step 1 → Step 2 → Step 3") | `Stages` | infra |
|
|
29
|
-
| Full case shell: step bar + case title + **action menu (⋮ or kebab)** + tabbed content area | `CaseView` | template |
|
|
30
|
-
| Row of action buttons at the bottom (Cancel / Save / Submit) | `ActionButtons` | infra |
|
|
31
|
-
| White/card area wrapping form fields | `DefaultForm` | template |
|
|
32
|
-
| Full-page layout with header + sidebar + content area | `AppShell` | template |
|
|
33
|
-
| Left-side vertical tab navigation | `VerticalTabs` | infra |
|
|
34
|
-
| Top navigation bar with logo + user menu | `NavBar` | infra |
|
|
35
|
-
| Top navigation bar (WSS / self-service variant) | `WssNavBar` | template |
|
|
36
|
-
| Two-column layout (equal or narrow/wide split) | `TwoColumn` / `NarrowWide` / `WideNarrow` | template |
|
|
37
|
-
| Single-column stacked layout | `OneColumn` | template |
|
|
38
|
-
| Tabbed panel inside a form or page | `SubTabs` / `Details` | template |
|
|
39
|
-
|
|
40
|
-
### Field components
|
|
41
|
-
|
|
42
|
-
| What you see | SDK component name | Category |
|
|
43
|
-
|---|---|---|
|
|
44
|
-
| Single-line text input box | `TextInput` | field |
|
|
45
|
-
| Multi-line text input / textarea | `TextArea` | field |
|
|
46
|
-
| Dropdown / select menu (chevron on right) | `Dropdown` | field |
|
|
47
|
-
| Phone input with country code prefix (e.g. "+1 ▼") | `Phone` | field |
|
|
48
|
-
| Date picker input (calendar icon) | `Date` | field |
|
|
49
|
-
| Date + time picker input | `DateTime` | field |
|
|
50
|
-
| Time-only picker | `Time` | field |
|
|
51
|
-
| Currency input ($ prefix or formatted number) | `Currency` | field |
|
|
52
|
-
| Percentage input (% suffix) | `Percentage` | field |
|
|
53
|
-
| Decimal / float number input | `Decimal` | field |
|
|
54
|
-
| Integer-only number input | `Integer` | field |
|
|
55
|
-
| Email input (envelope icon or @-hint) | `Email` | field |
|
|
56
|
-
| URL input (link icon or http-hint) | `URL` | field |
|
|
57
|
-
| Checkbox with label | `Checkbox` | field |
|
|
58
|
-
| Radio button group | `RadioButtons` | field |
|
|
59
|
-
| Multi-select / tag-style select with chips | `Multiselect` | field |
|
|
60
|
-
| Type-ahead / autocomplete input with suggestions | `AutoComplete` | field |
|
|
61
|
-
| Rich text editor (toolbar with Bold/Italic/etc.) | `RichText` | field |
|
|
62
|
-
| Read-only comma-separated list of values | `ScalarList` | field |
|
|
63
|
-
| Selectable card / tile (click to select, like a plan card) | `SelectableCard` | field |
|
|
64
|
-
| Map / location picker with pin icon | `Location` | field |
|
|
65
|
-
| Link to another object/record | `ObjectReference` | field |
|
|
66
|
-
| Hyperlink displayed inline | `SemanticLink` | field |
|
|
67
|
-
| User avatar + name displayed inline | `UserReference` | field |
|
|
68
|
-
| Inline alert / warning inside a form | `CancelAlert` | field |
|
|
69
|
-
| Static text block / paragraph inside a form | `TextContent` | field |
|
|
70
|
-
| Grouping box around related fields | `Group` | field |
|
|
71
|
-
|
|
72
|
-
### Widget components
|
|
73
|
-
|
|
74
|
-
| What you see | SDK component name | Category |
|
|
75
|
-
|---|---|---|
|
|
76
|
-
| To-do / task list card with assignments | `ToDo` | widget |
|
|
77
|
-
| File attachment area with upload button | `Attachment` | widget |
|
|
78
|
-
| Case history / audit trail table | `CaseHistory` | widget |
|
|
79
|
-
| File list with download actions | `FileUtility` | widget |
|
|
80
|
-
| List of follower avatars + "Follow" button | `Followers` | widget |
|
|
81
|
-
| "+" quick-create button with dropdown menu | `QuickCreate` | widget |
|
|
82
|
-
| Summary card for a single record with action menu | `SummaryItem` | widget |
|
|
83
|
-
| List of SummaryItem cards | `SummaryList` | widget |
|
|
84
|
-
| Announcement / news card | `AppAnnouncement` | widget |
|
|
85
|
-
|
|
86
|
-
### DSE / design system extension components
|
|
87
|
-
|
|
88
|
-
| What you see | SDK component name | Category |
|
|
89
|
-
|---|---|---|
|
|
90
|
-
| Coloured banner alert bar (info / warning / error / success) | `AlertBanner` | designSystemExtension |
|
|
91
|
-
| Hero-style banner with title + CTA button | `Banner` | designSystemExtension |
|
|
92
|
-
| Read-only field+value pairs in a case summary | `CaseSummaryFields` | designSystemExtension |
|
|
93
|
-
| Read-only label+value pairs in a details view | `DetailsFields` | designSystemExtension |
|
|
94
|
-
| Collapsible section with header (accordion-style) | `FieldGroup` | designSystemExtension |
|
|
95
|
-
| List of field groups with "Add" link | `FieldGroupList` | designSystemExtension |
|
|
96
|
-
| User operator info popover (name + contact) | `Operator` | designSystemExtension |
|
|
97
|
-
| Comment/pulse card with avatar + timestamp | `Pulse` | designSystemExtension |
|
|
98
|
-
| Rich text editor with theme-aware toolbar | `RichTextEditor` | designSystemExtension |
|
|
99
|
-
| Quick-create shortcut links list (WSS sidebar) | `WssQuickCreate` | designSystemExtension |
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## Rules
|
|
104
|
-
|
|
105
|
-
1. **Only list components you can actually see rendered in the image.** Do not include components that might be present but are not visible (e.g. a NavBar not shown in the screenshot).
|
|
106
|
-
2. **Do not include `FieldValueList`** — it is an internal rendering helper, not a visible component.
|
|
107
|
-
3. **Structural components that frame a form always count** — if you see a step bar, include `Stages`; if you see action buttons, include `ActionButtons`.
|
|
108
|
-
4. **An avatar + form title alone is NOT `CaseView`** — `CaseView` requires a full case shell with an action/kebab menu and tabbed content. A simple avatar + heading above a form is just part of `DefaultForm`.
|
|
109
|
-
5. **When in doubt between two similar components** (e.g. `NarrowWide` vs `WideNarrow`), pick the one whose column ratio best matches the image proportions, or include both separated by a comma.
|
|
110
|
-
6. **Output only the single `components="..."` line.** No explanation, no list, no markdown — just that line.
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: component-contracts
|
|
3
|
-
alwaysApply: false
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Skill: Component Contracts Reference
|
|
7
|
-
|
|
8
|
-
Quick-reference lookup of all registered component names and their prop contracts. Use this when you need to know what props a specific component receives from the Pega platform.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## Field Components
|
|
13
|
-
|
|
14
|
-
All extend `PConnFieldProps` from `@pega/sdk-react`.
|
|
15
|
-
|
|
16
|
-
| Registry Name | File | Additional Props |
|
|
17
|
-
|---------------|------|-----------------|
|
|
18
|
-
| `TextInput` | `field/TextInput/TextInput.tsx` | `fieldMetadata?: any` |
|
|
19
|
-
| `TextArea` | `field/TextArea/` | `fieldMetadata?: any` |
|
|
20
|
-
| `Dropdown` | `field/Dropdown/` | `datasource?, listType?` |
|
|
21
|
-
| `Checkbox` | `field/Checkbox/` | `value: boolean` (not string) |
|
|
22
|
-
| `RadioButtons` | `field/RadioButtons/` | `datasource?, listType?` |
|
|
23
|
-
| `Date` | `field/Date/` | — |
|
|
24
|
-
| `DateTime` | `field/DateTime/` | — |
|
|
25
|
-
| `Time` | `field/Time/` | — |
|
|
26
|
-
| `Currency` | `field/Currency/` | `currencyISOCode?, formatterType?` |
|
|
27
|
-
| `Decimal` | `field/Decimal/` | `decimalPrecision?` |
|
|
28
|
-
| `Integer` | `field/Integer/` | — |
|
|
29
|
-
| `Percentage` | `field/Percentage/` | — |
|
|
30
|
-
| `Email` | `field/Email/Email.tsx` | — |
|
|
31
|
-
| `Phone` | `field/Phone/Phone.tsx` | `datasource?` (country codes) |
|
|
32
|
-
| `URL` | `field/URL/` | — |
|
|
33
|
-
| `AutoComplete` | `field/AutoComplete/` | `datasource?, listType?, columns?` |
|
|
34
|
-
| `Multiselect` | `field/Multiselect/Multiselect.tsx` | `datasource?, listType?` |
|
|
35
|
-
| `RichText` | `field/RichText/` | — |
|
|
36
|
-
| `ScalarList` | `field/ScalarList/` | `datasource?` |
|
|
37
|
-
| `SelectableCard` | `field/SelectableCard/` | `datasource?` |
|
|
38
|
-
| `Group` | `field/Group/` | — |
|
|
39
|
-
| `Location` | `field/Location/` | — |
|
|
40
|
-
| `ObjectReference` | `field/ObjectReference/` | `value: object` |
|
|
41
|
-
| `SemanticLink` | `field/SemanticLink/` | `text?, displayAs?` |
|
|
42
|
-
| `UserReference` | `field/UserReference/` | `showAsFormattedText?` |
|
|
43
|
-
| `CancelAlert` | `field/CancelAlert/` | — |
|
|
44
|
-
| `TextContent` | `field/TextContent/` | `content?` |
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Template Components
|
|
49
|
-
|
|
50
|
-
All extend `PConnProps`. Most receive React `children` or use `getPConnect().getChildren()`.
|
|
51
|
-
|
|
52
|
-
| Registry Name | File | Key Props |
|
|
53
|
-
|---------------|------|-----------|
|
|
54
|
-
| `OneColumn` | `template/OneColumn/OneColumn.tsx` | `children` |
|
|
55
|
-
| `OneColumnPage` | `template/OneColumn/OneColumnPage.tsx` | `children` |
|
|
56
|
-
| `OneColumnTab` | `template/OneColumn/OneColumnTab.tsx` | `children` |
|
|
57
|
-
| `TwoColumn` | `template/TwoColumn/TwoColumn.tsx` | `children, templateCol?` |
|
|
58
|
-
| `TwoColumnPage` | `template/TwoColumn/TwoColumnPage.tsx` | `children` |
|
|
59
|
-
| `TwoColumnTab` | `template/TwoColumn/TwoColumnTab.tsx` | `children` |
|
|
60
|
-
| `NarrowWide` | `template/NarrowWide/NarrowWide.tsx` | `children, templateCol?` |
|
|
61
|
-
| `WideNarrow` | `template/WideNarrow/WideNarrow.tsx` | `children, templateCol?` |
|
|
62
|
-
| `Details` | `template/Details/Details.tsx` | `children` |
|
|
63
|
-
| `DefaultForm` | `template/DefaultForm/` | PConnect children |
|
|
64
|
-
| `DefaultPage` | `template/DefaultPage/` | PConnect children |
|
|
65
|
-
| `CaseView` | `template/CaseView/` | PConnect children, `header?, subheader?` |
|
|
66
|
-
| `CaseSummary` | `template/CaseSummary/` | PConnect children |
|
|
67
|
-
| `Confirmation` | `template/Confirmation/` | `label?` |
|
|
68
|
-
| `SimpleTable` | `template/SimpleTable/SimpleTable.tsx` | `datasource?, fields?, label?` |
|
|
69
|
-
| `ListView` | `template/ListView/` | `datasource?, fields?` |
|
|
70
|
-
| `SubTabs` | `template/SubTabs/` | PConnect children |
|
|
71
|
-
| `AppShell` | `template/AppShell/AppShell.tsx` | PConnect children |
|
|
72
|
-
| `DataReference` | `template/DataReference/` | PConnect children |
|
|
73
|
-
| `ListPage` | `template/ListPage/ListPage.tsx` | PConnect children |
|
|
74
|
-
| `InlineDashboard` | `template/InlineDashboard/` | PConnect children |
|
|
75
|
-
| `FieldGroupTemplate` | `template/FieldGroupTemplate/` | PConnect children |
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## Widget Components
|
|
80
|
-
|
|
81
|
-
All extend `PConnProps`. Fetch their own data.
|
|
82
|
-
|
|
83
|
-
| Registry Name | File | Key Props |
|
|
84
|
-
|---------------|------|-----------|
|
|
85
|
-
| `Todo` | `widget/ToDo/` | `datasource?, headerText?, context?` |
|
|
86
|
-
| `Attachment` | `widget/Attachment/` | `value, allowMultiple?, extensions?` |
|
|
87
|
-
| `CaseHistory` | `widget/CaseHistory/` | `datasource?` |
|
|
88
|
-
| `FileUtility` | `widget/FileUtility/FileUtility.tsx` | `datasource?` |
|
|
89
|
-
| `Followers` | `widget/Followers/` | — |
|
|
90
|
-
| `AppAnnouncement` | `widget/AppAnnouncement/` | `datasource?, headerText?` |
|
|
91
|
-
| `QuickCreate` | `widget/QuickCreate/` | — |
|
|
92
|
-
| `SummaryItem` | `widget/SummaryItem/` | `label?, value?, actions?` |
|
|
93
|
-
| `SummaryList` | `widget/SummaryList/` | `datasource?` |
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## Design System Extension Components
|
|
98
|
-
|
|
99
|
-
| Registry Name | File | Key Props |
|
|
100
|
-
|---------------|------|-----------|
|
|
101
|
-
| `FieldValueList` | `designSystemExtension/FieldValueList/` | `name?, value?, variant?` |
|
|
102
|
-
| `AlertBanner` | `designSystemExtension/AlertBanner/` | `variant, heading?, messages, onClose?` |
|
|
103
|
-
| `Banner` | `designSystemExtension/Banner/` | `variant?, text?` |
|
|
104
|
-
| `CaseSummaryFields` | `designSystemExtension/CaseSummaryFields/` | PConnect-based |
|
|
105
|
-
| `DetailsFields` | `designSystemExtension/DetailsFields/` | PConnect-based |
|
|
106
|
-
| `FieldGroup` | `designSystemExtension/FieldGroup/` | PConnect-based |
|
|
107
|
-
| `FieldGroupList` | `designSystemExtension/FieldGroupList/` | PConnect-based |
|
|
108
|
-
| `Operator` | `designSystemExtension/Operator/` | `label?, name?, id?` |
|
|
109
|
-
| `Pulse` | `designSystemExtension/Pulse/` | PConnect-based |
|
|
110
|
-
| `RichTextEditor` | `designSystemExtension/RichTextEditor/` | extends `PConnFieldProps` |
|
|
111
|
-
| `WssQuickCreate` | `designSystemExtension/WssQuickCreate/` | — |
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## Infrastructure (from `sdkComponents` — do NOT replace)
|
|
116
|
-
|
|
117
|
-
| Registry Name | Source |
|
|
118
|
-
|---------------|--------|
|
|
119
|
-
| `RootContainer` | `@pega/sdk-react` |
|
|
120
|
-
| `ViewContainer` | `@pega/sdk-react` |
|
|
121
|
-
| `FlowContainer` | `@pega/sdk-react` |
|
|
122
|
-
| `Reference` | `@pega/sdk-react` |
|
|
123
|
-
| `View` | `@pega/sdk-react` |
|
|
124
|
-
| `Region` | `@pega/sdk-react` |
|
|
125
|
-
| `CaseView` (infra) | `@pega/sdk-react` |
|
|
126
|
-
| `Assignment` | `@pega/sdk-react` |
|
|
127
|
-
| `AssignmentCard` | `@pega/sdk-react` |
|
|
128
|
-
| `ActionButtons` | `@pega/sdk-react` |
|
|
129
|
-
| `CaseSummary` (infra) | `@pega/sdk-react` |
|
|
130
|
-
| `ErrorBoundary` | `@pega/sdk-react` |
|
|
131
|
-
| `MultiStep` | `@pega/sdk-react` |
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## Infra (sample-local, replaceable but exercise caution)
|
|
136
|
-
|
|
137
|
-
| Registry Name | File |
|
|
138
|
-
|---------------|------|
|
|
139
|
-
| `ActionButtons` | `infra/ActionButtons/` |
|
|
140
|
-
| `DeferLoad` | `infra/DeferLoad/` |
|
|
141
|
-
| `NavBar` | `infra/NavBar/` |
|
|
142
|
-
| `Stages` | `infra/Stages/` |
|
|
143
|
-
| `DashboardFilter` | `infra/DashboardFilter/` |
|
|
144
|
-
| `VerticalTabs` | `infra/VerticalTabs/VerticalTabs.tsx` |
|
|
145
|
-
| `LeftAlignVerticalTabs` | `infra/VerticalTabs/LeftAlignVerticalTabs.tsx` |
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: DSE component skill: AlertBanner
|
|
3
|
-
alwaysApply: false
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Skill: AlertBanner
|
|
7
|
-
|
|
8
|
-
Alert/notification banner that displays one or more messages with a severity variant and an optional dismiss button.
|
|
9
|
-
|
|
10
|
-
> **Prerequisite skill:** [`design-system-extension.md`](../design-system-extension.md) — covers architecture, props interface, styling patterns, and registration patterns common to ALL DSE components.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Component Purpose
|
|
15
|
-
|
|
16
|
-
Renders a visually-styled alert box tied to a Pega `variant` value (urgent, warning, success, info). When multiple messages are present, it shows a count badge in the title and lists items in a `<ul>`. A single message is rendered inline. The component optionally shows a close/dismiss button.
|
|
17
|
-
|
|
18
|
-
## Pega Metadata
|
|
19
|
-
|
|
20
|
-
- **Pega Name:** `AlertBanner`
|
|
21
|
-
- **Registration key:** `AlertBanner` (in `component-map.ts`)
|
|
22
|
-
- **Does NOT use `getPConnect`** — receives all data as direct props
|
|
23
|
-
|
|
24
|
-
## Props
|
|
25
|
-
|
|
26
|
-
| Prop | Type | Required | Description |
|
|
27
|
-
|------|------|----------|-------------|
|
|
28
|
-
| `id` | `string` | Yes | DOM id for the root wrapper element |
|
|
29
|
-
| `variant` | `string` | Yes | Alert variant: `'urgent'`, `'warning'`, `'success'`, `'info'` |
|
|
30
|
-
| `messages` | `Array<string \| { label?: string; description?: string }>` | Yes | One or more messages (string or structured object) |
|
|
31
|
-
| `onDismiss` | `function` (optional) | No | Dismiss/close handler; if provided, show a close button |
|
|
32
|
-
|
|
33
|
-
## Behavioral Contract
|
|
34
|
-
|
|
35
|
-
1. **Variant mapping:** Map the Pega `variant` string to a UI severity level and display label:
|
|
36
|
-
- `'urgent'` → severity `error`, label `'Error'`
|
|
37
|
-
- `'warning'` → severity `warning`, label `'Warning'`
|
|
38
|
-
- `'success'` → severity `success`, label `'Success'`
|
|
39
|
-
- `'info'` → severity `info`, label `'Info'`
|
|
40
|
-
- Unknown/missing variant → fall back to `info`
|
|
41
|
-
2. **Single message:** Render `renderMessage(messages[0])` inline (no title, no list).
|
|
42
|
-
3. **Multiple messages (`messages.length > 1`):**
|
|
43
|
-
- Render a title containing the display label (e.g., "Error") plus a circular count badge showing `messages.length`.
|
|
44
|
-
- Render messages as a `<ul>` with one `<li>` per message.
|
|
45
|
-
4. **`renderMessage(message)` logic:**
|
|
46
|
-
- If `message` is an object with a truthy `label`, render `<strong>{label}</strong> {description}`.
|
|
47
|
-
- If `message` is an object without a label, render `description` only.
|
|
48
|
-
- If `message` is a string with no colon (`:`), render it as plain text.
|
|
49
|
-
- If `message` is a string containing a colon, bold everything up to and including the colon, then render the rest as plain text.
|
|
50
|
-
5. **Dismiss button:** Only render the close button if `onDismiss` is provided.
|
|
51
|
-
6. **Root wrapper:** Wrap the alert in a `<div id={id}>`.
|
|
52
|
-
|
|
53
|
-
## Visual Specifications
|
|
54
|
-
|
|
55
|
-
Derived from `AlertBanner.css` and MUI Alert usage:
|
|
56
|
-
|
|
57
|
-
### Alert Container
|
|
58
|
-
|
|
59
|
-
| Property | Value |
|
|
60
|
-
|----------|-------|
|
|
61
|
-
| Variant | Outlined (border visible) |
|
|
62
|
-
| Border color | Driven by severity (error → red, warning → orange, success → green, info → blue) |
|
|
63
|
-
|
|
64
|
-
### Title Row (multiple messages only)
|
|
65
|
-
|
|
66
|
-
| Property | Value |
|
|
67
|
-
|----------|-------|
|
|
68
|
-
| Font weight | 700 |
|
|
69
|
-
| Font size | 1rem |
|
|
70
|
-
| Layout | `display: flex; align-items: center; gap: 0.25rem` |
|
|
71
|
-
|
|
72
|
-
### Count Badge
|
|
73
|
-
|
|
74
|
-
| Property | Value |
|
|
75
|
-
|----------|-------|
|
|
76
|
-
| Layout | `display: inline-flex; align-items: center; justify-content: center` |
|
|
77
|
-
| Min width | 1rem |
|
|
78
|
-
| Height | 1rem |
|
|
79
|
-
| Padding | `0 0.2rem` |
|
|
80
|
-
| Border radius | 999px (fully rounded / pill) |
|
|
81
|
-
| Font size | 0.6rem |
|
|
82
|
-
| Font weight | 700 |
|
|
83
|
-
| `urgent` background | `var(--app-error-dark-color)` |
|
|
84
|
-
| `warning` background | `var(--app-warning-color-dark)` |
|
|
85
|
-
| `success` background | `var(--stepper-completed-bg-color)` |
|
|
86
|
-
| `info` background | `var(--link-button-color)` |
|
|
87
|
-
| Badge text color | `#fff` (all variants) |
|
|
88
|
-
|
|
89
|
-
### Message List
|
|
90
|
-
|
|
91
|
-
| Property | Value |
|
|
92
|
-
|----------|-------|
|
|
93
|
-
| Margin | 0 |
|
|
94
|
-
| Padding left | 1.25rem |
|
|
95
|
-
|
|
96
|
-
**CSS-only implementation notes:**
|
|
97
|
-
- Wrap the entire component in a container `<div>` with `role="alert"`.
|
|
98
|
-
- Use CSS custom properties (`--app-error-dark-color`, etc.) for badge colors.
|
|
99
|
-
- For the outlined alert box: `border: 1px solid currentColor; border-radius: 4px; padding: 0.75rem 1rem`.
|
|
100
|
-
- Severity colors (for border and icon): error `#d32f2f`, warning `#ed6c02`, success `#2e7d32`, info `#0288d1`.
|
|
101
|
-
- Badge: `display: inline-flex; align-items: center; justify-content: center; min-width: 1rem; height: 1rem; padding: 0 0.2rem; border-radius: 999px; font-size: 0.6rem; font-weight: 700; color: #fff`.
|
|
102
|
-
- Left accent icon: use an SVG or Unicode symbol matching the severity (⚠, ✓, ℹ, ✕).
|
|
103
|
-
- Close button (if `onDismiss`): absolutely positioned top-right, `background: none; border: none; cursor: pointer; font-size: 1.25rem`.
|
|
104
|
-
- Message list: `margin: 0; padding-left: 1.25rem; list-style: disc`.
|
|
105
|
-
|
|
106
|
-
## Edge Cases & Special Logic
|
|
107
|
-
|
|
108
|
-
- If `variant` is not one of the four known values, default to `info` severity.
|
|
109
|
-
- If `messages` is an empty array, render nothing (or render the alert shell with no content).
|
|
110
|
-
- If `message.label` is falsy but `message.description` is set, render description without `<strong>`.
|
|
111
|
-
- If a string message has no colon, render it entirely as plain text (no bold).
|
|
112
|
-
- The colon-split only applies to the **first** colon in the string.
|
|
113
|
-
|
|
114
|
-
## Dependencies
|
|
115
|
-
|
|
116
|
-
- No Pega SDK imports required (no `getPConnect`)
|
|
117
|
-
- No helper utilities required
|
|
118
|
-
|
|
119
|
-
## Design System Mapping
|
|
120
|
-
|
|
121
|
-
**UI control type:** Alert / Notification banner with severity levels.
|
|
122
|
-
|
|
123
|
-
Listed design systems are examples only.
|
|
124
|
-
|
|
125
|
-
| Design System | Recommended Component |
|
|
126
|
-
|---|---|
|
|
127
|
-
| Default (CSS only) | `<div role="alert">` with severity border + inline close button |
|
|
128
|
-
| MUI | `<Alert variant='outlined' severity={severity} onClose={onDismiss}><AlertTitle>` |
|
|
129
|
-
| Ant Design | `<Alert type={type} message={title} description={…} closable banner />` |
|
|
130
|
-
| Chakra UI | `<Alert status={status}><AlertIcon /><AlertTitle /><AlertDescription /><CloseButton />` |
|
|
131
|
-
| Shadcn/ui | Custom `<Alert>` with `variant` prop |
|
|
132
|
-
|
|
133
|
-
When implementing in a specific design system, map the following:
|
|
134
|
-
- `variant='urgent'` → `severity/type/status='error'` or `'danger'`
|
|
135
|
-
- `variant='warning'` → `severity/type/status='warning'`
|
|
136
|
-
- `variant='success'` → `severity/type/status='success'`
|
|
137
|
-
- `variant='info'` → `severity/type/status='info'`
|
|
138
|
-
- `onDismiss` → `onClose` / `closable` / close button prop
|
|
139
|
-
- Multiple messages → render as a list inside the alert description area
|
|
140
|
-
- Badge count → render as a tag/badge chip next to the title
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: DSE component skill: Banner
|
|
3
|
-
alwaysApply: false
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Skill: Banner
|
|
7
|
-
|
|
8
|
-
Promotional/informational banner with a full-width background image hero section and a two-column content layout below it.
|
|
9
|
-
|
|
10
|
-
> **Prerequisite skill:** [`design-system-extension.md`](../design-system-extension.md) — covers architecture, props interface, styling patterns, and registration patterns common to ALL DSE components.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Component Purpose
|
|
15
|
-
|
|
16
|
-
Renders a visually rich banner composed of two parts:
|
|
17
|
-
1. **Hero section:** Full-width area with a background image, centered title and message text overlaid.
|
|
18
|
-
2. **Content columns:** Two adjustable-width columns below the hero, rendered from the `a` and `b` slot props. Column widths are controlled by the `variant` prop.
|
|
19
|
-
|
|
20
|
-
## Pega Metadata
|
|
21
|
-
|
|
22
|
-
- **Pega Name:** `Banner`
|
|
23
|
-
- **Registration key:** `Banner` (in `component-map.ts`)
|
|
24
|
-
- **Does NOT use `getPConnect`** — receives all data as direct props
|
|
25
|
-
|
|
26
|
-
## Props
|
|
27
|
-
|
|
28
|
-
| Prop | Type | Required | Description |
|
|
29
|
-
|------|------|----------|-------------|
|
|
30
|
-
| `a` | `ReactNode` | Yes | Content for the first (left/narrower) column |
|
|
31
|
-
| `b` | `ReactNode` | Yes | Content for the second (right/wider) column |
|
|
32
|
-
| `banner` | `object` | Yes | Banner metadata (see sub-props below) |
|
|
33
|
-
| `banner.title` | `string` | Yes | Title text displayed in the hero section |
|
|
34
|
-
| `banner.message` | `string` | Yes | Descriptive message text in the hero section |
|
|
35
|
-
| `banner.backgroundImage` | `string` | Yes | URL of the background image for the hero section |
|
|
36
|
-
| `banner.variant` | `any` | No | Unused internally (layout variant comes from top-level `variant`) |
|
|
37
|
-
| `banner.backgroundColor` | `any` | No | Unused internally |
|
|
38
|
-
| `banner.tintImage` | `any` | No | Unused internally |
|
|
39
|
-
| `variant` | `string` | Yes | Column layout: `'two-column'`, `'narrow-wide'`, or `'wide-narrow'` |
|
|
40
|
-
|
|
41
|
-
## Behavioral Contract
|
|
42
|
-
|
|
43
|
-
1. **Hero section:** Render a `<div>` with class `background-image-style` and the inline style `backgroundImage: url(${backgroundImage})`.
|
|
44
|
-
2. Inside the hero, render an overlay `<div>` with classes `background-style content`.
|
|
45
|
-
3. Inside the overlay, render `<h1 className='title'>{title}</h1>` and `<p className='message'>{message}</p>`.
|
|
46
|
-
4. **Column layout:** Below the hero, render a 12-column grid container with two columns:
|
|
47
|
-
- Column `a`: sized according to the variant (left/first column).
|
|
48
|
-
- Column `b`: sized according to the variant (right/second column).
|
|
49
|
-
5. **Variant column widths:**
|
|
50
|
-
- `'two-column'`: column A = 6/12, column B = 6/12 (equal split).
|
|
51
|
-
- `'narrow-wide'`: column A = 4/12, column B = 8/12.
|
|
52
|
-
- `'wide-narrow'`: column A = 8/12, column B = 4/12.
|
|
53
|
-
6. **Column A styles:** `padding: 1rem; background-color: var(--app-form-bg-color); border-radius: 16px; height: fit-content`.
|
|
54
|
-
7. **Column B styles:** `padding: 0rem 1rem` (no background).
|
|
55
|
-
8. **Outer wrapper:** `<div style={{ marginBottom: '2rem' }}>`.
|
|
56
|
-
|
|
57
|
-
## Layout Variants
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
two-column: [A 50%] [B 50%]
|
|
61
|
-
narrow-wide: [A 33%] [B 67%]
|
|
62
|
-
wide-narrow: [A 67%] [B 33%]
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Visual Specifications
|
|
66
|
-
|
|
67
|
-
Derived from `Banner.css`:
|
|
68
|
-
|
|
69
|
-
### Hero Section
|
|
70
|
-
|
|
71
|
-
| Property | Value |
|
|
72
|
-
|----------|-------|
|
|
73
|
-
| Margin left | -16px (bleeds to container edge) |
|
|
74
|
-
| Margin right | -16px |
|
|
75
|
-
| Height | `calc(19rem)` |
|
|
76
|
-
| Background size | cover |
|
|
77
|
-
| Background position | center center |
|
|
78
|
-
|
|
79
|
-
### Hero Overlay
|
|
80
|
-
|
|
81
|
-
| Property | Value |
|
|
82
|
-
|----------|-------|
|
|
83
|
-
| Background color | transparent |
|
|
84
|
-
| Color | `var(--banner-text-color)` |
|
|
85
|
-
| Width | 100% |
|
|
86
|
-
| Height | 100% |
|
|
87
|
-
| Text align | center |
|
|
88
|
-
| Display | flex |
|
|
89
|
-
| Flex direction | column |
|
|
90
|
-
| Justify content | center |
|
|
91
|
-
| Align items | center |
|
|
92
|
-
| Gap | `calc(0.5rem)` |
|
|
93
|
-
|
|
94
|
-
### Hero Title
|
|
95
|
-
|
|
96
|
-
| Property | Value |
|
|
97
|
-
|----------|-------|
|
|
98
|
-
| Margin | 0 |
|
|
99
|
-
| Font size | 1.728rem |
|
|
100
|
-
| Font weight | 600 |
|
|
101
|
-
|
|
102
|
-
### Hero Message
|
|
103
|
-
|
|
104
|
-
| Property | Value |
|
|
105
|
-
|----------|-------|
|
|
106
|
-
| Margin | 0 |
|
|
107
|
-
| Font size | 1rem |
|
|
108
|
-
| Font weight | 400 |
|
|
109
|
-
|
|
110
|
-
### Content Grid
|
|
111
|
-
|
|
112
|
-
| Property | Value |
|
|
113
|
-
|----------|-------|
|
|
114
|
-
| Padding | 1rem |
|
|
115
|
-
| Column spacing | 1 spacing unit (≈ 8px) |
|
|
116
|
-
|
|
117
|
-
**CSS-only implementation notes:**
|
|
118
|
-
- Hero: `margin: 0 -16px; height: 19rem; background-size: cover; background-position: center; position: relative`.
|
|
119
|
-
- Overlay: `position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0.5rem; color: var(--banner-text-color); text-align: center`.
|
|
120
|
-
- Content grid below hero: `display: grid; grid-template-columns: <a-cols>fr <b-cols>fr; gap: 8px; padding: 1rem`.
|
|
121
|
-
- Column A: `padding: 1rem; background-color: var(--app-form-bg-color); border-radius: 16px; height: fit-content`.
|
|
122
|
-
- Column B: `padding: 0 1rem`.
|
|
123
|
-
- For responsive behavior, collapse to single column on small viewports.
|
|
124
|
-
|
|
125
|
-
## Edge Cases & Special Logic
|
|
126
|
-
|
|
127
|
-
- If `backgroundImage` is an empty string or undefined, the hero section renders without a background image (transparent/color background).
|
|
128
|
-
- If `variant` is not one of the three known values, implement a safe default (e.g., `'two-column'`).
|
|
129
|
-
- The `banner.backgroundColor`, `banner.variant`, and `banner.tintImage` props are received but not rendered in the reference implementation.
|
|
130
|
-
|
|
131
|
-
## Dependencies
|
|
132
|
-
|
|
133
|
-
- No Pega SDK imports required (no `getPConnect`)
|
|
134
|
-
- No helper utilities required
|
|
135
|
-
|
|
136
|
-
## Design System Mapping
|
|
137
|
-
|
|
138
|
-
**UI control type:** Full-width banner hero with responsive two-column content area.
|
|
139
|
-
|
|
140
|
-
Listed design systems are examples only.
|
|
141
|
-
|
|
142
|
-
| Design System | Recommended Component |
|
|
143
|
-
|---|---|
|
|
144
|
-
| Default (CSS only) | CSS Grid for columns, CSS background for hero |
|
|
145
|
-
| MUI | `<Grid container size={12}>` with `<Grid size={{ xs: ... }}>` for columns |
|
|
146
|
-
| Ant Design | `<Row gutter={8}>` with `<Col span={...}>` for columns |
|
|
147
|
-
| Chakra UI | `<SimpleGrid columns={2}>` or `<Grid templateColumns='...'>` |
|
|
148
|
-
| Shadcn/ui | CSS Grid with Tailwind column utilities |
|
|
149
|
-
|
|
150
|
-
When implementing in a specific design system, map the following:
|
|
151
|
-
- `variant` column widths → grid column span values
|
|
152
|
-
- Background image hero → `backgroundImage` inline style with `background-size: cover`
|
|
153
|
-
- Column A (card-like) → design system's Card or `bg` prop with border-radius
|
|
154
|
-
- Column B (plain) → plain container with horizontal padding only
|