@pega/sdk 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -3
- package/dist/index.js +764 -165
- package/package.json +1 -1
- package/templates/react-native-sdk-reference/.claude/settings.json +5 -0
- package/templates/react-native-sdk-reference/.prettierignore +17 -0
- package/templates/react-native-sdk-reference/.vscode/extensions.json +1 -0
- package/templates/react-native-sdk-reference/.vscode/settings.json +7 -0
- package/templates/react-native-sdk-reference/AGENTS.md +3 -0
- package/templates/react-native-sdk-reference/CLAUDE.md +1 -0
- package/templates/react-native-sdk-reference/README.md +56 -0
- package/templates/react-native-sdk-reference/app.json +40 -5
- package/templates/react-native-sdk-reference/assets/expo.icon/Assets/expo-symbol 2.svg +3 -0
- package/templates/react-native-sdk-reference/assets/expo.icon/Assets/grid.png +0 -0
- package/templates/react-native-sdk-reference/assets/expo.icon/icon.json +35 -0
- package/templates/react-native-sdk-reference/assets/icons/bell.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/clock.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/cross.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/donut.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/gear.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/globe.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/internet.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/music.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/right-arrow.png +0 -0
- package/templates/react-native-sdk-reference/assets/icons/speed.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/MediaCo.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/adaptive-icon.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/android-icon-background.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/android-icon-foreground.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/android-icon-monochrome.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/expo-badge-white.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/expo-badge.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/expo-logo.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/favicon.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/icon.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/logo-glow.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/partial-react-logo.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/react-logo.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/react-logo@2x.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/react-logo@3x.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/splash-icon.png +0 -0
- package/templates/react-native-sdk-reference/assets/images/tutorial-web.png +0 -0
- package/templates/react-native-sdk-reference/eslint.config.mjs +68 -0
- package/templates/react-native-sdk-reference/package.json +59 -14
- package/templates/react-native-sdk-reference/pega-constellationjs-0.26.3.tgz +0 -0
- package/templates/react-native-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
- package/templates/react-native-sdk-reference/pega-sdk-types-0.1.0.tgz +0 -0
- package/templates/react-native-sdk-reference/sdk-config.json +31 -9
- package/templates/react-native-sdk-reference/src/app/_layout.tsx +38 -0
- package/templates/react-native-sdk-reference/src/app/home/_layout.tsx +39 -0
- package/templates/react-native-sdk-reference/src/app/home/contact.tsx +11 -0
- package/templates/react-native-sdk-reference/src/app/home/index.tsx +36 -0
- package/templates/react-native-sdk-reference/src/app/home/shop.tsx +11 -0
- package/templates/react-native-sdk-reference/src/app/home/your-services.tsx +11 -0
- package/templates/react-native-sdk-reference/src/app/index.tsx +72 -0
- package/templates/react-native-sdk-reference/src/app/workarea.tsx +135 -0
- package/templates/react-native-sdk-reference/src/bridge/Context/StoreContext.ts +4 -0
- package/templates/react-native-sdk-reference/src/bridge/RootComponent.tsx +12 -0
- package/templates/react-native-sdk-reference/src/bridge/react_pconnect.jsx +334 -0
- package/templates/react-native-sdk-reference/src/components/common/DisplayField.tsx +29 -0
- package/templates/react-native-sdk-reference/src/components/common/FormFieldWrapper.tsx +5 -0
- package/templates/react-native-sdk-reference/src/components/common/HelperText.tsx +11 -0
- package/templates/react-native-sdk-reference/src/components/common/LabelText.tsx +22 -0
- package/templates/react-native-sdk-reference/src/components/common/inputTheme.ts +17 -0
- package/templates/react-native-sdk-reference/src/components/design-system/AutoComplete.tsx +126 -0
- package/templates/react-native-sdk-reference/src/components/design-system/FieldGroup.tsx +72 -0
- package/templates/react-native-sdk-reference/src/components/design-system/Radio.tsx +61 -0
- package/templates/react-native-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +196 -0
- package/templates/react-native-sdk-reference/src/components/field/AutoComplete/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +89 -0
- package/templates/react-native-sdk-reference/src/components/field/Checkbox/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Currency/Currency.tsx +84 -0
- package/templates/react-native-sdk-reference/src/components/field/Currency/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Date/Date.tsx +94 -0
- package/templates/react-native-sdk-reference/src/components/field/Date/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +211 -0
- package/templates/react-native-sdk-reference/src/components/field/Dropdown/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Email/Email.tsx +81 -0
- package/templates/react-native-sdk-reference/src/components/field/Email/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Group/Group.tsx +47 -0
- package/templates/react-native-sdk-reference/src/components/field/Group/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Integer/Integer.tsx +84 -0
- package/templates/react-native-sdk-reference/src/components/field/Integer/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/Phone/Phone.tsx +85 -0
- package/templates/react-native-sdk-reference/src/components/field/Phone/index.ts +1 -0
- package/templates/react-native-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +118 -0
- package/templates/react-native-sdk-reference/src/components/field/RadioButtons/index.ts +1 -0
- package/templates/react-native-sdk-reference/src/components/field/TextArea/TextArea.tsx +86 -0
- package/templates/react-native-sdk-reference/src/components/field/TextArea/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/TextInput/TextInput.tsx +84 -0
- package/templates/react-native-sdk-reference/src/components/field/TextInput/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/field/URL/URL.tsx +86 -0
- package/templates/react-native-sdk-reference/src/components/field/URL/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/helpers/data_page.ts +20 -0
- package/templates/react-native-sdk-reference/src/components/helpers/event-utils.ts +20 -0
- package/templates/react-native-sdk-reference/src/components/helpers/instructions-utils.ts +57 -0
- package/templates/react-native-sdk-reference/src/components/helpers/state-utils.tsx +46 -0
- package/templates/react-native-sdk-reference/src/components/helpers/template-utils.ts +75 -0
- package/templates/react-native-sdk-reference/src/components/helpers/utils.ts +339 -0
- package/templates/react-native-sdk-reference/src/components/infra/ActionButtons/ActionButtons.tsx +63 -0
- package/templates/react-native-sdk-reference/src/components/infra/ActionButtons/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Assignment/Assignment.tsx +348 -0
- package/templates/react-native-sdk-reference/src/components/infra/Assignment/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/AssignmentCard/AssignmentCard.tsx +56 -0
- package/templates/react-native-sdk-reference/src/components/infra/AssignmentCard/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/FlowContainer/FlowContainer.tsx +57 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/FlowContainer/helpers.ts +137 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/FlowContainer/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/RootContainer/RootContainer.tsx +52 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/RootContainer/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/SimpleView/helper.ts +128 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/SimpleView/index.tsx +59 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/ViewContainer/ViewContainer.tsx +31 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/ViewContainer/helper.ts +39 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/ViewContainer/index.ts +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Containers/helper.ts +9 -0
- package/templates/react-native-sdk-reference/src/components/infra/ErrorBoundary/ErrorBoundary.tsx +53 -0
- package/templates/react-native-sdk-reference/src/components/infra/ErrorBoundary/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/MultiStep/MultiStep.tsx +24 -0
- package/templates/react-native-sdk-reference/src/components/infra/MultiStep/index.ts +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Reference/Reference.tsx +68 -0
- package/templates/react-native-sdk-reference/src/components/infra/Reference/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/Reference/utils.ts +16 -0
- package/templates/react-native-sdk-reference/src/components/infra/Region/Region.tsx +10 -0
- package/templates/react-native-sdk-reference/src/components/infra/Region/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/infra/View/View.tsx +49 -0
- package/templates/react-native-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +38 -0
- package/templates/react-native-sdk-reference/src/components/template/DefaultForm/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/template/DefaultForm/utils/index.ts +28 -0
- package/templates/react-native-sdk-reference/src/components/template/Details/Details.tsx +82 -0
- package/templates/react-native-sdk-reference/src/components/template/Details/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/components/template/OneColumn/OneColumn.tsx +29 -0
- package/templates/react-native-sdk-reference/src/components/template/OneColumn/index.tsx +1 -0
- package/templates/react-native-sdk-reference/src/context/LoaderContext.tsx +42 -0
- package/templates/react-native-sdk-reference/src/mediaco/AdvBanner.tsx +62 -0
- package/templates/react-native-sdk-reference/src/mediaco/Header.tsx +60 -0
- package/templates/react-native-sdk-reference/src/mediaco/HomeScreen.tsx +78 -0
- package/templates/react-native-sdk-reference/src/mediaco/QuickActions.tsx +68 -0
- package/templates/react-native-sdk-reference/src/mediaco/ResolutionScreen.tsx +48 -0
- package/templates/react-native-sdk-reference/src/mediaco/SafeArea.tsx +11 -0
- package/templates/react-native-sdk-reference/src/mediaco/TabBar.tsx +102 -0
- package/templates/react-native-sdk-reference/src/mediaco/YourServices.tsx +90 -0
- package/templates/react-native-sdk-reference/src/sdk-pega-component-map.ts +64 -0
- package/templates/react-native-sdk-reference/src/types/PConnProps.d.ts +41 -0
- package/templates/react-native-sdk-reference/src/utils/auth.ts +62 -0
- package/templates/react-native-sdk-reference/src/utils/init-pcore.ts +37 -0
- package/templates/react-native-sdk-reference/src/utils/pcore-polyfills.ts +66 -0
- package/templates/react-native-sdk-reference/tsconfig.json +9 -8
- package/templates/react-sdk-reference/.ai-common/agents/embedded-flow-expert.md +171 -0
- package/templates/react-sdk-reference/.ai-common/agents/implementation-expert.md +25 -26
- package/templates/react-sdk-reference/.ai-common/global/ai-agent-instructions-embedded.md +119 -0
- package/templates/react-sdk-reference/.ai-common/global/ai-agent-instructions.md +70 -121
- package/templates/react-sdk-reference/.ai-common/instructions/component-map.md +7 -19
- package/templates/react-sdk-reference/.ai-common/instructions/dse-component.md +10 -40
- package/templates/react-sdk-reference/.ai-common/instructions/embedded-component.md +134 -0
- package/templates/react-sdk-reference/.ai-common/instructions/field-component.md +15 -43
- package/templates/react-sdk-reference/.ai-common/instructions/template-component.md +11 -63
- package/templates/react-sdk-reference/.ai-common/instructions/widget-component.md +12 -57
- package/templates/react-sdk-reference/.ai-common/prompts/add-component.md +45 -71
- package/templates/react-sdk-reference/.ai-common/prompts/component-manifest.json +98 -0
- package/templates/react-sdk-reference/.ai-common/prompts/embedded-component-manifest.md +155 -0
- package/templates/react-sdk-reference/.ai-common/prompts/generate-all-components.md +67 -237
- package/templates/react-sdk-reference/.ai-common/prompts/generate-dse-components.md +26 -77
- package/templates/react-sdk-reference/.ai-common/prompts/generate-embedded-components.md +315 -0
- package/templates/react-sdk-reference/.ai-common/prompts/generate-field-components.md +31 -80
- package/templates/react-sdk-reference/.ai-common/prompts/generate-template-components.md +43 -99
- package/templates/react-sdk-reference/.ai-common/prompts/generate-widget-components.md +33 -83
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/AlertBanner.md +60 -74
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Banner.md +64 -84
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/CaseSummaryFields.md +76 -109
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/DetailsFields.md +84 -101
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldGroup.md +62 -87
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldGroupList.md +56 -76
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldValueList.md +61 -85
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Operator.md +84 -107
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Pulse.md +36 -44
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/RichTextEditor.md +125 -189
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/WssQuickCreate.md +34 -50
- package/templates/react-sdk-reference/.ai-common/skills/design-system-extension.md +57 -179
- package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/analyze-customer-repo.md +130 -0
- package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/authenticate.md +311 -0
- package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/run-and-verify-integration.md +156 -0
- package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/wire-integration.md +476 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-components.md +120 -242
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/AutoComplete.md +71 -212
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/CancelAlert.md +47 -209
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Checkbox.md +90 -259
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Currency.md +75 -169
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Date.md +65 -160
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/DateTime.md +59 -157
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Decimal.md +55 -134
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Dropdown.md +61 -185
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Email.md +60 -138
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Group.md +40 -99
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Integer.md +44 -111
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Location.md +57 -165
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Multiselect.md +41 -122
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/ObjectReference.md +32 -130
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Percentage.md +48 -112
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Phone.md +43 -153
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/RadioButtons.md +76 -183
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/RichText.md +59 -176
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/ScalarList.md +30 -123
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/SelectableCard.md +47 -178
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/SemanticLink.md +31 -117
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextArea.md +51 -106
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextContent.md +22 -75
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextInput.md +54 -116
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Time.md +46 -100
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/URL.md +44 -93
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/UserReference.md +40 -167
- package/templates/react-sdk-reference/.ai-common/skills/infra-components.md +165 -0
- package/templates/react-sdk-reference/.ai-common/skills/infra-skills/ActionButtons.md +122 -0
- package/templates/react-sdk-reference/.ai-common/skills/infra-skills/MultiStep.md +178 -0
- package/templates/react-sdk-reference/.ai-common/skills/infra-skills/Stages.md +140 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-components.md +74 -228
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/AdvancedSearch.md +66 -167
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/AppShell.md +57 -170
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/BannerPage.md +41 -76
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseSummary.md +53 -109
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseView.md +86 -289
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseViewActionsMenu.md +60 -185
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/Confirmation.md +66 -115
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DataReference.md +33 -68
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DefaultForm.md +53 -133
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DefaultPage.md +39 -82
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/Details.md +38 -91
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsSubTabs.md +47 -101
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsThreeColumn.md +27 -34
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsTwoColumn.md +25 -40
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/DynamicTabs.md +34 -104
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/FieldGroupTemplate.md +46 -147
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/HierarchicalForm.md +139 -100
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/InlineDashboard.md +43 -82
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/InlineDashboardPage.md +47 -80
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListPage.md +16 -29
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListView.md +43 -228
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/MultiReferenceReadOnly.md +20 -65
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/NarrowWide.md +49 -97
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/OneColumn.md +37 -71
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/PromotedFilters.md +58 -148
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SelfServiceCaseView.md +82 -107
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SimpleTable.md +21 -60
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SingleReferenceReadOnly.md +43 -100
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/SubTabs.md +36 -76
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/TwoColumn.md +41 -90
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/WideNarrow.md +36 -43
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/WssNavBar.md +25 -115
- package/templates/react-sdk-reference/.ai-common/skills/widget-components.md +38 -174
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/AppAnnouncement.md +30 -57
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/Attachment.md +55 -101
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/CaseHistory.md +38 -121
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/FileUtility.md +37 -98
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/Followers.md +18 -33
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/QuickCreate.md +26 -91
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/SummaryItem.md +28 -120
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/ToDo.md +41 -272
- package/templates/react-sdk-reference/package.json +1 -1
- package/templates/react-sdk-reference/pega-auth-0.2.44.tgz +0 -0
- package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
- package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +13 -3
- package/templates/react-native-sdk-reference/.github/AGENTS.md +0 -23
- package/templates/react-native-sdk-reference/.github/copilot-instructions.md +0 -40
- package/templates/react-native-sdk-reference/.github/skills/pega-sdk-component.md +0 -48
- package/templates/react-native-sdk-reference/App.tsx +0 -49
- package/templates/react-native-sdk-reference/expo-env.d.ts +0 -3
- package/templates/react-sdk-reference/pega-auth-0.2.42.tgz +0 -0
|
@@ -8,76 +8,50 @@ Page template that wraps the `Banner` DSE component, rendering a hero image sect
|
|
|
8
8
|
|
|
9
9
|
## Component Purpose
|
|
10
10
|
|
|
11
|
-
A thin template wrapper that delegates entirely to the `Banner` DSE component. Translates page-template
|
|
11
|
+
A thin template wrapper that delegates entirely to the `Banner` DSE component. Translates page-template inputs (heading, message, layout, backgroundImage) into the Banner component's inputs and passes the first two children as the `a` (left) and `b` (right) content slot.
|
|
12
12
|
|
|
13
13
|
## Pega Metadata
|
|
14
14
|
|
|
15
|
-
- **Registration key:** `BannerPage` (in
|
|
15
|
+
- **Registration key:** `BannerPage` (in the project's component map)
|
|
16
16
|
- **Category:** Page template
|
|
17
|
-
- **Extends:**
|
|
18
|
-
|
|
19
|
-
##
|
|
20
|
-
|
|
21
|
-
|
|
|
22
|
-
| ----------------- |
|
|
23
|
-
| `children` |
|
|
24
|
-
| `layout` | `string`
|
|
25
|
-
| `heading` | `string`
|
|
26
|
-
| `message` | `string`
|
|
27
|
-
| `imageTheme` | `string`
|
|
28
|
-
| `backgroundImage` | `string`
|
|
29
|
-
| `backgroundColor` | `string`
|
|
30
|
-
| `tintImage` | `boolean`
|
|
31
|
-
|
|
32
|
-
##
|
|
33
|
-
|
|
34
|
-
Simplest template — pure pass-through to `Banner` DSE component.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
message?: string;
|
|
45
|
-
imageTheme?: string;
|
|
46
|
-
backgroundImage?: string;
|
|
47
|
-
backgroundColor?: string;
|
|
48
|
-
tintImage?: boolean;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export default function BannerPage(props: PropsWithChildren<BannerPageProps>) {
|
|
52
|
-
const Banner = getComponentFromRegistry('Banner');
|
|
53
|
-
const {
|
|
54
|
-
children, layout = 'two-column', heading = '', message = '',
|
|
55
|
-
imageTheme = 'light', backgroundImage = '', backgroundColor = '', tintImage = false,
|
|
56
|
-
} = props;
|
|
57
|
-
|
|
58
|
-
const childArray = useMemo(() => Children.toArray(children), [children]);
|
|
59
|
-
|
|
60
|
-
return (
|
|
61
|
-
<Banner
|
|
62
|
-
variant={layout}
|
|
63
|
-
a={childArray[0]}
|
|
64
|
-
b={childArray[1]}
|
|
65
|
-
banner={{ variant: imageTheme, backgroundColor, title: heading, message, backgroundImage, tintImage }}
|
|
66
|
-
/>
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
```
|
|
17
|
+
- **Extends:** the project's base component interface
|
|
18
|
+
|
|
19
|
+
## Inputs
|
|
20
|
+
|
|
21
|
+
| Input | Type | Required | Description |
|
|
22
|
+
| ----------------- | ----------------------- | -------- | ---------------------------------------------------------------------------------------------- |
|
|
23
|
+
| `children` | array of child elements | Yes | At least 2 children — `[0]` → left (`a`) slot, `[1]` → right (`b`) slot |
|
|
24
|
+
| `layout` | `string` | No | Column layout variant for `Banner`: `'two-column'` (default), `'narrow-wide'`, `'wide-narrow'` |
|
|
25
|
+
| `heading` | `string` | No | Hero section heading text. Default `''` |
|
|
26
|
+
| `message` | `string` | No | Hero section message/subtitle. Default `''` |
|
|
27
|
+
| `imageTheme` | `string` | No | Banner image theme (e.g., `'light'`). Default `'light'` |
|
|
28
|
+
| `backgroundImage` | `string` | No | URL of the background image for the hero. Default `''` |
|
|
29
|
+
| `backgroundColor` | `string` | No | Background color for the hero. Default `''` |
|
|
30
|
+
| `tintImage` | `boolean` | No | Whether to tint the background image. Default `false` |
|
|
31
|
+
|
|
32
|
+
## Implementation Structure
|
|
33
|
+
|
|
34
|
+
Simplest template — pure pass-through to the `Banner` DSE component.
|
|
35
|
+
|
|
36
|
+
**Module Setup:** This component requires access to the project's component registry (to resolve `Banner` at runtime) and the project's base component interface. Define a component input contract extending the base component interface with optional `layout`, `heading`, `message`, `imageTheme`, `backgroundImage`, `backgroundColor` (all strings), and `tintImage` (boolean).
|
|
37
|
+
|
|
38
|
+
**Main Component Logic** — steps in order:
|
|
39
|
+
|
|
40
|
+
1. Retrieve `Banner` from the project's component registry (keyed by `'Banner'`).
|
|
41
|
+
2. Receive inputs: `children`, `layout` (default `'two-column'`), `heading` (default `''`), `message` (default `''`), `imageTheme` (default `'light'`), `backgroundImage` (default `''`), `backgroundColor` (default `''`), and `tintImage` (default `false`).
|
|
42
|
+
3. Normalize `children` to an array via a memoized computation keyed on `children`.
|
|
43
|
+
4. Render a single `Banner` element with: `variant={layout}`; `a={childArray[0]}`; `b={childArray[1]}`; and a `banner` input object combining `variant: imageTheme`, `backgroundColor`, `title: heading`, `message`, `backgroundImage`, and `tintImage`.
|
|
70
44
|
|
|
71
45
|
## Behavioral Contract
|
|
72
46
|
|
|
73
|
-
1. Retrieve `Banner` from the component registry
|
|
74
|
-
2.
|
|
75
|
-
3. Render
|
|
47
|
+
1. Retrieve `Banner` from the project's component registry (keyed by `'Banner'`).
|
|
48
|
+
2. Normalize `children` to an array (memoized computation).
|
|
49
|
+
3. Render `Banner` with the following inputs:
|
|
76
50
|
- `variant={layout}` — controls column widths below the hero
|
|
77
51
|
- `a={childArray[0]}` — left/first column content
|
|
78
52
|
- `b={childArray[1]}` — right/second column content
|
|
79
53
|
- `banner={{ variant: imageTheme, backgroundColor, title: heading, message, backgroundImage, tintImage }}`
|
|
80
|
-
4. No additional wrapper or layout — this component IS a single
|
|
54
|
+
4. No additional wrapper or layout — this component IS a single `Banner` render.
|
|
81
55
|
|
|
82
56
|
## Visual Specifications
|
|
83
57
|
|
|
@@ -91,35 +65,26 @@ Key visual behaviors inherited from `Banner`:
|
|
|
91
65
|
**CSS-only implementation notes:**
|
|
92
66
|
|
|
93
67
|
- This template creates no CSS of its own — implement it as a pure pass-through to `Banner`.
|
|
94
|
-
- The `layout`
|
|
68
|
+
- The `layout` input maps directly to `Banner`'s `variant` input.
|
|
95
69
|
- `heading` → `Banner.banner.title`, `message` → `Banner.banner.message`.
|
|
96
70
|
|
|
97
71
|
## Edge Cases & Special Logic
|
|
98
72
|
|
|
99
|
-
- Children are
|
|
73
|
+
- Children are normalized to an array via a memoized computation — only recomputed when `children` changes.
|
|
100
74
|
- If only one child is provided, `childArray[1]` will be `undefined` — `Banner` receives `b={undefined}` and should render an empty second column.
|
|
101
|
-
- `BannerPage` does NOT call `getPConnect()` itself for layout — children are
|
|
75
|
+
- `BannerPage` does NOT call `getPConnect()` itself for layout — children are passed by the Pega rendering engine via content projection.
|
|
102
76
|
|
|
103
77
|
## Dependencies
|
|
104
78
|
|
|
105
|
-
-
|
|
106
|
-
-
|
|
79
|
+
- The project's component registry — to resolve the `Banner` component at runtime
|
|
80
|
+
- A utility to normalize children to an array — for child array normalization
|
|
107
81
|
|
|
108
82
|
## Design System Mapping
|
|
109
83
|
|
|
110
84
|
**UI control type:** Full-width banner hero page with configurable two-column content area.
|
|
111
85
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
| Design System | Recommended Component |
|
|
115
|
-
| ------------------ | -------------------------------------------------------------------- |
|
|
116
|
-
| Default (CSS only) | Pass-through to `Banner` — implement Banner's CSS hero + grid layout |
|
|
117
|
-
| MUI | Pass-through to `Banner` (MUI-based) |
|
|
118
|
-
| Ant Design | Pass-through to `Banner` (Ant-based) |
|
|
119
|
-
| Chakra UI | Pass-through to `Banner` (Chakra-based) |
|
|
120
|
-
| Shadcn/ui | Pass-through to `Banner` (Shadcn-based) |
|
|
121
|
-
|
|
122
|
-
When implementing in a specific design system:
|
|
86
|
+
When implementing in a specific design system, map the following:
|
|
123
87
|
|
|
124
88
|
- `BannerPage` is always a thin wrapper — implement `Banner` first, then `BannerPage` simply delegates to it
|
|
125
|
-
-
|
|
89
|
+
- Input mapping: `layout` → `variant`, `heading` → `banner.title`, `message` → `banner.message`, `backgroundImage` → `banner.backgroundImage`
|
|
90
|
+
- The Banner component renders a hero section (full-width background image with title/message overlay) plus a two-column content grid below; use your design system's layout primitives to achieve this
|
|
@@ -1,127 +1,75 @@
|
|
|
1
1
|
# Skill: CaseSummary
|
|
2
2
|
|
|
3
|
-
Case summary template. Renders a summary panel with primary and secondary case fields, derived from either
|
|
3
|
+
Case summary template. Renders a summary panel with primary and secondary case fields, derived from either inputs or child region extraction.
|
|
4
4
|
|
|
5
5
|
> **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
> ⚠️ **CRITICAL — Children
|
|
9
|
+
> ⚠️ **CRITICAL — Children-based field resolution is MANDATORY**
|
|
10
10
|
>
|
|
11
|
-
> The `arPrimaryFields` and `arSecondaryFields`
|
|
11
|
+
> The `arPrimaryFields` and `arSecondaryFields` inputs are almost always EMPTY at runtime. The Pega engine passes field data as region children, not as pre-computed array inputs.
|
|
12
12
|
>
|
|
13
|
-
> You MUST include the children-
|
|
13
|
+
> You MUST include children-based field extraction: when both `arPrimaryFields` and `arSecondaryFields` are empty, iterate the `children` and for each child, access its PConnect instance via the child element's **passed properties** (the `getPConnect` function is available on the child's properties, not directly on the child element itself). Then call `resolveConfigProps(getRawMetadata())` on that PConnect instance to resolve `@P` property references and `@L` label references into actual values. Check the resolved `name` (case-insensitive) to identify "primary fields" and "secondary fields" regions, and assign their resolved `children` arrays.
|
|
14
14
|
>
|
|
15
|
-
>
|
|
16
|
-
> if (arPrimaryFields.length === 0 && arSecondaryFields.length === 0) {
|
|
17
|
-
> for (const child of childArr) {
|
|
18
|
-
> const childPConn = child.props.getPConnect();
|
|
19
|
-
> const childPConnData = childPConn.resolveConfigProps(childPConn.getRawMetadata());
|
|
20
|
-
> if (childPConnData.name.toLowerCase() === 'primary fields') {
|
|
21
|
-
> arPrimaryFields = childPConnData.children;
|
|
22
|
-
> } else if (childPConnData.name.toLowerCase() === 'secondary fields') {
|
|
23
|
-
> arSecondaryFields = childPConnData.children;
|
|
24
|
-
> }
|
|
25
|
-
> }
|
|
26
|
-
> }
|
|
27
|
-
> ```
|
|
15
|
+
> **Key:** Access `getPConnect` from the child element's **passed properties** (NOT directly on the child). Children passed to page templates are rendered elements — `getPConnect` is available on their properties, not as a top-level method.
|
|
28
16
|
>
|
|
29
|
-
>
|
|
17
|
+
> **DO NOT** use `filterSummaryFields()`, `getSDKCaseUtils()`, or any other shortcut API to obtain summary fields. These APIs return raw unresolved metadata containing `@L` and `@P` tokens that will render as literal text. Only the children-based extraction with `resolveConfigProps(getRawMetadata())` resolves these tokens into actual values.
|
|
18
|
+
>
|
|
19
|
+
> Without this extraction, the summary will render completely empty or show unresolved `@P`/`@L` references.
|
|
30
20
|
|
|
31
21
|
## Component Purpose
|
|
32
22
|
|
|
33
|
-
Displays a case's key summary data in a structured summary panel. Primary fields are shown prominently; secondary fields are shown with labels. Data is sourced either directly from
|
|
23
|
+
Displays a case's key summary data in a structured summary panel. Primary fields are shown prominently; secondary fields are shown with labels. Data is sourced either directly from inputs or by extracting child regions. All field values are localized before display.
|
|
34
24
|
|
|
35
25
|
## Pega Metadata
|
|
36
26
|
|
|
37
|
-
- **Registration key:** `CaseSummary` (in
|
|
27
|
+
- **Registration key:** `CaseSummary` (in the project's component map)
|
|
38
28
|
- **Category:** Page template — summary
|
|
39
|
-
- **Extends:**
|
|
40
|
-
|
|
41
|
-
##
|
|
42
|
-
|
|
43
|
-
|
|
|
44
|
-
| ------------------- |
|
|
45
|
-
| `children` |
|
|
46
|
-
| `arPrimaryFields` | `array`
|
|
47
|
-
| `arSecondaryFields` | `array`
|
|
48
|
-
| `getPConnect` | `function`
|
|
49
|
-
|
|
50
|
-
##
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const CaseSummaryFields = getComponentFromRegistry('CaseSummaryFields');
|
|
64
|
-
const { children } = props;
|
|
65
|
-
let { arPrimaryFields = [], arSecondaryFields = [] } = props;
|
|
66
|
-
|
|
67
|
-
const localizedVal = PCore.getLocaleUtils().getLocaleValue;
|
|
68
|
-
const localeCategory = 'ModalContainer';
|
|
69
|
-
|
|
70
|
-
// 1. Helper: create component from metadata and return { value: createdComponent }
|
|
71
|
-
function prepareComponentInCaseSummary(pConnectMeta, getPConnect) { /* ... */ }
|
|
72
|
-
|
|
73
|
-
// 2. Helper: convert children to summary data array
|
|
74
|
-
function prepareCaseSummaryData(summaryFieldChildren) { /* ... */ }
|
|
75
|
-
|
|
76
|
-
// 3. If direct props empty, extract from children regions
|
|
77
|
-
if (arPrimaryFields.length === 0 && arSecondaryFields.length === 0) {
|
|
78
|
-
for (const child of children as ReactElement[]) {
|
|
79
|
-
const childPConn = (child as ReactElement).props.getPConnect();
|
|
80
|
-
const childPConnData = childPConn.resolveConfigProps(childPConn.getRawMetadata());
|
|
81
|
-
if (childPConnData.name.toLowerCase() === 'primary fields') {
|
|
82
|
-
arPrimaryFields = childPConnData.children;
|
|
83
|
-
arPrimaryFields.forEach(field => {
|
|
84
|
-
if (field.config?.value && typeof field.config?.value === 'string')
|
|
85
|
-
field.config.value = localizedVal(field.config.value, localeCategory);
|
|
86
|
-
});
|
|
87
|
-
} else if (childPConnData.name.toLowerCase() === 'secondary fields') {
|
|
88
|
-
const secondarySummaryFields = prepareCaseSummaryData(childPConn);
|
|
89
|
-
arSecondaryFields = childPConnData.children;
|
|
90
|
-
arSecondaryFields.forEach((field, index) => {
|
|
91
|
-
field.config.displayLabel = secondarySummaryFields[index]?.value?.props?.label;
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// 4. Render
|
|
98
|
-
return (
|
|
99
|
-
<div id="CaseSummary">
|
|
100
|
-
<CaseSummaryFields theFields={arPrimaryFields} />
|
|
101
|
-
<CaseSummaryFields theFields={arSecondaryFields} />
|
|
102
|
-
</div>
|
|
103
|
-
);
|
|
104
|
-
}
|
|
105
|
-
```
|
|
29
|
+
- **Extends:** the project's base component interface
|
|
30
|
+
|
|
31
|
+
## Inputs
|
|
32
|
+
|
|
33
|
+
| Input | Type | Required | Description |
|
|
34
|
+
| ------------------- | ------------------ | -------- | ------------------------------------------------------- |
|
|
35
|
+
| `children` | renderable content | No | Region children when fields come from PConnect metadata |
|
|
36
|
+
| `arPrimaryFields` | `array` | No | Array of primary field objects (direct input) |
|
|
37
|
+
| `arSecondaryFields` | `array` | No | Array of secondary field objects (direct input) |
|
|
38
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
39
|
+
|
|
40
|
+
## Implementation Structure
|
|
41
|
+
|
|
42
|
+
**Module Setup:** Obtain the project's base component interface for typing. Obtain the project's component registry for resolving child components at runtime.
|
|
43
|
+
|
|
44
|
+
**Main Component Logic** — steps in order:
|
|
45
|
+
|
|
46
|
+
1. Retrieve `CaseSummaryFields` from the project's component registry.
|
|
47
|
+
2. Receive inputs: extract `children`, and `arPrimaryFields`/`arSecondaryFields` (both defaulting to empty arrays) as mutable bindings.
|
|
48
|
+
3. Set up localization: `localizedVal = PCore.getLocaleUtils().getLocaleValue` and `localeCategory = 'ModalContainer'`.
|
|
49
|
+
4. Define a helper `prepareComponentInCaseSummary(pConnectMeta, getPConnect)` that creates a component from metadata and returns `{ value: createdComponent }`.
|
|
50
|
+
5. Define a helper `prepareCaseSummaryData(summaryFieldChildren)` that converts children into a summary data array.
|
|
51
|
+
6. If both `arPrimaryFields` and `arSecondaryFields` are empty, iterate the `children`: for each child element, access its PConnect instance via the child's **passed properties** (the `getPConnect` function lives on the element's properties, not directly on the element). Call `resolveConfigProps(getRawMetadata())` on that PConnect instance — this resolves `@P` property references and `@L` label references into actual values. Check the resolved object's `name` (case-insensitive): when it equals `'primary fields'`, assign its `children` array to `arPrimaryFields` and localize each field's string `config.value`; when it equals `'secondary fields'`, assign its `children` array to `arSecondaryFields` and localize each field's string `config.value`.
|
|
52
|
+
7. Render a container element with id `CaseSummary` containing two `CaseSummaryFields` instances — one with `theFields` set to `arPrimaryFields`, the other with `theFields` set to `arSecondaryFields`.
|
|
106
53
|
|
|
107
54
|
## Behavioral Contract
|
|
108
55
|
|
|
109
56
|
### Field Sourcing
|
|
110
57
|
|
|
111
|
-
Two modes — prefer direct
|
|
58
|
+
Two modes — prefer direct inputs if provided:
|
|
112
59
|
|
|
113
|
-
**Mode A — Direct
|
|
60
|
+
**Mode A — Direct inputs:**
|
|
114
61
|
|
|
115
62
|
- `arPrimaryFields` and `arSecondaryFields` are passed directly.
|
|
116
63
|
- Call `prepareCaseSummaryData(primaryFields, secondaryFields, getPConnect)` to localize values.
|
|
117
64
|
|
|
118
|
-
**Mode B —
|
|
65
|
+
**Mode B — Children-based extraction:**
|
|
119
66
|
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
67
|
+
- Iterate the `children` content-projected elements.
|
|
68
|
+
- For each child, access its PConnect via the child element's **passed properties** (NOT directly on the child element).
|
|
69
|
+
- Call `resolveConfigProps(getRawMetadata())` on the PConnect instance — this resolves `@P` property references and `@L` label references into actual runtime values.
|
|
70
|
+
- Check the resolved `name` (case-insensitive) to identify "primary fields" and "secondary fields" regions.
|
|
71
|
+
- Assign the resolved region's `children` array to the appropriate field list.
|
|
72
|
+
- Localize each field's string `config.value` via `PCore.getLocaleUtils().getLocaleValue(value, localeCategory)`.
|
|
125
73
|
|
|
126
74
|
### `prepareCaseSummaryData(primaryFields, secondaryFields, getPConnect)`
|
|
127
75
|
|
|
@@ -133,14 +81,14 @@ Helper that:
|
|
|
133
81
|
|
|
134
82
|
### Render
|
|
135
83
|
|
|
136
|
-
Delegates entirely to
|
|
84
|
+
Delegates entirely to `CaseSummaryFields` (a DSE component resolved from the project's component registry), passing:
|
|
137
85
|
|
|
138
86
|
- `arPrimaryFields` — array of `{ name, value }` objects for primary display
|
|
139
87
|
- `arSecondaryFields` — array of `{ name, value, displayLabel }` objects for secondary display
|
|
140
88
|
|
|
141
89
|
## Visual Specifications
|
|
142
90
|
|
|
143
|
-
-
|
|
91
|
+
- `CaseSummaryFields` handles all rendering — see the DSE component skill for details.
|
|
144
92
|
- Primary fields: large text, no label.
|
|
145
93
|
- Secondary fields: label + value pairs.
|
|
146
94
|
|
|
@@ -153,32 +101,28 @@ Delegates entirely to `<CaseSummaryFields>` DSE component, passing:
|
|
|
153
101
|
|
|
154
102
|
## Edge Cases & Special Logic
|
|
155
103
|
|
|
156
|
-
- If both `arPrimaryFields`
|
|
104
|
+
- If both `arPrimaryFields` input and children are present, the direct input takes priority.
|
|
157
105
|
- `prepareCaseSummaryData` — guard against undefined/null field values before passing to `getLocaleValue`.
|
|
158
106
|
- `displayLabel` on secondary fields controls whether the field label is shown alongside the value.
|
|
159
107
|
- If `arSecondaryFields` is empty, the secondary section is not rendered.
|
|
160
108
|
|
|
161
109
|
## Dependencies
|
|
162
110
|
|
|
163
|
-
- `prepareCaseSummaryData`
|
|
164
|
-
- `CaseSummaryFields` — DSE component
|
|
111
|
+
- `prepareCaseSummaryData` — local helper within this component
|
|
112
|
+
- `CaseSummaryFields` — DSE component resolved from the project's component registry
|
|
165
113
|
- `PCore.getLocaleUtils().getLocaleValue()` — value localization
|
|
166
114
|
|
|
167
115
|
## Design System Mapping
|
|
168
116
|
|
|
169
117
|
**UI control type:** Read-only case summary panel with primary and secondary field groups.
|
|
170
118
|
|
|
171
|
-
|
|
119
|
+
When implementing in a specific design system, map the following:
|
|
172
120
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
| MUI | `<Typography>` variants for primary/secondary text |
|
|
177
|
-
| Ant Design | `<Descriptions>` with `bordered={false}` |
|
|
178
|
-
| Chakra UI | `<VStack>` with `<Text>` variants |
|
|
179
|
-
| Shadcn/ui | Custom `<dl>/<dt>/<dd>` or card |
|
|
121
|
+
- **Primary fields:** Use a prominent text element (e.g., a heading or bold typography variant) to display values without labels.
|
|
122
|
+
- **Secondary fields:** Use label + value pairs in a description-list style layout (e.g., a vertical list of term/definition pairs, or a compact grid of label-value rows).
|
|
123
|
+
- **Container:** A vertical stack or flexbox column with consistent spacing between field groups.
|
|
180
124
|
|
|
181
|
-
|
|
125
|
+
Regardless of design system:
|
|
182
126
|
|
|
183
127
|
- Always localize field values before display — use `PCore.getLocaleUtils().getLocaleValue()`
|
|
184
128
|
- `CaseSummaryFields` is a DSE component — implement it separately and call it from here
|