@pega/sdk 0.0.2 → 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 +14 -57
- 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 +38 -0
- package/templates/react-sdk-reference/.claude/instructions/dse-component.md +75 -0
- package/templates/react-sdk-reference/.claude/instructions/field-component.md +75 -0
- package/templates/react-sdk-reference/.claude/instructions/template-component.md +93 -0
- package/templates/react-sdk-reference/.claude/instructions/widget-component.md +88 -0
- package/templates/react-sdk-reference/.claude/prompts/add-component.md +152 -0
- package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +193 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +158 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +140 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +153 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +165 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +138 -0
- package/templates/react-sdk-reference/.claude/prompts/identify-components.md +105 -0
- package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +519 -0
- package/templates/react-sdk-reference/.claude/skills/component-contracts.md +140 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +137 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +152 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +159 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +148 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +134 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +113 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +118 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +155 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +85 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +232 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +137 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +291 -0
- package/templates/react-sdk-reference/.claude/skills/field-components.md +295 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +113 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +211 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +175 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +109 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +101 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +106 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +99 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +134 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +109 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +96 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +88 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +145 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +188 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +173 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +93 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +129 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +167 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +149 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +134 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +231 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +155 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +98 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +117 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +107 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +89 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +86 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +203 -0
- package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +70 -0
- package/templates/react-sdk-reference/.claude/skills/template-components.md +321 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +150 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +124 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +86 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +106 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +137 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +131 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +109 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +124 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +104 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +112 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +90 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +97 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +80 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +80 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +106 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +112 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +116 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +108 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +82 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +70 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +142 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +82 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +143 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +114 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +130 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +142 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +131 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +108 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +82 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +133 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +152 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +139 -0
- package/templates/react-sdk-reference/.claude/skills/widget-components.md +260 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +84 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +151 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +110 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +206 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +103 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +118 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +169 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +198 -0
- package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +41 -0
- package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +78 -0
- package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +74 -0
- package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +247 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +149 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +193 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +154 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +131 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +144 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +156 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +129 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +110 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/replace-design-system.mdrules +524 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +145 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +140 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +154 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +159 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +149 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +136 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +116 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +120 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +154 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +88 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +211 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +140 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +294 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +299 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +117 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +208 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +163 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +111 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +104 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +108 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +103 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +119 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +112 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +95 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +92 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +141 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +169 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +169 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +97 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +115 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +151 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +143 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +129 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +221 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +153 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +101 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +106 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +109 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +93 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +90 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +185 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +73 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +327 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +149 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +127 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +88 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +105 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +136 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +131 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +112 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +125 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +107 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +115 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +93 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +100 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +83 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +83 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +106 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +114 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +118 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +109 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +90 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +73 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +144 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +85 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +146 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +114 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +129 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +140 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +132 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +108 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +84 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +136 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +155 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +140 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +276 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +87 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +151 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +112 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +205 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +104 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +119 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +172 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +195 -0
- package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +95 -0
- package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +90 -0
- package/templates/react-sdk-reference/.github/agents/implementation-expert.agent.md +135 -0
- package/templates/react-sdk-reference/.github/copilot-instructions.md +58 -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 +187 -16
- package/templates/react-sdk-reference/.github/prompts/component-manifest.json +165 -83
- package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +411 -0
- package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +205 -0
- package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +223 -0
- package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +229 -0
- package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +208 -0
- 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 +60 -18
- package/templates/react-sdk-reference/.github/skills/field-components.md +56 -23
- 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 +50 -14
- 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 +52 -26
- 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 +216 -29
- package/templates/react-sdk-reference/index.html +1 -4
- package/templates/react-sdk-reference/package.json +16 -16
- package/templates/react-sdk-reference/pega-constellationjs-0.26.3-local.tgz +0 -0
- package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
- package/templates/react-sdk-reference/sdk-config.json +1 -1
- 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 +52 -27
- package/templates/wc-sdk-reference/package.json +3 -3
- package/templates/wc-sdk-reference/src/index.ts +10 -10
- package/templates/wc-sdk-reference/tsconfig.json +1 -0
- package/templates/react-sdk-reference/.github/prompts/replace-all-fields.prompt.md +0 -48
- package/templates/react-sdk-reference/.github/prompts/replace-component.prompt.md +0 -81
- package/templates/react-sdk-reference/.github/prompts/replace-field.prompt.md +0 -41
- package/templates/react-sdk-reference/.github/prompts/swap-design-system.prompt.md +0 -49
- package/templates/react-sdk-reference/.github/skills/swap-design-system.md +0 -105
- package/templates/react-sdk-reference/pega-constellationjs-0.26.2.tgz +0 -0
|
@@ -18,29 +18,31 @@ Renders a clickable link (`<a>` or button-style link) that navigates to a Pega c
|
|
|
18
18
|
|
|
19
19
|
## Props (component-specific)
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `text`
|
|
24
|
-
| `resourcePayload`
|
|
25
|
-
| `resourceParams`
|
|
26
|
-
| `previewKey`
|
|
27
|
-
| `onClick`
|
|
28
|
-
| `testId`
|
|
29
|
-
| `referenceType`
|
|
30
|
-
| `dataRelationshipContext` | `string \| null`
|
|
31
|
-
| `contextPage`
|
|
21
|
+
| Prop | Type | Default | Description |
|
|
22
|
+
| ------------------------- | ----------------- | ------- | ---------------------------------------------------------------------------------- |
|
|
23
|
+
| `text` | `string` | — | The visible link text; renders `'--'` if empty |
|
|
24
|
+
| `resourcePayload` | `any` | `{}` | Resource payload containing `caseClassName`, `resourceType`, etc. |
|
|
25
|
+
| `resourceParams` | `any` | `{}` | Resource parameters containing `workID` for case navigation |
|
|
26
|
+
| `previewKey` | `string \| null` | — | Case preview key for opening work item by handle |
|
|
27
|
+
| `onClick` | `(event) => void` | — | External click handler (received but not directly used — link has its own handler) |
|
|
28
|
+
| `testId` | `string` | `''` | Test identifier |
|
|
29
|
+
| `referenceType` | `string \| null` | — | `'DATA'` or case reference type |
|
|
30
|
+
| `dataRelationshipContext` | `string \| null` | `null` | Context for data relationship resolution |
|
|
31
|
+
| `contextPage` | `any` | — | Context page with `classID` |
|
|
32
32
|
|
|
33
33
|
## Behavioral Contract
|
|
34
34
|
|
|
35
35
|
### URL Resolution
|
|
36
36
|
|
|
37
37
|
**Step 1: Determine if this is a data reference:**
|
|
38
|
+
|
|
38
39
|
- `isData = false`
|
|
39
40
|
- `shouldTreatAsDataReference = !previewKey && resourcePayload.caseClassName` (non-preview, has class)
|
|
40
41
|
- If `contextPage?.classID`: override `resourcePayload.caseClassName = contextPage.classID`
|
|
41
42
|
- If `resourcePayload.caseClassName === WORKCLASS`: override with actual case class from `pConnect.getValue(CASE_INFO_CLASSID)`
|
|
42
43
|
|
|
43
44
|
**Step 2a: Data reference (`referenceType === 'DATA'` or `shouldTreatAsDataReference`):**
|
|
45
|
+
|
|
44
46
|
```
|
|
45
47
|
const dataRefContext = semanticUtils.getDataReferenceInfo(pConnect, dataRelationshipContext, contextPage)
|
|
46
48
|
dataViewName = dataRefContext.dataContext
|
|
@@ -49,12 +51,14 @@ isData = true
|
|
|
49
51
|
```
|
|
50
52
|
|
|
51
53
|
**Step 2b: Resource type DATA (`resourcePayload.resourceType === 'DATA'`):**
|
|
54
|
+
|
|
52
55
|
- Look up data page: `dataViewName = PCore.getDataTypeUtils().getLookUpDataPage(resourcePayload.className)`
|
|
53
56
|
- Look up page info and parameters
|
|
54
57
|
- Build `payload` from parameters by resolving property annotations
|
|
55
58
|
- `isData = true`
|
|
56
59
|
|
|
57
60
|
**Step 3: Build `linkURL`:**
|
|
61
|
+
|
|
58
62
|
- If `isData && dataViewName && payload`: `linkURL = PCore.getSemanticUrlUtils().getResolvedSemanticURL(ACTION_SHOWDATA, { pageName: 'pyDetails', dataViewName }, payload)`
|
|
59
63
|
- Else (case): fix `resourceParams.objectID` for empty workID edge case, then `linkURL = PCore.getSemanticUrlUtils().getResolvedSemanticURL(ACTION_OPENWORKBYHANDLE, resourcePayload, resourceParams)`
|
|
60
64
|
|
|
@@ -87,18 +91,19 @@ No explicit `displayMode` handling — `SemanticLink` is always rendered as a li
|
|
|
87
91
|
|
|
88
92
|
Derived from `makeStyles` and MUI `Link` props:
|
|
89
93
|
|
|
90
|
-
| Property
|
|
91
|
-
|
|
92
|
-
| Display
|
|
93
|
-
| Padding
|
|
94
|
-
| Margin
|
|
95
|
-
| Color
|
|
96
|
-
| Font weight | 400
|
|
97
|
-
| Underline
|
|
98
|
-
| Cursor
|
|
99
|
-
| Text
|
|
94
|
+
| Property | Value |
|
|
95
|
+
| ----------- | ---------------------------------------- |
|
|
96
|
+
| Display | Inline link (button role) |
|
|
97
|
+
| Padding | `8px` all sides |
|
|
98
|
+
| Margin | `8px` all sides |
|
|
99
|
+
| Color | Primary link color (blue, default theme) |
|
|
100
|
+
| Font weight | 400 |
|
|
101
|
+
| Underline | Default link underline on hover |
|
|
102
|
+
| Cursor | Pointer |
|
|
103
|
+
| Text | `text` prop value, or `'--'` if empty |
|
|
100
104
|
|
|
101
105
|
**CSS-only implementation:**
|
|
106
|
+
|
|
102
107
|
```css
|
|
103
108
|
.semantic-link {
|
|
104
109
|
display: inline-block;
|
|
@@ -112,7 +117,9 @@ Derived from `makeStyles` and MUI `Link` props:
|
|
|
112
117
|
border: none;
|
|
113
118
|
font-size: inherit;
|
|
114
119
|
}
|
|
115
|
-
.semantic-link:hover {
|
|
120
|
+
.semantic-link:hover {
|
|
121
|
+
text-decoration: underline;
|
|
122
|
+
}
|
|
116
123
|
```
|
|
117
124
|
|
|
118
125
|
## Edge Cases & Special Logic
|
|
@@ -140,9 +147,9 @@ Derived from `makeStyles` and MUI `Link` props:
|
|
|
140
147
|
|
|
141
148
|
Listed design systems are examples only.
|
|
142
149
|
|
|
143
|
-
| Design System
|
|
144
|
-
|
|
150
|
+
| Design System | Recommended Component |
|
|
151
|
+
| ------------------ | ---------------------------------------------------- |
|
|
145
152
|
| Default (CSS only) | `<button class="semantic-link">` with anchor styling |
|
|
146
|
-
| MUI
|
|
147
|
-
| Ant Design
|
|
148
|
-
| Chakra UI
|
|
153
|
+
| MUI | `<Link component='button'>` |
|
|
154
|
+
| Ant Design | `<Typography.Link>` or `<Button type="link">` |
|
|
155
|
+
| Chakra UI | `<Link as="button">` |
|
|
@@ -18,11 +18,12 @@ Renders an editable multi-line text area. Used for long-form text input such as
|
|
|
18
18
|
|
|
19
19
|
## Props (component-specific)
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
21
|
+
| Prop | Type | Description |
|
|
22
|
+
| --------------- | ---------------- | ---------------------------------------------------------- |
|
|
23
23
|
| `fieldMetadata` | `any` (optional) | Metadata object; used to read `maxLength` for the textarea |
|
|
24
24
|
|
|
25
25
|
All other props come from `PConnFieldProps`. Import type as:
|
|
26
|
+
|
|
26
27
|
```typescript
|
|
27
28
|
import type { PConnFieldProps } from '@pega/sdk-react';
|
|
28
29
|
```
|
|
@@ -51,21 +52,22 @@ Set `readOnly` on the textarea element (NOT a read-only version via `TextInput`
|
|
|
51
52
|
|
|
52
53
|
Derived from the reference component's MUI props:
|
|
53
54
|
|
|
54
|
-
| Property
|
|
55
|
-
|
|
56
|
-
| Width
|
|
57
|
-
| Min rows
|
|
58
|
-
| Max rows
|
|
59
|
-
| Border
|
|
60
|
-
| Border radius | 4px
|
|
61
|
-
| Label
|
|
62
|
-
| Helper text
|
|
63
|
-
| Error state
|
|
64
|
-
| Resize
|
|
65
|
-
| Font size
|
|
66
|
-
| Padding
|
|
55
|
+
| Property | Standard (editable) | Read-only |
|
|
56
|
+
| ------------- | ---------------------------------------- | -------------------- |
|
|
57
|
+
| Width | 100% | 100% |
|
|
58
|
+
| Min rows | 5 | 5 |
|
|
59
|
+
| Max rows | 5 (scrollable beyond) | 5 |
|
|
60
|
+
| Border | 1px solid (outlined) | None (standard/flat) |
|
|
61
|
+
| Border radius | 4px | — |
|
|
62
|
+
| Label | Floating label | Floating label |
|
|
63
|
+
| Helper text | Below textarea | Below textarea |
|
|
64
|
+
| Error state | Red border + red helper text | — |
|
|
65
|
+
| Resize | Vertical resize handle (browser default) | Same |
|
|
66
|
+
| Font size | 0.875rem | 0.875rem |
|
|
67
|
+
| Padding | 8px 14px | — |
|
|
67
68
|
|
|
68
69
|
**CSS-only implementation notes:**
|
|
70
|
+
|
|
69
71
|
- `textarea { min-height: calc(5 * 1.4375em + 16px); max-height: calc(5 * 1.4375em + 16px); overflow-y: auto; resize: vertical; }`
|
|
70
72
|
- Error: `border-color: #d32f2f`
|
|
71
73
|
- Read-only: `border: none; background: transparent;`
|
|
@@ -87,10 +89,10 @@ Derived from the reference component's MUI props:
|
|
|
87
89
|
|
|
88
90
|
Listed design systems are examples only.
|
|
89
91
|
|
|
90
|
-
| Design System
|
|
91
|
-
|
|
92
|
-
| Default (CSS only) | `<textarea rows="5">` with floating label
|
|
93
|
-
| MUI
|
|
94
|
-
| Ant Design
|
|
95
|
-
| Chakra UI
|
|
96
|
-
| Shadcn/ui
|
|
92
|
+
| Design System | Recommended Component |
|
|
93
|
+
| ------------------ | ------------------------------------------------- |
|
|
94
|
+
| Default (CSS only) | `<textarea rows="5">` with floating label |
|
|
95
|
+
| MUI | `<TextField multiline minRows={5} maxRows={5} />` |
|
|
96
|
+
| Ant Design | `<Input.TextArea rows={5} />` |
|
|
97
|
+
| Chakra UI | `<Textarea />` |
|
|
98
|
+
| Shadcn/ui | `<Textarea />` |
|
|
@@ -29,15 +29,15 @@ interface TextContentProps extends PConnProps {
|
|
|
29
29
|
}
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
| Prop
|
|
33
|
-
|
|
34
|
-
| `content`
|
|
32
|
+
| Prop | Type | Description |
|
|
33
|
+
| ----------- | ------------------------------------------------------------------------- | ------------------------------------------------- |
|
|
34
|
+
| `content` | `string` | The text string to render |
|
|
35
35
|
| `displayAs` | `'Paragraph' \| 'Heading 1' \| 'Heading 2' \| 'Heading 3' \| 'Heading 4'` | How to render the text — maps to typography level |
|
|
36
36
|
|
|
37
37
|
## Behavioral Contract
|
|
38
38
|
|
|
39
39
|
1. **No state, no effects** — purely presentational. Render `content` using the appropriate typography element for `displayAs`.
|
|
40
|
-
2. **Mapping:**
|
|
40
|
+
2. **Mapping:**
|
|
41
41
|
- `'Paragraph'` → `<p>` / body text
|
|
42
42
|
- `'Heading 1'` → `<h1>`
|
|
43
43
|
- `'Heading 2'` → `<h2>`
|
|
@@ -57,23 +57,39 @@ Always read-only — there is no editable state.
|
|
|
57
57
|
|
|
58
58
|
Derived from standard HTML typography:
|
|
59
59
|
|
|
60
|
-
| `displayAs` | Element
|
|
61
|
-
|
|
62
|
-
| `Paragraph` | `<p>` / `body1` | 1rem (16px) | 400
|
|
63
|
-
| `Heading 1` | `<h1>`
|
|
64
|
-
| `Heading 2` | `<h2>`
|
|
65
|
-
| `Heading 3` | `<h3>`
|
|
66
|
-
| `Heading 4` | `<h4>`
|
|
60
|
+
| `displayAs` | Element | Font size | Font weight |
|
|
61
|
+
| ----------- | --------------- | ----------- | ----------- |
|
|
62
|
+
| `Paragraph` | `<p>` / `body1` | 1rem (16px) | 400 |
|
|
63
|
+
| `Heading 1` | `<h1>` | 2.5rem | 300 |
|
|
64
|
+
| `Heading 2` | `<h2>` | 2rem | 300 |
|
|
65
|
+
| `Heading 3` | `<h3>` | 1.75rem | 400 |
|
|
66
|
+
| `Heading 4` | `<h4>` | 1.5rem | 400 |
|
|
67
67
|
|
|
68
68
|
Color inherits from the surrounding text color. No padding, margin, border, or background beyond what the browser/design-system applies to the heading element.
|
|
69
69
|
|
|
70
70
|
**CSS-only implementation notes:**
|
|
71
|
+
|
|
71
72
|
```css
|
|
72
|
-
.text-content-h1 {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
.text-content-
|
|
73
|
+
.text-content-h1 {
|
|
74
|
+
font-size: 2.5rem;
|
|
75
|
+
font-weight: 300;
|
|
76
|
+
}
|
|
77
|
+
.text-content-h2 {
|
|
78
|
+
font-size: 2rem;
|
|
79
|
+
font-weight: 300;
|
|
80
|
+
}
|
|
81
|
+
.text-content-h3 {
|
|
82
|
+
font-size: 1.75rem;
|
|
83
|
+
font-weight: 400;
|
|
84
|
+
}
|
|
85
|
+
.text-content-h4 {
|
|
86
|
+
font-size: 1.5rem;
|
|
87
|
+
font-weight: 400;
|
|
88
|
+
}
|
|
89
|
+
.text-content-body {
|
|
90
|
+
font-size: 1rem;
|
|
91
|
+
font-weight: 400;
|
|
92
|
+
}
|
|
77
93
|
```
|
|
78
94
|
|
|
79
95
|
## Edge Cases & Special Logic
|
|
@@ -93,9 +109,9 @@ Color inherits from the surrounding text color. No padding, margin, border, or b
|
|
|
93
109
|
|
|
94
110
|
Listed design systems are examples only.
|
|
95
111
|
|
|
96
|
-
| Design System
|
|
97
|
-
|
|
98
|
-
| Default (CSS only) | Native `<h1>`–`<h4>` or `<p>`
|
|
99
|
-
| MUI
|
|
100
|
-
| Ant Design
|
|
101
|
-
| Chakra UI
|
|
112
|
+
| Design System | Recommended Component |
|
|
113
|
+
| ------------------ | -------------------------------------------------------------- |
|
|
114
|
+
| Default (CSS only) | Native `<h1>`–`<h4>` or `<p>` |
|
|
115
|
+
| MUI | `<Typography variant='h1' \| 'h2' \| 'h3' \| 'h4' \| 'body1'>` |
|
|
116
|
+
| Ant Design | `<Typography.Title level={1-4}>` or `<Typography.Text>` |
|
|
117
|
+
| Chakra UI | `<Heading as='h1'-'h4'>` or `<Text>` |
|
|
@@ -18,11 +18,12 @@ Renders a single-line editable text field. It is the simplest and most foundatio
|
|
|
18
18
|
|
|
19
19
|
## Props (component-specific)
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
21
|
+
| Prop | Type | Description |
|
|
22
|
+
| --------------- | ---------------- | ------------------------------------------------------- |
|
|
23
23
|
| `fieldMetadata` | `any` (optional) | Metadata object; used to read `maxLength` for the input |
|
|
24
24
|
|
|
25
25
|
All other props come from `PConnFieldProps`. Import type as:
|
|
26
|
+
|
|
26
27
|
```typescript
|
|
27
28
|
import type { PConnFieldProps } from '@pega/sdk-react';
|
|
28
29
|
```
|
|
@@ -52,20 +53,21 @@ Set the `readOnly` attribute on the underlying input element. Use a visually fla
|
|
|
52
53
|
|
|
53
54
|
Derived from the reference component's MUI props and styles:
|
|
54
55
|
|
|
55
|
-
| Property
|
|
56
|
-
|
|
57
|
-
| Width
|
|
58
|
-
| Height / size
|
|
59
|
-
| Border
|
|
60
|
-
| Border radius
|
|
61
|
-
| Label
|
|
62
|
-
| Helper text
|
|
63
|
-
| Error state
|
|
64
|
-
| Disabled
|
|
65
|
-
| Padding (input) | 8px 14px
|
|
66
|
-
| Font size
|
|
56
|
+
| Property | Standard (editable) | Read-only |
|
|
57
|
+
| --------------- | ------------------------------------------------ | ----------------------- |
|
|
58
|
+
| Width | 100% of container | 100% of container |
|
|
59
|
+
| Height / size | Small (`height ~40px`) | Small |
|
|
60
|
+
| Border | 1px solid (outlined) | None (standard variant) |
|
|
61
|
+
| Border radius | 4px | — |
|
|
62
|
+
| Label | Floating label (above input when focused/filled) | Floating label |
|
|
63
|
+
| Helper text | Shown below input | Shown below input |
|
|
64
|
+
| Error state | Red border + red helper text | — |
|
|
65
|
+
| Disabled | Reduced opacity (~0.38), not-allowed cursor | — |
|
|
66
|
+
| Padding (input) | 8px 14px | — |
|
|
67
|
+
| Font size | 0.875rem (14px) | 0.875rem |
|
|
67
68
|
|
|
68
69
|
**CSS-only implementation notes:**
|
|
70
|
+
|
|
69
71
|
- Floating label: use `<label>` positioned absolutely, translate upward on `:focus-within` or when input has value.
|
|
70
72
|
- Error state: add `.error` class → border-color: `#d32f2f`; helper text color: `#d32f2f`.
|
|
71
73
|
- Outlined box shadow on focus: `0 0 0 2px rgba(25, 118, 210, 0.2)`.
|
|
@@ -88,15 +90,16 @@ Derived from the reference component's MUI props and styles:
|
|
|
88
90
|
|
|
89
91
|
Listed design systems are examples only.
|
|
90
92
|
|
|
91
|
-
| Design System
|
|
92
|
-
|
|
93
|
-
| Default (CSS only) | `<input type="text">` with floating label pattern
|
|
94
|
-
| MUI
|
|
95
|
-
| Ant Design
|
|
96
|
-
| Chakra UI
|
|
97
|
-
| Shadcn/ui
|
|
93
|
+
| Design System | Recommended Component |
|
|
94
|
+
| ------------------ | --------------------------------------------------------- |
|
|
95
|
+
| Default (CSS only) | `<input type="text">` with floating label pattern |
|
|
96
|
+
| MUI | `<TextField variant='outlined' size='small' fullWidth />` |
|
|
97
|
+
| Ant Design | `<Input />` |
|
|
98
|
+
| Chakra UI | `<Input />` |
|
|
99
|
+
| Shadcn/ui | `<Input />` |
|
|
98
100
|
|
|
99
101
|
When implementing in a specific design system, map the following behaviors:
|
|
102
|
+
|
|
100
103
|
- `error={status === 'error'}` → error/danger variant
|
|
101
104
|
- `helperText` → helper/description slot below the input
|
|
102
105
|
- `label` → field label (floating or static depending on design system)
|
|
@@ -19,6 +19,7 @@ Renders a time-only picker. Stores time as `HH:mm:ss` string. Displays time in 1
|
|
|
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
|
```
|
|
@@ -47,15 +48,15 @@ Delegate to `TextInput`: `return <TextInput {...props} />`.
|
|
|
47
48
|
|
|
48
49
|
## Visual Specifications
|
|
49
50
|
|
|
50
|
-
| Property
|
|
51
|
-
|
|
52
|
-
| Width
|
|
53
|
-
| Size
|
|
54
|
-
| Variant
|
|
55
|
-
| Format
|
|
56
|
-
| Placeholder
|
|
57
|
-
| Minutes step | 5
|
|
58
|
-
| Error state
|
|
51
|
+
| Property | Value |
|
|
52
|
+
| ------------ | -------------------------------- |
|
|
53
|
+
| Width | Auto (time picker natural width) |
|
|
54
|
+
| Size | Small |
|
|
55
|
+
| Variant | Outlined |
|
|
56
|
+
| Format | `hh:mm a` (12-hour) |
|
|
57
|
+
| Placeholder | `hh:mm am` |
|
|
58
|
+
| Minutes step | 5 |
|
|
59
|
+
| Error state | Red border + red helper text |
|
|
59
60
|
|
|
60
61
|
**Note on known issue:** Keyboard input in the minute field may jump to the am/pm field after one digit — same as DateTime, this is a known date picker library quirk.
|
|
61
62
|
|
|
@@ -80,9 +81,9 @@ Delegate to `TextInput`: `return <TextInput {...props} />`.
|
|
|
80
81
|
|
|
81
82
|
Listed design systems are examples only.
|
|
82
83
|
|
|
83
|
-
| Design System
|
|
84
|
-
|
|
85
|
-
| Default (CSS only) | `<input type="time">` (24h, no am/pm)
|
|
86
|
-
| MUI
|
|
87
|
-
| Ant Design
|
|
88
|
-
| Chakra UI
|
|
84
|
+
| Design System | Recommended Component |
|
|
85
|
+
| ------------------ | ------------------------------------------------- |
|
|
86
|
+
| Default (CSS only) | `<input type="time">` (24h, no am/pm) |
|
|
87
|
+
| MUI | `<TimePicker minutesStep={5} format='hh:mm a' />` |
|
|
88
|
+
| Ant Design | `<TimePicker format="hh:mm a" minuteStep={5} />` |
|
|
89
|
+
| Chakra UI | Third-party time picker |
|
|
@@ -19,6 +19,7 @@ Renders a single-line text input of type `url`. Provides browser-native URL form
|
|
|
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
|
```
|
|
@@ -47,15 +48,15 @@ Delegate to `TextInput`: `return <TextInput {...props} />`.
|
|
|
47
48
|
|
|
48
49
|
Identical to `TextInput` visually — no additional adornments.
|
|
49
50
|
|
|
50
|
-
| Property
|
|
51
|
-
|
|
52
|
-
| Width
|
|
53
|
-
| Size
|
|
54
|
-
| Variant
|
|
55
|
-
| Border
|
|
56
|
-
| Border radius | 4px
|
|
57
|
-
| Error state
|
|
58
|
-
| Helper text
|
|
51
|
+
| Property | Value |
|
|
52
|
+
| ------------- | ---------------------------- |
|
|
53
|
+
| Width | 100% |
|
|
54
|
+
| Size | Small (~40px height) |
|
|
55
|
+
| Variant | Outlined |
|
|
56
|
+
| Border | 1px solid outlined |
|
|
57
|
+
| Border radius | 4px |
|
|
58
|
+
| Error state | Red border + red helper text |
|
|
59
|
+
| Helper text | Below input |
|
|
59
60
|
|
|
60
61
|
No special icon or adornment — the only difference from `TextInput` is `type='url'`.
|
|
61
62
|
|
|
@@ -77,9 +78,9 @@ No special icon or adornment — the only difference from `TextInput` is `type='
|
|
|
77
78
|
|
|
78
79
|
Listed design systems are examples only.
|
|
79
80
|
|
|
80
|
-
| Design System
|
|
81
|
-
|
|
82
|
-
| Default (CSS only) | `<input type="url">`
|
|
83
|
-
| MUI
|
|
84
|
-
| Ant Design
|
|
85
|
-
| Chakra UI
|
|
81
|
+
| Design System | Recommended Component |
|
|
82
|
+
| ------------------ | -------------------------- |
|
|
83
|
+
| Default (CSS only) | `<input type="url">` |
|
|
84
|
+
| MUI | `<TextField type='url' />` |
|
|
85
|
+
| Ant Design | `<Input type="url" />` |
|
|
86
|
+
| Chakra UI | `<Input type="url" />` |
|
|
@@ -24,24 +24,24 @@ Renders a user selection field. Can display as a typeahead search box or a dropd
|
|
|
24
24
|
import type { PConnProps } from '@pega/sdk-react';
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
| Prop
|
|
28
|
-
|
|
29
|
-
| `displayAs`
|
|
30
|
-
| `displayMode`
|
|
31
|
-
| `label`
|
|
32
|
-
| `value`
|
|
33
|
-
| `testId`
|
|
34
|
-
| `placeholder`
|
|
35
|
-
| `helperText`
|
|
36
|
-
| `disabled`
|
|
37
|
-
| `readOnly`
|
|
38
|
-
| `required`
|
|
39
|
-
| `validatemessage`
|
|
40
|
-
| `showAsFormattedText` | `boolean` (optional) | `false`
|
|
41
|
-
| `additionalProps`
|
|
42
|
-
| `hideLabel`
|
|
43
|
-
| `variant`
|
|
44
|
-
| `onChange`
|
|
27
|
+
| Prop | Type | Default | Description |
|
|
28
|
+
| --------------------- | -------------------- | ---------- | ---------------------------------------------------------------- |
|
|
29
|
+
| `displayAs` | `string` (optional) | `''` | `'Drop-down list'` or `'Search box'` — determines the input type |
|
|
30
|
+
| `displayMode` | `string` (optional) | `''` | `'DISPLAY_ONLY'` or `'STACKED_LARGE_VAL'` |
|
|
31
|
+
| `label` | `string` (optional) | `''` | Field label |
|
|
32
|
+
| `value` | `any` (optional) | `''` | Raw value from Pega store (may be a user object or string ID) |
|
|
33
|
+
| `testId` | `string` (optional) | `''` | Test identifier |
|
|
34
|
+
| `placeholder` | `string` (optional) | `''` | Placeholder text |
|
|
35
|
+
| `helperText` | `string` (optional) | `''` | Helper text |
|
|
36
|
+
| `disabled` | `boolean` (optional) | `false` | |
|
|
37
|
+
| `readOnly` | `boolean` (optional) | `false` | |
|
|
38
|
+
| `required` | `boolean` (optional) | `false` | |
|
|
39
|
+
| `validatemessage` | `string` (optional) | `''` | Validation error message |
|
|
40
|
+
| `showAsFormattedText` | `boolean` (optional) | `false` | When `true` in read-only mode, show formatted user name text |
|
|
41
|
+
| `additionalProps` | `object` (optional) | `{}` | Extra props forwarded to the child component |
|
|
42
|
+
| `hideLabel` | `boolean` (optional) | `false` | |
|
|
43
|
+
| `variant` | `string` (optional) | `'inline'` | Layout variant |
|
|
44
|
+
| `onChange` | `any` (optional) | — | Change handler (passed through to child) |
|
|
45
45
|
|
|
46
46
|
## Behavioral Contract
|
|
47
47
|
|
|
@@ -57,10 +57,12 @@ import type { PConnProps } from '@pega/sdk-react';
|
|
|
57
57
|
### Mount effect: `useEffect([displayAs, readOnly, showAsFormattedText, value])`
|
|
58
58
|
|
|
59
59
|
**Case 1: `userId && readOnly && showAsFormattedText`**
|
|
60
|
+
|
|
60
61
|
- If `isUserNameAvailable(value)`: `setUserName(value.userName)` — username already in value object
|
|
61
62
|
- Else: call `PCore.getUserApi().getOperatorDetails(userId)` and extract `pyUserName` from response
|
|
62
63
|
|
|
63
64
|
**Case 2: `displayAs === 'Drop-down list'`**
|
|
65
|
+
|
|
64
66
|
- Call `PCore.getRestClient().invokeRestApi('getListData', { queryPayload: { dataViewName: OPERATORS_DP } })`
|
|
65
67
|
- Map results to `{key: pyUserIdentifier, value: pyUserName}` array
|
|
66
68
|
- `setDropDownDataSource(mapped)`
|
|
@@ -80,17 +82,27 @@ else if displayAs === 'Drop-down list' → Dropdown component
|
|
|
80
82
|
### Subsection: Search box mode (`displayAs === 'Search box'`)
|
|
81
83
|
|
|
82
84
|
Render `AutoComplete` with hardcoded columns for operator search:
|
|
85
|
+
|
|
83
86
|
```typescript
|
|
84
87
|
columns = [
|
|
85
88
|
{ value: 'pyUserName', display: 'true', useForSearch: true, primary: 'true' },
|
|
86
|
-
{
|
|
87
|
-
|
|
89
|
+
{
|
|
90
|
+
value: 'pyUserIdentifier',
|
|
91
|
+
setProperty: 'Associated property',
|
|
92
|
+
key: 'true',
|
|
93
|
+
display: 'true',
|
|
94
|
+
secondary: 'true',
|
|
95
|
+
useForSearch: 'true',
|
|
96
|
+
},
|
|
97
|
+
];
|
|
88
98
|
```
|
|
99
|
+
|
|
89
100
|
Props: `datasource={OPERATORS_DP}`, `listType='datapage'`, `value={userId}`, plus label/placeholder/readOnly/disabled/required/helperText/validatemessage/hideLabel/onChange/additionalProps/testId.
|
|
90
101
|
|
|
91
102
|
### Subsection: Dropdown mode (`displayAs === 'Drop-down list'`)
|
|
92
103
|
|
|
93
104
|
Render `Dropdown` with:
|
|
105
|
+
|
|
94
106
|
- `datasource={dropDownDataSource}` (fetched user list)
|
|
95
107
|
- `listType='associated'`
|
|
96
108
|
- `value={userId}`
|
|
@@ -99,6 +111,7 @@ Render `Dropdown` with:
|
|
|
99
111
|
### Subsection: Formatted text read-only (`readOnly && showAsFormattedText && userId`)
|
|
100
112
|
|
|
101
113
|
Render a label + name display:
|
|
114
|
+
|
|
102
115
|
```html
|
|
103
116
|
<div>
|
|
104
117
|
<caption-text>{label}</caption-text>
|
|
@@ -109,13 +122,14 @@ Render a label + name display:
|
|
|
109
122
|
### Re-render optimization
|
|
110
123
|
|
|
111
124
|
Export with `memo` using custom comparison `comparisonFn`:
|
|
125
|
+
|
|
112
126
|
```typescript
|
|
113
127
|
const comparisonFn = (prevProps, nextProps) =>
|
|
114
128
|
getUserId(prevProps.value) === getUserId(nextProps.value) &&
|
|
115
129
|
prevProps.validatemessage === nextProps.validatemessage &&
|
|
116
130
|
prevProps.required === nextProps.required &&
|
|
117
131
|
prevProps.disabled === nextProps.disabled &&
|
|
118
|
-
prevProps.readOnly === nextProps.readOnly
|
|
132
|
+
prevProps.readOnly === nextProps.readOnly;
|
|
119
133
|
```
|
|
120
134
|
|
|
121
135
|
`export default memo(UserReference, comparisonFn)`
|
|
@@ -123,6 +137,7 @@ const comparisonFn = (prevProps, nextProps) =>
|
|
|
123
137
|
## Display Mode Rendering
|
|
124
138
|
|
|
125
139
|
Uses resolved `userName` (not raw `value`):
|
|
140
|
+
|
|
126
141
|
- **`DISPLAY_ONLY`:** `<FieldValueList name={hideLabel ? '' : label} value={userName || ''} />`
|
|
127
142
|
- **`STACKED_LARGE_VAL`:** `<FieldValueList name={hideLabel ? '' : label} value={userName || ''} variant='stacked' />`
|
|
128
143
|
|
|
@@ -131,20 +146,28 @@ Uses resolved `userName` (not raw `value`):
|
|
|
131
146
|
## Visual Specifications
|
|
132
147
|
|
|
133
148
|
The visual appearance is determined by the child component rendered:
|
|
149
|
+
|
|
134
150
|
- **Search box**: Same as `AutoComplete` — combobox input with outlined border, floating label
|
|
135
151
|
- **Dropdown**: Same as `Dropdown` — select field with outlined border, floating label
|
|
136
152
|
- **Formatted text read-only**:
|
|
137
153
|
|
|
138
|
-
| Property | Value
|
|
139
|
-
|
|
140
|
-
| Label
|
|
141
|
-
| Name
|
|
142
|
-
| Spacing
|
|
154
|
+
| Property | Value |
|
|
155
|
+
| -------- | --------------------------------------------------------- |
|
|
156
|
+
| Label | Caption-size text (small, secondary color) above the name |
|
|
157
|
+
| Name | Body text (normal size) |
|
|
158
|
+
| Spacing | Standard form field spacing |
|
|
143
159
|
|
|
144
160
|
**CSS-only for formatted text:**
|
|
161
|
+
|
|
145
162
|
```css
|
|
146
|
-
.user-reference-label {
|
|
147
|
-
|
|
163
|
+
.user-reference-label {
|
|
164
|
+
font-size: 0.75rem;
|
|
165
|
+
color: rgba(0, 0, 0, 0.6);
|
|
166
|
+
margin-bottom: 4px;
|
|
167
|
+
}
|
|
168
|
+
.user-reference-name {
|
|
169
|
+
font-size: 1rem;
|
|
170
|
+
}
|
|
148
171
|
```
|
|
149
172
|
|
|
150
173
|
## Edge Cases & Special Logic
|
|
@@ -172,9 +195,9 @@ The visual appearance is determined by the child component rendered:
|
|
|
172
195
|
|
|
173
196
|
Listed design systems are examples only.
|
|
174
197
|
|
|
175
|
-
| Mode
|
|
176
|
-
|
|
177
|
-
| Search box
|
|
178
|
-
| Drop-down list
|
|
179
|
-
| Formatted text read-only | Label + text display
|
|
180
|
-
| Display mode
|
|
198
|
+
| Mode | Underlying control |
|
|
199
|
+
| ------------------------ | --------------------------------- |
|
|
200
|
+
| Search box | AutoComplete (combobox/typeahead) |
|
|
201
|
+
| Drop-down list | Dropdown (select) |
|
|
202
|
+
| Formatted text read-only | Label + text display |
|
|
203
|
+
| Display mode | FieldValueList |
|