@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,161 @@
|
|
|
1
|
+
# Skill: DefaultPage
|
|
2
|
+
|
|
3
|
+
Flexible page layout template that renders children in a configurable column layout, with optional banner hero section.
|
|
4
|
+
|
|
5
|
+
> **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Component Purpose
|
|
10
|
+
|
|
11
|
+
Renders a page's child regions in a responsive grid layout. The number and proportions of columns are driven by the `layout` prop. When `enableBanner` is true, delegates to the `Banner` DSE component for a full-width hero section with the child columns below it.
|
|
12
|
+
|
|
13
|
+
## Pega Metadata
|
|
14
|
+
|
|
15
|
+
- **Registration key:** `DefaultPage` (in `component-map.ts`)
|
|
16
|
+
- **Category:** Page template
|
|
17
|
+
- **Extends:** `CommonPageProps` (does NOT directly extend `PConnProps` — no `getPConnect` in props)
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ----------------- | ----------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- |
|
|
23
|
+
| `layout` | `'one-column' \| 'two-column' \| 'narrow-wide' \| 'wide-narrow' \| 'dynamic'` | No | Column layout. Default `'one-column'` |
|
|
24
|
+
| `children` | `ReactNode \| ReactNode[]` | Yes | Child region components to render in columns |
|
|
25
|
+
| `title` | `string` | Yes | Page title (part of `CommonPageProps`, not directly rendered) |
|
|
26
|
+
| `icon` | `string` | Yes | Page icon (part of `CommonPageProps`, not directly rendered) |
|
|
27
|
+
| `localeReference` | `string` | Yes | Locale reference key |
|
|
28
|
+
| `enableBanner` | `boolean` | No | If `true`, render `Banner` hero with children as `a`/`b` columns |
|
|
29
|
+
| `heading` | `string` | No | Banner heading. Default `''` |
|
|
30
|
+
| `message` | `string` | No | Banner message. Default `''` |
|
|
31
|
+
| `imageTheme` | `'light' \| 'dark' \| undefined` | No | Banner image theme |
|
|
32
|
+
| `backgroundImage` | `string` | No | Banner background image URL. Default `''` |
|
|
33
|
+
| `backgroundColor` | `string` | No | Banner background color. Default `''` |
|
|
34
|
+
| `tintImage` | `boolean` | No | Banner image tint flag |
|
|
35
|
+
|
|
36
|
+
## Component Skeleton
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { useMemo, Children } from 'react';
|
|
40
|
+
import type { ReactNode } from 'react';
|
|
41
|
+
import { getComponentFromRegistry } from '@pega/sdk-react';
|
|
42
|
+
|
|
43
|
+
const COLUMNS_WIDTHS = {
|
|
44
|
+
'one-column': [12],
|
|
45
|
+
'two-column': [6, 6],
|
|
46
|
+
'narrow-wide': [4, 8],
|
|
47
|
+
'wide-narrow': [8, 4],
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export default function DefaultPage({
|
|
51
|
+
layout = 'one-column', children, enableBanner,
|
|
52
|
+
heading = '', message = '', imageTheme, backgroundImage = '',
|
|
53
|
+
backgroundColor = '', tintImage,
|
|
54
|
+
}: DefaultPageProps) {
|
|
55
|
+
const Banner = getComponentFromRegistry('Banner');
|
|
56
|
+
const childArray = useMemo(() => Children.toArray(children), [children]);
|
|
57
|
+
|
|
58
|
+
// 1. Banner mode
|
|
59
|
+
if (enableBanner) {
|
|
60
|
+
return (
|
|
61
|
+
<Banner
|
|
62
|
+
variant={layout === 'one-column' ? 'two-column' : layout}
|
|
63
|
+
a={[childArray[0]]}
|
|
64
|
+
b={[childArray[1]]}
|
|
65
|
+
banner={{ variant: imageTheme, backgroundColor, title: heading, message, backgroundImage, tintImage }}
|
|
66
|
+
/>
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// 2. Standard grid mode
|
|
71
|
+
return (
|
|
72
|
+
<GridContainer spacing={1}>
|
|
73
|
+
{childArray.map((child, index) => (
|
|
74
|
+
<GridItem key={index} size={COLUMNS_WIDTHS[layout][index]}>
|
|
75
|
+
{child}
|
|
76
|
+
</GridItem>
|
|
77
|
+
))}
|
|
78
|
+
</GridContainer>
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
> **Note:** `DefaultPage` does NOT have a `getPConnect` prop — it extends `CommonPageProps`, not `PConnProps`.
|
|
84
|
+
|
|
85
|
+
## Behavioral Contract
|
|
86
|
+
|
|
87
|
+
### Without Banner (`enableBanner` is falsy)
|
|
88
|
+
|
|
89
|
+
1. Convert children to an array using `Children.toArray(children)` (memoized).
|
|
90
|
+
2. Look up column widths from `COLUMNS_WIDTHS` map using `layout`:
|
|
91
|
+
- `'one-column'`: `[12]` (single column, full width)
|
|
92
|
+
- `'two-column'`: `[6, 6]` (equal split)
|
|
93
|
+
- `'narrow-wide'`: `[4, 8]`
|
|
94
|
+
- `'wide-narrow'`: `[8, 4]`
|
|
95
|
+
3. Render a `<Grid container spacing={1}>`.
|
|
96
|
+
4. Map over children array: for each child at index `i`, render `<Grid key={i} size={COLUMNS_WIDTHS[layout][i]}>{child}</Grid>`.
|
|
97
|
+
|
|
98
|
+
### With Banner (`enableBanner` is true)
|
|
99
|
+
|
|
100
|
+
1. Retrieve `Banner` from the component registry.
|
|
101
|
+
2. Determine banner variant:
|
|
102
|
+
- If `layout === 'one-column'`, use `'two-column'` for the banner layout (equal split for `a`/`b`).
|
|
103
|
+
- Otherwise use the `layout` value directly.
|
|
104
|
+
3. Render `<Banner variant={...} a={[childArray[0]]} b={[childArray[1]]} banner={{ variant: imageTheme, backgroundColor, title: heading, message, backgroundImage, tintImage }} />`.
|
|
105
|
+
|
|
106
|
+
## Visual Specifications
|
|
107
|
+
|
|
108
|
+
### Column Widths
|
|
109
|
+
|
|
110
|
+
| `layout` | Column sizes (MUI 12-grid) |
|
|
111
|
+
| --------------- | -------------------------- |
|
|
112
|
+
| `'one-column'` | 12 |
|
|
113
|
+
| `'two-column'` | 6, 6 |
|
|
114
|
+
| `'narrow-wide'` | 4, 8 |
|
|
115
|
+
| `'wide-narrow'` | 8, 4 |
|
|
116
|
+
|
|
117
|
+
### Grid Spacing
|
|
118
|
+
|
|
119
|
+
| Property | Value |
|
|
120
|
+
| ----------------- | ------------------------- |
|
|
121
|
+
| Container spacing | 1 (≈ 8px between columns) |
|
|
122
|
+
|
|
123
|
+
**CSS-only implementation notes:**
|
|
124
|
+
|
|
125
|
+
- One-column: `display: grid; grid-template-columns: 1fr; gap: 8px`.
|
|
126
|
+
- Two-column: `display: grid; grid-template-columns: 1fr 1fr; gap: 8px`.
|
|
127
|
+
- Narrow-wide: `display: grid; grid-template-columns: 1fr 2fr; gap: 8px`.
|
|
128
|
+
- Wide-narrow: `display: grid; grid-template-columns: 2fr 1fr; gap: 8px`.
|
|
129
|
+
- With banner: delegate to Banner component structure (see `Banner.md`).
|
|
130
|
+
- Responsive: collapse all to single column on mobile.
|
|
131
|
+
|
|
132
|
+
## Edge Cases & Special Logic
|
|
133
|
+
|
|
134
|
+
- `layout='dynamic'` is listed in the type union but has no entry in `COLUMNS_WIDTHS` — if accessed, it returns `undefined`, and no columns are rendered. This is a known stub.
|
|
135
|
+
- When `enableBanner` is true and `layout === 'one-column'`, the banner layout is forced to `'two-column'` to provide a meaningful two-slot layout for `a` and `b`.
|
|
136
|
+
- Children are memoized via `useMemo(() => Children.toArray(children), [children])` to avoid unnecessary re-renders.
|
|
137
|
+
|
|
138
|
+
## Dependencies
|
|
139
|
+
|
|
140
|
+
- When `enableBanner` is true: `getComponentFromRegistry('Banner')` from `@pega/sdk-react`
|
|
141
|
+
- `Grid` from `@mui/material` (or equivalent CSS grid in non-MUI implementations)
|
|
142
|
+
|
|
143
|
+
## Design System Mapping
|
|
144
|
+
|
|
145
|
+
**UI control type:** Responsive multi-column page grid layout with optional banner hero.
|
|
146
|
+
|
|
147
|
+
Listed design systems are examples only.
|
|
148
|
+
|
|
149
|
+
| Design System | Recommended Component |
|
|
150
|
+
| ------------------ | --------------------------------------------------------------- |
|
|
151
|
+
| Default (CSS only) | CSS Grid with column template driven by `layout` prop |
|
|
152
|
+
| MUI | `<Grid container spacing={1}>` with `<Grid size={N}>` per child |
|
|
153
|
+
| Ant Design | `<Row gutter={8}>` with `<Col span={N * 2}>` (24-col grid) |
|
|
154
|
+
| Chakra UI | `<SimpleGrid columns={{ base: 1, md: N }}>` |
|
|
155
|
+
| Shadcn/ui | Tailwind grid utilities matching the layout |
|
|
156
|
+
|
|
157
|
+
When implementing in a specific design system:
|
|
158
|
+
|
|
159
|
+
- Map `layout` prop to the appropriate column template
|
|
160
|
+
- Banner mode delegates to the `Banner` component — implement Banner first
|
|
161
|
+
- All children are sized uniformly within their column (no per-child overrides)
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Template component skill: Details
|
|
3
|
-
alwaysApply: false
|
|
4
|
-
---
|
|
5
|
-
|
|
6
1
|
# Skill: Details
|
|
7
2
|
|
|
8
3
|
Read-only single-column details template. Renders all child fields in DISPLAY_ONLY mode inside a labeled FieldGroup, with optional highlighted data strip above.
|
|
@@ -23,12 +18,71 @@ Renders a labeled group of read-only fields in a single-column vertical stack. F
|
|
|
23
18
|
|
|
24
19
|
## Props
|
|
25
20
|
|
|
26
|
-
| Prop
|
|
27
|
-
|
|
28
|
-
| `label`
|
|
29
|
-
| `showLabel`
|
|
30
|
-
| `showHighlightedData` | `boolean`
|
|
31
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| --------------------- | ---------- | -------- | --------------------------------------------------- |
|
|
23
|
+
| `label` | `string` | Yes | Section heading for the FieldGroup wrapper |
|
|
24
|
+
| `showLabel` | `boolean` | Yes | Whether to show the section label |
|
|
25
|
+
| `showHighlightedData` | `boolean` | Yes | Whether to render highlighted fields above children |
|
|
26
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
27
|
+
|
|
28
|
+
## Component Skeleton
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
import { createElement } from 'react';
|
|
32
|
+
import { getComponentFromRegistry, PConnectComponent } from '@pega/sdk-react';
|
|
33
|
+
import type { PConnProps } from '@pega/sdk-react';
|
|
34
|
+
|
|
35
|
+
interface DetailsProps extends PConnProps {
|
|
36
|
+
label: string;
|
|
37
|
+
showLabel: boolean;
|
|
38
|
+
showHighlightedData: boolean;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export default function Details(props: DetailsProps) {
|
|
42
|
+
const FieldGroup = getComponentFromRegistry('FieldGroup');
|
|
43
|
+
const { label, showLabel, getPConnect, showHighlightedData } = props;
|
|
44
|
+
|
|
45
|
+
// 1. Inherited props merge
|
|
46
|
+
const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };
|
|
47
|
+
|
|
48
|
+
// 2. Force all children into display-only mode (side effect)
|
|
49
|
+
getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');
|
|
50
|
+
getPConnect().setInheritedProp('readOnly', true);
|
|
51
|
+
|
|
52
|
+
// 3. Create children from PConnect
|
|
53
|
+
const children = (getPConnect().getChildren() as any[]).map((configObject, index) =>
|
|
54
|
+
createElement(PConnectComponent, { ...configObject, key: index.toString() })
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
// 4. Highlighted data (optional)
|
|
58
|
+
let highlightedDataArr = [];
|
|
59
|
+
if (showHighlightedData) {
|
|
60
|
+
const { highlightedData = [] } = (getPConnect().getRawMetadata() as any).config;
|
|
61
|
+
highlightedDataArr = highlightedData.map((field) => {
|
|
62
|
+
field.config.displayMode = 'STACKED_LARGE_VAL';
|
|
63
|
+
if (field.config.value === '@P .pyStatusWork') {
|
|
64
|
+
field.type = 'TextInput';
|
|
65
|
+
field.config.displayAsStatus = true;
|
|
66
|
+
}
|
|
67
|
+
return getPConnect().createComponent(field, '', 0, {});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// 5. Render: FieldGroup > highlighted grid (xs:12) + children grid (xs:12)
|
|
72
|
+
return (
|
|
73
|
+
<FieldGroup name={propsToUse.showLabel ? propsToUse.label : ''}>
|
|
74
|
+
{showHighlightedData && highlightedDataArr.length > 0 && (
|
|
75
|
+
<GridContainer spacing={1} style={{ padding: '0 0 1em' }}>
|
|
76
|
+
{highlightedDataArr.map((child, i) => <GridItem xs={12} key={`hf-${i+1}`}>{child}</GridItem>)}
|
|
77
|
+
</GridContainer>
|
|
78
|
+
)}
|
|
79
|
+
<GridContainer spacing={1}>
|
|
80
|
+
{children.map((child, i) => <GridItem xs={12} key={`r-${i+1}`}>{child}</GridItem>)}
|
|
81
|
+
</GridContainer>
|
|
82
|
+
</FieldGroup>
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
```
|
|
32
86
|
|
|
33
87
|
## Behavioral Contract
|
|
34
88
|
|
|
@@ -49,13 +103,14 @@ Renders a labeled group of read-only fields in a single-column vertical stack. F
|
|
|
49
103
|
|
|
50
104
|
### Overall Layout
|
|
51
105
|
|
|
52
|
-
| Property
|
|
53
|
-
|
|
54
|
-
| Column structure
|
|
55
|
-
| Inner spacing
|
|
106
|
+
| Property | Value |
|
|
107
|
+
| ------------------------ | -------------------------------------------------------- |
|
|
108
|
+
| Column structure | Single column (xs: 12 for each child) |
|
|
109
|
+
| Inner spacing | Grid spacing 1 (≈ 8px between fields) |
|
|
56
110
|
| Highlighted data padding | `padding: 0 0 1em` (space below before regular children) |
|
|
57
111
|
|
|
58
112
|
**CSS-only implementation notes:**
|
|
113
|
+
|
|
59
114
|
- Outer wrapper: `FieldGroup` component (see `FieldGroupDSE.md` for styles).
|
|
60
115
|
- Children grid: `display: grid; grid-template-columns: 1fr; gap: 8px`.
|
|
61
116
|
- Highlighted data row: `display: grid; grid-template-columns: 1fr; gap: 8px; padding-bottom: 1rem`.
|
|
@@ -79,15 +134,16 @@ Renders a labeled group of read-only fields in a single-column vertical stack. F
|
|
|
79
134
|
|
|
80
135
|
Listed design systems are examples only.
|
|
81
136
|
|
|
82
|
-
| Design System
|
|
83
|
-
|
|
84
|
-
| Default (CSS only) | `<fieldset>/<legend>` wrapper with CSS grid single column
|
|
85
|
-
| MUI
|
|
86
|
-
| Ant Design
|
|
87
|
-
| Chakra UI
|
|
88
|
-
| Shadcn/ui
|
|
137
|
+
| Design System | Recommended Component |
|
|
138
|
+
| ------------------ | ------------------------------------------------------------------------ |
|
|
139
|
+
| Default (CSS only) | `<fieldset>/<legend>` wrapper with CSS grid single column |
|
|
140
|
+
| MUI | `<Grid container spacing={1}>` with `<Grid size={{ xs: 12 }}>` per field |
|
|
141
|
+
| Ant Design | `<Card title={label}>` with `<Row><Col span={24}>` per field |
|
|
142
|
+
| Chakra UI | `<Box>` with heading + `<Stack spacing={2}>` |
|
|
143
|
+
| Shadcn/ui | `<Card><CardHeader><CardContent>` with stacked field items |
|
|
89
144
|
|
|
90
145
|
When implementing in a specific design system:
|
|
146
|
+
|
|
91
147
|
- All children must have `displayMode='DISPLAY_ONLY'` and `readOnly=true` inherited
|
|
92
148
|
- Highlighted data uses `STACKED_LARGE_VAL` — larger/bolder value display
|
|
93
149
|
- `showLabel=false` hides the section heading entirely
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Template component skill: DetailsSubTabs
|
|
3
|
-
alwaysApply: false
|
|
4
|
-
---
|
|
5
|
-
|
|
6
1
|
# Skill: DetailsSubTabs
|
|
7
2
|
|
|
8
3
|
Read-only tabbed details template. Renders sub-tabs with deferred-loaded tab content, using shared tab utilities.
|
|
@@ -23,12 +18,72 @@ Renders a tabbed layout for a details region. Each tab contains display-only con
|
|
|
23
18
|
|
|
24
19
|
## Props
|
|
25
20
|
|
|
26
|
-
| Prop
|
|
27
|
-
|
|
28
|
-
| `children`
|
|
29
|
-
| `label`
|
|
30
|
-
| `showLabel`
|
|
31
|
-
| `getPConnect` | `function`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ------------- | ------------- | -------- | ----------------------------------------------------------------- |
|
|
23
|
+
| `children` | `ReactNode[]` | Yes | Tab content — `children[0]` is the deferred-loaded tabs container |
|
|
24
|
+
| `label` | `string` | Yes | Section heading shown above tabs when `showLabel` is true |
|
|
25
|
+
| `showLabel` | `boolean` | No | Whether to show the section heading. Default `true` |
|
|
26
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
27
|
+
|
|
28
|
+
## Component Skeleton
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
import { Children, type PropsWithChildren, useEffect, useState } from 'react';
|
|
32
|
+
import { getTransientTabs, getVisibleTabs, tabClick } from '../../SubTabs/tabUtils';
|
|
33
|
+
import type { PConnProps } from '@pega/sdk-react';
|
|
34
|
+
|
|
35
|
+
interface DetailsSubTabsProps extends PConnProps {
|
|
36
|
+
showLabel: boolean;
|
|
37
|
+
label: string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export default function DetailsSubTabs(props: PropsWithChildren<DetailsSubTabsProps>) {
|
|
41
|
+
const { children = [], label, showLabel = true, getPConnect } = props;
|
|
42
|
+
const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };
|
|
43
|
+
|
|
44
|
+
// 1. Extract deferred tabs from first child
|
|
45
|
+
const deferLoadedTabs = Children.toArray(children)[0];
|
|
46
|
+
let availableTabs = [];
|
|
47
|
+
|
|
48
|
+
// 2. Compute visible tabs on mount
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
availableTabs = getVisibleTabs(deferLoadedTabs, 'detailsSubTabs');
|
|
51
|
+
}, [availableTabs]);
|
|
52
|
+
|
|
53
|
+
// 3. Tab state
|
|
54
|
+
const [currentTabId, setCurrentTabId] = useState('0');
|
|
55
|
+
const [tabItems, setTabitem] = useState([]);
|
|
56
|
+
|
|
57
|
+
// 4. Update tab items when currentTabId changes
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
const tempTabItems = getTransientTabs(availableTabs, currentTabId, tabItems);
|
|
60
|
+
setTabitem(tempTabItems);
|
|
61
|
+
}, [currentTabId]);
|
|
62
|
+
|
|
63
|
+
// 5. Tab click handler
|
|
64
|
+
const handleTabClick = (id, index: string) => {
|
|
65
|
+
setCurrentTabId(index);
|
|
66
|
+
tabClick(index, availableTabs, currentTabId, setCurrentTabId, tabItems);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
// 6. Render: optional heading + TabContext + Tabs + TabPanels
|
|
70
|
+
return (
|
|
71
|
+
<>
|
|
72
|
+
{propsToUse.showLabel && <h3>{propsToUse.label}</h3>}
|
|
73
|
+
<TabContext value={currentTabId.toString()}>
|
|
74
|
+
<TabBar onChange={handleTabClick} value={currentTabId}>
|
|
75
|
+
{tabItems.map(tab => <Tab key={tab.id} label={tab.name} value={tab.id} />)}
|
|
76
|
+
</TabBar>
|
|
77
|
+
{tabItems.map(tab => (
|
|
78
|
+
<TabPanel key={tab.id} value={tab.id} tabIndex={+tab.id}>
|
|
79
|
+
{tab.content || 'No content exists'}
|
|
80
|
+
</TabPanel>
|
|
81
|
+
))}
|
|
82
|
+
</TabContext>
|
|
83
|
+
</>
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
```
|
|
32
87
|
|
|
33
88
|
## Behavioral Contract
|
|
34
89
|
|
|
@@ -48,19 +103,20 @@ Renders a tabbed layout for a details region. Each tab contains display-only con
|
|
|
48
103
|
|
|
49
104
|
### Heading
|
|
50
105
|
|
|
51
|
-
| Property
|
|
52
|
-
|
|
53
|
-
| Tag
|
|
106
|
+
| Property | Value |
|
|
107
|
+
| --------------- | ------------------------------- |
|
|
108
|
+
| Tag | `<h3>` |
|
|
54
109
|
| Shown only when | `propsToUse.showLabel === true` |
|
|
55
110
|
|
|
56
111
|
### Tab Bar
|
|
57
112
|
|
|
58
|
-
| Property
|
|
59
|
-
|
|
60
|
-
| Scrollable
|
|
61
|
-
| Tab text transform | Inherits design system default
|
|
113
|
+
| Property | Value |
|
|
114
|
+
| ------------------ | ------------------------------------------------------------------ |
|
|
115
|
+
| Scrollable | Not specified (default non-scrollable in reference implementation) |
|
|
116
|
+
| Tab text transform | Inherits design system default |
|
|
62
117
|
|
|
63
118
|
**CSS-only implementation notes:**
|
|
119
|
+
|
|
64
120
|
- Heading: `font-size: 1.25rem; font-weight: 600; margin-bottom: 8px`.
|
|
65
121
|
- Tab bar: `display: flex; border-bottom: 2px solid var(--divider); gap: 0`.
|
|
66
122
|
- Each tab: `padding: 8px 16px; cursor: pointer; border-bottom: 2px solid transparent`.
|
|
@@ -86,15 +142,16 @@ Renders a tabbed layout for a details region. Each tab contains display-only con
|
|
|
86
142
|
|
|
87
143
|
Listed design systems are examples only.
|
|
88
144
|
|
|
89
|
-
| Design System
|
|
90
|
-
|
|
91
|
-
| Default (CSS only) | Custom tab bar with CSS underline indicator
|
|
92
|
-
| MUI
|
|
93
|
-
| Ant Design
|
|
94
|
-
| Chakra UI
|
|
95
|
-
| Shadcn/ui
|
|
145
|
+
| Design System | Recommended Component |
|
|
146
|
+
| ------------------ | -------------------------------------------------------- |
|
|
147
|
+
| Default (CSS only) | Custom tab bar with CSS underline indicator |
|
|
148
|
+
| MUI | `<TabContext>` + `<Tabs>` + `<TabPanel>` from `@mui/lab` |
|
|
149
|
+
| Ant Design | `<Tabs>` with `items` array |
|
|
150
|
+
| Chakra UI | `<Tabs>` + `<TabList>` + `<TabPanels>` |
|
|
151
|
+
| Shadcn/ui | `<Tabs>` + `<TabsList>` + `<TabsContent>` |
|
|
96
152
|
|
|
97
153
|
When implementing in a specific design system:
|
|
154
|
+
|
|
98
155
|
- `getVisibleTabs` and `getTransientTabs` are tabUtils helpers — use them regardless of UI library
|
|
99
156
|
- Tab content is lazily loaded via the transient tab pattern
|
|
100
157
|
- Optional `<h3>` heading above the tab bar (controlled by `showLabel`)
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Template component skill: DetailsThreeColumn
|
|
3
|
-
alwaysApply: false
|
|
4
|
-
---
|
|
5
|
-
|
|
6
1
|
# Skill: DetailsThreeColumn
|
|
7
2
|
|
|
8
3
|
Read-only three-column details template. Renders child fields in DISPLAY_ONLY mode in a 3-column grid inside a FieldGroup, with optional highlighted data.
|
|
@@ -25,12 +20,24 @@ Identical to `Details` and `DetailsTwoColumn` in all behavior except children ar
|
|
|
25
20
|
|
|
26
21
|
## Props
|
|
27
22
|
|
|
28
|
-
| Prop
|
|
29
|
-
|
|
30
|
-
| `label`
|
|
31
|
-
| `showLabel`
|
|
32
|
-
| `showHighlightedData` | `boolean`
|
|
33
|
-
| `getPConnect`
|
|
23
|
+
| Prop | Type | Required | Description |
|
|
24
|
+
| --------------------- | ---------- | -------- | -------------------------------------------------------------------- |
|
|
25
|
+
| `label` | `string` | Yes | Section heading for the FieldGroup wrapper |
|
|
26
|
+
| `showLabel` | `boolean` | No | Whether to show the section label. Default `true` |
|
|
27
|
+
| `showHighlightedData` | `boolean` | No | Whether to render highlighted fields above children. Default `false` |
|
|
28
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
29
|
+
|
|
30
|
+
## Component Skeleton
|
|
31
|
+
|
|
32
|
+
Identical to `Details` skeleton except grid items use `xs={4}` (three columns).
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
// Same as Details — only this line differs in the grid:
|
|
36
|
+
// Highlighted data: <GridItem xs={4} key={...}>{child}</GridItem>
|
|
37
|
+
// Regular children: <GridItem xs={4} key={...}>{child}</GridItem>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
See `Details.md` skeleton for the full pattern. The ONLY change is `xs: 12` → `xs: 4`.
|
|
34
41
|
|
|
35
42
|
## Behavioral Contract
|
|
36
43
|
|
|
@@ -44,13 +51,14 @@ All steps identical to `Details`, except:
|
|
|
44
51
|
|
|
45
52
|
### Column Structure
|
|
46
53
|
|
|
47
|
-
|
|
|
48
|
-
|
|
49
|
-
| Column width per child
|
|
50
|
-
| Columns per row
|
|
51
|
-
| Highlighted data column | xs: 12
|
|
54
|
+
| | Details | DetailsTwoColumn | DetailsThreeColumn |
|
|
55
|
+
| ----------------------- | ------- | ---------------- | ------------------ |
|
|
56
|
+
| Column width per child | xs: 12 | xs: 6 | **xs: 4** |
|
|
57
|
+
| Columns per row | 1 | 2 | **3** |
|
|
58
|
+
| Highlighted data column | xs: 12 | xs: 6 | **xs: 4** |
|
|
52
59
|
|
|
53
60
|
**CSS-only implementation notes:**
|
|
61
|
+
|
|
54
62
|
- Children grid: `display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px`.
|
|
55
63
|
- Highlighted data row: `display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; padding-bottom: 1rem`.
|
|
56
64
|
- Wrap in FieldGroup (see `FieldGroup.md` DSE skill).
|
|
@@ -70,14 +78,15 @@ All edge cases identical to `Details`. See `Details.md`.
|
|
|
70
78
|
|
|
71
79
|
Listed design systems are examples only.
|
|
72
80
|
|
|
73
|
-
| Design System
|
|
74
|
-
|
|
81
|
+
| Design System | Recommended Component |
|
|
82
|
+
| ------------------ | ----------------------------------------------------------------------------- |
|
|
75
83
|
| Default (CSS only) | `<fieldset>/<legend>` with CSS `grid-template-columns: 1fr 1fr 1fr; gap: 8px` |
|
|
76
|
-
| MUI
|
|
77
|
-
| Ant Design
|
|
78
|
-
| Chakra UI
|
|
79
|
-
| Shadcn/ui
|
|
84
|
+
| MUI | `<Grid container spacing={1}>` with `<Grid size={{ xs: 4 }}>` per field |
|
|
85
|
+
| Ant Design | `<Descriptions column={3}>` or `<Row><Col span={8}>` per field |
|
|
86
|
+
| Chakra UI | `<SimpleGrid columns={3} spacing={2}>` |
|
|
87
|
+
| Shadcn/ui | Tailwind `grid grid-cols-3 gap-2` |
|
|
80
88
|
|
|
81
89
|
When implementing in a specific design system:
|
|
90
|
+
|
|
82
91
|
- 3-column layout — each field takes one-third of the available width
|
|
83
92
|
- All other behaviors inherited from `Details` (DISPLAY_ONLY, readOnly, FieldGroup, highlighted data)
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Template component skill: DetailsTwoColumn
|
|
3
|
-
alwaysApply: false
|
|
4
|
-
---
|
|
5
|
-
|
|
6
1
|
# Skill: DetailsTwoColumn
|
|
7
2
|
|
|
8
3
|
Read-only two-column details template. Renders child fields in DISPLAY_ONLY mode in a 2-column grid inside a FieldGroup, with optional highlighted data.
|
|
@@ -25,12 +20,24 @@ Identical to `Details` in all behavior except children are distributed into a **
|
|
|
25
20
|
|
|
26
21
|
## Props
|
|
27
22
|
|
|
28
|
-
| Prop
|
|
29
|
-
|
|
30
|
-
| `label`
|
|
31
|
-
| `showLabel`
|
|
32
|
-
| `showHighlightedData` | `boolean`
|
|
33
|
-
| `getPConnect`
|
|
23
|
+
| Prop | Type | Required | Description |
|
|
24
|
+
| --------------------- | ---------- | -------- | -------------------------------------------------------------------- |
|
|
25
|
+
| `label` | `string` | Yes | Section heading for the FieldGroup wrapper |
|
|
26
|
+
| `showLabel` | `boolean` | No | Whether to show the section label. Default `true` |
|
|
27
|
+
| `showHighlightedData` | `boolean` | No | Whether to render highlighted fields above children. Default `false` |
|
|
28
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
29
|
+
|
|
30
|
+
## Component Skeleton
|
|
31
|
+
|
|
32
|
+
Identical to `Details` skeleton except grid items use `xs={6}` (two columns).
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
// Same as Details — only this line differs in the grid:
|
|
36
|
+
// Highlighted data: <GridItem xs={6} key={...}>{child}</GridItem>
|
|
37
|
+
// Regular children: <GridItem xs={6} key={...}>{child}</GridItem>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
See `Details.md` skeleton for the full pattern. The ONLY change is `xs: 12` → `xs: 6`.
|
|
34
41
|
|
|
35
42
|
## Behavioral Contract
|
|
36
43
|
|
|
@@ -44,13 +51,14 @@ All steps identical to `Details`, except:
|
|
|
44
51
|
|
|
45
52
|
### Column Structure
|
|
46
53
|
|
|
47
|
-
|
|
|
48
|
-
|
|
49
|
-
| Column width per child
|
|
50
|
-
| Columns per row
|
|
51
|
-
| Highlighted data column | xs: 12
|
|
54
|
+
| | Details | DetailsTwoColumn |
|
|
55
|
+
| ----------------------- | ------------------- | ---------------------- |
|
|
56
|
+
| Column width per child | xs: 12 (full width) | **xs: 6 (half width)** |
|
|
57
|
+
| Columns per row | 1 | **2** |
|
|
58
|
+
| Highlighted data column | xs: 12 | **xs: 6** |
|
|
52
59
|
|
|
53
60
|
**CSS-only implementation notes:**
|
|
61
|
+
|
|
54
62
|
- Children grid: `display: grid; grid-template-columns: 1fr 1fr; gap: 8px`.
|
|
55
63
|
- Highlighted data row: `display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding-bottom: 1rem`.
|
|
56
64
|
- Wrap in FieldGroup (see `FieldGroup.md` DSE skill).
|
|
@@ -70,14 +78,15 @@ All edge cases identical to `Details`. See `Details.md`.
|
|
|
70
78
|
|
|
71
79
|
Listed design systems are examples only.
|
|
72
80
|
|
|
73
|
-
| Design System
|
|
74
|
-
|
|
81
|
+
| Design System | Recommended Component |
|
|
82
|
+
| ------------------ | ------------------------------------------------------------------------- |
|
|
75
83
|
| Default (CSS only) | `<fieldset>/<legend>` with CSS `grid-template-columns: 1fr 1fr; gap: 8px` |
|
|
76
|
-
| MUI
|
|
77
|
-
| Ant Design
|
|
78
|
-
| Chakra UI
|
|
79
|
-
| Shadcn/ui
|
|
84
|
+
| MUI | `<Grid container spacing={1}>` with `<Grid size={{ xs: 6 }}>` per field |
|
|
85
|
+
| Ant Design | `<Descriptions column={2}>` or `<Row><Col span={12}>` per field |
|
|
86
|
+
| Chakra UI | `<SimpleGrid columns={2} spacing={2}>` |
|
|
87
|
+
| Shadcn/ui | Tailwind `grid grid-cols-2 gap-2` |
|
|
80
88
|
|
|
81
89
|
When implementing in a specific design system:
|
|
90
|
+
|
|
82
91
|
- 2-column layout — each field takes half the available width
|
|
83
92
|
- All other behaviors inherited from `Details` (DISPLAY_ONLY, readOnly, FieldGroup, highlighted data)
|