@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,10 +18,10 @@ Unlike `SubTabs` or `DetailsSubTabs` where tabs are defined statically in metada
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `referenceList` | `string`
|
|
24
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| --------------- | ---------- | -------- | --------------------------------------------------------- |
|
|
23
|
+
| `referenceList` | `string` | Yes | Property path to the reference list (e.g. `'.pxResults'`) |
|
|
24
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
25
25
|
|
|
26
26
|
## Behavioral Contract
|
|
27
27
|
|
|
@@ -37,14 +37,17 @@ Unlike `SubTabs` or `DetailsSubTabs` where tabs are defined statically in metada
|
|
|
37
37
|
```
|
|
38
38
|
referenceListData = pConnect.getValue(referenceList + '.pxResults')
|
|
39
39
|
```
|
|
40
|
+
|
|
40
41
|
Returns an array of row objects.
|
|
41
42
|
|
|
42
43
|
### Tab Views
|
|
43
44
|
|
|
44
45
|
For each row index `i`:
|
|
46
|
+
|
|
45
47
|
```
|
|
46
48
|
tabView = buildView(pConnect, i, '')
|
|
47
49
|
```
|
|
50
|
+
|
|
48
51
|
Memoized — recalculate only when `referenceListData` changes.
|
|
49
52
|
|
|
50
53
|
### State
|
|
@@ -63,6 +66,7 @@ Memoized — recalculate only when `referenceListData` changes.
|
|
|
63
66
|
Identical tab bar appearance to `SubTabs`.
|
|
64
67
|
|
|
65
68
|
**CSS-only implementation notes:**
|
|
69
|
+
|
|
66
70
|
- Same tab bar and panel styles as `SubTabs.md`.
|
|
67
71
|
- Tab count is dynamic — do not hard-code tab widths.
|
|
68
72
|
|
|
@@ -87,15 +91,16 @@ Identical tab bar appearance to `SubTabs`.
|
|
|
87
91
|
|
|
88
92
|
Listed design systems are examples only.
|
|
89
93
|
|
|
90
|
-
| Design System
|
|
91
|
-
|
|
94
|
+
| Design System | Recommended Component |
|
|
95
|
+
| ------------------ | ------------------------------------------------ |
|
|
92
96
|
| Default (CSS only) | Custom tab bar, dynamically generated from array |
|
|
93
|
-
| MUI
|
|
94
|
-
| Ant Design
|
|
95
|
-
| Chakra UI
|
|
96
|
-
| Shadcn/ui
|
|
97
|
+
| MUI | `<TabContext>` + `<Tabs>` + `<TabPanel>` |
|
|
98
|
+
| Ant Design | `<Tabs items={dynamicItems}>` |
|
|
99
|
+
| Chakra UI | `<Tabs>` with dynamic `<TabList>/<TabPanels>` |
|
|
100
|
+
| Shadcn/ui | `<Tabs>` with mapped triggers and content |
|
|
97
101
|
|
|
98
102
|
When implementing in a specific design system:
|
|
103
|
+
|
|
99
104
|
- `tablabelProp` resolution via `PCore.getAnnotationUtils().getPropertyName()` is required — do not hardcode the label field
|
|
100
105
|
- `buildView(pConnect, rowIndex, '')` generates the content for each tab — the empty string third arg means no specific child config lookup
|
|
101
106
|
- Tab count is entirely data-driven — handle 0, 1, and many tab cases
|
|
@@ -18,21 +18,22 @@ Renders a repeating list of field group rows sourced from a PConnect reference l
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `label`
|
|
24
|
-
| `showLabel`
|
|
25
|
-
| `fieldHeader`
|
|
26
|
-
| `allowTableEdit` | `boolean`
|
|
27
|
-
| `displayMode`
|
|
28
|
-
| `readOnly`
|
|
29
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ---------------- | ---------- | -------- | ---------------------------------------------------------------- |
|
|
23
|
+
| `label` | `string` | Yes | Section heading |
|
|
24
|
+
| `showLabel` | `boolean` | No | Whether to show the heading. Default `true` |
|
|
25
|
+
| `fieldHeader` | `string` | No | Property ref for the dynamic row heading. E.g. `'.pyStatusWork'` |
|
|
26
|
+
| `allowTableEdit` | `boolean` | No | Whether to show add/delete row controls. Default `true` |
|
|
27
|
+
| `displayMode` | `string` | No | `'DISPLAY_ONLY'` triggers read-only rendering |
|
|
28
|
+
| `readOnly` | `boolean` | No | Alternative read-only flag |
|
|
29
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
30
30
|
|
|
31
31
|
## Behavioral Contract
|
|
32
32
|
|
|
33
33
|
### Read-Only Mode
|
|
34
34
|
|
|
35
35
|
If `displayMode === 'DISPLAY_ONLY'` or `readOnly === true`:
|
|
36
|
+
|
|
36
37
|
1. Set `setInheritedProp('DISPLAY_ONLY', true)` on the pConn.
|
|
37
38
|
2. Render `<FieldGroup>` — the DSE component that shows data in a read-only layout.
|
|
38
39
|
|
|
@@ -70,6 +71,7 @@ If the field group is inside a read-only context (parent has set `readOnly` or `
|
|
|
70
71
|
- Flat list of rows — no add/delete controls.
|
|
71
72
|
|
|
72
73
|
**CSS-only implementation notes:**
|
|
74
|
+
|
|
73
75
|
- Row section: `border: 1px solid var(--border-color); border-radius: 4px; padding: 1rem; margin-bottom: 0.5rem`.
|
|
74
76
|
- Add button: text button, below the last row.
|
|
75
77
|
- Delete button: icon button, top-right of each row section.
|
|
@@ -95,15 +97,16 @@ If the field group is inside a read-only context (parent has set `readOnly` or `
|
|
|
95
97
|
|
|
96
98
|
Listed design systems are examples only.
|
|
97
99
|
|
|
98
|
-
| Design System
|
|
99
|
-
|
|
100
|
-
| Default (CSS only) | Custom row card list with add/delete buttons
|
|
101
|
-
| MUI
|
|
102
|
-
| Ant Design
|
|
103
|
-
| Chakra UI
|
|
104
|
-
| Shadcn/ui
|
|
100
|
+
| Design System | Recommended Component |
|
|
101
|
+
| ------------------ | ------------------------------------------------------------------ |
|
|
102
|
+
| Default (CSS only) | Custom row card list with add/delete buttons |
|
|
103
|
+
| MUI | `<Paper>` per row + `<IconButton>` for delete + `<Button>` for add |
|
|
104
|
+
| Ant Design | `<Form.List>` with `<Card>` per row |
|
|
105
|
+
| Chakra UI | Custom repeating section with `<Box>` rows |
|
|
106
|
+
| Shadcn/ui | Custom list with `<Card>` per row + `<Button variant='ghost'>` |
|
|
105
107
|
|
|
106
108
|
When implementing in a specific design system:
|
|
109
|
+
|
|
107
110
|
- The add/delete controls must be hidden when `allowActions` is false
|
|
108
111
|
- Row heading is dynamic — evaluate `fieldHeader` property ref per row
|
|
109
112
|
- `buildView` generates child PConnect views — render them inside each row section
|
|
@@ -18,17 +18,18 @@ Renders a multi-step form where each section is a tab. Tabs display error badges
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `children`
|
|
24
|
-
| `instructions` | `string`
|
|
25
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| -------------- | ------------- | -------- | --------------------------------------------- |
|
|
23
|
+
| `children` | `ReactNode[]` | Yes | One child per tab section |
|
|
24
|
+
| `instructions` | `string` | No | HTML instruction text shown above the tab bar |
|
|
25
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
26
26
|
|
|
27
27
|
## Behavioral Contract
|
|
28
28
|
|
|
29
29
|
### Hook: `useHierarchicalForm`
|
|
30
30
|
|
|
31
31
|
`useHierarchicalForm(getPConnect, numTabs)` returns:
|
|
32
|
+
|
|
32
33
|
- `activeTabId`: currently selected tab index (string, e.g. `'0'`)
|
|
33
34
|
- `setActiveTabId`: setter for `activeTabId`
|
|
34
35
|
- `tabErrorCounts`: `Record<string, number>` — error count per tab index key
|
|
@@ -68,12 +69,13 @@ Internally it calls `useGetTabsCount(getPConnect)` to compute `tabErrorCounts`.
|
|
|
68
69
|
|
|
69
70
|
### Tab Bar
|
|
70
71
|
|
|
71
|
-
| Property
|
|
72
|
-
|
|
73
|
-
| Orientation | Horizontal
|
|
72
|
+
| Property | Value |
|
|
73
|
+
| ----------- | ------------------------------------------------------ |
|
|
74
|
+
| Orientation | Horizontal |
|
|
74
75
|
| Error badge | Red MUI Badge with tooltip showing error count message |
|
|
75
76
|
|
|
76
77
|
**CSS-only implementation notes:**
|
|
78
|
+
|
|
77
79
|
- Tab bar: same as `DetailsSubTabs` — `display: flex; border-bottom: 2px solid var(--divider)`.
|
|
78
80
|
- Error badge: red circle badge overlaid top-right of the tab label text.
|
|
79
81
|
- Instruction text: `padding: 0.5rem 0; margin-bottom: 0.5rem; font-size: 0.875rem`.
|
|
@@ -99,15 +101,16 @@ Internally it calls `useGetTabsCount(getPConnect)` to compute `tabErrorCounts`.
|
|
|
99
101
|
|
|
100
102
|
Listed design systems are examples only.
|
|
101
103
|
|
|
102
|
-
| Design System
|
|
103
|
-
|
|
104
|
-
| Default (CSS only) | Custom tab bar + CSS badge (red circle via pseudo-element)
|
|
105
|
-
| MUI
|
|
106
|
-
| Ant Design
|
|
107
|
-
| Chakra UI
|
|
108
|
-
| Shadcn/ui
|
|
104
|
+
| Design System | Recommended Component |
|
|
105
|
+
| ------------------ | -------------------------------------------------------------- |
|
|
106
|
+
| Default (CSS only) | Custom tab bar + CSS badge (red circle via pseudo-element) |
|
|
107
|
+
| MUI | `<Tabs>` + `<Badge>` + `<Tooltip>` + `<TabContext>/<TabPanel>` |
|
|
108
|
+
| Ant Design | `<Tabs>` with custom `tabBarExtraContent` for error badges |
|
|
109
|
+
| Chakra UI | `<Tabs>` + `<Badge colorScheme='red'>` inside tab label |
|
|
110
|
+
| Shadcn/ui | `<Tabs>` + custom badge overlay on tab trigger |
|
|
109
111
|
|
|
110
112
|
When implementing in a specific design system:
|
|
113
|
+
|
|
111
114
|
- Error badge is mandatory — always show error counts when `tabErrorCounts[id] > 0`
|
|
112
115
|
- Active tab must be persisted via `PCore.getNavigationUtils()` for correct navigation behavior
|
|
113
116
|
- Instructions HTML renders above the entire tab bar, not per-tab
|
|
@@ -18,12 +18,12 @@ Renders an inline dashboard layout consisting of a title heading, a main content
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `title`
|
|
24
|
-
| `filterPosition` | `string`
|
|
25
|
-
| `children`
|
|
26
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ---------------- | ------------- | -------- | ----------------------------------------------------------------------------- |
|
|
23
|
+
| `title` | `string` | No | Dashboard title displayed above the content area |
|
|
24
|
+
| `filterPosition` | `string` | No | Filter panel position: `'block-start'` (above) or other (side). Default: side |
|
|
25
|
+
| `children` | `ReactNode[]` | Yes | `children[0]` = main content, `children[1]` = filter panel |
|
|
26
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
27
27
|
|
|
28
28
|
## Behavioral Contract
|
|
29
29
|
|
|
@@ -34,6 +34,7 @@ Renders an inline dashboard layout consisting of a title heading, a main content
|
|
|
34
34
|
### Filter Position: `'block-start'`
|
|
35
35
|
|
|
36
36
|
Stacked layout — filter panel above main content:
|
|
37
|
+
|
|
37
38
|
- `<Grid container direction='column-reverse'>` (reverse so filter renders visually above content).
|
|
38
39
|
- Filter panel: `<Grid id='filters' size={{ xs: 12 }}>`.
|
|
39
40
|
- Main content: `<Grid size={{ xs: 12 }}>`.
|
|
@@ -41,6 +42,7 @@ Stacked layout — filter panel above main content:
|
|
|
41
42
|
### Filter Position: Other (side)
|
|
42
43
|
|
|
43
44
|
Side-by-side layout — main content left, filters right:
|
|
45
|
+
|
|
44
46
|
- `<Grid container direction={...}>` (optionally `row-reverse` based on position value).
|
|
45
47
|
- Main content: `<Grid size={{ xs: 9 }}>`.
|
|
46
48
|
- Filter panel: `<Grid id='filters' size={{ xs: 3 }}>`.
|
|
@@ -66,6 +68,7 @@ Side-by-side layout — main content left, filters right:
|
|
|
66
68
|
```
|
|
67
69
|
|
|
68
70
|
**CSS-only implementation notes:**
|
|
71
|
+
|
|
69
72
|
- Title: `font-size: 1.5rem; font-weight: 600; margin-bottom: 1rem`.
|
|
70
73
|
- Block-start: `display: flex; flex-direction: column; gap: 1rem` (filter div first in DOM but ordered last visually with `order: -1`).
|
|
71
74
|
- Side: `display: grid; grid-template-columns: 3fr 1fr; gap: 1rem`.
|
|
@@ -90,15 +93,16 @@ Side-by-side layout — main content left, filters right:
|
|
|
90
93
|
|
|
91
94
|
Listed design systems are examples only.
|
|
92
95
|
|
|
93
|
-
| Design System
|
|
94
|
-
|
|
95
|
-
| Default (CSS only) | `<h2>`
|
|
96
|
-
| MUI
|
|
97
|
-
| Ant Design
|
|
98
|
-
| Chakra UI
|
|
99
|
-
| Shadcn/ui
|
|
96
|
+
| Design System | Title | Content/Filter Grid |
|
|
97
|
+
| ------------------ | ------------------------------ | ---------------------- |
|
|
98
|
+
| Default (CSS only) | `<h2>` | CSS grid or flexbox |
|
|
99
|
+
| MUI | `<Typography variant='h4'>` | `<Grid container>` |
|
|
100
|
+
| Ant Design | `<Typography.Title level={2}>` | `<Row>/<Col>` |
|
|
101
|
+
| Chakra UI | `<Heading>` | `<Grid>` or `<HStack>` |
|
|
102
|
+
| Shadcn/ui | `<h2>` | Tailwind grid |
|
|
100
103
|
|
|
101
104
|
When implementing in a specific design system:
|
|
105
|
+
|
|
102
106
|
- `filterPosition === 'block-start'` requires stacked layout (12/12) — not side layout (9/3)
|
|
103
107
|
- Filter panel must always have `id='filters'`
|
|
104
108
|
- Title heading (`h4` level) is optional — only render when `title` is provided
|
|
@@ -20,12 +20,12 @@ Page-level wrapper for the inline dashboard. Extracts promoted filter definition
|
|
|
20
20
|
|
|
21
21
|
## Props
|
|
22
22
|
|
|
23
|
-
| Prop
|
|
24
|
-
|
|
25
|
-
| `children`
|
|
26
|
-
| `title`
|
|
27
|
-
| `filterPosition` | `string`
|
|
28
|
-
| `getPConnect`
|
|
23
|
+
| Prop | Type | Required | Description |
|
|
24
|
+
| ---------------- | ------------- | -------- | ----------------------------------------------- |
|
|
25
|
+
| `children` | `ReactNode[]` | Yes | Main content children passed to InlineDashboard |
|
|
26
|
+
| `title` | `string` | No | Dashboard title |
|
|
27
|
+
| `filterPosition` | `string` | No | Filter position: `'block-start'` or side |
|
|
28
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
29
29
|
|
|
30
30
|
## Behavioral Contract
|
|
31
31
|
|
|
@@ -42,13 +42,9 @@ In `useEffect([])` (on mount):
|
|
|
42
42
|
### Render
|
|
43
43
|
|
|
44
44
|
```tsx
|
|
45
|
-
<InlineDashboard
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
getPConnect={getPConnect}
|
|
49
|
-
>
|
|
50
|
-
{children[0]} {/* main content */}
|
|
51
|
-
{filterComponents} {/* built filter components */}
|
|
45
|
+
<InlineDashboard title={title} filterPosition={filterPosition} getPConnect={getPConnect}>
|
|
46
|
+
{children[0]} {/* main content */}
|
|
47
|
+
{filterComponents} {/* built filter components */}
|
|
52
48
|
</InlineDashboard>
|
|
53
49
|
```
|
|
54
50
|
|
|
@@ -80,6 +76,7 @@ Listed design systems are examples only.
|
|
|
80
76
|
This component is a thin orchestration layer. All visual implementation is in `InlineDashboard`. The only implementation detail is `buildFilterComponents` — which creates filter field components from metadata definitions.
|
|
81
77
|
|
|
82
78
|
When implementing in a specific design system:
|
|
79
|
+
|
|
83
80
|
- `buildFilterComponents` must create proper PConnect-backed filter field components
|
|
84
81
|
- If `promotedFilters` is empty, skip the filter panel entirely
|
|
85
82
|
- All layout and styling is delegated to `InlineDashboard`
|
|
@@ -22,13 +22,13 @@ Renders a full-page list view by forwarding all props to `ListView` with `bInFor
|
|
|
22
22
|
|
|
23
23
|
All props are forwarded to `ListView`. Key props:
|
|
24
24
|
|
|
25
|
-
| Prop
|
|
26
|
-
|
|
27
|
-
| `dataPageName` | `string`
|
|
28
|
-
| `columns`
|
|
29
|
-
| `isSearchable` | `boolean`
|
|
30
|
-
| `payload`
|
|
31
|
-
| `getPConnect`
|
|
25
|
+
| Prop | Type | Required | Description |
|
|
26
|
+
| -------------- | ---------- | -------- | ------------------------------ |
|
|
27
|
+
| `dataPageName` | `string` | Yes | Data page to load records from |
|
|
28
|
+
| `columns` | `array` | No | Column definitions |
|
|
29
|
+
| `isSearchable` | `boolean` | No | Whether global search is shown |
|
|
30
|
+
| `payload` | `object` | No | Query payload |
|
|
31
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
32
32
|
|
|
33
33
|
## Behavioral Contract
|
|
34
34
|
|
|
@@ -41,6 +41,7 @@ That is the complete implementation. `bInForm: false` ensures ListView renders w
|
|
|
41
41
|
## Visual Specifications
|
|
42
42
|
|
|
43
43
|
Identical to `ListView` with `bInForm: false`:
|
|
44
|
+
|
|
44
45
|
- Full outer padding applied.
|
|
45
46
|
- Toolbar occupies full width.
|
|
46
47
|
- Table stretches to fill page width.
|
|
@@ -64,5 +65,6 @@ Listed design systems are examples only.
|
|
|
64
65
|
Implement identically to `ListView` — `ListPage` adds no new UI. The distinction is purely in the `bInForm` prop which controls spacing/chrome.
|
|
65
66
|
|
|
66
67
|
When implementing in a specific design system:
|
|
68
|
+
|
|
67
69
|
- `bInForm: false` signals that the list should have page-level layout (more padding, full-width toolbar)
|
|
68
70
|
- No additional logic beyond `ListView` is required
|
|
@@ -18,24 +18,25 @@ The primary data table component. Renders a sortable, paginated, filterable, and
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `bInForm`
|
|
24
|
-
| `selectionMode`
|
|
25
|
-
| `dataPageName`
|
|
26
|
-
| `referenceList`
|
|
27
|
-
| `compositeKeys`
|
|
28
|
-
| `columns`
|
|
29
|
-
| `additionalTableConfig` | `object`
|
|
30
|
-
| `isSearchable`
|
|
31
|
-
| `payload`
|
|
32
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ----------------------- | ---------- | -------- | ----------------------------------------------------------------------------- |
|
|
23
|
+
| `bInForm` | `boolean` | No | Whether rendered inside a form (affects toolbar and padding). Default `false` |
|
|
24
|
+
| `selectionMode` | `string` | No | `'single'` (radio) or `'multi'` (checkbox) or absent (no selection) |
|
|
25
|
+
| `dataPageName` | `string` | No | Name of data page to fetch records from |
|
|
26
|
+
| `referenceList` | `array` | No | In-memory data array (used when data is already available) |
|
|
27
|
+
| `compositeKeys` | `object` | No | Key fields for unique row identification |
|
|
28
|
+
| `columns` | `array` | No | Column definition objects `{ fieldName, label, sortable, filterable }` |
|
|
29
|
+
| `additionalTableConfig` | `object` | No | Extra config merged with column/sort/filter settings |
|
|
30
|
+
| `isSearchable` | `boolean` | No | Whether global search input is shown |
|
|
31
|
+
| `payload` | `object` | No | Query payload for data page requests |
|
|
32
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
33
33
|
|
|
34
34
|
## Behavioral Contract
|
|
35
35
|
|
|
36
36
|
### Initialization
|
|
37
37
|
|
|
38
38
|
`useInit(getPConnect, columns, dataPageName, payload)` hook:
|
|
39
|
+
|
|
39
40
|
1. Calls `initializeColumns(getPConnect, columns)` to build `configFields`.
|
|
40
41
|
2. Calls `buildFieldsForTable(configFields)` to produce display column definitions.
|
|
41
42
|
3. Calls `getConfigFields(configFields)` for sort/filter metadata.
|
|
@@ -62,11 +63,11 @@ The primary data table component. Renders a sortable, paginated, filterable, and
|
|
|
62
63
|
|
|
63
64
|
### Selection
|
|
64
65
|
|
|
65
|
-
| `selectionMode` | Control per row | Callback
|
|
66
|
-
|
|
67
|
-
| `'single'`
|
|
68
|
-
| `'multi'`
|
|
69
|
-
| absent
|
|
66
|
+
| `selectionMode` | Control per row | Callback |
|
|
67
|
+
| --------------- | --------------- | ---------------------------- |
|
|
68
|
+
| `'single'` | `<Radio>` | `onRowSelect(rowData)` |
|
|
69
|
+
| `'multi'` | `<Checkbox>` | `onRowsSelect(selectedRows)` |
|
|
70
|
+
| absent | None | None |
|
|
70
71
|
|
|
71
72
|
- Select-all checkbox in the header for multi-selection.
|
|
72
73
|
- Selected rows highlighted with `selected` row class.
|
|
@@ -91,14 +92,15 @@ The primary data table component. Renders a sortable, paginated, filterable, and
|
|
|
91
92
|
|
|
92
93
|
## Visual Specifications
|
|
93
94
|
|
|
94
|
-
| Element
|
|
95
|
-
|
|
96
|
-
| Toolbar
|
|
97
|
-
| Table head
|
|
98
|
-
| Table body
|
|
99
|
-
| Pagination bar | Below table, page size selector + page nav
|
|
95
|
+
| Element | Description |
|
|
96
|
+
| -------------- | -------------------------------------------------------- |
|
|
97
|
+
| Toolbar | Search input + filter button + (optional) action buttons |
|
|
98
|
+
| Table head | Sticky header with sort labels and column menu |
|
|
99
|
+
| Table body | Striped rows, hover state, selected state |
|
|
100
|
+
| Pagination bar | Below table, page size selector + page nav |
|
|
100
101
|
|
|
101
102
|
**CSS-only implementation notes:**
|
|
103
|
+
|
|
102
104
|
- Table container: `overflow-x: auto`.
|
|
103
105
|
- Header row: `background: var(--table-header-bg); font-weight: 600`.
|
|
104
106
|
- Selected row: `background: var(--selection-highlight-bg)`.
|
|
@@ -125,15 +127,16 @@ The primary data table component. Renders a sortable, paginated, filterable, and
|
|
|
125
127
|
|
|
126
128
|
Listed design systems are examples only.
|
|
127
129
|
|
|
128
|
-
| Design System
|
|
129
|
-
|
|
130
|
-
| Default (CSS only) | `<table>/<thead>/<tbody>`
|
|
131
|
-
| MUI
|
|
132
|
-
| Ant Design
|
|
133
|
-
| Chakra UI
|
|
134
|
-
| Shadcn/ui
|
|
130
|
+
| Design System | Table | Pagination | Dialog |
|
|
131
|
+
| ------------------ | -------------------------- | -------------------------- | ------------------ |
|
|
132
|
+
| Default (CSS only) | `<table>/<thead>/<tbody>` | Custom pagination controls | `<dialog>` element |
|
|
133
|
+
| MUI | `<Table>` + sub-components | `<TablePagination>` | `<Dialog>` |
|
|
134
|
+
| Ant Design | `<Table>` | Built-in pagination prop | `<Modal>` |
|
|
135
|
+
| Chakra UI | `<Table>` | Custom or `react-table` | `<Modal>` |
|
|
136
|
+
| Shadcn/ui | `<Table>` + TanStack Table | Custom pagination | `<Dialog>` |
|
|
135
137
|
|
|
136
138
|
When implementing in a specific design system:
|
|
139
|
+
|
|
137
140
|
- `bInForm` prop affects layout — tighten spacing and remove outer chrome when `true`
|
|
138
141
|
- Sorting, pagination, and search all trigger data re-fetches — do not filter client-side for server-paged data
|
|
139
142
|
- Selection mode (`single`/`multi`) requires different controls and callbacks
|
package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md
CHANGED
|
@@ -18,13 +18,13 @@ Renders a multi-value reference field in read-only mode. Routing is based on the
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `displayAs`
|
|
24
|
-
| `referenceList`
|
|
25
|
-
| `readonlyContextList` | `array`
|
|
26
|
-
| `fieldMetadata`
|
|
27
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| --------------------- | ---------- | -------- | -------------------------------------------------------- |
|
|
23
|
+
| `displayAs` | `string` | Yes | UI variant that was used in edit mode |
|
|
24
|
+
| `referenceList` | `string` | No | Property path to the reference list |
|
|
25
|
+
| `readonlyContextList` | `array` | No | Fallback data array when `referenceList` is not resolved |
|
|
26
|
+
| `fieldMetadata` | `object` | No | Field-level metadata |
|
|
27
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
28
28
|
|
|
29
29
|
## Behavioral Contract
|
|
30
30
|
|
|
@@ -50,6 +50,7 @@ else:
|
|
|
50
50
|
See `SimpleTable.md` and `ListView.md` for detailed visual specs.
|
|
51
51
|
|
|
52
52
|
**CSS-only notes:**
|
|
53
|
+
|
|
53
54
|
- Fallback to `readonlyContextList` renders identically to the resolved reference list.
|
|
54
55
|
- No edit controls in either variant.
|
|
55
56
|
|
|
@@ -70,11 +71,12 @@ See `SimpleTable.md` and `ListView.md` for detailed visual specs.
|
|
|
70
71
|
|
|
71
72
|
Listed design systems are examples only.
|
|
72
73
|
|
|
73
|
-
| `displayAs`
|
|
74
|
-
|
|
75
|
-
| `readonlyMulti`, `combobox`, `checkboxgroup` | `SimpleTableSelectReadonly` | Link/chip + modal
|
|
76
|
-
| All others
|
|
74
|
+
| `displayAs` | Routing | DS Implementation |
|
|
75
|
+
| -------------------------------------------- | --------------------------- | -------------------- |
|
|
76
|
+
| `readonlyMulti`, `combobox`, `checkboxgroup` | `SimpleTableSelectReadonly` | Link/chip + modal |
|
|
77
|
+
| All others | `SimpleTable` | Flat read-only table |
|
|
77
78
|
|
|
78
79
|
When implementing in a specific design system:
|
|
80
|
+
|
|
79
81
|
- The `displayAs` routing list must match the edit-mode variants defined in `DataReference.md`
|
|
80
82
|
- `readonlyContextList` fallback is critical — reference list data may not be available on initial render
|
|
@@ -17,11 +17,11 @@ Renders two children side by side with the left column narrower than the right.
|
|
|
17
17
|
|
|
18
18
|
## Pega Metadata
|
|
19
19
|
|
|
20
|
-
| Variant
|
|
21
|
-
|
|
22
|
-
| NarrowWide
|
|
23
|
-
| NarrowWidePage
|
|
24
|
-
| NarrowWideForm
|
|
20
|
+
| Variant | Registration Key |
|
|
21
|
+
| ----------------- | ------------------- |
|
|
22
|
+
| NarrowWide | `NarrowWide` |
|
|
23
|
+
| NarrowWidePage | `NarrowWidePage` |
|
|
24
|
+
| NarrowWideForm | `NarrowWideForm` |
|
|
25
25
|
| NarrowWideDetails | `NarrowWideDetails` |
|
|
26
26
|
|
|
27
27
|
All extend `PConnProps`.
|
|
@@ -30,38 +30,38 @@ All extend `PConnProps`.
|
|
|
30
30
|
|
|
31
31
|
### NarrowWide
|
|
32
32
|
|
|
33
|
-
| Prop
|
|
34
|
-
|
|
35
|
-
| `children` | `ReactNode[]` | No
|
|
36
|
-
| `a`
|
|
37
|
-
| `b`
|
|
38
|
-
| `title`
|
|
39
|
-
| `cols`
|
|
40
|
-
| `icon`
|
|
33
|
+
| Prop | Type | Required | Description |
|
|
34
|
+
| ---------- | ------------- | -------- | ---------------------------------------------------------- |
|
|
35
|
+
| `children` | `ReactNode[]` | No | Two children rendered in narrow/wide slots |
|
|
36
|
+
| `a` | `any` | No | Narrow (left) column content |
|
|
37
|
+
| `b` | `any` | No | Wide (right) column content |
|
|
38
|
+
| `title` | `string` | No | Optional title (not rendered in reference implementation) |
|
|
39
|
+
| `cols` | `string` | No | Column template (not rendered in reference implementation) |
|
|
40
|
+
| `icon` | `string` | No | Optional icon (not rendered in reference implementation) |
|
|
41
41
|
|
|
42
42
|
### NarrowWidePage
|
|
43
43
|
|
|
44
|
-
| Prop
|
|
45
|
-
|
|
46
|
-
| `children`
|
|
47
|
-
| `title`
|
|
48
|
-
| `templateCol` | `string`
|
|
49
|
-
| `icon`
|
|
44
|
+
| Prop | Type | Required | Description |
|
|
45
|
+
| ------------- | ------------- | -------- | ----------------------------------------------------- |
|
|
46
|
+
| `children` | `ReactNode[]` | Yes | Two children — `[0]` → narrow slot, `[1]` → wide slot |
|
|
47
|
+
| `title` | `string` | Yes | Page title (passed to NarrowWide) |
|
|
48
|
+
| `templateCol` | `string` | No | Column ratio (default `'1fr 1fr'`) |
|
|
49
|
+
| `icon` | `string` | No | Icon name (strips `'pi pi-'` prefix) |
|
|
50
50
|
|
|
51
51
|
### NarrowWideForm
|
|
52
52
|
|
|
53
|
-
| Prop
|
|
54
|
-
|
|
55
|
-
| `children` | `ReactNode[]` | Yes
|
|
53
|
+
| Prop | Type | Required | Description |
|
|
54
|
+
| ---------- | ------------- | -------- | ----------------------------------------------------- |
|
|
55
|
+
| `children` | `ReactNode[]` | Yes | Two children — `[0]` → narrow slot, `[1]` → wide slot |
|
|
56
56
|
|
|
57
57
|
### NarrowWideDetails
|
|
58
58
|
|
|
59
|
-
| Prop
|
|
60
|
-
|
|
61
|
-
| `label`
|
|
62
|
-
| `showLabel`
|
|
63
|
-
| `showHighlightedData` | `boolean`
|
|
64
|
-
| `getPConnect`
|
|
59
|
+
| Prop | Type | Required | Description |
|
|
60
|
+
| --------------------- | ---------- | -------- | ------------------------------------------------------------------------- |
|
|
61
|
+
| `label` | `string` | Yes | Section label for FieldGroup |
|
|
62
|
+
| `showLabel` | `boolean` | No | Whether to show the label. Default `true` |
|
|
63
|
+
| `showHighlightedData` | `boolean` | No | Whether to render highlighted data fields above children. Default `false` |
|
|
64
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
65
65
|
|
|
66
66
|
## Behavioral Contract
|
|
67
67
|
|
|
@@ -97,13 +97,14 @@ Derived from `NarrowWide.css`:
|
|
|
97
97
|
|
|
98
98
|
### Container
|
|
99
99
|
|
|
100
|
-
| CSS Class
|
|
101
|
-
|
|
102
|
-
| `.psdk-narrow-wide-column`
|
|
103
|
-
| `.psdk-narrow-column-column` | Width
|
|
104
|
-
| `.psdk-wide-column-column`
|
|
100
|
+
| CSS Class | Property | Value |
|
|
101
|
+
| ---------------------------- | -------- | ----------------------------- |
|
|
102
|
+
| `.psdk-narrow-wide-column` | Display | flex or grid (two-column row) |
|
|
103
|
+
| `.psdk-narrow-column-column` | Width | ~33% (1 of 3 parts) |
|
|
104
|
+
| `.psdk-wide-column-column` | Width | ~67% (2 of 3 parts) |
|
|
105
105
|
|
|
106
106
|
**CSS-only implementation notes:**
|
|
107
|
+
|
|
107
108
|
- `.psdk-narrow-wide-column`: `display: grid; grid-template-columns: 1fr 2fr; gap: 1rem`.
|
|
108
109
|
- `.psdk-narrow-column-column`: takes the first (narrower) grid column.
|
|
109
110
|
- `.psdk-wide-column-column`: takes the second (wider) grid column.
|
|
@@ -127,15 +128,16 @@ Derived from `NarrowWide.css`:
|
|
|
127
128
|
|
|
128
129
|
Listed design systems are examples only.
|
|
129
130
|
|
|
130
|
-
| Design System
|
|
131
|
-
|
|
132
|
-
| Default (CSS only) | CSS Grid `grid-template-columns: 1fr 2fr; gap: 1rem`
|
|
133
|
-
| MUI
|
|
134
|
-
| Ant Design
|
|
135
|
-
| Chakra UI
|
|
136
|
-
| Shadcn/ui
|
|
131
|
+
| Design System | Recommended Component |
|
|
132
|
+
| ------------------ | -------------------------------------------------------------------------------- |
|
|
133
|
+
| Default (CSS only) | CSS Grid `grid-template-columns: 1fr 2fr; gap: 1rem` |
|
|
134
|
+
| MUI | `<Grid container><Grid size={{ xs: 12, md: 4 }}><Grid size={{ xs: 12, md: 8 }}>` |
|
|
135
|
+
| Ant Design | `<Row gutter={16}><Col xs={24} md={8}><Col xs={24} md={16}>` |
|
|
136
|
+
| Chakra UI | `<Grid templateColumns={{ base: '1fr', md: '1fr 2fr' }} gap={4}>` |
|
|
137
|
+
| Shadcn/ui | Tailwind `grid grid-cols-1 md:grid-cols-[1fr_2fr] gap-4` |
|
|
137
138
|
|
|
138
139
|
When implementing in a specific design system:
|
|
140
|
+
|
|
139
141
|
- Narrow column ≈ 33% width (1fr of 3fr total)
|
|
140
142
|
- Wide column ≈ 67% width (2fr of 3fr total)
|
|
141
143
|
- `NarrowWideDetails` always forces DISPLAY_ONLY + readOnly on children
|