@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
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
# Skill: SummaryItem
|
|
2
|
-
|
|
3
|
-
Individual item card for displaying an attachment, file, or link with an icon, name, metadata, and an actions menu. Also covers `SummaryList` — the container that renders multiple `SummaryItem` cards.
|
|
4
|
-
|
|
5
|
-
> **Prerequisite skill:** [`widget-components.md`](../widget-components.md) — covers architecture, props interface, data-fetching patterns, and registration conventions common to ALL widget components.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Component Purpose
|
|
10
|
-
|
|
11
|
-
`SummaryItem` renders a single row/card for an attachment or link item. It shows a file-type icon, the item name (as a link for URLs or plain text for files), secondary metadata text, and an action menu. Used by `FileUtility` via the `SummaryList` container.
|
|
12
|
-
|
|
13
|
-
`SummaryList` is a thin wrapper that maps an array of item objects to individual `SummaryItem` cards, passing down menu icon overrides for all items.
|
|
14
|
-
|
|
15
|
-
## Pega Metadata
|
|
16
|
-
|
|
17
|
-
- **Registration keys:**
|
|
18
|
-
- `SummaryItem` — the individual item card
|
|
19
|
-
- `SummaryList` — the container/list component
|
|
20
|
-
- **Category:** Widget — display / composition
|
|
21
|
-
- **Extends:** `PConnProps`
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## SummaryItem
|
|
26
|
-
|
|
27
|
-
### Props
|
|
28
|
-
|
|
29
|
-
| Prop | Type | Required | Description |
|
|
30
|
-
|------|------|----------|-------------|
|
|
31
|
-
| `arItems$` | `object` | Yes | A single item object (see Item Structure below) |
|
|
32
|
-
| `menuIconOverride$` | `string` | No | If provided, replaces the standard actions menu with a single direct-action icon button |
|
|
33
|
-
| `menuIconOverrideAction$` | `function` | No | Callback invoked when the override icon button is clicked |
|
|
34
|
-
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
35
|
-
|
|
36
|
-
### Item Structure (`arItems$`)
|
|
37
|
-
|
|
38
|
-
```typescript
|
|
39
|
-
{
|
|
40
|
-
id: string;
|
|
41
|
-
visual: {
|
|
42
|
-
icon: string; // Icon identifier or URL
|
|
43
|
-
progress?: number; // Upload progress 0–100 (optional)
|
|
44
|
-
};
|
|
45
|
-
primary: {
|
|
46
|
-
type: 'FILE' | 'URL';
|
|
47
|
-
name: string; // Display name of the item
|
|
48
|
-
icon: string; // Icon for the primary element
|
|
49
|
-
click: () => void; // Download (FILE) or open in new tab (URL)
|
|
50
|
-
};
|
|
51
|
-
secondary: {
|
|
52
|
-
text: string; // Metadata text (e.g., "John Smith · 01/15/2025")
|
|
53
|
-
error?: boolean; // If true, render text in error/red color
|
|
54
|
-
};
|
|
55
|
-
actions: Array<{
|
|
56
|
-
id: string;
|
|
57
|
-
text: string; // Menu item label
|
|
58
|
-
icon: string; // Menu item icon identifier
|
|
59
|
-
onClick: () => void; // Action callback
|
|
60
|
-
}>;
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Behavioral Contract
|
|
65
|
-
|
|
66
|
-
1. **Visual area:** Render `visual.icon` (file type icon). If `visual.progress` is defined and between 0–99, overlay a progress indicator.
|
|
67
|
-
2. **Primary element:**
|
|
68
|
-
- `type === 'FILE'`: render `primary.name` as plain text (clicking calls `primary.click` which triggers download).
|
|
69
|
-
- `type === 'URL'`: render `primary.name` as a link button that calls `primary.click` (opens URL in new tab).
|
|
70
|
-
3. **Secondary text:** Render `secondary.text` below the primary element. If `secondary.error === true`, render in error/red color.
|
|
71
|
-
4. **Actions:**
|
|
72
|
-
- **Standard mode (no `menuIconOverride$`):** Render a `<MoreVertIcon>` icon button. On click, open a `<Menu>` with one `<MenuItem>` per `actions` entry.
|
|
73
|
-
- **Override mode (`menuIconOverride$` provided):** Render a single direct-action icon button using `menuIconOverride$` as the icon. On click, call `menuIconOverrideAction$()`. No menu rendered.
|
|
74
|
-
|
|
75
|
-
## Visual Specifications
|
|
76
|
-
|
|
77
|
-
### Item Layout
|
|
78
|
-
|
|
79
|
-
```
|
|
80
|
-
[File Icon] [Name (link if URL)]
|
|
81
|
-
[Secondary metadata text]
|
|
82
|
-
[Actions button (⋮ or override)]
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
| Element | Description |
|
|
86
|
-
|---------|-------------|
|
|
87
|
-
| File icon | Left side, fixed size (~36px square) |
|
|
88
|
-
| Name | Bold, truncated with ellipsis if too long |
|
|
89
|
-
| Metadata | Smaller, secondary-color text |
|
|
90
|
-
| Actions button | Right side, `<MoreVertIcon>` or override icon |
|
|
91
|
-
|
|
92
|
-
**CSS-only implementation notes:**
|
|
93
|
-
- Row: `display: flex; align-items: center; gap: 0.75rem; padding: 8px 0`.
|
|
94
|
-
- File icon: `width: 36px; height: 36px; flex-shrink: 0`.
|
|
95
|
-
- Content area: `flex: 1; min-width: 0` (prevents text overflow).
|
|
96
|
-
- Name: `font-size: 0.875rem; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap`.
|
|
97
|
-
- Metadata: `font-size: 0.75rem; color: var(--secondary-text-color)`.
|
|
98
|
-
- Error metadata: `color: var(--error-color)`.
|
|
99
|
-
- Actions button: `flex-shrink: 0; margin-left: auto`.
|
|
100
|
-
- URL name: `color: var(--link-color); cursor: pointer; text-decoration: underline`.
|
|
101
|
-
|
|
102
|
-
## Edge Cases & Special Logic
|
|
103
|
-
|
|
104
|
-
- `visual.progress` — show a progress indicator only when `0 <= progress < 100`. When `progress === 100` (complete) or `progress === undefined`, show only the file icon.
|
|
105
|
-
- `secondary.error === true` — the metadata text (e.g., upload error message) must be red, not the normal secondary color.
|
|
106
|
-
- `menuIconOverride$` replaces the menu entirely — do not render `<MoreVertIcon>` when an override is provided.
|
|
107
|
-
- `actions` may be empty — if empty and no override provided, do not render the actions button at all.
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## SummaryList
|
|
112
|
-
|
|
113
|
-
### Props
|
|
114
|
-
|
|
115
|
-
| Prop | Type | Required | Description |
|
|
116
|
-
|------|------|----------|-------------|
|
|
117
|
-
| `arItems$` | `any[]` | Yes | Array of item objects (same shape as `SummaryItem`'s `arItems$`) |
|
|
118
|
-
| `menuIconOverride$` | `string` | No | Passed to every `SummaryItem` |
|
|
119
|
-
| `menuIconOverrideAction$` | `any` | No | Passed to every `SummaryItem` |
|
|
120
|
-
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
121
|
-
|
|
122
|
-
### Behavioral Contract
|
|
123
|
-
|
|
124
|
-
```tsx
|
|
125
|
-
const SummaryItemComp = getComponentFromRegistry('SummaryItem');
|
|
126
|
-
|
|
127
|
-
return (
|
|
128
|
-
<div>
|
|
129
|
-
{arItems$.map((item, i) => (
|
|
130
|
-
<SummaryItemComp
|
|
131
|
-
key={item.id || i}
|
|
132
|
-
arItems$={item}
|
|
133
|
-
menuIconOverride$={menuIconOverride$}
|
|
134
|
-
menuIconOverrideAction$={menuIconOverrideAction$}
|
|
135
|
-
getPConnect={getPConnect}
|
|
136
|
-
/>
|
|
137
|
-
))}
|
|
138
|
-
</div>
|
|
139
|
-
);
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
No state, no data fetching — purely a mapping wrapper.
|
|
143
|
-
|
|
144
|
-
## Dependencies
|
|
145
|
-
|
|
146
|
-
- **SummaryItem:** MUI `<IconButton>`, `<Menu>`, `<MenuItem>`, MUI Icons `<MoreVertIcon>`, utils helper for icon path resolution
|
|
147
|
-
- **SummaryList:** `getComponentFromRegistry('SummaryItem')` — resolves the item component dynamically
|
|
148
|
-
|
|
149
|
-
## Design System Mapping
|
|
150
|
-
|
|
151
|
-
**UI control type:** File/link item row with icon, name, metadata, and action menu.
|
|
152
|
-
|
|
153
|
-
Listed design systems are examples only.
|
|
154
|
-
|
|
155
|
-
| Design System | Row Layout | Action Menu |
|
|
156
|
-
|---|---|---|
|
|
157
|
-
| Default (CSS only) | `<div>` flexbox row | `<button>` + custom dropdown |
|
|
158
|
-
| MUI | `<ListItem>` or `<Box display='flex'>` | `<IconButton>` + `<Menu>/<MenuItem>` |
|
|
159
|
-
| Ant Design | `<List.Item>` | `<Dropdown menu={{ items }}>` |
|
|
160
|
-
| Chakra UI | `<HStack>` | `<Menu>/<MenuButton>/<MenuList>` |
|
|
161
|
-
| Shadcn/ui | `<div>` flexbox | `<DropdownMenu>` |
|
|
162
|
-
|
|
163
|
-
When implementing in a specific design system:
|
|
164
|
-
- `menuIconOverride$` completely replaces the standard `⋮` menu — check for it before rendering the actions area
|
|
165
|
-
- `type === 'URL'` must render the name as a clickable link (not plain text)
|
|
166
|
-
- `secondary.error` is a boolean — apply error styling to the `secondary.text` when `true`
|
|
167
|
-
- `SummaryList` is purely compositional — no logic beyond mapping items to `SummaryItem`
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
# Skill: ToDo
|
|
2
|
-
|
|
3
|
-
Assignment worklist widget. Displays the current user's pending assignments with expand/collapse, click-to-open, priority indicators, badge counts, responsive layout, and snackbar error notifications.
|
|
4
|
-
|
|
5
|
-
> **Prerequisite skill:** [`widget-components.md`](../widget-components.md) — covers architecture, props interface, data-fetching patterns, and registration conventions common to ALL widget components.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Component Purpose
|
|
10
|
-
|
|
11
|
-
Renders a compact to-do / worklist panel showing the user's pending assignments. Shows the top 3 items by default with a "Show more" / "Show less" toggle. Supports two modes: `worklist` (personal workbasket) and `todo` (case-level assignments). Clicking an item opens the assignment. A badge in the card header shows the total count.
|
|
12
|
-
|
|
13
|
-
## Pega Metadata
|
|
14
|
-
|
|
15
|
-
- **Registration key:** `Todo` (note: lowercase `o` in the key; file is `ToDo.tsx`)
|
|
16
|
-
- **Category:** Widget — assignment / action
|
|
17
|
-
- **Extends:** `PConnProps`
|
|
18
|
-
|
|
19
|
-
## Props
|
|
20
|
-
|
|
21
|
-
| Prop | Type | Required | Description |
|
|
22
|
-
|------|------|----------|-------------|
|
|
23
|
-
| `datasource` | `any` | No | Array of assignments passed directly (used in `todo` type). If provided, skips the data page fetch |
|
|
24
|
-
| `myWorkList` | `any` | No | Work list config object `{ datapage: string, fields: [...] }` — for `worklist` type |
|
|
25
|
-
| `caseInfoID` | `string` | No | Case ID to filter assignments (used in `todo` type) |
|
|
26
|
-
| `headerText` | `string` | No | Widget title. Default: `"To do"` |
|
|
27
|
-
| `itemKey` | `string` | No | Field key (reserved, currently unused) |
|
|
28
|
-
| `showTodoList` | `boolean` | No | Whether to show the assignment list. Default `true` |
|
|
29
|
-
| `type` | `string` | No | `'worklist'` (personal work) or `'todo'` (case-level). Default `'worklist'` |
|
|
30
|
-
| `context` | `string` | No | Context name for API calls. Falls back to `pConn.getContextName()` |
|
|
31
|
-
| `isConfirm` | `boolean` | No | Confirmation mode — adjusts rendering for post-submit confirmation view |
|
|
32
|
-
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
33
|
-
|
|
34
|
-
## Behavioral Contract
|
|
35
|
-
|
|
36
|
-
### Data Source Resolution
|
|
37
|
-
|
|
38
|
-
**`type === 'todo'` (case-level):**
|
|
39
|
-
- Use `datasource` prop directly (array of assignment objects).
|
|
40
|
-
- `caseInfoID` is used to scope the assignments.
|
|
41
|
-
|
|
42
|
-
**`type === 'worklist'` (personal work):**
|
|
43
|
-
- Fetch from `myWorkList.datapage` (e.g., `D_WorkList`) via:
|
|
44
|
-
```
|
|
45
|
-
PCore.getDataPageUtils().getDataAsync(
|
|
46
|
-
myWorkList.datapage,
|
|
47
|
-
context,
|
|
48
|
-
{},
|
|
49
|
-
{ pageNumber: 1, pageSize: 50 },
|
|
50
|
-
{ select: myWorkList.fields },
|
|
51
|
-
{ invalidateCache: true }
|
|
52
|
-
)
|
|
53
|
-
```
|
|
54
|
-
- Map the response to assignment objects.
|
|
55
|
-
|
|
56
|
-
### Top 3 + Show More
|
|
57
|
-
|
|
58
|
-
- `showCount` state: default `3`.
|
|
59
|
-
- Render only `assignments.slice(0, showCount)`.
|
|
60
|
-
- If `assignments.length > 3`:
|
|
61
|
-
- Show a `"Show more"` button → sets `showCount = assignments.length`.
|
|
62
|
-
- When expanded: show `"Show less"` button → sets `showCount = 3`.
|
|
63
|
-
|
|
64
|
-
### Badge Count
|
|
65
|
-
|
|
66
|
-
- Render a `<Badge badgeContent={assignments.length}>` on the card header or alongside the title.
|
|
67
|
-
- Badge shows the total count of assignments, not the currently-visible count.
|
|
68
|
-
|
|
69
|
-
### Open Assignment
|
|
70
|
-
|
|
71
|
-
On item click:
|
|
72
|
-
```typescript
|
|
73
|
-
pConn.getActionsApi().openAssignment(
|
|
74
|
-
assignment.pxRefObjectKey, // case key
|
|
75
|
-
assignment.pxRefObjectClass, // class name
|
|
76
|
-
{
|
|
77
|
-
containerName: pConn.getContainerName() || PCore.getConstants().APP.APP,
|
|
78
|
-
channelName: ''
|
|
79
|
-
}
|
|
80
|
-
);
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Assignment Item Rendering
|
|
84
|
-
|
|
85
|
-
For each assignment, show:
|
|
86
|
-
- **Avatar:** Circle with user initials (derived from `pConn.getContextObject?.().pyLabel` or operator name).
|
|
87
|
-
- **Name/title:** `assignment.pyLabel` — the assignment task name.
|
|
88
|
-
- **Status badge (worklist only):** `assignment.pyStatusWork` — colored status pill.
|
|
89
|
-
- **Priority/urgency:** `assignment.pyUrgencyWork` — urgency level indicator.
|
|
90
|
-
- **Child case indicator:** If `assignment.isChild === true`, show an indent or nested indicator.
|
|
91
|
-
- **Arrow icon:** Right-pointing arrow (`<ArrowForwardIosOutlinedIcon>`) indicating clickable.
|
|
92
|
-
|
|
93
|
-
### Responsive Layout
|
|
94
|
-
|
|
95
|
-
Use `useMediaQuery(theme.breakpoints.down('sm'))` (MUI) to detect mobile:
|
|
96
|
-
- **Desktop:** Show avatar, name, status, priority, and arrow in a horizontal row.
|
|
97
|
-
- **Mobile:** Stack or truncate elements for narrow display.
|
|
98
|
-
|
|
99
|
-
### `canPerform` Permission Check
|
|
100
|
-
|
|
101
|
-
If an assignment has `canPerform === false`, render it as non-clickable (greyed out, no onClick handler).
|
|
102
|
-
|
|
103
|
-
### Snackbar Error
|
|
104
|
-
|
|
105
|
-
- On `openAssignment` failure, catch the error and show a `<Snackbar>` with the error message.
|
|
106
|
-
- Auto-hide after 3000ms.
|
|
107
|
-
- `<IconButton>` (`<CloseIcon>`) to manually dismiss.
|
|
108
|
-
|
|
109
|
-
### Operator Avatar Initials
|
|
110
|
-
|
|
111
|
-
Extract initials from `PCore.getEnvironmentInfo().getOperatorName()`:
|
|
112
|
-
```typescript
|
|
113
|
-
const initials = operatorName
|
|
114
|
-
.split(' ')
|
|
115
|
-
.map(w => w[0])
|
|
116
|
-
.join('')
|
|
117
|
-
.substring(0, 2)
|
|
118
|
-
.toUpperCase();
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
## Visual Specifications
|
|
122
|
-
|
|
123
|
-
### Card Layout
|
|
124
|
-
|
|
125
|
-
| Element | Description |
|
|
126
|
-
|---------|-------------|
|
|
127
|
-
| Card header | `headerText` (default `"To do"`) + badge with count |
|
|
128
|
-
| Assignment rows | Up to `showCount` items |
|
|
129
|
-
| Show more/less button | Below the last visible item |
|
|
130
|
-
|
|
131
|
-
### Assignment Row
|
|
132
|
-
|
|
133
|
-
| Element | Desktop | Mobile |
|
|
134
|
-
|---------|---------|--------|
|
|
135
|
-
| Avatar circle | Shown | Shown |
|
|
136
|
-
| Task name | Full text | Truncated |
|
|
137
|
-
| Status badge | Shown | Hidden or small |
|
|
138
|
-
| Priority indicator | Shown | Simplified |
|
|
139
|
-
| Arrow icon | Shown | Shown |
|
|
140
|
-
|
|
141
|
-
**CSS-only implementation notes:**
|
|
142
|
-
- Card: standard card layout.
|
|
143
|
-
- Assignment row: `display: flex; align-items: center; gap: 0.75rem; padding: 10px 0; cursor: pointer; border-bottom: 1px solid var(--divider-color)`.
|
|
144
|
-
- Avatar: `width: 36px; height: 36px; border-radius: 50%; background: var(--avatar-bg); display: flex; align-items: center; justify-content: center; font-size: 0.875rem; font-weight: 600`.
|
|
145
|
-
- Status badge: `padding: 2px 6px; border-radius: 10px; font-size: 0.75rem; background: var(--status-bg-color)`.
|
|
146
|
-
- Priority: `font-size: 0.75rem; color: var(--secondary-text-color)`.
|
|
147
|
-
- Arrow: `margin-left: auto; color: var(--secondary-text-color)`.
|
|
148
|
-
- Non-clickable (canPerform=false): `opacity: 0.5; cursor: not-allowed`.
|
|
149
|
-
- Show more button: `width: 100%; text-align: center; padding: 8px; color: var(--app-primary-color)`.
|
|
150
|
-
|
|
151
|
-
## Edge Cases & Special Logic
|
|
152
|
-
|
|
153
|
-
- `type` defaults to `'worklist'` — handle the fallback gracefully if `type` is undefined.
|
|
154
|
-
- `datasource` prop vs fetch: if `datasource` is provided (non-empty), skip the data page fetch entirely.
|
|
155
|
-
- `myWorkList` may be undefined for `todo` type — do not attempt a fetch if it's missing.
|
|
156
|
-
- `showTodoList === false` — render only the card header (with badge count) and hide the list body.
|
|
157
|
-
- `isConfirm === true` — used in the Confirmation template context; may adjust layout to hide certain elements (e.g., hide status badge, show simpler view).
|
|
158
|
-
- Empty assignments — show a `"No tasks"` or `"You're all caught up!"` empty state message.
|
|
159
|
-
- `canPerform` check: if `false`, disable click and show cursor `not-allowed`. Do not open the assignment.
|
|
160
|
-
- Container name fallback: `pConn.getContainerName() || PCore.getConstants().APP.APP` — always provide a container name to `openAssignment`.
|
|
161
|
-
|
|
162
|
-
## Dependencies
|
|
163
|
-
|
|
164
|
-
- `PCore.getDataPageUtils().getDataAsync()` — worklist data page fetch
|
|
165
|
-
- `PCore.getEnvironmentInfo()` — operator name for avatar initials
|
|
166
|
-
- `PCore.getConstants()` — CASE_INFO, WORK_BASKET, TODO, APP constants
|
|
167
|
-
- `PCore.getLocaleUtils()` — assignment label localization
|
|
168
|
-
- `pConn.getActionsApi().openAssignment()` — opens the selected assignment
|
|
169
|
-
- MUI: `<Card>`, `<CardContent>`, `<CardHeader>`, `<Avatar>`, `<Typography>`, `<Badge>`, `<List>`, `<ListItem>`, `<ListItemText>`, `<Button>`, `<Snackbar>`, `<IconButton>`, `useMediaQuery`, `useTheme`
|
|
170
|
-
- MUI Icons: `<CloseIcon>`, `<ArrowForwardIosOutlinedIcon>`
|
|
171
|
-
|
|
172
|
-
## Design System Mapping
|
|
173
|
-
|
|
174
|
-
**UI control type:** Assignment worklist widget with expand/collapse, click-to-open, badge count, and error toast.
|
|
175
|
-
|
|
176
|
-
Listed design systems are examples only.
|
|
177
|
-
|
|
178
|
-
| Design System | Card | List | Badge | Snackbar |
|
|
179
|
-
|---|---|---|---|---|
|
|
180
|
-
| Default (CSS only) | `<div>` card | `<ul>/<li>` | CSS counter badge | Custom toast overlay |
|
|
181
|
-
| MUI | `<Card>` + `<CardHeader>` | `<List>/<ListItem>` | `<Badge>` | `<Snackbar>/<Alert>` |
|
|
182
|
-
| Ant Design | `<Card>` | `<List>` | `<Badge count={N}>` | `message.error()` |
|
|
183
|
-
| Chakra UI | `<Card>` | `<VStack>` | `<Badge>` | `useToast()` |
|
|
184
|
-
| Shadcn/ui | `<Card>` | `<ul>/<li>` | Custom badge | `<Toaster>` + `toast.error()` |
|
|
185
|
-
|
|
186
|
-
When implementing in a specific design system:
|
|
187
|
-
- Show top 3 items by default — `showCount` state controls slice; "Show more/less" toggles between 3 and full length
|
|
188
|
-
- `canPerform === false` must make the row non-clickable — check this before calling `openAssignment`
|
|
189
|
-
- `type === 'worklist'` fetches from a data page; `type === 'todo'` uses the `datasource` prop — both paths must be implemented
|
|
190
|
-
- Operator initials for the avatar must be derived from `PCore.getEnvironmentInfo().getOperatorName()`
|
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
# AGENTS — React SDK Reference
|
|
2
|
-
|
|
3
|
-
> Claude Code instructions for the Pega React SDK reference application.
|
|
4
|
-
> Skill files and workflow prompts are in `.claude/skills/` and `.claude/prompts/`. Read them when asked to generate or replace components.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
You are assisting developers in a React reference application that demonstrates the Pega Infinity SDK. Customers clone this repo and **replace the sample UI components with their own design system** (MUI, Chakra, Radix, Shadcn, Ant Design, or any other).
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## 1. Repository Purpose
|
|
12
|
-
|
|
13
|
-
This is a **reference implementation** — not a framework. The UI components (fields, templates, widgets) are intentionally simple MUI-based implementations meant to be swapped out. The SDK wiring (bootstrap, PConnect bridge, component registry) is reusable infrastructure that should NOT be modified.
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## 2. What Is Replaceable vs. Infrastructure
|
|
18
|
-
|
|
19
|
-
### Replaceable (customer modifies these)
|
|
20
|
-
|
|
21
|
-
| Directory | Purpose |
|
|
22
|
-
| --------------------------------------- | ----------------------------------------------------------- |
|
|
23
|
-
| `src/components/field/` | Form field components (TextInput, Dropdown, Date, etc.) |
|
|
24
|
-
| `src/components/template/` | Layout templates (OneColumn, TwoColumn, Details, etc.) |
|
|
25
|
-
| `src/components/widget/` | Data widgets (ToDo, Attachment, CaseHistory, etc.) |
|
|
26
|
-
| `src/components/designSystemExtension/` | Extended UI (AlertBanner, FieldGroup, RichTextEditor, etc.) |
|
|
27
|
-
|
|
28
|
-
### Infrastructure (do NOT modify unless you know what you're doing)
|
|
29
|
-
|
|
30
|
-
| File/Directory | Purpose |
|
|
31
|
-
| --------------------------------------- | --------------------------------------------------------- |
|
|
32
|
-
| `src/MashupApp.tsx` | Auth + bootstrap + root rendering |
|
|
33
|
-
| `src/components/component-map.ts` | Registry wiring (only add/remove entries) |
|
|
34
|
-
| `src/components/infra/` | Infrastructure components (ActionButtons, Stages, NavBar) |
|
|
35
|
-
| `src/components/helpers/event-utils.ts` | PConnect event handler utility |
|
|
36
|
-
| `@pega/sdk-react` | SDK bridge — never modify |
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## 3. Component Architecture
|
|
41
|
-
|
|
42
|
-
### The PConnect Bridge
|
|
43
|
-
|
|
44
|
-
Every component receives `getPConnect` as a prop. This is the bridge to the Pega platform:
|
|
45
|
-
|
|
46
|
-
```typescript
|
|
47
|
-
const pConn = getPConnect();
|
|
48
|
-
const actions = pConn.getActionsApi(); // For field updates
|
|
49
|
-
const propName = (pConn.getStateProps() as any).value; // Property path
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### Event Handling Pattern
|
|
53
|
-
|
|
54
|
-
All field components use this pattern for two-way binding:
|
|
55
|
-
|
|
56
|
-
```typescript
|
|
57
|
-
import handleEvent from '../../helpers/event-utils';
|
|
58
|
-
|
|
59
|
-
// On change (local state only):
|
|
60
|
-
function handleChange(event) {
|
|
61
|
-
setInputValue(event.target.value);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// On blur (push to platform):
|
|
65
|
-
function handleBlur() {
|
|
66
|
-
handleEvent(actions, 'changeNblur', propName, inputValue);
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Display Mode Handling
|
|
71
|
-
|
|
72
|
-
Field components must handle `displayMode` prop:
|
|
73
|
-
|
|
74
|
-
- `undefined` → render editable input
|
|
75
|
-
- `'DISPLAY_ONLY'` → render read-only value via `FieldValueList`
|
|
76
|
-
- `'STACKED_LARGE_VAL'` → render stacked read-only via `FieldValueList` with `variant='stacked'`
|
|
77
|
-
|
|
78
|
-
### Component Registry
|
|
79
|
-
|
|
80
|
-
Components are registered by name in `src/components/component-map.ts`:
|
|
81
|
-
|
|
82
|
-
```typescript
|
|
83
|
-
import { sdkComponents } from '@pega/sdk-react';
|
|
84
|
-
|
|
85
|
-
function getSampleComponentMap() {
|
|
86
|
-
return {
|
|
87
|
-
...sdkComponents, // Infrastructure (View, Region, FlowContainer, etc.)
|
|
88
|
-
TextInput, // Your field components
|
|
89
|
-
Dropdown,
|
|
90
|
-
// ...
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
To add a new component: add the import + add to the map object.
|
|
96
|
-
To replace a component: change the import to point to your new implementation.
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## 4. Props Interfaces
|
|
101
|
-
|
|
102
|
-
### Field Components (`PConnFieldProps`)
|
|
103
|
-
|
|
104
|
-
```typescript
|
|
105
|
-
import type { PConnFieldProps } from '@pega/sdk-react';
|
|
106
|
-
|
|
107
|
-
interface PConnFieldProps {
|
|
108
|
-
getPConnect: () => typeof PConnect;
|
|
109
|
-
label: string;
|
|
110
|
-
required: boolean;
|
|
111
|
-
disabled: boolean;
|
|
112
|
-
value?: string;
|
|
113
|
-
validatemessage: string;
|
|
114
|
-
status?: string; // 'error' | 'warning' | undefined
|
|
115
|
-
onChange: any;
|
|
116
|
-
onBlur?: any;
|
|
117
|
-
readOnly: boolean;
|
|
118
|
-
testId: string;
|
|
119
|
-
helperText: string;
|
|
120
|
-
displayMode?: string; // 'DISPLAY_ONLY' | 'STACKED_LARGE_VAL'
|
|
121
|
-
hideLabel: boolean;
|
|
122
|
-
placeholder?: string;
|
|
123
|
-
}
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
### Template/Widget Components (`PConnProps`)
|
|
127
|
-
|
|
128
|
-
```typescript
|
|
129
|
-
import type { PConnProps } from '@pega/sdk-react';
|
|
130
|
-
|
|
131
|
-
interface PConnProps {
|
|
132
|
-
getPConnect: () => typeof PConnect;
|
|
133
|
-
}
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## 5. Rules for Replacing Components
|
|
139
|
-
|
|
140
|
-
1. **Keep the same default export name** — the component-map references it.
|
|
141
|
-
2. **Keep `getPConnect` wiring intact** — extract props, call `handleEvent` on blur.
|
|
142
|
-
3. **Handle `displayMode`** — return `FieldValueList` for read-only modes.
|
|
143
|
-
4. **Handle validation** — show `validatemessage` when `status === 'error'`.
|
|
144
|
-
5. **Preserve `data-test-id`** — pass `testId` to the root interactive element.
|
|
145
|
-
6. **Use `getComponentFromRegistry`** to render sub-components (e.g., `FieldValueList`) — don't hardcode imports for components that might also be replaced.
|
|
146
|
-
|
|
147
|
-
---
|
|
148
|
-
|
|
149
|
-
## 6. Build & Dev Commands
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
# From monorepo root (if developing locally with source packages):
|
|
153
|
-
npm run build # Build all packages + samples
|
|
154
|
-
npm run dev:react # Build + dev server
|
|
155
|
-
|
|
156
|
-
# From this directory (standalone):
|
|
157
|
-
npm run dev # Vite dev server (port 3500)
|
|
158
|
-
npm run build # Production build
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
## 7. Key Imports
|
|
164
|
-
|
|
165
|
-
```typescript
|
|
166
|
-
// From SDK (never modify these)
|
|
167
|
-
import {
|
|
168
|
-
PConnectComponent,
|
|
169
|
-
PegaStoreContext,
|
|
170
|
-
registerComponentCreator,
|
|
171
|
-
getComponentFromRegistry,
|
|
172
|
-
sdkComponents,
|
|
173
|
-
} from '@pega/sdk-react';
|
|
174
|
-
import type { PConnProps, PConnFieldProps } from '@pega/sdk-react';
|
|
175
|
-
|
|
176
|
-
// Event utility (preserve this)
|
|
177
|
-
import handleEvent from '../../helpers/event-utils';
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## 8. Do NOT
|
|
183
|
-
|
|
184
|
-
- Modify `MashupApp.tsx` bootstrap flow when replacing design system components.
|
|
185
|
-
- Import from `@pega/sdk-react/src/...` — use the package entry point only.
|
|
186
|
-
- Hardcode component references — use `getComponentFromRegistry('Name')` for components that may be overridden.
|
|
187
|
-
- Remove the `...sdkComponents` spread from `component-map.ts`.
|
|
188
|
-
- Use `any` without justification — prefer `unknown` and narrow.
|
|
189
|
-
- Add `@ts-ignore` — use `@ts-expect-error` with explanation if truly needed.
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
## 9. Component Generation Workflow — Single Component
|
|
194
|
-
|
|
195
|
-
When the user asks to generate, create, add, or replace **a single UI component** (e.g., "generate an AutoComplete component", "add a Dropdown using Chakra UI"),
|
|
196
|
-
read the full contents of `.claude/prompts/add-component.md` and
|
|
197
|
-
execute every step in order before writing any code.
|
|
198
|
-
Do not skip steps or proceed without reading the required skill files first.
|
|
199
|
-
|
|
200
|
-
> For generating **multiple field components** at once, see Section 10.
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## 10. Batch Field Component Generation
|
|
205
|
-
|
|
206
|
-
When the user asks to generate, create, or replace **multiple field components** or **all field components** with a design system (e.g., "generate field components with Ant Design", "replace all fields with Chakra UI", "generate all field components using Radix"),
|
|
207
|
-
read the full contents of `.claude/prompts/generate-field-components.md` and
|
|
208
|
-
execute every step in order before writing any code.
|
|
209
|
-
Do not skip steps or proceed without reading the required skill files first.
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
## 11. Batch Template Component Generation
|
|
214
|
-
|
|
215
|
-
When the user asks to generate, create, or replace **multiple template components** or **all template components** with a design system (e.g., "generate template components with Ant Design", "replace all templates with Chakra UI", "generate layout templates using Radix"),
|
|
216
|
-
read the full contents of `.claude/prompts/generate-template-components.md` and
|
|
217
|
-
execute every step in order before writing any code.
|
|
218
|
-
Do not skip steps or proceed without reading the required skill files first.
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
## 12. Batch Widget Component Generation
|
|
223
|
-
|
|
224
|
-
When the user asks to generate, create, or replace **multiple widget components** or **all widget components** with a design system (e.g., "generate widget components with Ant Design", "replace all widgets with Chakra UI", "generate widgets using Carbon"),
|
|
225
|
-
read the full contents of `.claude/prompts/generate-widget-components.md` and
|
|
226
|
-
execute every step in order before writing any code.
|
|
227
|
-
Do not skip steps or proceed without reading the required skill files first.
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
## 13. Batch Design System Extension Component Generation
|
|
232
|
-
|
|
233
|
-
When the user asks to generate, create, or replace **multiple design system extension components** or **all DSE components** with a design system (e.g., "generate DSE components with Ant Design", "replace design system extension components with Chakra UI", "generate designSystemExtension components using Carbon"),
|
|
234
|
-
read the full contents of `.claude/prompts/generate-dse-components.md` and
|
|
235
|
-
execute every step in order before writing any code.
|
|
236
|
-
Do not skip steps or proceed without reading the required skill files first.
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
## 14. Generate All Components (Multi-Type)
|
|
241
|
-
|
|
242
|
-
When the user asks to generate, create, or replace components across **multiple types** or **all component types** at once (e.g., "generate all components with Ant Design", "replace everything with Chakra UI", "generate field and widget components using Carbon", "regenerate all components"),
|
|
243
|
-
read the full contents of `.claude/prompts/generate-all-components.md` and
|
|
244
|
-
execute every step in order before writing any code.
|
|
245
|
-
Do not skip steps or proceed without reading the required skill files first.
|
|
246
|
-
|
|
247
|
-
> Use this section when the request spans more than one component type. For a single type, use Sections 10–13.
|