@pega/sdk 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +183 -183
- package/README.md +6 -6
- package/SECURITY.md +2 -1
- package/dist/index.js +12 -55
- package/package.json +7 -6
- package/templates/angular-sdk-reference/package.json +15 -15
- package/templates/angular-sdk-reference/tsconfig.json +2 -2
- package/templates/react-native-sdk-reference/App.tsx +2 -4
- package/templates/react-native-sdk-reference/package.json +6 -6
- package/templates/react-native-sdk-reference/tsconfig.json +2 -1
- package/templates/react-sdk-reference/.claude/instructions/component-map.md +1 -1
- package/templates/react-sdk-reference/.claude/instructions/field-component.md +4 -0
- package/templates/react-sdk-reference/.claude/instructions/template-component.md +2 -1
- package/templates/react-sdk-reference/.claude/instructions/widget-component.md +1 -0
- package/templates/react-sdk-reference/.claude/prompts/add-component.md +18 -10
- package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +165 -83
- package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +26 -17
- package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +27 -13
- package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +42 -28
- package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +48 -34
- package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +25 -11
- package/templates/react-sdk-reference/.claude/prompts/identify-components.md +65 -65
- package/templates/react-sdk-reference/.claude/skills/component-contracts.md +99 -99
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +40 -38
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +54 -51
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +32 -28
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +38 -35
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +25 -23
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +29 -26
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +32 -26
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +17 -15
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +85 -59
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
- package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +13 -11
- package/templates/react-sdk-reference/.claude/skills/field-components.md +9 -8
- package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +27 -26
- package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +30 -22
- package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +60 -43
- package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +23 -20
- package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +19 -17
- package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +18 -15
- package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +22 -21
- package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +50 -30
- package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +20 -18
- package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +21 -15
- package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +17 -16
- package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +30 -21
- package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +66 -42
- package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +27 -18
- package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +22 -21
- package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +36 -17
- package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +56 -35
- package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +23 -12
- package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +41 -31
- package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +70 -55
- package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +34 -27
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +24 -22
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +38 -22
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +24 -21
- package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +16 -15
- package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +16 -15
- package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +57 -34
- package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +10 -8
- package/templates/react-sdk-reference/.claude/skills/template-components.md +7 -8
- package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +27 -21
- package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +17 -15
- package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +19 -16
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +19 -13
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +23 -17
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +34 -29
- package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +18 -16
- package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +36 -32
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +23 -21
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +31 -29
- package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +19 -17
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +22 -20
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +19 -17
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +19 -17
- package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +15 -10
- package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +19 -16
- package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +18 -15
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +17 -13
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +10 -13
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +9 -7
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +33 -30
- package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +13 -11
- package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +42 -40
- package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +25 -20
- package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +25 -19
- package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +36 -29
- package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +31 -27
- package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +29 -24
- package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +14 -11
- package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +34 -32
- package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +48 -46
- package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +23 -19
- package/templates/react-sdk-reference/.claude/skills/widget-components.md +11 -22
- package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +22 -20
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +33 -28
- package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +18 -15
- package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +43 -37
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +23 -19
- package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +20 -16
- package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +26 -24
- package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +43 -35
- package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +165 -83
- package/templates/react-sdk-reference/.github/agents/implementation-expert.agent.md +135 -0
- package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +2 -2
- package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +1 -1
- package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +5 -1
- package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +3 -2
- package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +2 -1
- package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +58 -15
- package/templates/react-sdk-reference/.github/prompts/component-manifest.json +165 -83
- package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +322 -65
- package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +124 -50
- package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +145 -66
- package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +146 -73
- package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +128 -49
- package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +65 -65
- package/templates/react-sdk-reference/.github/skills/component-contracts.md +99 -99
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/AlertBanner.md +40 -38
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +54 -51
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +32 -28
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +38 -35
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +25 -23
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +29 -26
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +32 -26
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +17 -15
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +85 -59
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
- package/templates/react-sdk-reference/.github/skills/design-system-extension.md +13 -11
- package/templates/react-sdk-reference/.github/skills/field-components.md +9 -8
- package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +27 -26
- package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +30 -22
- package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +60 -43
- package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +23 -20
- package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +19 -17
- package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +18 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +22 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +50 -30
- package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +20 -18
- package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +21 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +17 -16
- package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +30 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +66 -42
- package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +27 -18
- package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +22 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +36 -17
- package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +56 -35
- package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +23 -12
- package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +41 -31
- package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +70 -55
- package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +34 -27
- package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +24 -22
- package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +38 -22
- package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +24 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +16 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +16 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +57 -34
- package/templates/react-sdk-reference/.github/skills/run-and-verify.md +10 -8
- package/templates/react-sdk-reference/.github/skills/template-components.md +7 -8
- package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +27 -21
- package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +17 -15
- package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +19 -16
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +19 -13
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +23 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +34 -29
- package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +18 -16
- package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +36 -32
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +23 -21
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +31 -29
- package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +19 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +22 -20
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +19 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +19 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +15 -10
- package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +19 -16
- package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +18 -15
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +17 -13
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +10 -13
- package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +9 -7
- package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +33 -30
- package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md +13 -11
- package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +42 -40
- package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +25 -20
- package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +25 -19
- package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +36 -29
- package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +31 -27
- package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +29 -24
- package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +14 -11
- package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +34 -32
- package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +48 -46
- package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +23 -19
- package/templates/react-sdk-reference/.github/skills/widget-components.md +11 -22
- package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +22 -20
- package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +33 -28
- package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +18 -15
- package/templates/react-sdk-reference/.github/skills/widget-skills/FileUtility.md +43 -37
- package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +23 -19
- package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +20 -16
- package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +26 -24
- package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +43 -35
- package/templates/react-sdk-reference/AGENTS.md +0 -1
- package/templates/react-sdk-reference/index.html +1 -4
- package/templates/react-sdk-reference/package.json +15 -15
- package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
- package/templates/react-sdk-reference/src/AppSelector.tsx +6 -6
- package/templates/react-sdk-reference/src/FallbackComponent.tsx +2 -6
- package/templates/react-sdk-reference/src/MashupApp.styles.ts +269 -41
- package/templates/react-sdk-reference/src/MashupApp.tsx +186 -85
- package/templates/react-sdk-reference/src/PortalApp.tsx +10 -34
- package/templates/react-sdk-reference/src/components/component-map.ts +2 -7
- package/templates/react-sdk-reference/src/components/designSystemExtension/AlertBanner/AlertBanner.tsx +7 -28
- package/templates/react-sdk-reference/src/components/designSystemExtension/Banner/Banner.tsx +12 -7
- package/templates/react-sdk-reference/src/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +35 -33
- package/templates/react-sdk-reference/src/components/designSystemExtension/DetailsFields/DetailsFields.tsx +6 -27
- package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroup/FieldGroup.tsx +15 -11
- package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx +7 -7
- package/templates/react-sdk-reference/src/components/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -12
- package/templates/react-sdk-reference/src/components/designSystemExtension/Operator/Operator.tsx +27 -25
- package/templates/react-sdk-reference/src/components/designSystemExtension/Pulse/Pulse.tsx +4 -4
- package/templates/react-sdk-reference/src/components/designSystemExtension/RichTextEditor/RichTextEditor.tsx +8 -40
- package/templates/react-sdk-reference/src/components/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +9 -9
- package/templates/react-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +26 -20
- package/templates/react-sdk-reference/src/components/field/CancelAlert/CancelAlert.tsx +35 -17
- package/templates/react-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +27 -25
- package/templates/react-sdk-reference/src/components/field/Currency/Currency.tsx +10 -6
- package/templates/react-sdk-reference/src/components/field/Currency/currency-utils.ts +1 -1
- package/templates/react-sdk-reference/src/components/field/Date/Date.tsx +20 -7
- package/templates/react-sdk-reference/src/components/field/DateTime/DateTime.tsx +23 -8
- package/templates/react-sdk-reference/src/components/field/Decimal/Decimal.tsx +5 -5
- package/templates/react-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +45 -25
- package/templates/react-sdk-reference/src/components/field/Email/Email.tsx +8 -8
- package/templates/react-sdk-reference/src/components/field/Group/Group.tsx +1 -1
- package/templates/react-sdk-reference/src/components/field/Integer/Integer.tsx +5 -5
- package/templates/react-sdk-reference/src/components/field/Location/Location.tsx +21 -16
- package/templates/react-sdk-reference/src/components/field/Multiselect/Multiselect.tsx +42 -27
- package/templates/react-sdk-reference/src/components/field/Multiselect/utils.ts +43 -29
- package/templates/react-sdk-reference/src/components/field/ObjectReference/ObjectReference.tsx +53 -30
- package/templates/react-sdk-reference/src/components/field/ObjectReference/utils.ts +12 -11
- package/templates/react-sdk-reference/src/components/field/Percentage/Percentage.tsx +6 -6
- package/templates/react-sdk-reference/src/components/field/Phone/Phone.tsx +12 -12
- package/templates/react-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +38 -16
- package/templates/react-sdk-reference/src/components/field/RichText/RichText.tsx +17 -4
- package/templates/react-sdk-reference/src/components/field/ScalarList/ScalarList.tsx +5 -5
- package/templates/react-sdk-reference/src/components/field/SelectableCard/SelectableCard.tsx +31 -18
- package/templates/react-sdk-reference/src/components/field/SelectableCard/utils.tsx +28 -20
- package/templates/react-sdk-reference/src/components/field/SemanticLink/SemanticLink.tsx +28 -19
- package/templates/react-sdk-reference/src/components/field/SemanticLink/utils.ts +3 -1
- package/templates/react-sdk-reference/src/components/field/TextArea/TextArea.tsx +4 -4
- package/templates/react-sdk-reference/src/components/field/TextInput/TextInput.tsx +4 -4
- package/templates/react-sdk-reference/src/components/field/Time/Time.tsx +20 -7
- package/templates/react-sdk-reference/src/components/field/URL/URL.tsx +7 -7
- package/templates/react-sdk-reference/src/components/field/UserReference/UserReference.tsx +14 -14
- package/templates/react-sdk-reference/src/components/field/UserReference/UserReferenceUtils.ts +2 -2
- package/templates/react-sdk-reference/src/components/helpers/case-utils.tsx +5 -5
- package/templates/react-sdk-reference/src/components/helpers/data_page.ts +3 -3
- package/templates/react-sdk-reference/src/components/helpers/date-format-utils.ts +5 -5
- package/templates/react-sdk-reference/src/components/helpers/field-group-utils.ts +2 -7
- package/templates/react-sdk-reference/src/components/helpers/formatters/Boolean.ts +9 -3
- package/templates/react-sdk-reference/src/components/helpers/formatters/Currency.ts +18 -6
- package/templates/react-sdk-reference/src/components/helpers/formatters/CurrencyMap.ts +168 -168
- package/templates/react-sdk-reference/src/components/helpers/formatters/Date.ts +5 -5
- package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +8 -5
- package/templates/react-sdk-reference/src/components/helpers/instructions-utils.ts +2 -2
- package/templates/react-sdk-reference/src/components/helpers/simpleTableHelpers.ts +54 -30
- package/templates/react-sdk-reference/src/components/helpers/state-utils.tsx +5 -2
- package/templates/react-sdk-reference/src/components/helpers/template-utils.ts +5 -4
- package/templates/react-sdk-reference/src/components/helpers/utils.ts +3 -3
- package/templates/react-sdk-reference/src/components/helpers/versionHelpers.ts +3 -1
- package/templates/react-sdk-reference/src/components/index.ts +1 -4
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/AdvancedSearch.tsx +18 -10
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroup/persistUtils.ts +3 -3
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +26 -90
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/hooks.ts +8 -5
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/utils.ts +8 -4
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/TemplateContext.ts +1 -1
- package/templates/react-sdk-reference/src/components/template/AppShell/AppShell.tsx +28 -19
- package/templates/react-sdk-reference/src/components/template/BannerPage/BannerPage.tsx +2 -2
- package/templates/react-sdk-reference/src/components/template/CaseSummary/CaseSummary.tsx +5 -5
- package/templates/react-sdk-reference/src/components/template/CaseView/CaseView.tsx +35 -16
- package/templates/react-sdk-reference/src/components/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +10 -10
- package/templates/react-sdk-reference/src/components/template/Confirmation/Confirmation.tsx +12 -26
- package/templates/react-sdk-reference/src/components/template/DataReference/DataReference.tsx +41 -124
- package/templates/react-sdk-reference/src/components/template/DataReference/DataReferenceAdvancedSearchContext.ts +2 -2
- package/templates/react-sdk-reference/src/components/template/DataReference/SearchForm.tsx +18 -78
- package/templates/react-sdk-reference/src/components/template/DataReference/utils.ts +18 -12
- package/templates/react-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +4 -12
- package/templates/react-sdk-reference/src/components/template/DefaultForm/utils/index.ts +3 -3
- package/templates/react-sdk-reference/src/components/template/DefaultPage/DefaultPage.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/Details/Details/Details.tsx +6 -8
- package/templates/react-sdk-reference/src/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +7 -14
- package/templates/react-sdk-reference/src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +7 -14
- package/templates/react-sdk-reference/src/components/template/Details/DynamicTabs/DynamicTabs.tsx +16 -8
- package/templates/react-sdk-reference/src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx +7 -4
- package/templates/react-sdk-reference/src/components/template/HierarchicalForm/HierarchicalForm.tsx +20 -5
- package/templates/react-sdk-reference/src/components/template/HierarchicalForm/hooks.ts +35 -77
- package/templates/react-sdk-reference/src/components/template/InlineDashboard/InlineDashboard.tsx +10 -10
- package/templates/react-sdk-reference/src/components/template/ListView/DefaultViewMeta.ts +31 -31
- package/templates/react-sdk-reference/src/components/template/ListView/ListView.tsx +173 -133
- package/templates/react-sdk-reference/src/components/template/ListView/hooks.ts +17 -10
- package/templates/react-sdk-reference/src/components/template/ListView/utils.ts +64 -51
- package/templates/react-sdk-reference/src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +6 -6
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWide/NarrowWide.tsx +6 -6
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +8 -18
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +7 -1
- package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumn/OneColumn.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumnTab/OneColumnTab.tsx +1 -1
- package/templates/react-sdk-reference/src/components/template/PromotedFilters/PromotedFilters.tsx +13 -40
- package/templates/react-sdk-reference/src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx +19 -16
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTable/SimpleTable.tsx +8 -7
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +84 -203
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +15 -5
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.tsx +15 -29
- package/templates/react-sdk-reference/src/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +7 -7
- package/templates/react-sdk-reference/src/components/template/SubTabs/SubTabs.tsx +1 -1
- package/templates/react-sdk-reference/src/components/template/SubTabs/tabUtils.ts +13 -11
- package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumn/TwoColumn.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrow/WideNarrow.tsx +6 -6
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +13 -24
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +7 -1
- package/templates/react-sdk-reference/src/components/template/WssNavBar/WssNavBar.tsx +25 -25
- package/templates/react-sdk-reference/src/components/template/utils.tsx +6 -6
- package/templates/react-sdk-reference/src/components/widget/AppAnnouncement/AppAnnouncement.tsx +9 -9
- package/templates/react-sdk-reference/src/components/widget/Attachment/Attachment.tsx +125 -79
- package/templates/react-sdk-reference/src/components/widget/Attachment/AttachmentUtils.ts +58 -33
- package/templates/react-sdk-reference/src/components/widget/CaseHistory/CaseHistory.tsx +14 -12
- package/templates/react-sdk-reference/src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -7
- package/templates/react-sdk-reference/src/components/widget/FileUtility/FileUtility/FileUtility.tsx +137 -107
- package/templates/react-sdk-reference/src/components/widget/Followers/Followers.tsx +4 -4
- package/templates/react-sdk-reference/src/components/widget/QuickCreate/QuickCreate.tsx +15 -11
- package/templates/react-sdk-reference/src/components/widget/SummaryItem/SummaryItem.tsx +25 -18
- package/templates/react-sdk-reference/src/components/widget/SummaryList/SummaryList.tsx +7 -2
- package/templates/react-sdk-reference/src/components/widget/ToDo/ToDo.tsx +30 -116
- package/templates/react-sdk-reference/src/main.tsx +1 -1
- package/templates/react-sdk-reference/tsconfig.json +2 -1
- package/templates/react-sdk-reference/vite.config.ts +51 -26
- package/templates/wc-sdk-reference/package.json +3 -3
- package/templates/wc-sdk-reference/src/index.ts +10 -10
- package/templates/wc-sdk-reference/tsconfig.json +1 -0
|
@@ -18,11 +18,11 @@ A case view variant designed for self-service portal channels. Uses a horizontal
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `children`
|
|
24
|
-
| `isObjectType` | `boolean`
|
|
25
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| -------------- | ------------- | -------- | --------------------------------------------------------------- |
|
|
23
|
+
| `children` | `ReactNode[]` | Yes | Region children (variable count based on `isObjectType`) |
|
|
24
|
+
| `isObjectType` | `boolean` | No | Whether the case is an object-type (affects child region count) |
|
|
25
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
26
26
|
|
|
27
27
|
## Behavioral Contract
|
|
28
28
|
|
|
@@ -31,22 +31,25 @@ A case view variant designed for self-service portal channels. Uses a horizontal
|
|
|
31
31
|
Child indexing depends on `isObjectType`:
|
|
32
32
|
|
|
33
33
|
**`isObjectType === false` (5 children):**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
34
|
+
|
|
35
|
+
| Index | Region |
|
|
36
|
+
| ----- | --------------- |
|
|
37
|
+
| 0 | Summary |
|
|
38
|
+
| 1 | (Header/Stages) |
|
|
39
|
+
| 2 | Main content |
|
|
40
|
+
| 3 | Utilities |
|
|
41
|
+
| 4 | (Additional) |
|
|
41
42
|
|
|
42
43
|
**`isObjectType === true` (3 children):**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
44
|
+
|
|
45
|
+
| Index | Region |
|
|
46
|
+
| ----- | ------------ |
|
|
47
|
+
| 0 | Summary |
|
|
48
|
+
| 1 | Main content |
|
|
49
|
+
| 2 | Utilities |
|
|
48
50
|
|
|
49
51
|
Show/hide individual regions based on:
|
|
52
|
+
|
|
50
53
|
- `showSummary`: always show summary region.
|
|
51
54
|
- `showMain`: always show main content region.
|
|
52
55
|
- `showUtilities`: show utilities only if the region has content.
|
|
@@ -54,12 +57,14 @@ Show/hide individual regions based on:
|
|
|
54
57
|
### `selfServiceCaseViewHeader`
|
|
55
58
|
|
|
56
59
|
Renders a slim header bar above the main flex layout showing:
|
|
60
|
+
|
|
57
61
|
- Case ID / case type name
|
|
58
62
|
- Case status badge
|
|
59
63
|
|
|
60
64
|
### Case Summary Data
|
|
61
65
|
|
|
62
66
|
Call `prepareCaseSummaryData(primaryFields, secondaryFields, getPConnect)` with a filter:
|
|
67
|
+
|
|
63
68
|
- Only include fields where `availableInChannel.selfService === true`.
|
|
64
69
|
|
|
65
70
|
### Utilities Filter
|
|
@@ -87,13 +92,14 @@ Call `filterUtilities(utilitiesChildren, getPConnect)` to remove utilities not a
|
|
|
87
92
|
|
|
88
93
|
## Visual Specifications
|
|
89
94
|
|
|
90
|
-
| Column
|
|
91
|
-
|
|
92
|
-
| Summary
|
|
93
|
-
| Main
|
|
94
|
-
| Utilities | 25% (fixed) | Filtered utilities
|
|
95
|
+
| Column | Width | Contents |
|
|
96
|
+
| --------- | ----------- | ------------------------------------------- |
|
|
97
|
+
| Summary | 25% (fixed) | Case summary fields (self-service filtered) |
|
|
98
|
+
| Main | flex: 1 | Main case content / assignment form |
|
|
99
|
+
| Utilities | 25% (fixed) | Filtered utilities |
|
|
95
100
|
|
|
96
101
|
**CSS-only implementation notes:**
|
|
102
|
+
|
|
97
103
|
- Body layout: `display: flex; flex-direction: row; gap: 1rem`.
|
|
98
104
|
- Summary column: `flex: 0 0 25%; min-width: 0`.
|
|
99
105
|
- Main column: `flex: 1 1 auto; min-width: 0`.
|
|
@@ -121,15 +127,16 @@ Call `filterUtilities(utilitiesChildren, getPConnect)` to remove utilities not a
|
|
|
121
127
|
|
|
122
128
|
Listed design systems are examples only.
|
|
123
129
|
|
|
124
|
-
| Design System
|
|
125
|
-
|
|
126
|
-
| Default (CSS only) | CSS `display:flex` with percentage widths
|
|
127
|
-
| MUI
|
|
128
|
-
| Ant Design
|
|
129
|
-
| Chakra UI
|
|
130
|
-
| Shadcn/ui
|
|
130
|
+
| Design System | Layout | Header Bar |
|
|
131
|
+
| ------------------ | ---------------------------------------------------------------------- | --------------------------- |
|
|
132
|
+
| Default (CSS only) | CSS `display:flex` with percentage widths | Custom `<header>` |
|
|
133
|
+
| MUI | `<Box display='flex' flexDirection='row'>` with `<Box flex='0 0 25%'>` | `<Box>` with `<Typography>` |
|
|
134
|
+
| Ant Design | `<Layout>` with `<Sider>` + `<Content>` | `<PageHeader>` |
|
|
135
|
+
| Chakra UI | `<HStack align='stretch'>` with width constraints | `<Flex>` |
|
|
136
|
+
| Shadcn/ui | Tailwind `flex flex-row` | Custom header |
|
|
131
137
|
|
|
132
138
|
When implementing in a specific design system:
|
|
139
|
+
|
|
133
140
|
- `isObjectType` determines child count — do not assume fixed child order without checking this flag
|
|
134
141
|
- Self-service channel filter on summary data is mandatory — `availableInChannel.selfService === true`
|
|
135
142
|
- `filterUtilities` result controls utilities column visibility
|
|
@@ -18,16 +18,16 @@ Entry-point template for embedded table data in a form or detail view. Routes to
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `multiRecordDisplayAs` | `string`
|
|
24
|
-
| `fieldMetadata`
|
|
25
|
-
| `referenceList`
|
|
26
|
-
| `displayAs`
|
|
27
|
-
| `selectionMode`
|
|
28
|
-
| `displayMode`
|
|
29
|
-
| `readOnly`
|
|
30
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ---------------------- | ---------- | -------- | ----------------------------------------------------------------------------------------- |
|
|
23
|
+
| `multiRecordDisplayAs` | `string` | No | `'fieldGroup'` delegates to FieldGroupTemplate; else table |
|
|
24
|
+
| `fieldMetadata` | `object` | No | Field-level metadata including `dataRetrievalType` |
|
|
25
|
+
| `referenceList` | `string` | No | Property path to the reference list |
|
|
26
|
+
| `displayAs` | `string` | No | For SimpleTableSelectReadonly: `'readonlyMulti'`, `'combobox'`, `'checkboxgroup'` routing |
|
|
27
|
+
| `selectionMode` | `string` | No | `'single'` or `'multi'` (for SimpleTableSelect) |
|
|
28
|
+
| `displayMode` | `string` | No | `'DISPLAY_ONLY'` triggers read-only sub-variant |
|
|
29
|
+
| `readOnly` | `boolean` | No | Alternative read-only flag |
|
|
30
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
31
31
|
|
|
32
32
|
## Behavioral Contract
|
|
33
33
|
|
|
@@ -47,6 +47,7 @@ else:
|
|
|
47
47
|
Full MUI table with add/delete rows, inline editing, sort, filter, and column customization (~600+ lines).
|
|
48
48
|
|
|
49
49
|
Key behaviors:
|
|
50
|
+
|
|
50
51
|
1. **Row data source:** `referenceList` property path via `pConn.getValue(referenceList + '.pxResults')`.
|
|
51
52
|
2. **Add row:** `pConn.getListActions().insert({})`.
|
|
52
53
|
3. **Delete row:** `pConn.getListActions().deleteEntry(index)`.
|
|
@@ -58,6 +59,7 @@ Key behaviors:
|
|
|
58
59
|
### SimpleTableSelect — Selection Mode
|
|
59
60
|
|
|
60
61
|
Wraps `ListView` with additional selection configuration:
|
|
62
|
+
|
|
61
63
|
- Passes `additionalTableConfig` with `selectionMode: 'single'` or `'multi'`.
|
|
62
64
|
- On selection: calls `pConn.getListActions().setSelectedRow(selectedData)`.
|
|
63
65
|
- Used when `DataReference` routes to table-based selection.
|
|
@@ -72,15 +74,16 @@ Wraps `ListView` with additional selection configuration:
|
|
|
72
74
|
|
|
73
75
|
### SimpleTableManual
|
|
74
76
|
|
|
75
|
-
| Element
|
|
76
|
-
|
|
77
|
-
| Toolbar
|
|
78
|
-
| Table
|
|
79
|
-
| Add row
|
|
80
|
-
| Delete row
|
|
81
|
-
| Column settings | Popover with checkboxes for visibility toggles
|
|
77
|
+
| Element | Description |
|
|
78
|
+
| --------------- | ------------------------------------------------------ |
|
|
79
|
+
| Toolbar | Column settings button, filter button, optional search |
|
|
80
|
+
| Table | Full-width, alternating row colors |
|
|
81
|
+
| Add row | `"+ Add row"` button below the table |
|
|
82
|
+
| Delete row | Trash icon per row (rightmost column) |
|
|
83
|
+
| Column settings | Popover with checkboxes for visibility toggles |
|
|
82
84
|
|
|
83
85
|
**CSS-only implementation notes:**
|
|
86
|
+
|
|
84
87
|
- Table: `width: 100%; border-collapse: collapse`.
|
|
85
88
|
- Add row button: `margin-top: 0.5rem; text-align: left`.
|
|
86
89
|
- Delete cell: `width: 40px; text-align: center`.
|
|
@@ -88,11 +91,11 @@ Wraps `ListView` with additional selection configuration:
|
|
|
88
91
|
|
|
89
92
|
### SimpleTableSelectReadonly
|
|
90
93
|
|
|
91
|
-
| Element
|
|
92
|
-
|
|
93
|
-
| Trigger
|
|
94
|
-
| Modal
|
|
95
|
-
| Modal close | `X` button in modal header
|
|
94
|
+
| Element | Description |
|
|
95
|
+
| ----------- | -------------------------------------------------- |
|
|
96
|
+
| Trigger | Link or chip showing selection count |
|
|
97
|
+
| Modal | Full-screen or large dialog with SimpleTableManual |
|
|
98
|
+
| Modal close | `X` button in modal header |
|
|
96
99
|
|
|
97
100
|
## Edge Cases & Special Logic
|
|
98
101
|
|
|
@@ -115,13 +118,14 @@ Wraps `ListView` with additional selection configuration:
|
|
|
115
118
|
|
|
116
119
|
Listed design systems are examples only.
|
|
117
120
|
|
|
118
|
-
| Sub-variant
|
|
119
|
-
|
|
120
|
-
| SimpleTableManual
|
|
121
|
-
| SimpleTableSelect
|
|
122
|
-
| SimpleTableSelectReadonly | Link + `<dialog>`
|
|
121
|
+
| Sub-variant | Default (CSS only) | MUI |
|
|
122
|
+
| ------------------------- | ----------------------------- | -------------------- |
|
|
123
|
+
| SimpleTableManual | `<table>` + custom controls | MUI `<Table>` |
|
|
124
|
+
| SimpleTableSelect | Custom table + radio/checkbox | `<ListView>` wrapper |
|
|
125
|
+
| SimpleTableSelectReadonly | Link + `<dialog>` | Chip + `<Dialog>` |
|
|
123
126
|
|
|
124
127
|
When implementing in a specific design system:
|
|
128
|
+
|
|
125
129
|
- Always check `multiRecordDisplayAs === 'fieldGroup'` first — this bypasses the table entirely
|
|
126
130
|
- `SimpleTableManual` add/delete row controls must be hidden when `readOnly === true` or `displayMode === 'DISPLAY_ONLY'`
|
|
127
131
|
- `SimpleTableSelect` uses the same `ListView` but adds selection callbacks
|
package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md
CHANGED
|
@@ -18,18 +18,18 @@ Renders a single data reference field in read-only mode. For fields that were di
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `label`
|
|
24
|
-
| `displayAs`
|
|
25
|
-
| `value`
|
|
26
|
-
| `caseClass`
|
|
27
|
-
| `text`
|
|
28
|
-
| `caseID`
|
|
29
|
-
| `contextPage`
|
|
30
|
-
| `resourceParams`
|
|
31
|
-
| `resourcePayload` | `object`
|
|
32
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ----------------- | ---------- | -------- | --------------------------------------------------------- |
|
|
23
|
+
| `label` | `string` | Yes | Field label |
|
|
24
|
+
| `displayAs` | `string` | Yes | The edit-mode display type this field was configured with |
|
|
25
|
+
| `value` | `string` | No | Current field value (display text) |
|
|
26
|
+
| `caseClass` | `string` | No | Class identifier for the referenced case |
|
|
27
|
+
| `text` | `string` | No | Display text for the semantic link |
|
|
28
|
+
| `caseID` | `string` | No | Case ID for the semantic link |
|
|
29
|
+
| `contextPage` | `string` | No | Context page identifier |
|
|
30
|
+
| `resourceParams` | `object` | No | Parameters for the referenced resource |
|
|
31
|
+
| `resourcePayload` | `object` | No | Payload for resource navigation |
|
|
32
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
33
33
|
|
|
34
34
|
## Behavioral Contract
|
|
35
35
|
|
|
@@ -40,18 +40,21 @@ editableComponents = ['AutoComplete', 'SimpleTableSelect', 'Dropdown']
|
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
If `displayAs` is in `editableComponents`:
|
|
43
|
+
|
|
43
44
|
1. Build config with: `caseClass`, `text`, `caseID`, `contextPage`, `resourceParams`, `resourcePayload`.
|
|
44
45
|
2. Create: `createComponent({ type: 'SemanticLink', config: { ...builtConfig } })`.
|
|
45
46
|
3. Render the created `SemanticLink` component.
|
|
46
47
|
|
|
47
48
|
Else:
|
|
49
|
+
|
|
48
50
|
- Render a plain read-only display using `<FormControl variant='standard'>` + `<FormLabel>` + value text.
|
|
49
51
|
|
|
50
52
|
### Layout
|
|
51
53
|
|
|
52
54
|
For both variants, wrap with:
|
|
55
|
+
|
|
53
56
|
```tsx
|
|
54
|
-
<FormControl variant=
|
|
57
|
+
<FormControl variant="standard" sx={{ flexDirection: 'row' }}>
|
|
55
58
|
<FormLabel sx={{ marginRight: '2rem' }}>{label}</FormLabel>
|
|
56
59
|
{semanLinkOrValue}
|
|
57
60
|
</FormControl>
|
|
@@ -59,12 +62,13 @@ For both variants, wrap with:
|
|
|
59
62
|
|
|
60
63
|
## Visual Specifications
|
|
61
64
|
|
|
62
|
-
| Variant
|
|
63
|
-
|
|
64
|
-
| SemanticLink
|
|
65
|
-
| Plain read-only | Label (left) + plain text (right)
|
|
65
|
+
| Variant | Layout |
|
|
66
|
+
| --------------- | ------------------------------------- |
|
|
67
|
+
| SemanticLink | Label (left) + clickable link (right) |
|
|
68
|
+
| Plain read-only | Label (left) + plain text (right) |
|
|
66
69
|
|
|
67
70
|
**CSS-only implementation notes:**
|
|
71
|
+
|
|
68
72
|
- Wrapper: `display: flex; flex-direction: row; align-items: baseline; gap: 1rem`.
|
|
69
73
|
- Label: `font-size: 0.875rem; color: var(--secondary-text-color); min-width: 120px`.
|
|
70
74
|
- Semantic link: `color: var(--link-color); text-decoration: underline; cursor: pointer`.
|
|
@@ -89,15 +93,16 @@ For both variants, wrap with:
|
|
|
89
93
|
|
|
90
94
|
Listed design systems are examples only.
|
|
91
95
|
|
|
92
|
-
| Design System
|
|
93
|
-
|
|
94
|
-
| Default (CSS only) | `<a>` with case navigation
|
|
95
|
-
| MUI
|
|
96
|
-
| Ant Design
|
|
97
|
-
| Chakra UI
|
|
98
|
-
| Shadcn/ui
|
|
96
|
+
| Design System | Semantic Link | Plain Read-Only |
|
|
97
|
+
| ------------------ | --------------------------------------------- | ------------------- |
|
|
98
|
+
| Default (CSS only) | `<a>` with case navigation | `<span>` |
|
|
99
|
+
| MUI | `SemanticLink` rendered via `createComponent` | `<Typography>` |
|
|
100
|
+
| Ant Design | `<Typography.Link>` | `<Typography.Text>` |
|
|
101
|
+
| Chakra UI | `<Link>` | `<Text>` |
|
|
102
|
+
| Shadcn/ui | Custom link | `<span>` |
|
|
99
103
|
|
|
100
104
|
When implementing in a specific design system:
|
|
105
|
+
|
|
101
106
|
- The `editableComponents` list (`'AutoComplete'`, `'SimpleTableSelect'`, `'Dropdown'`) controls semantic link vs plain display
|
|
102
107
|
- `SemanticLink` must be rendered via `createComponent` — do not implement the link logic directly in this component
|
|
103
108
|
- Horizontal label + value layout (row direction) is required
|
|
@@ -18,10 +18,10 @@ Renders a horizontal tab bar for navigating between case view sections. Uses sha
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `children`
|
|
24
|
-
| `getPConnect` | `function`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ------------- | ------------- | -------- | --------------------------------------------------- |
|
|
23
|
+
| `children` | `ReactNode[]` | Yes | `children[0]` is the deferred-loaded tabs container |
|
|
24
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
25
25
|
|
|
26
26
|
## Behavioral Contract
|
|
27
27
|
|
|
@@ -43,6 +43,7 @@ Renders a horizontal tab bar for navigating between case view sections. Uses sha
|
|
|
43
43
|
Identical to `DetailsSubTabs` except no heading above the tab bar.
|
|
44
44
|
|
|
45
45
|
**CSS-only implementation notes:**
|
|
46
|
+
|
|
46
47
|
- Tab bar: `display: flex; border-bottom: 2px solid var(--divider)`.
|
|
47
48
|
- Each tab: `padding: 8px 16px; cursor: pointer; border-bottom: 2px solid transparent`.
|
|
48
49
|
- Active tab: `border-bottom-color: var(--app-primary-color); font-weight: 600`.
|
|
@@ -51,6 +52,7 @@ Identical to `DetailsSubTabs` except no heading above the tab bar.
|
|
|
51
52
|
## Edge Cases & Special Logic
|
|
52
53
|
|
|
53
54
|
See `DetailsSubTabs.md` for shared edge cases. Additional:
|
|
55
|
+
|
|
54
56
|
- `tabUtils` identifier string `'tabsSubs'` must match exactly — it is used internally by `getVisibleTabs` for scoping.
|
|
55
57
|
|
|
56
58
|
## Dependencies
|
|
@@ -65,15 +67,16 @@ See `DetailsSubTabs.md` for shared edge cases. Additional:
|
|
|
65
67
|
|
|
66
68
|
Listed design systems are examples only.
|
|
67
69
|
|
|
68
|
-
| Design System
|
|
69
|
-
|
|
70
|
-
| Default (CSS only) | Custom tab bar with CSS underline indicator
|
|
71
|
-
| MUI
|
|
72
|
-
| Ant Design
|
|
73
|
-
| Chakra UI
|
|
74
|
-
| Shadcn/ui
|
|
70
|
+
| Design System | Recommended Component |
|
|
71
|
+
| ------------------ | -------------------------------------------------------- |
|
|
72
|
+
| Default (CSS only) | Custom tab bar with CSS underline indicator |
|
|
73
|
+
| MUI | `<TabContext>` + `<Tabs>` + `<TabPanel>` from `@mui/lab` |
|
|
74
|
+
| Ant Design | `<Tabs>` with `items` array |
|
|
75
|
+
| Chakra UI | `<Tabs>` + `<TabList>` + `<TabPanels>` |
|
|
76
|
+
| Shadcn/ui | `<Tabs>` + `<TabsList>` + `<TabsContent>` |
|
|
75
77
|
|
|
76
78
|
When implementing in a specific design system:
|
|
79
|
+
|
|
77
80
|
- Use `getVisibleTabs(tabs, 'tabsSubs')` — the identifier string must be `'tabsSubs'`
|
|
78
81
|
- No heading above the tab bar (unlike `DetailsSubTabs`)
|
|
79
82
|
- Deferred loading: content populates lazily via `getTransientTabs`
|
|
@@ -16,20 +16,20 @@ Renders two child components side by side in a responsive grid. Column widths ar
|
|
|
16
16
|
|
|
17
17
|
## Pega Metadata
|
|
18
18
|
|
|
19
|
-
| Variant
|
|
20
|
-
|
|
21
|
-
| TwoColumn
|
|
22
|
-
| TwoColumnPage | `TwoColumnPage`
|
|
23
|
-
| TwoColumnTab
|
|
19
|
+
| Variant | Registration Key |
|
|
20
|
+
| ------------- | ---------------- |
|
|
21
|
+
| TwoColumn | `TwoColumn` |
|
|
22
|
+
| TwoColumnPage | `TwoColumnPage` |
|
|
23
|
+
| TwoColumnTab | `TwoColumnTab` |
|
|
24
24
|
|
|
25
25
|
All three extend `PConnProps`. Children are received as React `children` (not via `getPConnect().getChildren()`).
|
|
26
26
|
|
|
27
27
|
## Props
|
|
28
28
|
|
|
29
|
-
| Prop
|
|
30
|
-
|
|
31
|
-
| `children`
|
|
32
|
-
| `templateCol` | `string`
|
|
29
|
+
| Prop | Type | Required | Description |
|
|
30
|
+
| ------------- | ------------- | -------- | ------------------------------------------------------------------------------ |
|
|
31
|
+
| `children` | `ReactNode[]` | Yes | Exactly 2 children (left column, right column) |
|
|
32
|
+
| `templateCol` | `string` | No | Column width ratio string, e.g., `'1fr 1fr'`, `'2fr 1fr'`. Default `'1fr 1fr'` |
|
|
33
33
|
|
|
34
34
|
## Sub-Variants
|
|
35
35
|
|
|
@@ -66,35 +66,36 @@ Derived from `TwoColumn.tsx` and `TwoColumnTab.tsx` makeStyles:
|
|
|
66
66
|
|
|
67
67
|
### Column Style
|
|
68
68
|
|
|
69
|
-
| Property
|
|
70
|
-
|
|
71
|
-
| Display
|
|
72
|
-
| Gap
|
|
69
|
+
| Property | Value |
|
|
70
|
+
| ------------- | ------------------------------------- |
|
|
71
|
+
| Display | grid |
|
|
72
|
+
| Gap | 1rem |
|
|
73
73
|
| Align content | baseline (children stack top-aligned) |
|
|
74
74
|
|
|
75
75
|
### Grid Spacing
|
|
76
76
|
|
|
77
|
-
| Property
|
|
78
|
-
|
|
77
|
+
| Property | Value |
|
|
78
|
+
| ----------------- | ------------------------- |
|
|
79
79
|
| Container spacing | 1 (≈ 8px between columns) |
|
|
80
80
|
|
|
81
81
|
### Responsive Behavior
|
|
82
82
|
|
|
83
|
-
| Breakpoint
|
|
84
|
-
|
|
85
|
-
| xs (mobile)
|
|
86
|
-
| md+ (desktop) | `aSize`/12
|
|
83
|
+
| Breakpoint | Column A | Column B |
|
|
84
|
+
| ------------- | ------------------ | -------------------------------- |
|
|
85
|
+
| xs (mobile) | 12/12 (full width) | 12/12 (full width, stacks below) |
|
|
86
|
+
| md+ (desktop) | `aSize`/12 | `bSize`/12 |
|
|
87
87
|
|
|
88
88
|
**Column ratio examples:**
|
|
89
89
|
|
|
90
|
-
| `templateCol` | Column A
|
|
91
|
-
|
|
92
|
-
| `'1fr 1fr'`
|
|
93
|
-
| `'2fr 1fr'`
|
|
94
|
-
| `'1fr 2fr'`
|
|
95
|
-
| `'3fr 1fr'`
|
|
90
|
+
| `templateCol` | Column A | Column B |
|
|
91
|
+
| ------------- | ---------- | ---------- |
|
|
92
|
+
| `'1fr 1fr'` | 6/12 (50%) | 6/12 (50%) |
|
|
93
|
+
| `'2fr 1fr'` | 8/12 (67%) | 4/12 (33%) |
|
|
94
|
+
| `'1fr 2fr'` | 4/12 (33%) | 8/12 (67%) |
|
|
95
|
+
| `'3fr 1fr'` | 9/12 (75%) | 3/12 (25%) |
|
|
96
96
|
|
|
97
97
|
**CSS-only implementation notes:**
|
|
98
|
+
|
|
98
99
|
- Column container: `display: grid; gap: 1rem; align-content: start`.
|
|
99
100
|
- Outer grid: `display: grid; grid-template-columns: <aFraction>fr <bFraction>fr; gap: 8px`.
|
|
100
101
|
- Mobile: `grid-template-columns: 1fr` (single column stack).
|
|
@@ -117,15 +118,16 @@ Derived from `TwoColumn.tsx` and `TwoColumnTab.tsx` makeStyles:
|
|
|
117
118
|
|
|
118
119
|
Listed design systems are examples only.
|
|
119
120
|
|
|
120
|
-
| Design System
|
|
121
|
-
|
|
122
|
-
| Default (CSS only) | CSS Grid with `grid-template-columns: <a>fr <b>fr; gap: 8px`
|
|
123
|
-
| MUI
|
|
124
|
-
| Ant Design
|
|
125
|
-
| Chakra UI
|
|
126
|
-
| Shadcn/ui
|
|
121
|
+
| Design System | Recommended Component |
|
|
122
|
+
| ------------------ | -------------------------------------------------------------------- |
|
|
123
|
+
| Default (CSS only) | CSS Grid with `grid-template-columns: <a>fr <b>fr; gap: 8px` |
|
|
124
|
+
| MUI | `<Grid container spacing={1}><Grid size={{ xs: 12, md: N }}>` |
|
|
125
|
+
| Ant Design | `<Row gutter={8}><Col xs={24} md={N * 2}>` (Ant uses 24-column grid) |
|
|
126
|
+
| Chakra UI | `<SimpleGrid columns={{ base: 1, md: 2 }} spacing={2}>` |
|
|
127
|
+
| Shadcn/ui | Tailwind `grid grid-cols-1 md:grid-cols-[<a>fr_<b>fr] gap-2` |
|
|
127
128
|
|
|
128
129
|
When implementing in a specific design system:
|
|
130
|
+
|
|
129
131
|
- Parse `templateCol` using the same ratio algorithm (strip units, divide 12 by total)
|
|
130
132
|
- Apply `align-content: baseline` so children within each column stack top-aligned
|
|
131
133
|
- Collapse to single column on mobile breakpoint
|
|
@@ -19,11 +19,11 @@ Renders two children side by side with the left column wider than the right. Typ
|
|
|
19
19
|
|
|
20
20
|
## Pega Metadata
|
|
21
21
|
|
|
22
|
-
| Variant
|
|
23
|
-
|
|
24
|
-
| WideNarrow
|
|
25
|
-
| WideNarrowPage
|
|
26
|
-
| WideNarrowForm
|
|
22
|
+
| Variant | Registration Key |
|
|
23
|
+
| ----------------- | ------------------- |
|
|
24
|
+
| WideNarrow | `WideNarrow` |
|
|
25
|
+
| WideNarrowPage | `WideNarrowPage` |
|
|
26
|
+
| WideNarrowForm | `WideNarrowForm` |
|
|
27
27
|
| WideNarrowDetails | `WideNarrowDetails` |
|
|
28
28
|
|
|
29
29
|
All extend `PConnProps`.
|
|
@@ -32,38 +32,38 @@ All extend `PConnProps`.
|
|
|
32
32
|
|
|
33
33
|
### WideNarrow
|
|
34
34
|
|
|
35
|
-
| Prop
|
|
36
|
-
|
|
37
|
-
| `children` | `ReactNode[]` | No
|
|
38
|
-
| `a`
|
|
39
|
-
| `b`
|
|
40
|
-
| `title`
|
|
41
|
-
| `cols`
|
|
42
|
-
| `icon`
|
|
35
|
+
| Prop | Type | Required | Description |
|
|
36
|
+
| ---------- | ------------- | -------- | ---------------------------------------------------------- |
|
|
37
|
+
| `children` | `ReactNode[]` | No | Two children — `[0]` → wide (left), `[1]` → narrow (right) |
|
|
38
|
+
| `a` | `any` | No | Wide (left) column content |
|
|
39
|
+
| `b` | `any` | No | Narrow (right) column content |
|
|
40
|
+
| `title` | `string` | No | Optional title (not rendered) |
|
|
41
|
+
| `cols` | `string` | No | Column template (not rendered) |
|
|
42
|
+
| `icon` | `string` | No | Icon name (not rendered) |
|
|
43
43
|
|
|
44
44
|
### WideNarrowPage
|
|
45
45
|
|
|
46
|
-
| Prop
|
|
47
|
-
|
|
48
|
-
| `children`
|
|
49
|
-
| `title`
|
|
50
|
-
| `templateCol` | `string`
|
|
51
|
-
| `icon`
|
|
46
|
+
| Prop | Type | Required | Description |
|
|
47
|
+
| ------------- | ------------- | -------- | ----------------------------------------------------- |
|
|
48
|
+
| `children` | `ReactNode[]` | Yes | Two children — `[0]` → wide slot, `[1]` → narrow slot |
|
|
49
|
+
| `title` | `string` | Yes | Page title (passed to WideNarrow) |
|
|
50
|
+
| `templateCol` | `string` | No | Column ratio (default `'1fr 1fr'`) |
|
|
51
|
+
| `icon` | `string` | No | Icon name (strips `'pi pi-'` prefix) |
|
|
52
52
|
|
|
53
53
|
### WideNarrowForm
|
|
54
54
|
|
|
55
|
-
| Prop
|
|
56
|
-
|
|
57
|
-
| `children` | `ReactNode[]` | Yes
|
|
55
|
+
| Prop | Type | Required | Description |
|
|
56
|
+
| ---------- | ------------- | -------- | ------------------------------------------ |
|
|
57
|
+
| `children` | `ReactNode[]` | Yes | Two children rendered in wide/narrow slots |
|
|
58
58
|
|
|
59
59
|
### WideNarrowDetails
|
|
60
60
|
|
|
61
|
-
| Prop
|
|
62
|
-
|
|
63
|
-
| `label`
|
|
64
|
-
| `showLabel`
|
|
65
|
-
| `showHighlightedData` | `boolean`
|
|
66
|
-
| `getPConnect`
|
|
61
|
+
| Prop | Type | Required | Description |
|
|
62
|
+
| --------------------- | ---------- | -------- | ---------------------------------------------------------- |
|
|
63
|
+
| `label` | `string` | No | Section label for FieldGroup |
|
|
64
|
+
| `showLabel` | `boolean` | No | Whether to show the label. Default `true` |
|
|
65
|
+
| `showHighlightedData` | `boolean` | No | Whether to render highlighted data fields. Default `false` |
|
|
66
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
67
67
|
|
|
68
68
|
## Behavioral Contract
|
|
69
69
|
|
|
@@ -98,13 +98,14 @@ Derived from `WideNarrow.css`:
|
|
|
98
98
|
|
|
99
99
|
### Container
|
|
100
100
|
|
|
101
|
-
| CSS Class
|
|
102
|
-
|
|
103
|
-
| `.psdk-wide-narrow-column`
|
|
104
|
-
| `.psdk-wide-column-column`
|
|
105
|
-
| `.psdk-narrow-column-column` | Width
|
|
101
|
+
| CSS Class | Property | Value |
|
|
102
|
+
| ---------------------------- | -------- | ---------------------------------- |
|
|
103
|
+
| `.psdk-wide-narrow-column` | Display | two-column row layout |
|
|
104
|
+
| `.psdk-wide-column-column` | Width | ~67% (2 of 3 parts) — LEFT column |
|
|
105
|
+
| `.psdk-narrow-column-column` | Width | ~33% (1 of 3 parts) — RIGHT column |
|
|
106
106
|
|
|
107
107
|
**CSS-only implementation notes:**
|
|
108
|
+
|
|
108
109
|
- `.psdk-wide-narrow-column`: `display: grid; grid-template-columns: 2fr 1fr; gap: 1rem`.
|
|
109
110
|
- Wide column (left): `2fr` — takes the first grid column.
|
|
110
111
|
- Narrow column (right): `1fr` — takes the second grid column.
|
|
@@ -112,12 +113,12 @@ Derived from `WideNarrow.css`:
|
|
|
112
113
|
|
|
113
114
|
### Key Difference from NarrowWide
|
|
114
115
|
|
|
115
|
-
|
|
|
116
|
-
|
|
117
|
-
| Left column
|
|
118
|
-
| Right column
|
|
119
|
-
| CSS container class
|
|
120
|
-
| `COLUMN_WIDTHS` (Details) | `[4, 8]`
|
|
116
|
+
| | NarrowWide | WideNarrow |
|
|
117
|
+
| ------------------------- | -------------------------- | -------------------------- |
|
|
118
|
+
| Left column | Narrow (~33%) | Wide (~67%) |
|
|
119
|
+
| Right column | Wide (~67%) | Narrow (~33%) |
|
|
120
|
+
| CSS container class | `.psdk-narrow-wide-column` | `.psdk-wide-narrow-column` |
|
|
121
|
+
| `COLUMN_WIDTHS` (Details) | `[4, 8]` | `[8, 4]` |
|
|
121
122
|
|
|
122
123
|
## Edge Cases & Special Logic
|
|
123
124
|
|
|
@@ -136,15 +137,16 @@ Derived from `WideNarrow.css`:
|
|
|
136
137
|
|
|
137
138
|
Listed design systems are examples only.
|
|
138
139
|
|
|
139
|
-
| Design System
|
|
140
|
-
|
|
141
|
-
| Default (CSS only) | CSS Grid `grid-template-columns: 2fr 1fr; gap: 1rem`
|
|
142
|
-
| MUI
|
|
143
|
-
| Ant Design
|
|
144
|
-
| Chakra UI
|
|
145
|
-
| Shadcn/ui
|
|
140
|
+
| Design System | Recommended Component |
|
|
141
|
+
| ------------------ | -------------------------------------------------------------------------------- |
|
|
142
|
+
| Default (CSS only) | CSS Grid `grid-template-columns: 2fr 1fr; gap: 1rem` |
|
|
143
|
+
| MUI | `<Grid container><Grid size={{ xs: 12, md: 8 }}><Grid size={{ xs: 12, md: 4 }}>` |
|
|
144
|
+
| Ant Design | `<Row gutter={16}><Col xs={24} md={16}><Col xs={24} md={8}>` |
|
|
145
|
+
| Chakra UI | `<Grid templateColumns={{ base: '1fr', md: '2fr 1fr' }} gap={4}>` |
|
|
146
|
+
| Shadcn/ui | Tailwind `grid grid-cols-1 md:grid-cols-[2fr_1fr] gap-4` |
|
|
146
147
|
|
|
147
148
|
When implementing in a specific design system:
|
|
149
|
+
|
|
148
150
|
- Wide column ≈ 67% width (left side)
|
|
149
151
|
- Narrow column ≈ 33% width (right side)
|
|
150
152
|
- `WideNarrowDetails` forces DISPLAY_ONLY + readOnly on all children
|