@pega/sdk 0.0.3 → 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/LICENSE +183 -183
- package/README.md +6 -6
- package/SECURITY.md +2 -1
- package/dist/index.js +299 -56
- package/package.json +7 -6
- package/templates/angular-sdk-reference/package.json +15 -15
- package/templates/angular-sdk-reference/tsconfig.json +2 -2
- package/templates/react-native-sdk-reference/App.tsx +2 -4
- package/templates/react-native-sdk-reference/expo-env.d.ts +3 -0
- package/templates/react-native-sdk-reference/package.json +6 -6
- package/templates/react-native-sdk-reference/tsconfig.json +2 -1
- package/templates/react-sdk-reference/.ai-common/agents/implementation-expert.md +132 -0
- 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} +9 -2
- package/templates/react-sdk-reference/{.github/instructions/dse-component.instructions.md → .ai-common/instructions/dse-component.md} +1 -1
- package/templates/react-sdk-reference/{.cursor/rules/field-component.mdrules → .ai-common/instructions/field-component.md} +6 -2
- package/templates/react-sdk-reference/{.github/instructions/template-component.instructions.md → .ai-common/instructions/template-component.md} +3 -2
- package/templates/react-sdk-reference/{.github/instructions/widget-component.instructions.md → .ai-common/instructions/widget-component.md} +2 -1
- package/templates/react-sdk-reference/.ai-common/prompts/add-component.md +219 -0
- package/templates/react-sdk-reference/.ai-common/prompts/component-manifest.json +199 -0
- package/templates/react-sdk-reference/.ai-common/prompts/generate-all-components.md +528 -0
- package/templates/react-sdk-reference/.ai-common/prompts/generate-dse-components.md +216 -0
- package/templates/react-sdk-reference/.ai-common/prompts/generate-field-components.md +239 -0
- package/templates/react-sdk-reference/.ai-common/prompts/generate-template-components.md +283 -0
- package/templates/react-sdk-reference/.ai-common/prompts/generate-widget-components.md +222 -0
- package/templates/react-sdk-reference/.ai-common/prompts/identify-components.md +109 -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/.ai-common/skills/design-system-extension-skills/AlertBanner.md +187 -0
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Banner.md +196 -0
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/CaseSummaryFields.md +213 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules → .ai-common/skills/design-system-extension-skills/DetailsFields.md} +81 -33
- package/templates/react-sdk-reference/{.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules → .ai-common/skills/design-system-extension-skills/FieldGroup.md} +82 -40
- package/templates/react-sdk-reference/{.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules → .ai-common/skills/design-system-extension-skills/FieldGroupList.md} +68 -28
- package/templates/react-sdk-reference/{.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules → .ai-common/skills/design-system-extension-skills/FieldValueList.md} +75 -31
- package/templates/react-sdk-reference/{.cursor/rules/skills/design-system-extension-skills/Operator.mdrules → .ai-common/skills/design-system-extension-skills/Operator.md} +99 -31
- package/templates/react-sdk-reference/{.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules → .ai-common/skills/design-system-extension-skills/Pulse.md} +37 -20
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/RichTextEditor.md +290 -0
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/WssQuickCreate.md +168 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/design-system-extension.mdrules → .ai-common/skills/design-system-extension.md} +14 -17
- package/templates/react-sdk-reference/{.cursor/rules/skills/field-components.mdrules → .ai-common/skills/field-components.md} +27 -14
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/AutoComplete.md +298 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/CancelAlert.md +340 -0
- 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/.ai-common/skills/field-skills/Decimal.md +198 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Dropdown.md +260 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Email.md +177 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/field-skills/Group.mdrules → .ai-common/skills/field-skills/Group.md} +72 -20
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Integer.md +169 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Location.md +250 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Multiselect.md +258 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/field-skills/ObjectReference.mdrules → .ai-common/skills/field-skills/ObjectReference.md} +101 -23
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Percentage.md +177 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Phone.md +210 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/RadioButtons.md +260 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/field-skills/RichText.mdrules → .ai-common/skills/field-skills/RichText.md} +108 -17
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/ScalarList.md +188 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/SelectableCard.md +286 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/field-skills/SemanticLink.mdrules → .ai-common/skills/field-skills/SemanticLink.md} +98 -32
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextArea.md +164 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/field-skills/TextContent.mdrules → .ai-common/skills/field-skills/TextContent.md} +66 -27
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextInput.md +174 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Time.md +156 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/URL.md +145 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/UserReference.md +293 -0
- package/templates/react-sdk-reference/.ai-common/skills/run-and-verify.md +70 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-components.mdrules → .ai-common/skills/template-components.md} +89 -64
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/AdvancedSearch.md +227 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/AppShell.md +273 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/BannerPage.mdrules → .ai-common/skills/template-skills/BannerPage.md} +58 -21
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseSummary.md +185 -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/.ai-common/skills/template-skills/Confirmation.md +198 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DataReference.md +174 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DefaultForm.md +221 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DefaultPage.md +161 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/Details.mdrules → .ai-common/skills/template-skills/Details.md} +78 -22
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules → .ai-common/skills/template-skills/DetailsSubTabs.md} +82 -25
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules → .ai-common/skills/template-skills/DetailsThreeColumn.md} +31 -22
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules → .ai-common/skills/template-skills/DetailsTwoColumn.md} +31 -22
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/DynamicTabs.mdrules → .ai-common/skills/template-skills/DynamicTabs.md} +82 -15
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/FieldGroupTemplate.md +231 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/HierarchicalForm.mdrules → .ai-common/skills/template-skills/HierarchicalForm.md} +63 -20
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/InlineDashboard.mdrules → .ai-common/skills/template-skills/InlineDashboard.md} +58 -18
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules → .ai-common/skills/template-skills/InlineDashboardPage.md} +66 -18
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/ListPage.mdrules → .ai-common/skills/template-skills/ListPage.md} +27 -12
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListView.md +419 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules → .ai-common/skills/template-skills/MultiReferenceReadOnly.md} +53 -16
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/NarrowWide.md +209 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/OneColumn.mdrules → .ai-common/skills/template-skills/OneColumn.md} +59 -25
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/PromotedFilters.md +222 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SelfServiceCaseView.md +198 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SimpleTable.md +190 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SingleReferenceReadOnly.md +160 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/SubTabs.mdrules → .ai-common/skills/template-skills/SubTabs.md} +61 -16
- package/templates/react-sdk-reference/{.cursor/rules/skills/template-skills/TwoColumn.mdrules → .ai-common/skills/template-skills/TwoColumn.md} +83 -37
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/WideNarrow.md +48 -46
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/WssNavBar.md +210 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/widget-components.mdrules → .ai-common/skills/widget-components.md} +12 -28
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/AppAnnouncement.md +121 -0
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/Attachment.md +209 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/widget-skills/CaseHistory.mdrules → .ai-common/skills/widget-skills/CaseHistory.md} +81 -20
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/FileUtility.md +273 -0
- package/templates/react-sdk-reference/{.cursor/rules/skills/widget-skills/Followers.mdrules → .ai-common/skills/widget-skills/Followers.md} +43 -24
- package/templates/react-sdk-reference/{.cursor/rules/skills/widget-skills/QuickCreate.mdrules → .ai-common/skills/widget-skills/QuickCreate.md} +68 -21
- package/templates/react-sdk-reference/{.cursor/rules/skills/widget-skills/SummaryItem.mdrules → .ai-common/skills/widget-skills/SummaryItem.md} +92 -29
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/ToDo.md +492 -0
- package/templates/react-sdk-reference/index.html +1 -4
- package/templates/react-sdk-reference/package.json +15 -15
- package/templates/react-sdk-reference/package.minimal.json +29 -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/AppSelector.tsx +6 -6
- package/templates/react-sdk-reference/src/FallbackComponent.tsx +2 -6
- package/templates/react-sdk-reference/src/MashupApp.styles.ts +269 -41
- package/templates/react-sdk-reference/src/MashupApp.tsx +194 -104
- package/templates/react-sdk-reference/src/PortalApp.tsx +15 -50
- package/templates/react-sdk-reference/src/components/component-map.ts +2 -7
- package/templates/react-sdk-reference/src/components/designSystemExtension/AlertBanner/AlertBanner.tsx +7 -28
- package/templates/react-sdk-reference/src/components/designSystemExtension/Banner/Banner.tsx +12 -7
- package/templates/react-sdk-reference/src/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +35 -33
- package/templates/react-sdk-reference/src/components/designSystemExtension/DetailsFields/DetailsFields.tsx +6 -27
- package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroup/FieldGroup.tsx +15 -11
- package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx +7 -7
- package/templates/react-sdk-reference/src/components/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -12
- package/templates/react-sdk-reference/src/components/designSystemExtension/Operator/Operator.tsx +27 -25
- package/templates/react-sdk-reference/src/components/designSystemExtension/Pulse/Pulse.tsx +4 -4
- package/templates/react-sdk-reference/src/components/designSystemExtension/RichTextEditor/RichTextEditor.tsx +8 -40
- package/templates/react-sdk-reference/src/components/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +9 -9
- package/templates/react-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +26 -20
- package/templates/react-sdk-reference/src/components/field/CancelAlert/CancelAlert.tsx +35 -17
- package/templates/react-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +27 -25
- package/templates/react-sdk-reference/src/components/field/Currency/Currency.tsx +10 -6
- package/templates/react-sdk-reference/src/components/field/Currency/currency-utils.ts +1 -1
- package/templates/react-sdk-reference/src/components/field/Date/Date.tsx +20 -7
- package/templates/react-sdk-reference/src/components/field/DateTime/DateTime.tsx +23 -8
- package/templates/react-sdk-reference/src/components/field/Decimal/Decimal.tsx +5 -5
- package/templates/react-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +45 -25
- package/templates/react-sdk-reference/src/components/field/Email/Email.tsx +8 -8
- package/templates/react-sdk-reference/src/components/field/Group/Group.tsx +1 -1
- package/templates/react-sdk-reference/src/components/field/Integer/Integer.tsx +5 -5
- package/templates/react-sdk-reference/src/components/field/Location/Location.tsx +21 -16
- package/templates/react-sdk-reference/src/components/field/Multiselect/Multiselect.tsx +42 -27
- package/templates/react-sdk-reference/src/components/field/Multiselect/utils.ts +43 -29
- package/templates/react-sdk-reference/src/components/field/ObjectReference/ObjectReference.tsx +53 -30
- package/templates/react-sdk-reference/src/components/field/ObjectReference/utils.ts +12 -11
- package/templates/react-sdk-reference/src/components/field/Percentage/Percentage.tsx +6 -6
- package/templates/react-sdk-reference/src/components/field/Phone/Phone.tsx +12 -12
- package/templates/react-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +38 -16
- package/templates/react-sdk-reference/src/components/field/RichText/RichText.tsx +17 -4
- package/templates/react-sdk-reference/src/components/field/ScalarList/ScalarList.tsx +5 -5
- package/templates/react-sdk-reference/src/components/field/SelectableCard/SelectableCard.tsx +31 -18
- package/templates/react-sdk-reference/src/components/field/SelectableCard/utils.tsx +28 -20
- package/templates/react-sdk-reference/src/components/field/SemanticLink/SemanticLink.tsx +28 -19
- package/templates/react-sdk-reference/src/components/field/SemanticLink/utils.ts +3 -1
- package/templates/react-sdk-reference/src/components/field/TextArea/TextArea.tsx +4 -4
- package/templates/react-sdk-reference/src/components/field/TextInput/TextInput.tsx +4 -4
- package/templates/react-sdk-reference/src/components/field/Time/Time.tsx +20 -7
- package/templates/react-sdk-reference/src/components/field/URL/URL.tsx +7 -7
- package/templates/react-sdk-reference/src/components/field/UserReference/UserReference.tsx +14 -14
- package/templates/react-sdk-reference/src/components/field/UserReference/UserReferenceUtils.ts +2 -2
- package/templates/react-sdk-reference/src/components/helpers/case-utils.tsx +5 -5
- package/templates/react-sdk-reference/src/components/helpers/data_page.ts +3 -3
- package/templates/react-sdk-reference/src/components/helpers/date-format-utils.ts +5 -5
- package/templates/react-sdk-reference/src/components/helpers/field-group-utils.ts +2 -7
- package/templates/react-sdk-reference/src/components/helpers/formatters/Boolean.ts +9 -3
- package/templates/react-sdk-reference/src/components/helpers/formatters/Currency.ts +18 -6
- package/templates/react-sdk-reference/src/components/helpers/formatters/CurrencyMap.ts +168 -168
- package/templates/react-sdk-reference/src/components/helpers/formatters/Date.ts +5 -5
- package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +8 -5
- package/templates/react-sdk-reference/src/components/helpers/instructions-utils.ts +2 -2
- package/templates/react-sdk-reference/src/components/helpers/simpleTableHelpers.ts +54 -30
- package/templates/react-sdk-reference/src/components/helpers/state-utils.tsx +5 -2
- package/templates/react-sdk-reference/src/components/helpers/template-utils.ts +5 -4
- package/templates/react-sdk-reference/src/components/helpers/utils.ts +3 -3
- package/templates/react-sdk-reference/src/components/helpers/versionHelpers.ts +3 -1
- package/templates/react-sdk-reference/src/components/index.ts +1 -4
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/AdvancedSearch.tsx +18 -10
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroup/persistUtils.ts +3 -3
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +26 -90
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/hooks.ts +8 -5
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/utils.ts +8 -4
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/TemplateContext.ts +1 -1
- package/templates/react-sdk-reference/src/components/template/AppShell/AppShell.tsx +28 -19
- package/templates/react-sdk-reference/src/components/template/BannerPage/BannerPage.tsx +2 -2
- package/templates/react-sdk-reference/src/components/template/CaseSummary/CaseSummary.tsx +5 -5
- package/templates/react-sdk-reference/src/components/template/CaseView/CaseView.tsx +35 -16
- package/templates/react-sdk-reference/src/components/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +10 -10
- package/templates/react-sdk-reference/src/components/template/Confirmation/Confirmation.tsx +12 -26
- package/templates/react-sdk-reference/src/components/template/DataReference/DataReference.tsx +41 -124
- package/templates/react-sdk-reference/src/components/template/DataReference/DataReferenceAdvancedSearchContext.ts +2 -2
- package/templates/react-sdk-reference/src/components/template/DataReference/SearchForm.tsx +18 -78
- package/templates/react-sdk-reference/src/components/template/DataReference/utils.ts +18 -12
- package/templates/react-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +4 -12
- package/templates/react-sdk-reference/src/components/template/DefaultForm/utils/index.ts +3 -3
- package/templates/react-sdk-reference/src/components/template/DefaultPage/DefaultPage.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/Details/Details/Details.tsx +6 -8
- package/templates/react-sdk-reference/src/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +7 -14
- package/templates/react-sdk-reference/src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +7 -14
- package/templates/react-sdk-reference/src/components/template/Details/DynamicTabs/DynamicTabs.tsx +16 -8
- package/templates/react-sdk-reference/src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx +7 -4
- package/templates/react-sdk-reference/src/components/template/HierarchicalForm/HierarchicalForm.tsx +20 -5
- package/templates/react-sdk-reference/src/components/template/HierarchicalForm/hooks.ts +35 -77
- package/templates/react-sdk-reference/src/components/template/InlineDashboard/InlineDashboard.tsx +10 -10
- package/templates/react-sdk-reference/src/components/template/ListView/DefaultViewMeta.ts +31 -31
- package/templates/react-sdk-reference/src/components/template/ListView/ListView.tsx +173 -133
- package/templates/react-sdk-reference/src/components/template/ListView/hooks.ts +17 -10
- package/templates/react-sdk-reference/src/components/template/ListView/utils.ts +64 -51
- package/templates/react-sdk-reference/src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +6 -6
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWide/NarrowWide.tsx +6 -6
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +8 -18
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +7 -1
- package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumn/OneColumn.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumnTab/OneColumnTab.tsx +1 -1
- package/templates/react-sdk-reference/src/components/template/PromotedFilters/PromotedFilters.tsx +13 -40
- package/templates/react-sdk-reference/src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx +19 -16
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTable/SimpleTable.tsx +8 -7
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +84 -203
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +15 -5
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.tsx +15 -29
- package/templates/react-sdk-reference/src/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +7 -7
- package/templates/react-sdk-reference/src/components/template/SubTabs/SubTabs.tsx +1 -1
- package/templates/react-sdk-reference/src/components/template/SubTabs/tabUtils.ts +13 -11
- package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumn/TwoColumn.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrow/WideNarrow.tsx +6 -6
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +13 -24
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +7 -1
- package/templates/react-sdk-reference/src/components/template/WssNavBar/WssNavBar.tsx +25 -25
- package/templates/react-sdk-reference/src/components/template/utils.tsx +6 -6
- package/templates/react-sdk-reference/src/components/widget/AppAnnouncement/AppAnnouncement.tsx +9 -9
- package/templates/react-sdk-reference/src/components/widget/Attachment/Attachment.tsx +125 -79
- package/templates/react-sdk-reference/src/components/widget/Attachment/AttachmentUtils.ts +58 -33
- package/templates/react-sdk-reference/src/components/widget/CaseHistory/CaseHistory.tsx +14 -12
- package/templates/react-sdk-reference/src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -7
- package/templates/react-sdk-reference/src/components/widget/FileUtility/FileUtility/FileUtility.tsx +137 -107
- package/templates/react-sdk-reference/src/components/widget/Followers/Followers.tsx +4 -4
- package/templates/react-sdk-reference/src/components/widget/QuickCreate/QuickCreate.tsx +15 -11
- package/templates/react-sdk-reference/src/components/widget/SummaryItem/SummaryItem.tsx +25 -18
- package/templates/react-sdk-reference/src/components/widget/SummaryList/SummaryList.tsx +7 -2
- package/templates/react-sdk-reference/src/components/widget/ToDo/ToDo.tsx +30 -116
- package/templates/react-sdk-reference/src/main.tsx +1 -1
- package/templates/react-sdk-reference/tsconfig.json +2 -1
- package/templates/react-sdk-reference/vite.config.ts +51 -26
- package/templates/wc-sdk-reference/package.json +3 -3
- package/templates/wc-sdk-reference/src/index.ts +10 -10
- package/templates/wc-sdk-reference/tsconfig.json +1 -0
- 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 -71
- package/templates/react-sdk-reference/.claude/instructions/template-component.md +0 -92
- package/templates/react-sdk-reference/.claude/instructions/widget-component.md +0 -87
- package/templates/react-sdk-reference/.claude/prompts/add-component.md +0 -144
- package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +0 -111
- package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +0 -149
- package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +0 -126
- package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +0 -139
- package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +0 -151
- package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +0 -124
- package/templates/react-sdk-reference/.claude/prompts/identify-components.md +0 -105
- 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 -135
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +0 -149
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +0 -154
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +0 -144
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +0 -131
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +0 -111
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +0 -115
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +0 -149
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +0 -83
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +0 -206
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +0 -135
- package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +0 -289
- package/templates/react-sdk-reference/.claude/skills/field-components.md +0 -294
- package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +0 -112
- package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +0 -203
- package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +0 -158
- package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +0 -106
- package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +0 -99
- package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +0 -103
- package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +0 -98
- package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +0 -114
- package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +0 -107
- package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +0 -90
- package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +0 -87
- package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +0 -136
- package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +0 -164
- package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +0 -164
- package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +0 -92
- package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +0 -110
- package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +0 -146
- package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +0 -138
- package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +0 -124
- package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +0 -216
- package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +0 -148
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +0 -96
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +0 -101
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +0 -104
- package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +0 -88
- package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +0 -85
- package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +0 -180
- package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +0 -68
- package/templates/react-sdk-reference/.claude/skills/template-components.md +0 -322
- package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +0 -144
- package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +0 -122
- package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +0 -83
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +0 -100
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +0 -131
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +0 -126
- package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +0 -107
- package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +0 -120
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +0 -102
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +0 -110
- package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +0 -88
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +0 -95
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +0 -78
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +0 -78
- package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +0 -101
- package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +0 -109
- package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +0 -113
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +0 -104
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +0 -85
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +0 -68
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +0 -139
- package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +0 -80
- package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +0 -141
- package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +0 -109
- package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +0 -124
- package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +0 -135
- package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +0 -127
- package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +0 -103
- package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +0 -79
- package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +0 -131
- package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +0 -135
- package/templates/react-sdk-reference/.claude/skills/widget-components.md +0 -271
- package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +0 -82
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +0 -146
- package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +0 -107
- package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +0 -200
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +0 -99
- package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +0 -114
- package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +0 -167
- package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +0 -190
- 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/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 -111
- 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/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/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/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/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/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/TextArea.mdrules +0 -101
- 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-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/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/FieldGroupTemplate.mdrules +0 -114
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +0 -144
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +0 -146
- 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/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-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/FileUtility.mdrules +0 -205
- 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/instructions/field-component.instructions.md +0 -73
- package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +0 -149
- package/templates/react-sdk-reference/.github/prompts/component-manifest.json +0 -111
- package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +0 -154
- package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +0 -131
- package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +0 -144
- package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +0 -156
- package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +0 -129
- 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/AlertBanner.md +0 -135
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +0 -149
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +0 -154
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +0 -144
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +0 -131
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +0 -111
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +0 -115
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +0 -149
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +0 -83
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +0 -206
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +0 -135
- package/templates/react-sdk-reference/.github/skills/design-system-extension.md +0 -289
- package/templates/react-sdk-reference/.github/skills/field-components.md +0 -294
- package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +0 -112
- package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +0 -203
- package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +0 -158
- package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +0 -106
- package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +0 -99
- package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +0 -103
- package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +0 -98
- package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +0 -114
- package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +0 -107
- package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +0 -90
- package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +0 -87
- package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +0 -136
- package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +0 -164
- package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +0 -164
- package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +0 -92
- package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +0 -110
- package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +0 -146
- package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +0 -138
- package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +0 -124
- package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +0 -216
- package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +0 -148
- package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +0 -96
- package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +0 -101
- package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +0 -104
- package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +0 -88
- package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +0 -85
- package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +0 -180
- package/templates/react-sdk-reference/.github/skills/run-and-verify.md +0 -68
- package/templates/react-sdk-reference/.github/skills/template-components.md +0 -322
- package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +0 -144
- package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +0 -122
- package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +0 -83
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +0 -100
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +0 -131
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +0 -126
- package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +0 -107
- package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +0 -120
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +0 -102
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +0 -110
- package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +0 -88
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +0 -95
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +0 -78
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +0 -78
- package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +0 -101
- package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +0 -109
- package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +0 -113
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +0 -104
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +0 -85
- package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +0 -68
- package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +0 -139
- package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md +0 -80
- package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +0 -141
- package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +0 -109
- package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +0 -124
- package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +0 -135
- package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +0 -127
- package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +0 -103
- package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +0 -79
- package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +0 -131
- package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +0 -150
- package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +0 -135
- package/templates/react-sdk-reference/.github/skills/widget-components.md +0 -271
- package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +0 -82
- package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +0 -146
- package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +0 -107
- package/templates/react-sdk-reference/.github/skills/widget-skills/FileUtility.md +0 -200
- package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +0 -99
- package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +0 -114
- package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +0 -167
- package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +0 -190
- package/templates/react-sdk-reference/AGENTS.md +0 -247
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
---
|
|
2
|
+
ai-description: Generate all (or a subset of) template components using any design system
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Step 0 — Resolve inputs
|
|
6
|
+
|
|
7
|
+
Read the user's message carefully. Extract:
|
|
8
|
+
|
|
9
|
+
- **Design system** — the UI library to use (e.g. `Ant Design`, `Chakra UI`, `Carbon`, `Radix UI`)
|
|
10
|
+
- **Output base path** — the folder where template components should be generated (e.g. `src/components/template/`)
|
|
11
|
+
- **Component list** — which templates to generate (default: all 32 listed below)
|
|
12
|
+
|
|
13
|
+
Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `{{AI_FILE_EXT}}` files, existing folders, or any other source.
|
|
14
|
+
|
|
15
|
+
⛔ **STOP** — If the user's message does not explicitly state BOTH the design system AND the output path, ask for the missing items now. Do not proceed to Step 1 until you have explicit answers from the user for all required inputs.
|
|
16
|
+
|
|
17
|
+
Example questions (ask only the ones that are actually missing):
|
|
18
|
+
|
|
19
|
+
1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
|
|
20
|
+
2. Where should the template components be generated? (e.g. `src/components/template/`)
|
|
21
|
+
|
|
22
|
+
> **Note:** The design system applies only to **layout templates** (TwoColumn, OneColumn, NarrowWide, WideNarrow, and their sub-variants). Form templates and page templates use the PConnect bridge pattern and are design-system agnostic — they will be generated without DS primitives regardless of your choice.
|
|
23
|
+
|
|
24
|
+
If the user specified a subset (e.g., "just TwoColumn and OneColumn"), restrict the list accordingly.
|
|
25
|
+
|
|
26
|
+
Once both are known, continue to Step 1.
|
|
27
|
+
|
|
28
|
+
### Full component list (default — 32 templates)
|
|
29
|
+
|
|
30
|
+
| Component | Category |
|
|
31
|
+
| ----------------------- | ---------- |
|
|
32
|
+
| AdvancedSearch | Page |
|
|
33
|
+
| AppShell | Page |
|
|
34
|
+
| BannerPage | Page |
|
|
35
|
+
| CaseSummary | Page |
|
|
36
|
+
| CaseView | Page |
|
|
37
|
+
| CaseViewActionsMenu | Widget |
|
|
38
|
+
| Confirmation | Page |
|
|
39
|
+
| DataReference | Form |
|
|
40
|
+
| DefaultForm | Form |
|
|
41
|
+
| DefaultPage | Page |
|
|
42
|
+
| Details | Layout |
|
|
43
|
+
| DetailsSubTabs | Layout |
|
|
44
|
+
| DetailsThreeColumn | Layout |
|
|
45
|
+
| DetailsTwoColumn | Layout |
|
|
46
|
+
| DynamicTabs | Navigation |
|
|
47
|
+
| FieldGroupTemplate | Form |
|
|
48
|
+
| HierarchicalForm | Form |
|
|
49
|
+
| InlineDashboard | Page |
|
|
50
|
+
| InlineDashboardPage | Page |
|
|
51
|
+
| ListPage | Page |
|
|
52
|
+
| ListView | Page |
|
|
53
|
+
| MultiReferenceReadOnly | Display |
|
|
54
|
+
| NarrowWide | Layout |
|
|
55
|
+
| OneColumn | Layout |
|
|
56
|
+
| PromotedFilters | Widget |
|
|
57
|
+
| SelfServiceCaseView | Page |
|
|
58
|
+
| SimpleTable | Table |
|
|
59
|
+
| SingleReferenceReadOnly | Display |
|
|
60
|
+
| SubTabs | Navigation |
|
|
61
|
+
| TwoColumn | Layout |
|
|
62
|
+
| WideNarrow | Layout |
|
|
63
|
+
| WssNavBar | Navigation |
|
|
64
|
+
| SearchForm | Form |
|
|
65
|
+
| SearchGroups | Form |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Step 1 — Read `template-components.md` (once, for the entire session)
|
|
70
|
+
|
|
71
|
+
Read the full contents of `{{SKILL_DIR}}/template-components.md`.
|
|
72
|
+
|
|
73
|
+
This gives you:
|
|
74
|
+
|
|
75
|
+
- **Layout template pattern** — DS-agnostic grid skeleton with `// [DS GRID]` placeholder; `templateCol` parsing logic; responsive behavior rules
|
|
76
|
+
- **Design System Adaptation section** — how to map the chosen DS's grid/flex primitive to the computed column ratios
|
|
77
|
+
- **Form template pattern** — PConnect bridge via `connectToState` HOC wrapping `PConnectComponent`; `utils/index.ts` with `mapStateToProps`; no DS involved
|
|
78
|
+
- **Page template pattern** — region extraction via `getRawMetadata()` and PConnect bridge; complex PCore API interactions; no DS involved
|
|
79
|
+
- Registration conventions and helper utilities
|
|
80
|
+
|
|
81
|
+
Keep this context active throughout the entire generation session. Do not re-read it per component.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Step 2 — Install and discover the design system (once)
|
|
86
|
+
|
|
87
|
+
### 2a — Check and install the DS package
|
|
88
|
+
|
|
89
|
+
Run this command in your terminal:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
cat package.json | grep "<design-system-package>"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
If the design system package is **not** listed in `dependencies` or `devDependencies`, install it:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
npm install <design-system-package>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Also install any peer dependencies documented in the package's README. Report what was installed.
|
|
102
|
+
|
|
103
|
+
### 2a.1 — Install the DS styles package and configure global CSS (MANDATORY)
|
|
104
|
+
|
|
105
|
+
Design systems require their global stylesheet — without it, components render unstyled.
|
|
106
|
+
|
|
107
|
+
#### Known DS style requirements (examples — verify from README for exact paths):
|
|
108
|
+
|
|
109
|
+
| Design System | Styles Package (example) | CSS Import in `src/main.tsx` (example) | Provider Wrapper (example) |
|
|
110
|
+
| ------------- | ------------------------ | ---------------------------------------- | -------------------------- |
|
|
111
|
+
| Carbon | `@carbon/styles` | `import '@carbon/react/css/styles.css';` | `<Theme>` |
|
|
112
|
+
| Ant Design | (included) | `import 'antd/dist/reset.css';` | `<ConfigProvider>` |
|
|
113
|
+
| Radix Themes | `@radix-ui/themes` | `import '@radix-ui/themes/styles.css';` | `<Theme>` |
|
|
114
|
+
| Chakra UI | (included) | (none — runtime) | `<ChakraProvider>` |
|
|
115
|
+
| Shadcn/ui | (Tailwind) | `import './globals.css';` | None |
|
|
116
|
+
| MUI | (included) | (none — CSS-in-JS) | `<ThemeProvider>` |
|
|
117
|
+
|
|
118
|
+
These are **examples** based on common versions. Always verify the exact import path and provider name from the installed package's README (`node_modules/<ds>/README.md`).
|
|
119
|
+
|
|
120
|
+
If in table: install styles package (if separate), add CSS import as **first import** in `src/main.tsx`, add Provider in `src/AppProviders.tsx`.
|
|
121
|
+
If not in table: check README and `find node_modules/<ds> -name "*.css" -path "*/dist/*" | head -5`.
|
|
122
|
+
|
|
123
|
+
Verification: `grep -n "import.*css\|import.*styles" src/main.tsx` must return a result. Do NOT proceed until confirmed.
|
|
124
|
+
|
|
125
|
+
Report what was installed and configured.
|
|
126
|
+
|
|
127
|
+
> You only need layout-related DS components. Form and page templates do not use the DS.
|
|
128
|
+
|
|
129
|
+
Run these commands to discover the actual API (do NOT rely on training knowledge):
|
|
130
|
+
|
|
131
|
+
1. Read the README for correct import paths and usage patterns:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
cat node_modules/<designSystem>/README.md
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
2. List every exported component — focus on layout primitives (Grid, Columns, Flex, SimpleGrid, Row, Col):
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
grep "^export" node_modules/<designSystem>/dist/index.d.ts 2>/dev/null || grep -rl "^export" node_modules/<designSystem> --include="index.d.ts" | head -3 | xargs grep "^export"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
3. For every grid/layout component you plan to use, read its prop interface:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
find node_modules/<designSystem> -name "Grid.d.ts" -o -name "Col.d.ts" -o -name "Flex.d.ts" | head -5
|
|
147
|
+
grep -A 40 "interface.*Props" <path-from-above>
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
4. Note **responsive breakpoint APIs** and **column sizing conventions** (e.g., 12-column grid, fractional units, span props).
|
|
151
|
+
|
|
152
|
+
Only use component names and prop names confirmed in these files.
|
|
153
|
+
|
|
154
|
+
Build a **DS layout API reference** from this discovery. Reuse it for every layout template — do not repeat these commands per component.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Step 3 — Overwrite check (all at once)
|
|
159
|
+
|
|
160
|
+
For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
|
|
161
|
+
|
|
162
|
+
If **any** exist, report them all at once and ask:
|
|
163
|
+
|
|
164
|
+
> "The following N components already exist: [list]. How should I proceed?
|
|
165
|
+
>
|
|
166
|
+
> - **Overwrite all** — replace all existing implementations
|
|
167
|
+
> - **Skip existing** — only generate components that don't exist yet
|
|
168
|
+
> - **Cancel** — stop without generating anything"
|
|
169
|
+
|
|
170
|
+
Wait for the user's answer before proceeding. If none exist, continue immediately.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Step 4 — Generate each component (loop)
|
|
175
|
+
|
|
176
|
+
For each component in the resolved list (in the order listed in Step 0):
|
|
177
|
+
|
|
178
|
+
### 4a — Read the component-specific skill file (MANDATORY — do not skip)
|
|
179
|
+
|
|
180
|
+
Read the file `{{SKILL_DIR}}/template-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component — do not rely solely on the general `template-components.md`.
|
|
181
|
+
|
|
182
|
+
After reading, extract and keep active:
|
|
183
|
+
|
|
184
|
+
- **Template category** — Layout (uses DS grid from Step 2) | Form (PConnect bridge + CSS) | Page (region extraction + PConnect bridge)
|
|
185
|
+
- **Behavioral Contract** — sub-variants, region handling, slot rendering logic
|
|
186
|
+
- **Design System Mapping** table — the recommended DS layout primitive (for Layout templates only)
|
|
187
|
+
|
|
188
|
+
If no skill file exists at that path, use the general pattern from `template-components.md` loaded in Step 1.
|
|
189
|
+
|
|
190
|
+
⚠️ The general skill file (`template-components.md`) provides the pattern skeletons. The component-specific skill file provides the **exact region structure, sub-variant keys, and rendering logic**. Both are needed — generating from only the general skill will produce templates with wrong region counts or missing sub-variant registrations.
|
|
191
|
+
|
|
192
|
+
### 4b — Generate the component files
|
|
193
|
+
|
|
194
|
+
Create the directory `<outputPath>/<ComponentName>/`.
|
|
195
|
+
|
|
196
|
+
Create `<ComponentName>.tsx` using the structure matching the template category from `template-components.md` (loaded in Step 1):
|
|
197
|
+
|
|
198
|
+
- **Layout**: `PropsWithChildren` + `templateCol` parsing (split on whitespace, strip units, compute ratios) + DS grid/flex from Step 2 rendering children in computed column ratios. On mobile: columns must stack to full width.
|
|
199
|
+
- **Form**: Use the `connectToState` HOC pattern from the skill file. Each child field MUST be wrapped in `connectToState(mapStateToProps)` for Redux store subscription. Plain `createElement(PConnectComponent, ...)` without `connectToState` will cause fields to NOT render. Also create `utils/index.ts` with `mapStateToProps` and `getKeyForMappedField`.
|
|
200
|
+
- **Page**: The generated component MUST include ALL props, side effects, PCore API calls, useEffect hooks, and state management from the skill file's Component Skeleton. Page templates are complex — they interact with PCore APIs and infrastructure components. NEVER simplify a Page template to a single return statement or a pass-through wrapper.
|
|
201
|
+
|
|
202
|
+
⚠️ **CRITICAL RULE for Form and Page templates:** The component-specific skill file's Component Skeleton is the **minimum implementation**. You must include every `useState`, `useEffect`, `getComponentFromRegistry`, `PCore.*` call, helper function, and utility import shown in that skeleton. If your generated output is significantly shorter than the skeleton, you have over-simplified and MUST add the missing logic.
|
|
203
|
+
|
|
204
|
+
Apply the Behavioral Contract from the component skill file (sub-variants, region handling, slot logic).
|
|
205
|
+
|
|
206
|
+
Create `index.tsx` if required by the skill file:
|
|
207
|
+
|
|
208
|
+
```typescript
|
|
209
|
+
export { default } from './<ComponentName>';
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Create any CSS file required by the skill file (e.g., `DefaultForm.css` with grid classes).
|
|
213
|
+
|
|
214
|
+
Create any `utils/` or helper files mandated by the skill file (e.g., `utils/index.ts` for DefaultForm).
|
|
215
|
+
|
|
216
|
+
### 4b.1 — Post-generation verification (MANDATORY for Form and Page templates)
|
|
217
|
+
|
|
218
|
+
After generating each Form or Page template, verify:
|
|
219
|
+
|
|
220
|
+
1. **Form templates:** `connectToState` is imported and used; `mapStateToProps` + `getKeyForMappedField` are in `utils/index.ts`; each child field uses the `<Child key={getKeyForMappedField(kid)} {...kid} />` pattern.
|
|
221
|
+
2. **Page templates:** All props listed in the skill file's Props table are destructured; all `getComponentFromRegistry()` lookups from the skeleton are present; all `useEffect` hooks from the skeleton are present; all PCore API calls (`PCore.getEnvironmentInfo()`, `PCore.getPubSubUtils()`, etc.) from the skeleton are present; infrastructure components (NavBar, VerticalTabs, DeferLoad, etc.) receive ALL required props from the skeleton.
|
|
222
|
+
3. **Both:** The generated file is NOT a single-line return. If the skill file skeleton is 50+ lines, your output should be comparable in length.
|
|
223
|
+
|
|
224
|
+
If any check fails, revise the generated output before proceeding.
|
|
225
|
+
|
|
226
|
+
### 4b.2 — Create sub-variant files (MANDATORY for Layout templates)
|
|
227
|
+
|
|
228
|
+
⛔ **Do NOT skip this step.** Without sub-variants, portal pages and tabs won't render column layouts.
|
|
229
|
+
|
|
230
|
+
After generating **TwoColumn**, **OneColumn**, **NarrowWide**, or **WideNarrow**, you MUST immediately create these additional files in the same directory:
|
|
231
|
+
|
|
232
|
+
| Base template | Sub-variant files to create |
|
|
233
|
+
| ------------- | ------------------------------------------------------------------- |
|
|
234
|
+
| TwoColumn | `TwoColumnPage.tsx`, `TwoColumnTab.tsx` |
|
|
235
|
+
| OneColumn | `OneColumnPage.tsx`, `OneColumnTab.tsx` |
|
|
236
|
+
| NarrowWide | `NarrowWideForm.tsx`, `NarrowWidePage.tsx` |
|
|
237
|
+
| WideNarrow | `WideNarrowDetails.tsx`, `WideNarrowForm.tsx`, `WideNarrowPage.tsx` |
|
|
238
|
+
|
|
239
|
+
Each sub-variant is a one-line passthrough that delegates to the base component via the registry:
|
|
240
|
+
|
|
241
|
+
```typescript
|
|
242
|
+
import { getComponentFromRegistry } from '@pega/sdk-react';
|
|
243
|
+
import type { PConnProps } from '@pega/sdk-react';
|
|
244
|
+
|
|
245
|
+
export default function TwoColumnPage(props: PConnProps & Record<string, any>) {
|
|
246
|
+
const TwoColumn = getComponentFromRegistry('TwoColumn');
|
|
247
|
+
return <TwoColumn {...props} />;
|
|
248
|
+
}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
Replace `TwoColumnPage`/`TwoColumn` with the appropriate names for each sub-variant.
|
|
252
|
+
|
|
253
|
+
### 4c — Register the component
|
|
254
|
+
|
|
255
|
+
Edit `src/components/component-map.ts`:
|
|
256
|
+
|
|
257
|
+
1. Add an import at the top of the file in the **Templates** section:
|
|
258
|
+
```typescript
|
|
259
|
+
import <ComponentName> from './template/<ComponentName>';
|
|
260
|
+
```
|
|
261
|
+
2. Add an entry in the return object of `getSampleComponentMap()` under the templates comment:
|
|
262
|
+
```typescript
|
|
263
|
+
<ComponentName>,
|
|
264
|
+
```
|
|
265
|
+
3. **Also import and register ALL sub-variant files** created in Step 4b.2. Each gets its own import and map entry.
|
|
266
|
+
|
|
267
|
+
Do not reorder or restructure any existing entries.
|
|
268
|
+
|
|
269
|
+
### 4d — Report progress
|
|
270
|
+
|
|
271
|
+
After each component: "`<ComponentName>` ✓ — `<Layout | Form | Page>` template`<, using <DS component name> for grid>` if layout"
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Step 5 — Verify the build
|
|
276
|
+
|
|
277
|
+
Run:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
npm run build
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
If build errors occur, fix them before reporting completion. Report a summary: list of all files created and all entries added to `component-map.ts`.
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
---
|
|
2
|
+
ai-description: Generate all (or a subset of) widget components using any design system
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Step 0 — Resolve inputs
|
|
6
|
+
|
|
7
|
+
Read the user's message carefully. Extract:
|
|
8
|
+
|
|
9
|
+
- **Design system** — the UI library to use (e.g. `Ant Design`, `Chakra UI`, `Carbon`, `Radix UI`)
|
|
10
|
+
- **Output base path** — the folder where widget components should be generated (e.g. `src/components/widget/`)
|
|
11
|
+
- **Component list** — which widgets to generate (default: all 9 listed below)
|
|
12
|
+
|
|
13
|
+
Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `{{AI_FILE_EXT}}` files, existing folders, or any other source.
|
|
14
|
+
|
|
15
|
+
⛔ **STOP** — If the user's message does not explicitly state BOTH the design system AND the output path, ask for the missing items now. Do not proceed to Step 1 until you have explicit answers from the user for all required inputs.
|
|
16
|
+
|
|
17
|
+
Example questions (ask only the ones that are actually missing):
|
|
18
|
+
|
|
19
|
+
1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
|
|
20
|
+
2. Where should the widget components be generated? (e.g. `src/components/widget/`)
|
|
21
|
+
|
|
22
|
+
If the user specified a subset (e.g., "just ToDo and Attachment"), restrict the list accordingly.
|
|
23
|
+
|
|
24
|
+
Once both are known, continue to Step 1.
|
|
25
|
+
|
|
26
|
+
### Full component list (default — 10 widgets)
|
|
27
|
+
|
|
28
|
+
| Component | Description |
|
|
29
|
+
| ------------------------ | ------------------------------- |
|
|
30
|
+
| ActionButtonsForFileUtil | Action buttons for file utility |
|
|
31
|
+
| AppAnnouncement | System-wide announcements |
|
|
32
|
+
| Attachment | File upload/download |
|
|
33
|
+
| CaseHistory | Case audit trail |
|
|
34
|
+
| FileUtility | File management utility |
|
|
35
|
+
| Followers | Case followers list |
|
|
36
|
+
| QuickCreate | Quick case creation buttons |
|
|
37
|
+
| SummaryItem | Single summary card |
|
|
38
|
+
| SummaryList | List of summary cards |
|
|
39
|
+
| ToDo | Assignment worklist |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Step 1 — Read `widget-components.md` (once, for the entire session)
|
|
44
|
+
|
|
45
|
+
Read the full contents of `{{SKILL_DIR}}/widget-components.md`.
|
|
46
|
+
|
|
47
|
+
This gives you:
|
|
48
|
+
|
|
49
|
+
- The DS-agnostic data-fetching skeleton with `// [DS RENDER]` placeholder
|
|
50
|
+
- The Design System Adaptation guide (primitive mapping table, icon discovery rules)
|
|
51
|
+
- All common Pega APIs used in widgets: `PCore.getDataPageUtils()`, `PCore.getMashupApi()`, `PCore.getAttachmentUtils()`, `pConn.getCaseInfo()`, etc.
|
|
52
|
+
- Registration conventions
|
|
53
|
+
|
|
54
|
+
> The PCore data-fetching logic is always identical regardless of design system. Only the `// [DS RENDER]` section changes per DS.
|
|
55
|
+
|
|
56
|
+
Keep this context active throughout the entire generation session. Do not re-read it per component.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Step 2 — Install and discover the design system (once)
|
|
61
|
+
|
|
62
|
+
### 2a — Check and install the DS package
|
|
63
|
+
|
|
64
|
+
Run this command in your terminal:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
cat package.json | grep "<design-system-package>"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
If the design system package is **not** listed in `dependencies` or `devDependencies`, install it:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
npm install <design-system-package>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Also install any peer dependencies documented in the package's README. Report what was installed.
|
|
77
|
+
|
|
78
|
+
### 2a.1 — Install the DS styles package and configure global CSS (MANDATORY)
|
|
79
|
+
|
|
80
|
+
Design systems require their global stylesheet — without it, components render unstyled.
|
|
81
|
+
|
|
82
|
+
#### Known DS style requirements (examples — verify from README for exact paths):
|
|
83
|
+
|
|
84
|
+
| Design System | Styles Package (example) | CSS Import in `src/main.tsx` (example) | Provider Wrapper (example) |
|
|
85
|
+
| ------------- | ------------------------ | ---------------------------------------- | -------------------------- |
|
|
86
|
+
| Carbon | `@carbon/styles` | `import '@carbon/react/css/styles.css';` | `<Theme>` |
|
|
87
|
+
| Ant Design | (included) | `import 'antd/dist/reset.css';` | `<ConfigProvider>` |
|
|
88
|
+
| Radix Themes | `@radix-ui/themes` | `import '@radix-ui/themes/styles.css';` | `<Theme>` |
|
|
89
|
+
| Chakra UI | (included) | (none — runtime) | `<ChakraProvider>` |
|
|
90
|
+
| Shadcn/ui | (Tailwind) | `import './globals.css';` | None |
|
|
91
|
+
| MUI | (included) | (none — CSS-in-JS) | `<ThemeProvider>` |
|
|
92
|
+
|
|
93
|
+
These are **examples** based on common versions. Always verify the exact import path and provider name from the installed package's README (`node_modules/<ds>/README.md`).
|
|
94
|
+
|
|
95
|
+
If in table: install styles package (if separate), add CSS import as **first import** in `src/main.tsx`, add Provider in `src/AppProviders.tsx`.
|
|
96
|
+
If not in table: check README and `find node_modules/<ds> -name "*.css" -path "*/dist/*" | head -5`.
|
|
97
|
+
|
|
98
|
+
Verification: `grep -n "import.*css\|import.*styles" src/main.tsx` must return a result. Do NOT proceed until confirmed.
|
|
99
|
+
|
|
100
|
+
Report what was installed and configured.
|
|
101
|
+
|
|
102
|
+
Run these commands to discover the actual API (do NOT rely on training knowledge):
|
|
103
|
+
|
|
104
|
+
1. Read the README for correct import paths and usage patterns:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
cat node_modules/<designSystem>/README.md
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
2. List every exported component:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
grep "^export" node_modules/<designSystem>/dist/index.d.ts 2>/dev/null || grep -rl "^export" node_modules/<designSystem> --include="index.d.ts" | head -3 | xargs grep "^export"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
3. For every component you plan to use (Card, List, Table, Button, Badge, Spinner), read its prop interface:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
find node_modules/<designSystem> -name "ComponentName.d.ts" | head -3
|
|
120
|
+
grep -A 40 "interface.*Props" <path-from-above>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
4. Check for a **companion icon package** — if it exists, read its exports before using any icon name. Never guess icon names.
|
|
124
|
+
|
|
125
|
+
5. Check for **size/variant conventions** — use built-in props rather than custom padding.
|
|
126
|
+
|
|
127
|
+
6. Check for **CSS tokens** — use design system CSS custom properties for spacing; never hardcode `px` values.
|
|
128
|
+
|
|
129
|
+
Only use component names and prop names confirmed in these files.
|
|
130
|
+
|
|
131
|
+
Build a **DS UI primitive reference map** from this discovery. Reuse it for every widget — do not repeat these commands per component.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Step 3 — Overwrite check (all at once)
|
|
136
|
+
|
|
137
|
+
For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
|
|
138
|
+
|
|
139
|
+
If **any** exist, report them all at once and ask:
|
|
140
|
+
|
|
141
|
+
> "The following N components already exist: [list]. How should I proceed?
|
|
142
|
+
>
|
|
143
|
+
> - **Overwrite all** — replace all existing implementations
|
|
144
|
+
> - **Skip existing** — only generate components that don't exist yet
|
|
145
|
+
> - **Cancel** — stop without generating anything"
|
|
146
|
+
|
|
147
|
+
Wait for the user's answer before proceeding. If none exist, continue immediately.
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Step 4 — Generate each component (loop)
|
|
152
|
+
|
|
153
|
+
For each component in the resolved list (in the order listed in Step 0):
|
|
154
|
+
|
|
155
|
+
### 4a — Read the component-specific skill file (MANDATORY — do not skip)
|
|
156
|
+
|
|
157
|
+
Read the file `{{SKILL_DIR}}/widget-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `widget-components.md`.
|
|
158
|
+
|
|
159
|
+
After reading, extract and keep active:
|
|
160
|
+
|
|
161
|
+
- **Behavioral Contract** — the exact PCore API calls, state variables, event handlers, and edge cases specific to this widget
|
|
162
|
+
- **Design System Mapping** table — the recommended DS primitive for this component's presentation layer
|
|
163
|
+
- **Props interface** — any required/optional props beyond the base `PConnProps`
|
|
164
|
+
|
|
165
|
+
If no skill file exists at that path (e.g., `SummaryList`), use the general data-fetching pattern from `widget-components.md` loaded in Step 1.
|
|
166
|
+
|
|
167
|
+
⚠️ The general skill file (`widget-components.md`) provides the skeleton. The component-specific skill file provides the **exact data flow and behavioral logic**. Both are needed — generating from only the general skill will produce components that render but don't fetch or display data correctly.
|
|
168
|
+
|
|
169
|
+
### 4b — Generate the component files
|
|
170
|
+
|
|
171
|
+
Create the directory `<outputPath>/<ComponentName>/`.
|
|
172
|
+
|
|
173
|
+
Create `<ComponentName>.tsx` using this structure from `widget-components.md` (loaded in Step 1):
|
|
174
|
+
|
|
175
|
+
1. Imports (React hooks + DS components from Step 2 + `PConnProps` from `@pega/sdk-react`)
|
|
176
|
+
2. Interface extending PConnProps with props from the component skill file's Props table
|
|
177
|
+
3. Component function: destructure `getPConnect`, call `getPConnect()` to get `pConn`
|
|
178
|
+
4. `useEffect` → data fetch using the exact PCore API call from the skill file's Behavioral Contract
|
|
179
|
+
5. Return → DS Card/List/Table primitive from Step 2 API map, rendering the fetched data
|
|
180
|
+
|
|
181
|
+
Fill in the `// [DS RENDER]` section with DS primitives confirmed in Step 2. The data-fetching logic comes from the skill file's Behavioral Contract — do NOT invent API calls.
|
|
182
|
+
|
|
183
|
+
Create `index.tsx`:
|
|
184
|
+
|
|
185
|
+
```typescript
|
|
186
|
+
export { default } from './<ComponentName>';
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Create any CSS or utility files required by the skill file.
|
|
190
|
+
|
|
191
|
+
### 4c — Register the component
|
|
192
|
+
|
|
193
|
+
Edit `src/components/component-map.ts`:
|
|
194
|
+
|
|
195
|
+
1. Add an import at the top of the file in the **Widgets** section:
|
|
196
|
+
```typescript
|
|
197
|
+
import <ComponentName> from './widget/<ComponentName>';
|
|
198
|
+
```
|
|
199
|
+
2. Add an entry in the return object of `getSampleComponentMap()` under the widgets comment:
|
|
200
|
+
```typescript
|
|
201
|
+
<ComponentName>,
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
⚠️ **Key name exception:** `ToDo` MUST be registered as `Todo: ToDo` (not `ToDo,`). The Pega engine sends `Todo` (capital T, lowercase 'odo'). Using shorthand `ToDo,` creates key `ToDo` which won't match.
|
|
205
|
+
|
|
206
|
+
Do not reorder or restructure any existing entries.
|
|
207
|
+
|
|
208
|
+
### 4d — Report progress
|
|
209
|
+
|
|
210
|
+
After each component: "`<ComponentName>` ✓ — using `<DS card/list primitive>`"
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Step 5 — Verify the build
|
|
215
|
+
|
|
216
|
+
Run:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
npm run build
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
If build errors occur, fix them before reporting completion. Report a summary: list of all files created and all entries added to `component-map.ts`.
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
ai-description: Analyze an attached screenshot and identify which SDK components are visible — outputs a components list ready to pass to replace-design-system
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# identify-components
|
|
6
|
+
|
|
7
|
+
Analyze the attached screenshot and identify which SDK components from this application are visible in the image.
|
|
8
|
+
|
|
9
|
+
**Output only a single line** in this exact format — nothing else:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
components="ComponentA,ComponentB,ComponentC"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
This output can be pasted directly into a `/replace-design-system` invocation.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Visual Recognition Guide
|
|
20
|
+
|
|
21
|
+
Use the table below to map what you see in the image to SDK component names.
|
|
22
|
+
|
|
23
|
+
### Structural / layout components
|
|
24
|
+
|
|
25
|
+
| What you see | SDK component name | Category |
|
|
26
|
+
| ------------------------------------------------------------------------------------------- | ----------------------------------------- | -------- |
|
|
27
|
+
| Chevron/arrow step bar at the top of a form (e.g. "Step 1 → Step 2 → Step 3") | `Stages` | infra |
|
|
28
|
+
| Full case shell: step bar + case title + **action menu (⋮ or kebab)** + tabbed content area | `CaseView` | template |
|
|
29
|
+
| Row of action buttons at the bottom (Cancel / Save / Submit) | `ActionButtons` | infra |
|
|
30
|
+
| White/card area wrapping form fields | `DefaultForm` | template |
|
|
31
|
+
| Full-page layout with header + sidebar + content area | `AppShell` | template |
|
|
32
|
+
| Left-side vertical tab navigation | `VerticalTabs` | infra |
|
|
33
|
+
| Top navigation bar with logo + user menu | `NavBar` | infra |
|
|
34
|
+
| Top navigation bar (WSS / self-service variant) | `WssNavBar` | template |
|
|
35
|
+
| Two-column layout (equal or narrow/wide split) | `TwoColumn` / `NarrowWide` / `WideNarrow` | template |
|
|
36
|
+
| Single-column stacked layout | `OneColumn` | template |
|
|
37
|
+
| Tabbed panel inside a form or page | `SubTabs` / `Details` | template |
|
|
38
|
+
|
|
39
|
+
### Field components
|
|
40
|
+
|
|
41
|
+
| What you see | SDK component name | Category |
|
|
42
|
+
| ---------------------------------------------------------- | ------------------ | -------- |
|
|
43
|
+
| Single-line text input box | `TextInput` | field |
|
|
44
|
+
| Multi-line text input / textarea | `TextArea` | field |
|
|
45
|
+
| Dropdown / select menu (chevron on right) | `Dropdown` | field |
|
|
46
|
+
| Phone input with country code prefix (e.g. "+1 ▼") | `Phone` | field |
|
|
47
|
+
| Date picker input (calendar icon) | `Date` | field |
|
|
48
|
+
| Date + time picker input | `DateTime` | field |
|
|
49
|
+
| Time-only picker | `Time` | field |
|
|
50
|
+
| Currency input ($ prefix or formatted number) | `Currency` | field |
|
|
51
|
+
| Percentage input (% suffix) | `Percentage` | field |
|
|
52
|
+
| Decimal / float number input | `Decimal` | field |
|
|
53
|
+
| Integer-only number input | `Integer` | field |
|
|
54
|
+
| Email input (envelope icon or @-hint) | `Email` | field |
|
|
55
|
+
| URL input (link icon or http-hint) | `URL` | field |
|
|
56
|
+
| Checkbox with label | `Checkbox` | field |
|
|
57
|
+
| Radio button group | `RadioButtons` | field |
|
|
58
|
+
| Multi-select / tag-style select with chips | `Multiselect` | field |
|
|
59
|
+
| Type-ahead / autocomplete input with suggestions | `AutoComplete` | field |
|
|
60
|
+
| Rich text editor (toolbar with Bold/Italic/etc.) | `RichText` | field |
|
|
61
|
+
| Read-only comma-separated list of values | `ScalarList` | field |
|
|
62
|
+
| Selectable card / tile (click to select, like a plan card) | `SelectableCard` | field |
|
|
63
|
+
| Map / location picker with pin icon | `Location` | field |
|
|
64
|
+
| Link to another object/record | `ObjectReference` | field |
|
|
65
|
+
| Hyperlink displayed inline | `SemanticLink` | field |
|
|
66
|
+
| User avatar + name displayed inline | `UserReference` | field |
|
|
67
|
+
| Inline alert / warning inside a form | `CancelAlert` | field |
|
|
68
|
+
| Static text block / paragraph inside a form | `TextContent` | field |
|
|
69
|
+
| Grouping box around related fields | `Group` | field |
|
|
70
|
+
|
|
71
|
+
### Widget components
|
|
72
|
+
|
|
73
|
+
| What you see | SDK component name | Category |
|
|
74
|
+
| ------------------------------------------------- | ------------------ | -------- |
|
|
75
|
+
| To-do / task list card with assignments | `ToDo` | widget |
|
|
76
|
+
| File attachment area with upload button | `Attachment` | widget |
|
|
77
|
+
| Case history / audit trail table | `CaseHistory` | widget |
|
|
78
|
+
| File list with download actions | `FileUtility` | widget |
|
|
79
|
+
| List of follower avatars + "Follow" button | `Followers` | widget |
|
|
80
|
+
| "+" quick-create button with dropdown menu | `QuickCreate` | widget |
|
|
81
|
+
| Summary card for a single record with action menu | `SummaryItem` | widget |
|
|
82
|
+
| List of SummaryItem cards | `SummaryList` | widget |
|
|
83
|
+
| Announcement / news card | `AppAnnouncement` | widget |
|
|
84
|
+
|
|
85
|
+
### DSE / design system extension components
|
|
86
|
+
|
|
87
|
+
| What you see | SDK component name | Category |
|
|
88
|
+
| ------------------------------------------------------------ | ------------------- | --------------------- |
|
|
89
|
+
| Coloured banner alert bar (info / warning / error / success) | `AlertBanner` | designSystemExtension |
|
|
90
|
+
| Hero-style banner with title + CTA button | `Banner` | designSystemExtension |
|
|
91
|
+
| Read-only field+value pairs in a case summary | `CaseSummaryFields` | designSystemExtension |
|
|
92
|
+
| Read-only label+value pairs in a details view | `DetailsFields` | designSystemExtension |
|
|
93
|
+
| Collapsible section with header (accordion-style) | `FieldGroup` | designSystemExtension |
|
|
94
|
+
| List of field groups with "Add" link | `FieldGroupList` | designSystemExtension |
|
|
95
|
+
| User operator info popover (name + contact) | `Operator` | designSystemExtension |
|
|
96
|
+
| Comment/pulse card with avatar + timestamp | `Pulse` | designSystemExtension |
|
|
97
|
+
| Rich text editor with theme-aware toolbar | `RichTextEditor` | designSystemExtension |
|
|
98
|
+
| Quick-create shortcut links list (WSS sidebar) | `WssQuickCreate` | designSystemExtension |
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Rules
|
|
103
|
+
|
|
104
|
+
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).
|
|
105
|
+
2. **Do not include `FieldValueList`** — it is an internal rendering helper, not a visible component.
|
|
106
|
+
3. **Structural components that frame a form always count** — if you see a step bar, include `Stages`; if you see action buttons, include `ActionButtons`.
|
|
107
|
+
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`.
|
|
108
|
+
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.
|
|
109
|
+
6. **Output only the single `components="..."` line.** No explanation, no list, no markdown — just that line.
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
alwaysApply: false
|
|
2
|
+
ai-description: Replace design system components — full app, by scope/folder, by named shorthand, or by explicit component list
|
|
4
3
|
---
|
|
5
4
|
|
|
6
5
|
# replace-design-system
|
|
@@ -13,7 +12,7 @@ Replace the current design system in this application with **{{designSystem}}**.
|
|
|
13
12
|
|
|
14
13
|
## Step 0: Determine target component list
|
|
15
14
|
|
|
16
|
-
Read
|
|
15
|
+
Read `{{PROMPT_DIR}}/component-manifest.json` first.
|
|
17
16
|
|
|
18
17
|
Collect components from **every applicable source** below, then merge and deduplicate into a single final list.
|
|
19
18
|
|