@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 @@ Renders a form's fields in a 1, 2, or 3-column grid layout. Children come from a
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `NumCols`
|
|
24
|
-
| `instructions` | `string`
|
|
25
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| -------------- | ---------- | -------- | -------------------------------------------------------- |
|
|
23
|
+
| `NumCols` | `string` | No | Number of columns: `'1'`, `'2'`, or `'3'`. Default `'1'` |
|
|
24
|
+
| `instructions` | `string` | No | HTML instruction text shown above the form |
|
|
25
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
26
26
|
|
|
27
27
|
## Behavioral Contract
|
|
28
28
|
|
|
@@ -47,13 +47,14 @@ Derived from `DefaultForm.css`:
|
|
|
47
47
|
|
|
48
48
|
### Column Layouts
|
|
49
49
|
|
|
50
|
-
| Class
|
|
51
|
-
|
|
52
|
-
| `psdk-default-form-one-column`
|
|
53
|
-
| `psdk-default-form-two-column`
|
|
54
|
-
| `psdk-default-form-three-column` | Three equal columns
|
|
50
|
+
| Class | Layout |
|
|
51
|
+
| -------------------------------- | ------------------------- |
|
|
52
|
+
| `psdk-default-form-one-column` | Single column, full width |
|
|
53
|
+
| `psdk-default-form-two-column` | Two equal columns |
|
|
54
|
+
| `psdk-default-form-three-column` | Three equal columns |
|
|
55
55
|
|
|
56
56
|
**CSS-only implementation notes:**
|
|
57
|
+
|
|
57
58
|
- One column: `display: grid; grid-template-columns: 1fr; gap: 1rem`.
|
|
58
59
|
- Two column: `display: grid; grid-template-columns: 1fr 1fr; gap: 1rem`.
|
|
59
60
|
- Three column: `display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem`.
|
|
@@ -62,10 +63,10 @@ Derived from `DefaultForm.css`:
|
|
|
62
63
|
|
|
63
64
|
### Instruction Text
|
|
64
65
|
|
|
65
|
-
| Property
|
|
66
|
-
|
|
67
|
-
| CSS class | `psdk-default-form-instruction-text`
|
|
68
|
-
| Content
|
|
66
|
+
| Property | Value |
|
|
67
|
+
| --------- | ------------------------------------------------ |
|
|
68
|
+
| CSS class | `psdk-default-form-instruction-text` |
|
|
69
|
+
| Content | Raw HTML rendered with `dangerouslySetInnerHTML` |
|
|
69
70
|
|
|
70
71
|
## Edge Cases & Special Logic
|
|
71
72
|
|
|
@@ -88,15 +89,16 @@ Derived from `DefaultForm.css`:
|
|
|
88
89
|
|
|
89
90
|
Listed design systems are examples only.
|
|
90
91
|
|
|
91
|
-
| Design System
|
|
92
|
-
|
|
93
|
-
| Default (CSS only) | CSS Grid with column count driven by `NumCols`
|
|
94
|
-
| MUI
|
|
95
|
-
| Ant Design
|
|
96
|
-
| Chakra UI
|
|
97
|
-
| Shadcn/ui
|
|
92
|
+
| Design System | Recommended Component |
|
|
93
|
+
| ------------------ | -------------------------------------------------------------- |
|
|
94
|
+
| Default (CSS only) | CSS Grid with column count driven by `NumCols` |
|
|
95
|
+
| MUI | CSS Grid via `sx` prop or makeStyles |
|
|
96
|
+
| Ant Design | `<Form layout='vertical'>` with `<Row>/<Col>` for multi-column |
|
|
97
|
+
| Chakra UI | `<SimpleGrid columns={N} spacing={4}>` |
|
|
98
|
+
| Shadcn/ui | Tailwind `grid grid-cols-1/2/3 gap-4` |
|
|
98
99
|
|
|
99
100
|
When implementing in a specific design system:
|
|
101
|
+
|
|
100
102
|
- `NumCols` is always a string (`'1'`/`'2'`/`'3'`) — parse before use
|
|
101
103
|
- Instructions HTML is rendered above the form, before any fields
|
|
102
104
|
- Each child field must be subscribed to the store for reactive visibility/prop updates
|
|
@@ -18,20 +18,20 @@ Renders a page's child regions in a responsive grid layout. The number and propo
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `layout`
|
|
24
|
-
| `children`
|
|
25
|
-
| `title`
|
|
26
|
-
| `icon`
|
|
27
|
-
| `localeReference` | `string`
|
|
28
|
-
| `enableBanner`
|
|
29
|
-
| `heading`
|
|
30
|
-
| `message`
|
|
31
|
-
| `imageTheme`
|
|
32
|
-
| `backgroundImage` | `string`
|
|
33
|
-
| `backgroundColor` | `string`
|
|
34
|
-
| `tintImage`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ----------------- | ----------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- |
|
|
23
|
+
| `layout` | `'one-column' \| 'two-column' \| 'narrow-wide' \| 'wide-narrow' \| 'dynamic'` | No | Column layout. Default `'one-column'` |
|
|
24
|
+
| `children` | `ReactNode \| ReactNode[]` | Yes | Child region components to render in columns |
|
|
25
|
+
| `title` | `string` | Yes | Page title (part of `CommonPageProps`, not directly rendered) |
|
|
26
|
+
| `icon` | `string` | Yes | Page icon (part of `CommonPageProps`, not directly rendered) |
|
|
27
|
+
| `localeReference` | `string` | Yes | Locale reference key |
|
|
28
|
+
| `enableBanner` | `boolean` | No | If `true`, render `Banner` hero with children as `a`/`b` columns |
|
|
29
|
+
| `heading` | `string` | No | Banner heading. Default `''` |
|
|
30
|
+
| `message` | `string` | No | Banner message. Default `''` |
|
|
31
|
+
| `imageTheme` | `'light' \| 'dark' \| undefined` | No | Banner image theme |
|
|
32
|
+
| `backgroundImage` | `string` | No | Banner background image URL. Default `''` |
|
|
33
|
+
| `backgroundColor` | `string` | No | Banner background color. Default `''` |
|
|
34
|
+
| `tintImage` | `boolean` | No | Banner image tint flag |
|
|
35
35
|
|
|
36
36
|
## Behavioral Contract
|
|
37
37
|
|
|
@@ -58,20 +58,21 @@ Renders a page's child regions in a responsive grid layout. The number and propo
|
|
|
58
58
|
|
|
59
59
|
### Column Widths
|
|
60
60
|
|
|
61
|
-
| `layout`
|
|
62
|
-
|
|
63
|
-
| `'one-column'`
|
|
64
|
-
| `'two-column'`
|
|
65
|
-
| `'narrow-wide'` | 4, 8
|
|
66
|
-
| `'wide-narrow'` | 8, 4
|
|
61
|
+
| `layout` | Column sizes (MUI 12-grid) |
|
|
62
|
+
| --------------- | -------------------------- |
|
|
63
|
+
| `'one-column'` | 12 |
|
|
64
|
+
| `'two-column'` | 6, 6 |
|
|
65
|
+
| `'narrow-wide'` | 4, 8 |
|
|
66
|
+
| `'wide-narrow'` | 8, 4 |
|
|
67
67
|
|
|
68
68
|
### Grid Spacing
|
|
69
69
|
|
|
70
|
-
| Property
|
|
71
|
-
|
|
70
|
+
| Property | Value |
|
|
71
|
+
| ----------------- | ------------------------- |
|
|
72
72
|
| Container spacing | 1 (≈ 8px between columns) |
|
|
73
73
|
|
|
74
74
|
**CSS-only implementation notes:**
|
|
75
|
+
|
|
75
76
|
- One-column: `display: grid; grid-template-columns: 1fr; gap: 8px`.
|
|
76
77
|
- Two-column: `display: grid; grid-template-columns: 1fr 1fr; gap: 8px`.
|
|
77
78
|
- Narrow-wide: `display: grid; grid-template-columns: 1fr 2fr; gap: 8px`.
|
|
@@ -96,15 +97,16 @@ Renders a page's child regions in a responsive grid layout. The number and propo
|
|
|
96
97
|
|
|
97
98
|
Listed design systems are examples only.
|
|
98
99
|
|
|
99
|
-
| Design System
|
|
100
|
-
|
|
101
|
-
| Default (CSS only) | CSS Grid with column template driven by `layout` prop
|
|
102
|
-
| MUI
|
|
103
|
-
| Ant Design
|
|
104
|
-
| Chakra UI
|
|
105
|
-
| Shadcn/ui
|
|
100
|
+
| Design System | Recommended Component |
|
|
101
|
+
| ------------------ | --------------------------------------------------------------- |
|
|
102
|
+
| Default (CSS only) | CSS Grid with column template driven by `layout` prop |
|
|
103
|
+
| MUI | `<Grid container spacing={1}>` with `<Grid size={N}>` per child |
|
|
104
|
+
| Ant Design | `<Row gutter={8}>` with `<Col span={N * 2}>` (24-col grid) |
|
|
105
|
+
| Chakra UI | `<SimpleGrid columns={{ base: 1, md: N }}>` |
|
|
106
|
+
| Shadcn/ui | Tailwind grid utilities matching the layout |
|
|
106
107
|
|
|
107
108
|
When implementing in a specific design system:
|
|
109
|
+
|
|
108
110
|
- Map `layout` prop to the appropriate column template
|
|
109
111
|
- Banner mode delegates to the `Banner` component — implement Banner first
|
|
110
112
|
- All children are sized uniformly within their column (no per-child overrides)
|
|
@@ -18,12 +18,12 @@ Renders a labeled group of read-only fields in a single-column vertical stack. F
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `label`
|
|
24
|
-
| `showLabel`
|
|
25
|
-
| `showHighlightedData` | `boolean`
|
|
26
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| --------------------- | ---------- | -------- | --------------------------------------------------- |
|
|
23
|
+
| `label` | `string` | Yes | Section heading for the FieldGroup wrapper |
|
|
24
|
+
| `showLabel` | `boolean` | Yes | Whether to show the section label |
|
|
25
|
+
| `showHighlightedData` | `boolean` | Yes | Whether to render highlighted fields above children |
|
|
26
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
27
27
|
|
|
28
28
|
## Behavioral Contract
|
|
29
29
|
|
|
@@ -44,13 +44,14 @@ Renders a labeled group of read-only fields in a single-column vertical stack. F
|
|
|
44
44
|
|
|
45
45
|
### Overall Layout
|
|
46
46
|
|
|
47
|
-
| Property
|
|
48
|
-
|
|
49
|
-
| Column structure
|
|
50
|
-
| Inner spacing
|
|
47
|
+
| Property | Value |
|
|
48
|
+
| ------------------------ | -------------------------------------------------------- |
|
|
49
|
+
| Column structure | Single column (xs: 12 for each child) |
|
|
50
|
+
| Inner spacing | Grid spacing 1 (≈ 8px between fields) |
|
|
51
51
|
| Highlighted data padding | `padding: 0 0 1em` (space below before regular children) |
|
|
52
52
|
|
|
53
53
|
**CSS-only implementation notes:**
|
|
54
|
+
|
|
54
55
|
- Outer wrapper: `FieldGroup` component (see `FieldGroupDSE.md` for styles).
|
|
55
56
|
- Children grid: `display: grid; grid-template-columns: 1fr; gap: 8px`.
|
|
56
57
|
- Highlighted data row: `display: grid; grid-template-columns: 1fr; gap: 8px; padding-bottom: 1rem`.
|
|
@@ -74,15 +75,16 @@ Renders a labeled group of read-only fields in a single-column vertical stack. F
|
|
|
74
75
|
|
|
75
76
|
Listed design systems are examples only.
|
|
76
77
|
|
|
77
|
-
| Design System
|
|
78
|
-
|
|
79
|
-
| Default (CSS only) | `<fieldset>/<legend>` wrapper with CSS grid single column
|
|
80
|
-
| MUI
|
|
81
|
-
| Ant Design
|
|
82
|
-
| Chakra UI
|
|
83
|
-
| Shadcn/ui
|
|
78
|
+
| Design System | Recommended Component |
|
|
79
|
+
| ------------------ | ------------------------------------------------------------------------ |
|
|
80
|
+
| Default (CSS only) | `<fieldset>/<legend>` wrapper with CSS grid single column |
|
|
81
|
+
| MUI | `<Grid container spacing={1}>` with `<Grid size={{ xs: 12 }}>` per field |
|
|
82
|
+
| Ant Design | `<Card title={label}>` with `<Row><Col span={24}>` per field |
|
|
83
|
+
| Chakra UI | `<Box>` with heading + `<Stack spacing={2}>` |
|
|
84
|
+
| Shadcn/ui | `<Card><CardHeader><CardContent>` with stacked field items |
|
|
84
85
|
|
|
85
86
|
When implementing in a specific design system:
|
|
87
|
+
|
|
86
88
|
- All children must have `displayMode='DISPLAY_ONLY'` and `readOnly=true` inherited
|
|
87
89
|
- Highlighted data uses `STACKED_LARGE_VAL` — larger/bolder value display
|
|
88
90
|
- `showLabel=false` hides the section heading entirely
|
|
@@ -18,12 +18,12 @@ Renders a tabbed layout for a details region. Each tab contains display-only con
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `children`
|
|
24
|
-
| `label`
|
|
25
|
-
| `showLabel`
|
|
26
|
-
| `getPConnect` | `function`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ------------- | ------------- | -------- | ----------------------------------------------------------------- |
|
|
23
|
+
| `children` | `ReactNode[]` | Yes | Tab content — `children[0]` is the deferred-loaded tabs container |
|
|
24
|
+
| `label` | `string` | Yes | Section heading shown above tabs when `showLabel` is true |
|
|
25
|
+
| `showLabel` | `boolean` | No | Whether to show the section heading. Default `true` |
|
|
26
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
27
27
|
|
|
28
28
|
## Behavioral Contract
|
|
29
29
|
|
|
@@ -43,19 +43,20 @@ Renders a tabbed layout for a details region. Each tab contains display-only con
|
|
|
43
43
|
|
|
44
44
|
### Heading
|
|
45
45
|
|
|
46
|
-
| Property
|
|
47
|
-
|
|
48
|
-
| Tag
|
|
46
|
+
| Property | Value |
|
|
47
|
+
| --------------- | ------------------------------- |
|
|
48
|
+
| Tag | `<h3>` |
|
|
49
49
|
| Shown only when | `propsToUse.showLabel === true` |
|
|
50
50
|
|
|
51
51
|
### Tab Bar
|
|
52
52
|
|
|
53
|
-
| Property
|
|
54
|
-
|
|
55
|
-
| Scrollable
|
|
56
|
-
| Tab text transform | Inherits design system default
|
|
53
|
+
| Property | Value |
|
|
54
|
+
| ------------------ | ------------------------------------------------------------------ |
|
|
55
|
+
| Scrollable | Not specified (default non-scrollable in reference implementation) |
|
|
56
|
+
| Tab text transform | Inherits design system default |
|
|
57
57
|
|
|
58
58
|
**CSS-only implementation notes:**
|
|
59
|
+
|
|
59
60
|
- Heading: `font-size: 1.25rem; font-weight: 600; margin-bottom: 8px`.
|
|
60
61
|
- Tab bar: `display: flex; border-bottom: 2px solid var(--divider); gap: 0`.
|
|
61
62
|
- Each tab: `padding: 8px 16px; cursor: pointer; border-bottom: 2px solid transparent`.
|
|
@@ -81,15 +82,16 @@ Renders a tabbed layout for a details region. Each tab contains display-only con
|
|
|
81
82
|
|
|
82
83
|
Listed design systems are examples only.
|
|
83
84
|
|
|
84
|
-
| Design System
|
|
85
|
-
|
|
86
|
-
| Default (CSS only) | Custom tab bar with CSS underline indicator
|
|
87
|
-
| MUI
|
|
88
|
-
| Ant Design
|
|
89
|
-
| Chakra UI
|
|
90
|
-
| Shadcn/ui
|
|
85
|
+
| Design System | Recommended Component |
|
|
86
|
+
| ------------------ | -------------------------------------------------------- |
|
|
87
|
+
| Default (CSS only) | Custom tab bar with CSS underline indicator |
|
|
88
|
+
| MUI | `<TabContext>` + `<Tabs>` + `<TabPanel>` from `@mui/lab` |
|
|
89
|
+
| Ant Design | `<Tabs>` with `items` array |
|
|
90
|
+
| Chakra UI | `<Tabs>` + `<TabList>` + `<TabPanels>` |
|
|
91
|
+
| Shadcn/ui | `<Tabs>` + `<TabsList>` + `<TabsContent>` |
|
|
91
92
|
|
|
92
93
|
When implementing in a specific design system:
|
|
94
|
+
|
|
93
95
|
- `getVisibleTabs` and `getTransientTabs` are tabUtils helpers — use them regardless of UI library
|
|
94
96
|
- Tab content is lazily loaded via the transient tab pattern
|
|
95
97
|
- Optional `<h3>` heading above the tab bar (controlled by `showLabel`)
|
|
@@ -20,12 +20,12 @@ Identical to `Details` and `DetailsTwoColumn` in all behavior except children ar
|
|
|
20
20
|
|
|
21
21
|
## Props
|
|
22
22
|
|
|
23
|
-
| Prop
|
|
24
|
-
|
|
25
|
-
| `label`
|
|
26
|
-
| `showLabel`
|
|
27
|
-
| `showHighlightedData` | `boolean`
|
|
28
|
-
| `getPConnect`
|
|
23
|
+
| Prop | Type | Required | Description |
|
|
24
|
+
| --------------------- | ---------- | -------- | -------------------------------------------------------------------- |
|
|
25
|
+
| `label` | `string` | Yes | Section heading for the FieldGroup wrapper |
|
|
26
|
+
| `showLabel` | `boolean` | No | Whether to show the section label. Default `true` |
|
|
27
|
+
| `showHighlightedData` | `boolean` | No | Whether to render highlighted fields above children. Default `false` |
|
|
28
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
29
29
|
|
|
30
30
|
## Behavioral Contract
|
|
31
31
|
|
|
@@ -39,13 +39,14 @@ All steps identical to `Details`, except:
|
|
|
39
39
|
|
|
40
40
|
### Column Structure
|
|
41
41
|
|
|
42
|
-
|
|
|
43
|
-
|
|
44
|
-
| Column width per child
|
|
45
|
-
| Columns per row
|
|
46
|
-
| Highlighted data column | xs: 12
|
|
42
|
+
| | Details | DetailsTwoColumn | DetailsThreeColumn |
|
|
43
|
+
| ----------------------- | ------- | ---------------- | ------------------ |
|
|
44
|
+
| Column width per child | xs: 12 | xs: 6 | **xs: 4** |
|
|
45
|
+
| Columns per row | 1 | 2 | **3** |
|
|
46
|
+
| Highlighted data column | xs: 12 | xs: 6 | **xs: 4** |
|
|
47
47
|
|
|
48
48
|
**CSS-only implementation notes:**
|
|
49
|
+
|
|
49
50
|
- Children grid: `display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px`.
|
|
50
51
|
- Highlighted data row: `display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; padding-bottom: 1rem`.
|
|
51
52
|
- Wrap in FieldGroup (see `FieldGroup.md` DSE skill).
|
|
@@ -65,14 +66,15 @@ All edge cases identical to `Details`. See `Details.md`.
|
|
|
65
66
|
|
|
66
67
|
Listed design systems are examples only.
|
|
67
68
|
|
|
68
|
-
| Design System
|
|
69
|
-
|
|
69
|
+
| Design System | Recommended Component |
|
|
70
|
+
| ------------------ | ----------------------------------------------------------------------------- |
|
|
70
71
|
| Default (CSS only) | `<fieldset>/<legend>` with CSS `grid-template-columns: 1fr 1fr 1fr; gap: 8px` |
|
|
71
|
-
| MUI
|
|
72
|
-
| Ant Design
|
|
73
|
-
| Chakra UI
|
|
74
|
-
| Shadcn/ui
|
|
72
|
+
| MUI | `<Grid container spacing={1}>` with `<Grid size={{ xs: 4 }}>` per field |
|
|
73
|
+
| Ant Design | `<Descriptions column={3}>` or `<Row><Col span={8}>` per field |
|
|
74
|
+
| Chakra UI | `<SimpleGrid columns={3} spacing={2}>` |
|
|
75
|
+
| Shadcn/ui | Tailwind `grid grid-cols-3 gap-2` |
|
|
75
76
|
|
|
76
77
|
When implementing in a specific design system:
|
|
78
|
+
|
|
77
79
|
- 3-column layout — each field takes one-third of the available width
|
|
78
80
|
- All other behaviors inherited from `Details` (DISPLAY_ONLY, readOnly, FieldGroup, highlighted data)
|
|
@@ -20,12 +20,12 @@ Identical to `Details` in all behavior except children are distributed into a **
|
|
|
20
20
|
|
|
21
21
|
## Props
|
|
22
22
|
|
|
23
|
-
| Prop
|
|
24
|
-
|
|
25
|
-
| `label`
|
|
26
|
-
| `showLabel`
|
|
27
|
-
| `showHighlightedData` | `boolean`
|
|
28
|
-
| `getPConnect`
|
|
23
|
+
| Prop | Type | Required | Description |
|
|
24
|
+
| --------------------- | ---------- | -------- | -------------------------------------------------------------------- |
|
|
25
|
+
| `label` | `string` | Yes | Section heading for the FieldGroup wrapper |
|
|
26
|
+
| `showLabel` | `boolean` | No | Whether to show the section label. Default `true` |
|
|
27
|
+
| `showHighlightedData` | `boolean` | No | Whether to render highlighted fields above children. Default `false` |
|
|
28
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
29
29
|
|
|
30
30
|
## Behavioral Contract
|
|
31
31
|
|
|
@@ -39,13 +39,14 @@ All steps identical to `Details`, except:
|
|
|
39
39
|
|
|
40
40
|
### Column Structure
|
|
41
41
|
|
|
42
|
-
|
|
|
43
|
-
|
|
44
|
-
| Column width per child
|
|
45
|
-
| Columns per row
|
|
46
|
-
| Highlighted data column | xs: 12
|
|
42
|
+
| | Details | DetailsTwoColumn |
|
|
43
|
+
| ----------------------- | ------------------- | ---------------------- |
|
|
44
|
+
| Column width per child | xs: 12 (full width) | **xs: 6 (half width)** |
|
|
45
|
+
| Columns per row | 1 | **2** |
|
|
46
|
+
| Highlighted data column | xs: 12 | **xs: 6** |
|
|
47
47
|
|
|
48
48
|
**CSS-only implementation notes:**
|
|
49
|
+
|
|
49
50
|
- Children grid: `display: grid; grid-template-columns: 1fr 1fr; gap: 8px`.
|
|
50
51
|
- Highlighted data row: `display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding-bottom: 1rem`.
|
|
51
52
|
- Wrap in FieldGroup (see `FieldGroup.md` DSE skill).
|
|
@@ -65,14 +66,15 @@ All edge cases identical to `Details`. See `Details.md`.
|
|
|
65
66
|
|
|
66
67
|
Listed design systems are examples only.
|
|
67
68
|
|
|
68
|
-
| Design System
|
|
69
|
-
|
|
69
|
+
| Design System | Recommended Component |
|
|
70
|
+
| ------------------ | ------------------------------------------------------------------------- |
|
|
70
71
|
| Default (CSS only) | `<fieldset>/<legend>` with CSS `grid-template-columns: 1fr 1fr; gap: 8px` |
|
|
71
|
-
| MUI
|
|
72
|
-
| Ant Design
|
|
73
|
-
| Chakra UI
|
|
74
|
-
| Shadcn/ui
|
|
72
|
+
| MUI | `<Grid container spacing={1}>` with `<Grid size={{ xs: 6 }}>` per field |
|
|
73
|
+
| Ant Design | `<Descriptions column={2}>` or `<Row><Col span={12}>` per field |
|
|
74
|
+
| Chakra UI | `<SimpleGrid columns={2} spacing={2}>` |
|
|
75
|
+
| Shadcn/ui | Tailwind `grid grid-cols-2 gap-2` |
|
|
75
76
|
|
|
76
77
|
When implementing in a specific design system:
|
|
78
|
+
|
|
77
79
|
- 2-column layout — each field takes half the available width
|
|
78
80
|
- All other behaviors inherited from `Details` (DISPLAY_ONLY, readOnly, FieldGroup, highlighted data)
|
|
@@ -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
|