@pega/sdk 0.0.3 → 0.0.4
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 +12 -55
- 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/package.json +6 -6
- package/templates/react-native-sdk-reference/tsconfig.json +2 -1
- package/templates/react-sdk-reference/.claude/instructions/component-map.md +1 -1
- package/templates/react-sdk-reference/.claude/instructions/field-component.md +4 -0
- package/templates/react-sdk-reference/.claude/instructions/template-component.md +2 -1
- package/templates/react-sdk-reference/.claude/instructions/widget-component.md +1 -0
- package/templates/react-sdk-reference/.claude/prompts/add-component.md +18 -10
- package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +165 -83
- package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +26 -17
- package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +27 -13
- package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +42 -28
- package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +48 -34
- package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +25 -11
- package/templates/react-sdk-reference/.claude/prompts/identify-components.md +65 -65
- package/templates/react-sdk-reference/.claude/skills/component-contracts.md +99 -99
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +40 -38
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +54 -51
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +32 -28
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +38 -35
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +25 -23
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +29 -26
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +32 -26
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +17 -15
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +85 -59
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
- package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +13 -11
- package/templates/react-sdk-reference/.claude/skills/field-components.md +9 -8
- package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +27 -26
- package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +30 -22
- package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +60 -43
- package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +23 -20
- package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +19 -17
- package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +18 -15
- package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +22 -21
- package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +50 -30
- package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +20 -18
- package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +21 -15
- package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +17 -16
- package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +30 -21
- package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +66 -42
- package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +27 -18
- package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +22 -21
- package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +36 -17
- package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +56 -35
- package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +23 -12
- package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +41 -31
- package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +70 -55
- package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +34 -27
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +24 -22
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +38 -22
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +24 -21
- package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +16 -15
- package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +16 -15
- package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +57 -34
- package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +10 -8
- package/templates/react-sdk-reference/.claude/skills/template-components.md +7 -8
- package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +27 -21
- package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +17 -15
- package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +19 -16
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +19 -13
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +23 -17
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +34 -29
- package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +18 -16
- package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +36 -32
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +23 -21
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +31 -29
- package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +19 -17
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +22 -20
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +19 -17
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +19 -17
- package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +15 -10
- package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +19 -16
- package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +18 -15
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +17 -13
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +10 -13
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +9 -7
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +33 -30
- package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +13 -11
- package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +42 -40
- package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +25 -20
- package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +25 -19
- package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +36 -29
- package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +31 -27
- package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +29 -24
- package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +14 -11
- package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +34 -32
- package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +48 -46
- package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +23 -19
- package/templates/react-sdk-reference/.claude/skills/widget-components.md +11 -22
- package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +22 -20
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +33 -28
- package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +18 -15
- package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +43 -37
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +23 -19
- package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +20 -16
- package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +26 -24
- package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +43 -35
- package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +165 -83
- package/templates/react-sdk-reference/.github/agents/implementation-expert.agent.md +135 -0
- package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +2 -2
- package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +1 -1
- package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +5 -1
- package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +3 -2
- package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +2 -1
- package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +58 -15
- package/templates/react-sdk-reference/.github/prompts/component-manifest.json +165 -83
- package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +322 -65
- package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +124 -50
- package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +145 -66
- package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +146 -73
- package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +128 -49
- package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +65 -65
- package/templates/react-sdk-reference/.github/skills/component-contracts.md +99 -99
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/AlertBanner.md +40 -38
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +54 -51
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +32 -28
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +38 -35
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +25 -23
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +29 -26
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +32 -26
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +17 -15
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +85 -59
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
- package/templates/react-sdk-reference/.github/skills/design-system-extension.md +13 -11
- package/templates/react-sdk-reference/.github/skills/field-components.md +9 -8
- package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +27 -26
- package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +30 -22
- package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +60 -43
- package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +23 -20
- package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +19 -17
- package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +18 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +22 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +50 -30
- package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +20 -18
- package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +21 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +17 -16
- package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +30 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +66 -42
- package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +27 -18
- package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +22 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +36 -17
- package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +56 -35
- package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +23 -12
- package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +41 -31
- package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +70 -55
- package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +34 -27
- package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +24 -22
- package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +38 -22
- package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +24 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +16 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +16 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +57 -34
- package/templates/react-sdk-reference/.github/skills/run-and-verify.md +10 -8
- package/templates/react-sdk-reference/.github/skills/template-components.md +7 -8
- package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +27 -21
- package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +17 -15
- package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +19 -16
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +19 -13
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +23 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +34 -29
- package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +18 -16
- package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +36 -32
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +23 -21
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +31 -29
- package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +19 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +22 -20
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +19 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +19 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +15 -10
- package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +19 -16
- package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +18 -15
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +17 -13
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +10 -13
- package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +9 -7
- package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +33 -30
- package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md +13 -11
- package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +42 -40
- package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +25 -20
- package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +25 -19
- package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +36 -29
- package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +31 -27
- package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +29 -24
- package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +14 -11
- package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +34 -32
- package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +48 -46
- package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +23 -19
- package/templates/react-sdk-reference/.github/skills/widget-components.md +11 -22
- package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +22 -20
- package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +33 -28
- package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +18 -15
- package/templates/react-sdk-reference/.github/skills/widget-skills/FileUtility.md +43 -37
- package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +23 -19
- package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +20 -16
- package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +26 -24
- package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +43 -35
- package/templates/react-sdk-reference/AGENTS.md +0 -1
- package/templates/react-sdk-reference/index.html +1 -4
- package/templates/react-sdk-reference/package.json +15 -15
- package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -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 +186 -85
- package/templates/react-sdk-reference/src/PortalApp.tsx +10 -34
- 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
|
@@ -201,6 +201,7 @@ DSE components use one of three approaches depending on the component and design
|
|
|
201
201
|
### Design System Style Props (use if your DS provides them)
|
|
202
202
|
|
|
203
203
|
If the chosen design system provides built-in spacing, typography, or layout props, prefer them over plain CSS:
|
|
204
|
+
|
|
204
205
|
- Use the DS's layout wrapper (e.g., `<Stack>`, `<Flex>`, `<HStack>`) instead of manual flex CSS
|
|
205
206
|
- Use DS typography components (e.g., `<Text>`, `<Heading>`) instead of raw `<span>`/`<div>`
|
|
206
207
|
- Use DS CSS custom properties or tokens for spacing — never hardcode `px` values
|
|
@@ -212,11 +213,11 @@ If the chosen design system provides built-in spacing, typography, or layout pro
|
|
|
212
213
|
|
|
213
214
|
DSE components fall into three patterns with different DS dependencies:
|
|
214
215
|
|
|
215
|
-
| Pattern
|
|
216
|
-
|
|
217
|
-
| **B — Pure display** (no PConnect)
|
|
218
|
-
| **A — PConnect display**
|
|
219
|
-
| **C — Complex display** (PConnect bridge) | FieldGroup, FieldGroupList, Pulse
|
|
216
|
+
| Pattern | Examples | DS needed? |
|
|
217
|
+
| ----------------------------------------- | ------------------------------------------------ | -------------------------------------------------- |
|
|
218
|
+
| **B — Pure display** (no PConnect) | AlertBanner, Banner, Operator, WssQuickCreate | Yes — DS provides alert/card/avatar primitives |
|
|
219
|
+
| **A — PConnect display** | CaseSummaryFields, DetailsFields, FieldValueList | Minimal — CSS-based layout; DS typography optional |
|
|
220
|
+
| **C — Complex display** (PConnect bridge) | FieldGroup, FieldGroupList, Pulse | No — PConnect bridge is DS-agnostic; semantic HTML |
|
|
220
221
|
|
|
221
222
|
The component-specific skill file specifies which pattern applies.
|
|
222
223
|
|
|
@@ -225,6 +226,7 @@ The component-specific skill file specifies which pattern applies.
|
|
|
225
226
|
**2. If the chosen design system is not listed** — use the component purpose and pattern category above to pick the closest DS primitive.
|
|
226
227
|
|
|
227
228
|
**3. Discover the API from installed packages** — confirm component names and props from `.d.ts` before writing JSX:
|
|
229
|
+
|
|
228
230
|
```bash
|
|
229
231
|
find node_modules/<ds-package> -name "*.d.ts" | xargs grep -l "Alert\|Badge\|Avatar" | head -5
|
|
230
232
|
grep -A 30 "interface.*Props" <path-to-file>
|
|
@@ -232,12 +234,12 @@ grep -A 30 "interface.*Props" <path-to-file>
|
|
|
232
234
|
|
|
233
235
|
**4. Variant mapping** — always map Pega's variant names to your DS equivalent before passing to DS components:
|
|
234
236
|
|
|
235
|
-
| Pega variant | Meaning
|
|
236
|
-
|
|
237
|
-
| `urgent`
|
|
238
|
-
| `warning`
|
|
239
|
-
| `info`
|
|
240
|
-
| `success`
|
|
237
|
+
| Pega variant | Meaning | Typical DS equivalent |
|
|
238
|
+
| ------------ | ---------------- | ----------------------------- |
|
|
239
|
+
| `urgent` | Critical / error | `error`, `danger`, `critical` |
|
|
240
|
+
| `warning` | Warning | `warning` |
|
|
241
|
+
| `info` | Informational | `info` |
|
|
242
|
+
| `success` | Success | `success` |
|
|
241
243
|
|
|
242
244
|
---
|
|
243
245
|
|
|
@@ -158,6 +158,7 @@ When filling in the `// [DS RENDER]` section with a specific design system:
|
|
|
158
158
|
**2. If the chosen design system is not in the mapping table** — use the **UI control type** field in the same skill file (e.g., `"Combobox / typeahead autocomplete input"`) to identify the closest DS primitive.
|
|
159
159
|
|
|
160
160
|
**3. Discover the API from installed packages** — before writing any render JSX, confirm all prop names from `.d.ts` files. Never rely on training-knowledge of a DS API:
|
|
161
|
+
|
|
161
162
|
```bash
|
|
162
163
|
find node_modules/<ds-package> -name "ComponentName.d.ts" | head -3
|
|
163
164
|
grep -A 40 "interface.*Props" <path-to-file>
|
|
@@ -165,14 +166,14 @@ grep -A 40 "interface.*Props" <path-to-file>
|
|
|
165
166
|
|
|
166
167
|
**4. Prop mapping conventions** — adapt these Pega/SDK props to whatever your DS component calls them:
|
|
167
168
|
|
|
168
|
-
| Pega/SDK prop
|
|
169
|
-
|
|
170
|
-
| `status === 'error'`
|
|
171
|
-
| `validatemessage \|\| helperText` | Helper/error text below field | `helperText`, `description`, `hint`, `extra`
|
|
172
|
-
| `readOnly`
|
|
173
|
-
| `testId`
|
|
174
|
-
| `required`
|
|
175
|
-
| `hideLabel`
|
|
169
|
+
| Pega/SDK prop | Meaning | Typical DS equivalent |
|
|
170
|
+
| --------------------------------- | ----------------------------- | -------------------------------------------------- |
|
|
171
|
+
| `status === 'error'` | Validation error state | `error`, `status="error"`, `invalid`, `isInvalid` |
|
|
172
|
+
| `validatemessage \|\| helperText` | Helper/error text below field | `helperText`, `description`, `hint`, `extra` |
|
|
173
|
+
| `readOnly` | Non-editable, still visible | `readOnly`, `isReadOnly`, `variant="borderless"` |
|
|
174
|
+
| `testId` | Automation selector | `data-test-id` on the underlying `<input>` element |
|
|
175
|
+
| `required` | Required field marker | `required`, `isRequired` |
|
|
176
|
+
| `hideLabel` | Suppress label display | Pass empty string `''` as label |
|
|
176
177
|
|
|
177
178
|
**5. Use a form layout wrapper** — if the DS provides a wrapper that combines label + input + helper text (e.g., `<Form.Item>` in Ant Design, `<FormControl>` in Chakra UI), use it rather than composing them manually.
|
|
178
179
|
|
|
@@ -18,16 +18,16 @@ Renders a typeahead input that shows a dropdown of matching options as the user
|
|
|
18
18
|
|
|
19
19
|
## Props (component-specific)
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `listType`
|
|
24
|
-
| `datasource`
|
|
25
|
-
| `columns`
|
|
26
|
-
| `parameters`
|
|
27
|
-
| `deferDatasource`
|
|
28
|
-
| `datasourceMetadata` | `any` (optional)
|
|
29
|
-
| `onRecordChange`
|
|
30
|
-
| `additionalProps`
|
|
21
|
+
| Prop | Type | Description |
|
|
22
|
+
| -------------------- | -------------------- | -------------------------------------------------------------- |
|
|
23
|
+
| `listType` | `string` | `'associated'` or `'datapage'` |
|
|
24
|
+
| `datasource` | `any` | Datasource (array for associated, string name for datapage) |
|
|
25
|
+
| `columns` | `any[]` | Column config for extracting key/value from datasource records |
|
|
26
|
+
| `parameters` | `any` (optional) | Query parameters for data page calls |
|
|
27
|
+
| `deferDatasource` | `boolean` (optional) | If true, transform `datasourceMetadata` into datapage config |
|
|
28
|
+
| `datasourceMetadata` | `any` (optional) | Metadata for deferred datasource |
|
|
29
|
+
| `onRecordChange` | `any` (optional) | Callback fired on selection change |
|
|
30
|
+
| `additionalProps` | `object` (optional) | Extra props passed through to the autocomplete |
|
|
31
31
|
|
|
32
32
|
## Behavioral Contract
|
|
33
33
|
|
|
@@ -64,18 +64,19 @@ Resolve the display label from options and delegate: `return <TextInput {...prop
|
|
|
64
64
|
|
|
65
65
|
## Visual Specifications
|
|
66
66
|
|
|
67
|
-
| Property
|
|
68
|
-
|
|
69
|
-
| Width
|
|
70
|
-
| Size
|
|
71
|
-
| Variant
|
|
72
|
-
| Dropdown popup | Opens below input, shows filtered options
|
|
73
|
-
| Input
|
|
74
|
-
| Error state
|
|
75
|
-
| Label
|
|
76
|
-
| Placeholder
|
|
67
|
+
| Property | Value |
|
|
68
|
+
| -------------- | ----------------------------------------------------------- |
|
|
69
|
+
| Width | 100% |
|
|
70
|
+
| Size | Small |
|
|
71
|
+
| Variant | Outlined |
|
|
72
|
+
| Dropdown popup | Opens below input, shows filtered options |
|
|
73
|
+
| Input | Combobox pattern — types to filter, click arrow to open all |
|
|
74
|
+
| Error state | Red border + red helper text |
|
|
75
|
+
| Label | Floating label |
|
|
76
|
+
| Placeholder | From `placeholder` prop |
|
|
77
77
|
|
|
78
78
|
**Autocomplete behavior:**
|
|
79
|
+
|
|
79
80
|
- The controlled `value` is the selected option object (or `selectedValue` string).
|
|
80
81
|
- The controlled `inputValue` is the typed text.
|
|
81
82
|
- `getOptionLabel` returns `option.value` (the display label).
|
|
@@ -104,9 +105,9 @@ Resolve the display label from options and delegate: `return <TextInput {...prop
|
|
|
104
105
|
|
|
105
106
|
Listed design systems are examples only.
|
|
106
107
|
|
|
107
|
-
| Design System
|
|
108
|
-
|
|
109
|
-
| Default (CSS only) | `<input>` + custom dropdown list with filtering
|
|
110
|
-
| MUI
|
|
111
|
-
| Ant Design
|
|
112
|
-
| Chakra UI
|
|
108
|
+
| Design System | Recommended Component |
|
|
109
|
+
| ------------------ | ------------------------------------------------------- |
|
|
110
|
+
| Default (CSS only) | `<input>` + custom dropdown list with filtering |
|
|
111
|
+
| MUI | `<Autocomplete>` with `renderInput` using `<TextField>` |
|
|
112
|
+
| Ant Design | `<AutoComplete>` or `<Select showSearch>` |
|
|
113
|
+
| Chakra UI | `<Combobox>` (Downshift) or third-party |
|
|
@@ -18,26 +18,26 @@ Renders a full-screen modal overlay with a confirmation dialog. Presents two act
|
|
|
18
18
|
|
|
19
19
|
## Props (component-specific)
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `heading`
|
|
24
|
-
| `content`
|
|
25
|
-
| `itemKey`
|
|
26
|
-
| `hideDelete`
|
|
27
|
-
| `isDataObject`
|
|
28
|
-
| `skipReleaseLockRequest` | `any`
|
|
29
|
-
| `dismiss`
|
|
21
|
+
| Prop | Type | Description |
|
|
22
|
+
| ------------------------ | ---------- | ---------------------------------------------------------------------------------------- |
|
|
23
|
+
| `heading` | `string` | Modal dialog heading text |
|
|
24
|
+
| `content` | `string` | Modal dialog body/description text |
|
|
25
|
+
| `itemKey` | `string` | The container item ID for the case being cancelled (aliased as `containerItemID`) |
|
|
26
|
+
| `hideDelete` | `boolean` | Whether to hide/disable the delete option |
|
|
27
|
+
| `isDataObject` | `boolean` | Whether this is cancelling a data object (not a work item) |
|
|
28
|
+
| `skipReleaseLockRequest` | `any` | Whether to skip lock release when removing container item |
|
|
29
|
+
| `dismiss` | `Function` | Callback to close/dismiss this dialog (called with `true` to indicate confirmed dismiss) |
|
|
30
30
|
|
|
31
31
|
## Behavioral Contract
|
|
32
32
|
|
|
33
33
|
### Setup
|
|
34
34
|
|
|
35
35
|
```typescript
|
|
36
|
-
const actionsAPI = getPConnect().getActionsApi()
|
|
37
|
-
const containerManagerAPI = getPConnect().getContainerManager()
|
|
38
|
-
const isLocalAction = getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION)
|
|
39
|
-
const isBulkAction = getPConnect()?.options?.isBulkAction
|
|
40
|
-
const isReverseCoexistence = PCore.getCoexistenceManager().getBroadcastUtils().isReverseCoexistenceCaseLoaded()
|
|
36
|
+
const actionsAPI = getPConnect().getActionsApi();
|
|
37
|
+
const containerManagerAPI = getPConnect().getContainerManager();
|
|
38
|
+
const isLocalAction = getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION);
|
|
39
|
+
const isBulkAction = getPConnect()?.options?.isBulkAction;
|
|
40
|
+
const isReverseCoexistence = PCore.getCoexistenceManager().getBroadcastUtils().isReverseCoexistenceCaseLoaded();
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
### State
|
|
@@ -49,6 +49,7 @@ const isReverseCoexistence = PCore.getCoexistenceManager().getBroadcastUtils().i
|
|
|
49
49
|
### "Go back" button (`leftButton`)
|
|
50
50
|
|
|
51
51
|
Always calls `dismiss()` (no argument = don't confirm). If `isReverseCoexistence`:
|
|
52
|
+
|
|
52
53
|
```
|
|
53
54
|
broadCastUtils.setCallBackFunction(null)
|
|
54
55
|
broadCastUtils.setIsDirtyDialogActive(false)
|
|
@@ -59,6 +60,7 @@ broadCastUtils.setIsDirtyDialogActive(false)
|
|
|
59
60
|
Decision tree (evaluated in order):
|
|
60
61
|
|
|
61
62
|
1. **Reverse coexistence:**
|
|
63
|
+
|
|
62
64
|
```
|
|
63
65
|
dismiss(true)
|
|
64
66
|
PCore.getPubSubUtils().publish(REVERSE_COEXISTENCE_EVENTS.HANDLE_DISCARD)
|
|
@@ -72,12 +74,14 @@ Decision tree (evaluated in order):
|
|
|
72
74
|
- `.finally()`: re-enable delete button, call `dismiss(true)`
|
|
73
75
|
|
|
74
76
|
3. **Local action** (`isLocalAction`):
|
|
77
|
+
|
|
75
78
|
```
|
|
76
79
|
dismiss(true)
|
|
77
80
|
actionsAPI.cancelAssignment(containerItemID, false)
|
|
78
81
|
```
|
|
79
82
|
|
|
80
83
|
4. **Bulk action** (`isBulkAction`):
|
|
84
|
+
|
|
81
85
|
```
|
|
82
86
|
dismiss(true)
|
|
83
87
|
actionsAPI.cancelBulkAction(containerItemID)
|
|
@@ -96,6 +100,7 @@ Decision tree (evaluated in order):
|
|
|
96
100
|
### Localization
|
|
97
101
|
|
|
98
102
|
All visible text is localized via `PCore.getLocaleUtils().getLocaleValue(key, 'ModalContainer')`:
|
|
103
|
+
|
|
99
104
|
- `'Go back'`
|
|
100
105
|
- `'Discard'`
|
|
101
106
|
- `heading` prop value
|
|
@@ -107,6 +112,7 @@ All visible text is localized via `PCore.getLocaleUtils().getLocaleValue(key, 'M
|
|
|
107
112
|
Derived from `CancelAlert.css`:
|
|
108
113
|
|
|
109
114
|
### Full-screen overlay (`.cancel-alert-background`)
|
|
115
|
+
|
|
110
116
|
```css
|
|
111
117
|
.cancel-alert-background {
|
|
112
118
|
display: flex;
|
|
@@ -124,6 +130,7 @@ Derived from `CancelAlert.css`:
|
|
|
124
130
|
```
|
|
125
131
|
|
|
126
132
|
### Dialog box (`.cancel-alert-top`)
|
|
133
|
+
|
|
127
134
|
```css
|
|
128
135
|
.cancel-alert-top {
|
|
129
136
|
display: table;
|
|
@@ -153,10 +160,10 @@ Derived from `CancelAlert.css`:
|
|
|
153
160
|
|
|
154
161
|
### Button styles
|
|
155
162
|
|
|
156
|
-
| Button
|
|
157
|
-
|
|
163
|
+
| Button | Style | Color |
|
|
164
|
+
| ------- | --------- | --------- |
|
|
158
165
|
| Go back | Contained | Secondary |
|
|
159
|
-
| Discard | Contained | Primary
|
|
166
|
+
| Discard | Contained | Primary |
|
|
160
167
|
|
|
161
168
|
### Snackbar
|
|
162
169
|
|
|
@@ -165,6 +172,7 @@ Derived from `CancelAlert.css`:
|
|
|
165
172
|
- Close icon button to dismiss manually
|
|
166
173
|
|
|
167
174
|
**CSS variables used:**
|
|
175
|
+
|
|
168
176
|
- `--modal-background-color`: semi-transparent overlay (e.g., `rgba(0,0,0,0.5)`)
|
|
169
177
|
- `--modal-top-color`: dialog background (e.g., white or app background)
|
|
170
178
|
- `--modal-border-color`: dialog border
|
|
@@ -195,9 +203,9 @@ Derived from `CancelAlert.css`:
|
|
|
195
203
|
|
|
196
204
|
Listed design systems are examples only.
|
|
197
205
|
|
|
198
|
-
| Design System
|
|
199
|
-
|
|
206
|
+
| Design System | Recommended Component |
|
|
207
|
+
| ------------------ | ------------------------------------------------------------------------------------------- |
|
|
200
208
|
| Default (CSS only) | `<div class="cancel-alert-background">` + `<div class="cancel-alert-top">` + CSS from above |
|
|
201
|
-
| MUI
|
|
202
|
-
| Ant Design
|
|
203
|
-
| Chakra UI
|
|
209
|
+
| MUI | `<Button>`, `<Grid>`, `<Snackbar>`, `<IconButton>`, fixed overlay `<div>` |
|
|
210
|
+
| Ant Design | `<Modal>` or custom overlay |
|
|
211
|
+
| Chakra UI | `<Modal>` or `<AlertDialog>` |
|
|
@@ -19,31 +19,32 @@ Renders one or more checkboxes. Supports three usage modes: (1) a single boolean
|
|
|
19
19
|
## Props (component-specific)
|
|
20
20
|
|
|
21
21
|
> Note: `Checkbox` uses `Omit<PConnFieldProps, 'value'>` with its own `value?: boolean`. Import type as:
|
|
22
|
+
>
|
|
22
23
|
> ```typescript
|
|
23
24
|
> import type { PConnFieldProps } from '@pega/sdk-react';
|
|
24
25
|
> ```
|
|
25
26
|
|
|
26
|
-
| Prop
|
|
27
|
-
|
|
28
|
-
| `value`
|
|
29
|
-
| `caption`
|
|
30
|
-
| `trueLabel`
|
|
31
|
-
| `falseLabel`
|
|
32
|
-
| `selectionMode`
|
|
33
|
-
| `datasource`
|
|
34
|
-
| `selectionKey`
|
|
35
|
-
| `selectionList`
|
|
36
|
-
| `primaryField`
|
|
37
|
-
| `readonlyContextList`
|
|
38
|
-
| `referenceList`
|
|
39
|
-
| `variant`
|
|
40
|
-
| `hideFieldLabels`
|
|
41
|
-
| `additionalProps`
|
|
42
|
-
| `imagePosition`
|
|
43
|
-
| `imageSize`
|
|
44
|
-
| `showImageDescription` | `string`
|
|
45
|
-
| `renderMode`
|
|
46
|
-
| `image`
|
|
27
|
+
| Prop | Type | Description |
|
|
28
|
+
| ---------------------- | -------------------- | -------------------------------------------------------------------- |
|
|
29
|
+
| `value` | `boolean` (optional) | Checked state for single-mode checkbox |
|
|
30
|
+
| `caption` | `string` (optional) | Label shown next to the single checkbox (not the group label) |
|
|
31
|
+
| `trueLabel` | `string` (optional) | Display text when `value` is `true` (used in display modes) |
|
|
32
|
+
| `falseLabel` | `string` (optional) | Display text when `value` is `false` (used in display modes) |
|
|
33
|
+
| `selectionMode` | `string` (optional) | `'multi'` — enables multi-selection mode from a datasource list |
|
|
34
|
+
| `datasource` | `any` (optional) | Options source for multi/card modes |
|
|
35
|
+
| `selectionKey` | `string` (optional) | The property path used as the key in selection list |
|
|
36
|
+
| `selectionList` | `any` (optional) | Property path for the reference list (multi mode) |
|
|
37
|
+
| `primaryField` | `string` | Primary display field for multi/card mode |
|
|
38
|
+
| `readonlyContextList` | `any` | Array of currently selected items (for multi/card read-only display) |
|
|
39
|
+
| `referenceList` | `string` | Reference list property path |
|
|
40
|
+
| `variant` | `string` (optional) | `'card'` — renders options as selectable card grid |
|
|
41
|
+
| `hideFieldLabels` | `boolean` | Hide field labels inside card variant |
|
|
42
|
+
| `additionalProps` | `any` | Extra props passed to card or checkbox |
|
|
43
|
+
| `imagePosition` | `string` | Card image position |
|
|
44
|
+
| `imageSize` | `string` | Card image size |
|
|
45
|
+
| `showImageDescription` | `string` | Whether to show image description |
|
|
46
|
+
| `renderMode` | `string` | `'ReadOnly'` — sets read-only mode alongside `readOnly` prop |
|
|
47
|
+
| `image` | `string` | Image field path for card variant |
|
|
47
48
|
|
|
48
49
|
## Behavioral Contract
|
|
49
50
|
|
|
@@ -56,6 +57,7 @@ Renders one or more checkboxes. Supports three usage modes: (1) a single boolean
|
|
|
56
57
|
### Variant: Single checkbox (default)
|
|
57
58
|
|
|
58
59
|
Render a single checkbox with:
|
|
60
|
+
|
|
59
61
|
- `checked={checked}`
|
|
60
62
|
- `onChange={!readOnly ? handleChange : undefined}`
|
|
61
63
|
- `onBlur={!readOnly ? handleBlur : undefined}`
|
|
@@ -67,6 +69,7 @@ Render a single checkbox with:
|
|
|
67
69
|
### Variant: Multi-select (`selectionMode === 'multi'`)
|
|
68
70
|
|
|
69
71
|
Render a list of checkboxes from `datasource.source`:
|
|
72
|
+
|
|
70
73
|
- Each option: `key` from `selectionKey` extraction, `text`/`value` as label.
|
|
71
74
|
- `checked` per option: `selectedvalues.some(data => data[dataField] === element.key)` where `dataField = selectionKey.split('.')[1]`.
|
|
72
75
|
- **On change per checkbox:**
|
|
@@ -78,6 +81,7 @@ Render a list of checkboxes from `datasource.source`:
|
|
|
78
81
|
### Variant: Card (`variant === 'card'`)
|
|
79
82
|
|
|
80
83
|
Render a heading (`<h4>`) + CSS Grid + `SelectableCard` component:
|
|
84
|
+
|
|
81
85
|
- Grid: `repeat(auto-fit, minmax(min(100%, 40ch), 1fr))`, `gridAutoRows: '1fr'`, `gap: '0.5rem'`.
|
|
82
86
|
- `SelectableCard` props:
|
|
83
87
|
- `type='checkbox'`
|
|
@@ -94,6 +98,7 @@ Render a heading (`<h4>`) + CSS Grid + `SelectableCard` component:
|
|
|
94
98
|
## Display Mode Rendering
|
|
95
99
|
|
|
96
100
|
Display mode uses `caption` (not `label`) and shows true/false label:
|
|
101
|
+
|
|
97
102
|
- **`DISPLAY_ONLY`:** `<FieldValueList name={hideLabel ? '' : caption} value={value ? trueLabel : falseLabel} />`
|
|
98
103
|
- **`STACKED_LARGE_VAL`:** `<FieldValueList name={hideLabel ? '' : caption} value={value ? trueLabel : falseLabel} variant='stacked' />`
|
|
99
104
|
|
|
@@ -106,29 +111,41 @@ Multi/Card mode: `readOnlyMode` flag prevents `insertInstruction`/`deleteInstruc
|
|
|
106
111
|
|
|
107
112
|
### Standard / Multi-select
|
|
108
113
|
|
|
109
|
-
| Property
|
|
110
|
-
|
|
111
|
-
| Checkbox size
|
|
112
|
-
| Label placement
|
|
113
|
-
| Group label
|
|
114
|
-
| Layout
|
|
115
|
-
| Helper text
|
|
116
|
-
| Error state
|
|
117
|
-
| Disabled/readOnly | Greyed out, pointer-events none
|
|
114
|
+
| Property | Value |
|
|
115
|
+
| ----------------- | --------------------------------------------- |
|
|
116
|
+
| Checkbox size | Default (24px) |
|
|
117
|
+
| Label placement | End (right of checkbox) |
|
|
118
|
+
| Group label | `<legend>` above group, hidden if `hideLabel` |
|
|
119
|
+
| Layout | Single: single row. Multi: vertical column |
|
|
120
|
+
| Helper text | Below group |
|
|
121
|
+
| Error state | Red text/border on helper |
|
|
122
|
+
| Disabled/readOnly | Greyed out, pointer-events none |
|
|
118
123
|
|
|
119
124
|
**CSS-only:**
|
|
125
|
+
|
|
120
126
|
```css
|
|
121
|
-
.checkbox-group {
|
|
122
|
-
|
|
123
|
-
|
|
127
|
+
.checkbox-group {
|
|
128
|
+
display: flex;
|
|
129
|
+
flex-direction: column;
|
|
130
|
+
gap: 4px;
|
|
131
|
+
}
|
|
132
|
+
.checkbox-label {
|
|
133
|
+
display: flex;
|
|
134
|
+
align-items: center;
|
|
135
|
+
gap: 8px;
|
|
136
|
+
cursor: pointer;
|
|
137
|
+
}
|
|
138
|
+
input[type='checkbox']:disabled {
|
|
139
|
+
opacity: 0.38;
|
|
140
|
+
}
|
|
124
141
|
```
|
|
125
142
|
|
|
126
143
|
### Card Variant
|
|
127
144
|
|
|
128
|
-
| Property | Value
|
|
129
|
-
|
|
130
|
-
| Layout
|
|
131
|
-
| Heading
|
|
145
|
+
| Property | Value |
|
|
146
|
+
| -------- | ------------------------------------------------------------------------------------------------- |
|
|
147
|
+
| Layout | CSS Grid `repeat(auto-fit, minmax(min(100%, 40ch), 1fr))`, row height equal (`1fr`), gap `0.5rem` |
|
|
148
|
+
| Heading | `<h4>` with `marginTop: 0, marginBottom: 0` |
|
|
132
149
|
|
|
133
150
|
## Edge Cases & Special Logic
|
|
134
151
|
|
|
@@ -150,9 +167,9 @@ input[type="checkbox"]:disabled { opacity: 0.38; }
|
|
|
150
167
|
|
|
151
168
|
Listed design systems are examples only.
|
|
152
169
|
|
|
153
|
-
| Design System
|
|
154
|
-
|
|
155
|
-
| Default (CSS only) | `<input type="checkbox">` with `<label>`
|
|
156
|
-
| MUI
|
|
157
|
-
| Ant Design
|
|
158
|
-
| Chakra UI
|
|
170
|
+
| Design System | Recommended Component |
|
|
171
|
+
| ------------------ | --------------------------------------------------- |
|
|
172
|
+
| Default (CSS only) | `<input type="checkbox">` with `<label>` |
|
|
173
|
+
| MUI | `<Checkbox>` in `<FormControlLabel>`, `<FormGroup>` |
|
|
174
|
+
| Ant Design | `<Checkbox>` / `<Checkbox.Group>` |
|
|
175
|
+
| Chakra UI | `<Checkbox>` / `<CheckboxGroup>` |
|
|
@@ -18,12 +18,13 @@ Renders a numeric input formatted as a currency value. Displays the correct curr
|
|
|
18
18
|
|
|
19
19
|
## Props (component-specific)
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `currencyISOCode` | `string` (optional) | `'USD'` | ISO 4217 currency code (e.g., `'USD'`, `'EUR'`, `'GBP'`)
|
|
24
|
-
| `allowDecimals`
|
|
21
|
+
| Prop | Type | Default | Description |
|
|
22
|
+
| ----------------- | ------------------- | ------- | ------------------------------------------------------------------------------------------------------ |
|
|
23
|
+
| `currencyISOCode` | `string` (optional) | `'USD'` | ISO 4217 currency code (e.g., `'USD'`, `'EUR'`, `'GBP'`) |
|
|
24
|
+
| `allowDecimals` | `boolean` | — | Whether to allow decimal input. If `false`, `decimalScale=0`. If `true`, fixed 2 decimal places shown. |
|
|
25
25
|
|
|
26
26
|
All other props from `PConnFieldProps`. Import type as:
|
|
27
|
+
|
|
27
28
|
```typescript
|
|
28
29
|
import type { PConnFieldProps } from '@pega/sdk-react';
|
|
29
30
|
```
|
|
@@ -49,6 +50,7 @@ import type { PConnFieldProps } from '@pega/sdk-react';
|
|
|
49
50
|
## Display Mode Rendering
|
|
50
51
|
|
|
51
52
|
Format the value before display using a currency formatter with `currencyISOCode`:
|
|
53
|
+
|
|
52
54
|
- **`DISPLAY_ONLY`:** `<FieldValueList name={hideLabel ? '' : label} value={formattedValue} />` where `formattedValue = format(value, 'currency', currencyOptions)`.
|
|
53
55
|
- **`STACKED_LARGE_VAL`:** `<FieldValueList name={hideLabel ? '' : label} value={formattedValue} variant='stacked' />`.
|
|
54
56
|
|
|
@@ -60,16 +62,16 @@ Keep the numeric format input but set `readOnly: true` on the input element. Swi
|
|
|
60
62
|
|
|
61
63
|
## Visual Specifications
|
|
62
64
|
|
|
63
|
-
| Property
|
|
64
|
-
|
|
65
|
-
| Width
|
|
66
|
-
| Size
|
|
67
|
-
| Variant
|
|
68
|
-
| Prefix
|
|
69
|
-
| Alignment
|
|
70
|
-
| Decimal places | 2 (when `allowDecimals`)
|
|
71
|
-
| Error state
|
|
72
|
-
| Placeholder
|
|
65
|
+
| Property | Standard (editable) | Read-only |
|
|
66
|
+
| -------------- | ---------------------------- | --------------- |
|
|
67
|
+
| Width | 100% | 100% |
|
|
68
|
+
| Size | Small | Small |
|
|
69
|
+
| Variant | Outlined | Standard (flat) |
|
|
70
|
+
| Prefix | Currency symbol (e.g., `$`) | Currency symbol |
|
|
71
|
+
| Alignment | Left-aligned text | Left-aligned |
|
|
72
|
+
| Decimal places | 2 (when `allowDecimals`) | 2 |
|
|
73
|
+
| Error state | Red border + red helper text | — |
|
|
74
|
+
| Placeholder | From `placeholder` prop | — |
|
|
73
75
|
|
|
74
76
|
## Edge Cases & Special Logic
|
|
75
77
|
|
|
@@ -89,6 +91,7 @@ Keep the numeric format input but set `readOnly: true` on the input element. Swi
|
|
|
89
91
|
- `getComponentFromRegistry('FieldValueList')` for display modes.
|
|
90
92
|
|
|
91
93
|
**For CSS-only / design-system-agnostic implementations:**
|
|
94
|
+
|
|
92
95
|
- The numeric format library handles the input masking. Use any numeric format library that supports prefix, decimal separator, and thousands separator configuration.
|
|
93
96
|
- Alternatively, implement manually: on change, strip non-numeric chars, insert separators, prepend symbol.
|
|
94
97
|
|
|
@@ -98,9 +101,9 @@ Keep the numeric format input but set `readOnly: true` on the input element. Swi
|
|
|
98
101
|
|
|
99
102
|
Listed design systems are examples only.
|
|
100
103
|
|
|
101
|
-
| Design System
|
|
102
|
-
|
|
103
|
-
| Default (CSS only) | `<input type="text">` + custom numeric formatting logic
|
|
104
|
-
| MUI
|
|
105
|
-
| Ant Design
|
|
106
|
-
| Chakra UI
|
|
104
|
+
| Design System | Recommended Component |
|
|
105
|
+
| ------------------ | --------------------------------------------------------------------------- |
|
|
106
|
+
| Default (CSS only) | `<input type="text">` + custom numeric formatting logic |
|
|
107
|
+
| MUI | `NumericFormat` (from `react-number-format`) with `customInput={TextField}` |
|
|
108
|
+
| Ant Design | `<InputNumber prefix="$" precision={2} />` |
|
|
109
|
+
| Chakra UI | `<NumberInput>` + custom formatting |
|
|
@@ -19,6 +19,7 @@ Renders a date picker input. Stores dates as `YYYY-MM-DD` strings. Displays date
|
|
|
19
19
|
## Props (component-specific)
|
|
20
20
|
|
|
21
21
|
No props beyond `PConnFieldProps`. Import type as:
|
|
22
|
+
|
|
22
23
|
```typescript
|
|
23
24
|
import type { PConnFieldProps } from '@pega/sdk-react';
|
|
24
25
|
```
|
|
@@ -32,7 +33,7 @@ import type { PConnFieldProps } from '@pega/sdk-react';
|
|
|
32
33
|
3. **Date format:** Get locale-aware format string via `getDateFormatInfo()`:
|
|
33
34
|
- Returns `dateFormatString` (display format, e.g., `'MM/DD/YYYY'`), `dateFormatStringLC` (lowercase for placeholder, e.g., `'mm/dd/yyyy'`), `dateFormatMask`.
|
|
34
35
|
- Start from `dateFormatInfoDefault` and override with locale-specific values.
|
|
35
|
-
4. **On change (valid date selected):**
|
|
36
|
+
4. **On change (valid date selected):**
|
|
36
37
|
- Validate the date is valid (e.g., `date.isValid()`).
|
|
37
38
|
- Format to `YYYY-MM-DD` string: `${year}-${(month+1).padStart(2,'0')}-${day.padStart(2,'0')}`.
|
|
38
39
|
- Commit immediately via `handleEvent(actions, 'changeNblur', propName, formattedDate)`.
|
|
@@ -44,6 +45,7 @@ import type { PConnFieldProps } from '@pega/sdk-react';
|
|
|
44
45
|
## Display Mode Rendering
|
|
45
46
|
|
|
46
47
|
Format the value before display using `format(value, 'date', { format: dateFormatInfo.dateFormatString })`:
|
|
48
|
+
|
|
47
49
|
- **`DISPLAY_ONLY`:** `<FieldValueList name={hideLabel ? '' : label} value={formattedDate} />`.
|
|
48
50
|
- **`STACKED_LARGE_VAL`:** `<FieldValueList name={hideLabel ? '' : label} value={formattedDate} variant='stacked' />`.
|
|
49
51
|
- Both modes compute `formattedDate` from the raw `props.value` (not local state).
|
|
@@ -54,16 +56,16 @@ Delegate to `TextInput`: `return <TextInput {...props} />`. The raw `YYYY-MM-DD`
|
|
|
54
56
|
|
|
55
57
|
## Visual Specifications
|
|
56
58
|
|
|
57
|
-
| Property
|
|
58
|
-
|
|
59
|
-
| Width
|
|
60
|
-
| Size
|
|
61
|
-
| Variant
|
|
62
|
-
| Placeholder
|
|
63
|
-
| Calendar popup
|
|
64
|
-
| Error state
|
|
65
|
-
| Required indicator | `*` on label
|
|
66
|
-
| Format display
|
|
59
|
+
| Property | Value |
|
|
60
|
+
| ------------------ | ----------------------------------------------- |
|
|
61
|
+
| Width | Auto (date picker natural width) |
|
|
62
|
+
| Size | Small |
|
|
63
|
+
| Variant | Outlined |
|
|
64
|
+
| Placeholder | Lowercase format string (e.g., `mm/dd/yyyy`) |
|
|
65
|
+
| Calendar popup | Opens below the input |
|
|
66
|
+
| Error state | Red border + red helper text |
|
|
67
|
+
| Required indicator | `*` on label |
|
|
68
|
+
| Format display | Locale-aware (e.g., `MM/DD/YYYY`, `DD/MM/YYYY`) |
|
|
67
69
|
|
|
68
70
|
**CSS-only notes:** For a CSS-only date input, use `<input type="date">` — note that the display format is browser-controlled. A custom date picker component is needed for locale-aware format strings.
|
|
69
71
|
|
|
@@ -91,9 +93,9 @@ Delegate to `TextInput`: `return <TextInput {...props} />`. The raw `YYYY-MM-DD`
|
|
|
91
93
|
|
|
92
94
|
Listed design systems are examples only.
|
|
93
95
|
|
|
94
|
-
| Design System
|
|
95
|
-
|
|
96
|
-
| Default (CSS only) | `<input type="date">` (browser native, limited locale control)
|
|
97
|
-
| MUI
|
|
98
|
-
| Ant Design
|
|
99
|
-
| Chakra UI
|
|
96
|
+
| Design System | Recommended Component |
|
|
97
|
+
| ------------------ | ---------------------------------------------------------------- |
|
|
98
|
+
| Default (CSS only) | `<input type="date">` (browser native, limited locale control) |
|
|
99
|
+
| MUI | `<DatePicker />` from `@mui/x-date-pickers` with `dayjs` adapter |
|
|
100
|
+
| Ant Design | `<DatePicker format="MM/DD/YYYY" />` |
|
|
101
|
+
| Chakra UI | Third-party date picker or `<input type="date">` |
|