@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
package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md
CHANGED
|
@@ -9,6 +9,7 @@ Promotional/informational banner with a full-width background image hero section
|
|
|
9
9
|
## Component Purpose
|
|
10
10
|
|
|
11
11
|
Renders a visually rich banner composed of two parts:
|
|
12
|
+
|
|
12
13
|
1. **Hero section:** Full-width area with a background image, centered title and message text overlaid.
|
|
13
14
|
2. **Content columns:** Two adjustable-width columns below the hero, rendered from the `a` and `b` slot props. Column widths are controlled by the `variant` prop.
|
|
14
15
|
|
|
@@ -20,18 +21,18 @@ Renders a visually rich banner composed of two parts:
|
|
|
20
21
|
|
|
21
22
|
## Props
|
|
22
23
|
|
|
23
|
-
| Prop
|
|
24
|
-
|
|
25
|
-
| `a`
|
|
26
|
-
| `b`
|
|
27
|
-
| `banner`
|
|
28
|
-
| `banner.title`
|
|
29
|
-
| `banner.message`
|
|
30
|
-
| `banner.backgroundImage` | `string`
|
|
31
|
-
| `banner.variant`
|
|
32
|
-
| `banner.backgroundColor` | `any`
|
|
33
|
-
| `banner.tintImage`
|
|
34
|
-
| `variant`
|
|
24
|
+
| Prop | Type | Required | Description |
|
|
25
|
+
| ------------------------ | ----------- | -------- | ------------------------------------------------------------------ |
|
|
26
|
+
| `a` | `ReactNode` | Yes | Content for the first (left/narrower) column |
|
|
27
|
+
| `b` | `ReactNode` | Yes | Content for the second (right/wider) column |
|
|
28
|
+
| `banner` | `object` | Yes | Banner metadata (see sub-props below) |
|
|
29
|
+
| `banner.title` | `string` | Yes | Title text displayed in the hero section |
|
|
30
|
+
| `banner.message` | `string` | Yes | Descriptive message text in the hero section |
|
|
31
|
+
| `banner.backgroundImage` | `string` | Yes | URL of the background image for the hero section |
|
|
32
|
+
| `banner.variant` | `any` | No | Unused internally (layout variant comes from top-level `variant`) |
|
|
33
|
+
| `banner.backgroundColor` | `any` | No | Unused internally |
|
|
34
|
+
| `banner.tintImage` | `any` | No | Unused internally |
|
|
35
|
+
| `variant` | `string` | Yes | Column layout: `'two-column'`, `'narrow-wide'`, or `'wide-narrow'` |
|
|
35
36
|
|
|
36
37
|
## Behavioral Contract
|
|
37
38
|
|
|
@@ -63,53 +64,54 @@ Derived from `Banner.css`:
|
|
|
63
64
|
|
|
64
65
|
### Hero Section
|
|
65
66
|
|
|
66
|
-
| Property
|
|
67
|
-
|
|
68
|
-
| Margin left
|
|
69
|
-
| Margin right
|
|
70
|
-
| Height
|
|
71
|
-
| Background size
|
|
72
|
-
| Background position | center center
|
|
67
|
+
| Property | Value |
|
|
68
|
+
| ------------------- | -------------------------------- |
|
|
69
|
+
| Margin left | -16px (bleeds to container edge) |
|
|
70
|
+
| Margin right | -16px |
|
|
71
|
+
| Height | `calc(19rem)` |
|
|
72
|
+
| Background size | cover |
|
|
73
|
+
| Background position | center center |
|
|
73
74
|
|
|
74
75
|
### Hero Overlay
|
|
75
76
|
|
|
76
|
-
| Property
|
|
77
|
-
|
|
78
|
-
| Background color | transparent
|
|
79
|
-
| Color
|
|
80
|
-
| Width
|
|
81
|
-
| Height
|
|
82
|
-
| Text align
|
|
83
|
-
| Display
|
|
84
|
-
| Flex direction
|
|
85
|
-
| Justify content
|
|
86
|
-
| Align items
|
|
87
|
-
| Gap
|
|
77
|
+
| Property | Value |
|
|
78
|
+
| ---------------- | -------------------------- |
|
|
79
|
+
| Background color | transparent |
|
|
80
|
+
| Color | `var(--banner-text-color)` |
|
|
81
|
+
| Width | 100% |
|
|
82
|
+
| Height | 100% |
|
|
83
|
+
| Text align | center |
|
|
84
|
+
| Display | flex |
|
|
85
|
+
| Flex direction | column |
|
|
86
|
+
| Justify content | center |
|
|
87
|
+
| Align items | center |
|
|
88
|
+
| Gap | `calc(0.5rem)` |
|
|
88
89
|
|
|
89
90
|
### Hero Title
|
|
90
91
|
|
|
91
|
-
| Property
|
|
92
|
-
|
|
93
|
-
| Margin
|
|
94
|
-
| Font size
|
|
95
|
-
| Font weight | 600
|
|
92
|
+
| Property | Value |
|
|
93
|
+
| ----------- | -------- |
|
|
94
|
+
| Margin | 0 |
|
|
95
|
+
| Font size | 1.728rem |
|
|
96
|
+
| Font weight | 600 |
|
|
96
97
|
|
|
97
98
|
### Hero Message
|
|
98
99
|
|
|
99
|
-
| Property
|
|
100
|
-
|
|
101
|
-
| Margin
|
|
102
|
-
| Font size
|
|
103
|
-
| Font weight | 400
|
|
100
|
+
| Property | Value |
|
|
101
|
+
| ----------- | ----- |
|
|
102
|
+
| Margin | 0 |
|
|
103
|
+
| Font size | 1rem |
|
|
104
|
+
| Font weight | 400 |
|
|
104
105
|
|
|
105
106
|
### Content Grid
|
|
106
107
|
|
|
107
|
-
| Property
|
|
108
|
-
|
|
109
|
-
| Padding
|
|
108
|
+
| Property | Value |
|
|
109
|
+
| -------------- | ---------------------- |
|
|
110
|
+
| Padding | 1rem |
|
|
110
111
|
| Column spacing | 1 spacing unit (≈ 8px) |
|
|
111
112
|
|
|
112
113
|
**CSS-only implementation notes:**
|
|
114
|
+
|
|
113
115
|
- Hero: `margin: 0 -16px; height: 19rem; background-size: cover; background-position: center; position: relative`.
|
|
114
116
|
- Overlay: `position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0.5rem; color: var(--banner-text-color); text-align: center`.
|
|
115
117
|
- Content grid below hero: `display: grid; grid-template-columns: <a-cols>fr <b-cols>fr; gap: 8px; padding: 1rem`.
|
|
@@ -134,15 +136,16 @@ Derived from `Banner.css`:
|
|
|
134
136
|
|
|
135
137
|
Listed design systems are examples only.
|
|
136
138
|
|
|
137
|
-
| Design System
|
|
138
|
-
|
|
139
|
-
| Default (CSS only) | CSS Grid for columns, CSS background for hero
|
|
140
|
-
| MUI
|
|
141
|
-
| Ant Design
|
|
142
|
-
| Chakra UI
|
|
143
|
-
| Shadcn/ui
|
|
139
|
+
| Design System | Recommended Component |
|
|
140
|
+
| ------------------ | ------------------------------------------------------------------------- |
|
|
141
|
+
| Default (CSS only) | CSS Grid for columns, CSS background for hero |
|
|
142
|
+
| MUI | `<Grid container size={12}>` with `<Grid size={{ xs: ... }}>` for columns |
|
|
143
|
+
| Ant Design | `<Row gutter={8}>` with `<Col span={...}>` for columns |
|
|
144
|
+
| Chakra UI | `<SimpleGrid columns={2}>` or `<Grid templateColumns='...'>` |
|
|
145
|
+
| Shadcn/ui | CSS Grid with Tailwind column utilities |
|
|
144
146
|
|
|
145
147
|
When implementing in a specific design system, map the following:
|
|
148
|
+
|
|
146
149
|
- `variant` column widths → grid column span values
|
|
147
150
|
- Background image hero → `backgroundImage` inline style with `background-size: cover`
|
|
148
151
|
- Column A (card-like) → design system's Card or `bg` prop with border-radius
|
|
@@ -18,32 +18,34 @@ Renders a responsive 2-column read-only grid of field values for a case summary
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `theFields`
|
|
24
|
-
| `status`
|
|
25
|
-
| `showStatus` | `boolean`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ------------ | ---------------------------------------------- | -------- | ------------------------------------------------------------------------- |
|
|
23
|
+
| `theFields` | `Array<{ type: string; config: FieldConfig }>` | Yes | Array of typed field descriptors to render |
|
|
24
|
+
| `status` | `string` | No | The case status value, injected at position 1 if `showStatus` is true |
|
|
25
|
+
| `showStatus` | `boolean` | No | If `true`, splices a status field entry at position 1 in the fields array |
|
|
26
26
|
|
|
27
27
|
### FieldConfig shape (within each item in `theFields`)
|
|
28
28
|
|
|
29
|
-
| Property
|
|
30
|
-
|
|
31
|
-
| `label`
|
|
32
|
-
| `value`
|
|
33
|
-
| `visibility`
|
|
34
|
-
| `caption`
|
|
35
|
-
| `trueLabel`
|
|
36
|
-
| `falseLabel`
|
|
37
|
-
| `currencyISOCode` | `string` (optional)
|
|
29
|
+
| Property | Type | Description |
|
|
30
|
+
| ----------------- | -------------------- | ----------------------------------------- |
|
|
31
|
+
| `label` | `string` | Field label |
|
|
32
|
+
| `value` | `any` | Field value |
|
|
33
|
+
| `visibility` | `boolean` (optional) | If `false`, the field is hidden |
|
|
34
|
+
| `caption` | `string` (optional) | Alternative label for checkbox fields |
|
|
35
|
+
| `trueLabel` | `string` (optional) | Display text when checkbox value is true |
|
|
36
|
+
| `falseLabel` | `string` (optional) | Display text when checkbox value is false |
|
|
37
|
+
| `currencyISOCode` | `string` (optional) | ISO currency code for currency fields |
|
|
38
38
|
|
|
39
39
|
## Behavioral Contract
|
|
40
40
|
|
|
41
41
|
### 1. Status Field Injection
|
|
42
42
|
|
|
43
43
|
Before rendering, if `showStatus` is `true` AND `theFields[1].type !== 'status'`, inject a status entry at position 1:
|
|
44
|
+
|
|
44
45
|
```
|
|
45
46
|
{ type: 'status', config: { value: status, label: 'Status' } }
|
|
46
47
|
```
|
|
48
|
+
|
|
47
49
|
If the fields array has fewer than 2 items, append the status entry at the end.
|
|
48
50
|
|
|
49
51
|
### 2. State Management with Deep Equality
|
|
@@ -59,24 +61,25 @@ Skip any field where `config.visibility` exists and is `false`.
|
|
|
59
61
|
### 4. Type-Based Rendering (`getFieldValue(field)`)
|
|
60
62
|
|
|
61
63
|
When `field.config.value` is `null` or `''` (empty):
|
|
64
|
+
|
|
62
65
|
- For `caseoperator`: render `<Operator {...field.config} />`.
|
|
63
66
|
- For all other types: render a read-only TextField with value `'---'` and the field label.
|
|
64
67
|
|
|
65
68
|
When `field.config.value` is non-empty, switch on `field.type.toLowerCase()`:
|
|
66
69
|
|
|
67
|
-
| Type
|
|
68
|
-
|
|
69
|
-
| `textinput`, `decimal`, `integer`, `dropdown` | Read-only TextField (standard, no underline) with `value`
|
|
70
|
-
| `checkbox`
|
|
71
|
-
| `status`
|
|
72
|
-
| `phone`
|
|
73
|
-
| `email`
|
|
74
|
-
| `date`
|
|
75
|
-
| `datetime`
|
|
76
|
-
| `currency`
|
|
77
|
-
| `boolean`, `userreference`
|
|
78
|
-
| `caseoperator`
|
|
79
|
-
| default (unknown)
|
|
70
|
+
| Type | Rendering |
|
|
71
|
+
| --------------------------------------------- | --------------------------------------------------------------------------------------------------- |
|
|
72
|
+
| `textinput`, `decimal`, `integer`, `dropdown` | Read-only TextField (standard, no underline) with `value` |
|
|
73
|
+
| `checkbox` | Label: `label \|\| caption`; Value: `value ? trueLabel : falseLabel`; read-only TextField |
|
|
74
|
+
| `status` | Read-only TextField with class `psdk-csf-status-style` (uppercase, small, bold) |
|
|
75
|
+
| `phone` | `<a href={'tel:' + value}>` wrapping a read-only TextField with pointer cursor |
|
|
76
|
+
| `email` | `<a href={'mailto:' + format(value, 'email')}>` wrapping a read-only TextField with pointer cursor |
|
|
77
|
+
| `date` | Read-only TextField with `format(value, 'date', { format: dateFormatStringLong })` |
|
|
78
|
+
| `datetime` | Read-only TextField with `format(value, 'datetime', { format: dateFormatStringLong + ' hh:mm a' })` |
|
|
79
|
+
| `currency` | Read-only TextField with `format(value, 'currency', getCurrencyOptions(currencyISOCode))` |
|
|
80
|
+
| `boolean`, `userreference` | Read-only TextField with `format(value, type)` |
|
|
81
|
+
| `caseoperator` | `<Operator {...field.config} />` |
|
|
82
|
+
| default (unknown) | `<span>{type} {value}</span>` |
|
|
80
83
|
|
|
81
84
|
All TextFields use: `variant='standard'`, `slotProps.input.readOnly = true`, `slotProps.input.disableUnderline = true`.
|
|
82
85
|
|
|
@@ -90,23 +93,24 @@ Derived from `CaseSummaryFields.css`:
|
|
|
90
93
|
|
|
91
94
|
### Status Field
|
|
92
95
|
|
|
93
|
-
| Property
|
|
94
|
-
|
|
95
|
-
| Display
|
|
96
|
-
| Font size
|
|
97
|
-
| Font weight
|
|
98
|
-
| Line height
|
|
99
|
-
| Height
|
|
100
|
-
| Text transform | uppercase
|
|
96
|
+
| Property | Value |
|
|
97
|
+
| -------------- | -------------------------------- |
|
|
98
|
+
| Display | inline-block |
|
|
99
|
+
| Font size | 0.75rem |
|
|
100
|
+
| Font weight | bold |
|
|
101
|
+
| Line height | `calc(0.5rem * 2.5)` (≈ 1.25rem) |
|
|
102
|
+
| Height | `calc(0.5rem * 2.5)` (≈ 1.25rem) |
|
|
103
|
+
| Text transform | uppercase |
|
|
101
104
|
|
|
102
105
|
### Summary Grid Container
|
|
103
106
|
|
|
104
|
-
| Property | Value
|
|
105
|
-
|
|
106
|
-
| Padding
|
|
107
|
-
| Row gap
|
|
107
|
+
| Property | Value |
|
|
108
|
+
| -------- | --------------------------- |
|
|
109
|
+
| Padding | `calc(2 * 0.5rem)` (≈ 1rem) |
|
|
110
|
+
| Row gap | `calc(2 * 0.5rem)` (≈ 1rem) |
|
|
108
111
|
|
|
109
112
|
**CSS-only implementation notes:**
|
|
113
|
+
|
|
110
114
|
- Summary grid: `display: grid; grid-template-columns: 1fr 1fr; padding: 1rem; row-gap: 1rem`.
|
|
111
115
|
- Each field cell: standard read-only text display with label above value.
|
|
112
116
|
- Status text: `font-size: 0.75rem; font-weight: bold; text-transform: uppercase; line-height: 1.25rem`.
|
|
@@ -137,15 +141,16 @@ Derived from `CaseSummaryFields.css`:
|
|
|
137
141
|
|
|
138
142
|
Listed design systems are examples only.
|
|
139
143
|
|
|
140
|
-
| Design System
|
|
141
|
-
|
|
142
|
-
| Default (CSS only) | CSS Grid 2-column layout with label/value pairs
|
|
143
|
-
| MUI
|
|
144
|
-
| Ant Design
|
|
145
|
-
| Chakra UI
|
|
146
|
-
| Shadcn/ui
|
|
144
|
+
| Design System | Recommended Component |
|
|
145
|
+
| ------------------ | ------------------------------------------------------------------------------------------------------------ |
|
|
146
|
+
| Default (CSS only) | CSS Grid 2-column layout with label/value pairs |
|
|
147
|
+
| MUI | `<Grid container>` with `<Grid size={{ xs: 6 }}>` cells; `<TextField variant='standard' readOnly>` per field |
|
|
148
|
+
| Ant Design | `<Descriptions layout='vertical' column={2}>` with typed item renderers |
|
|
149
|
+
| Chakra UI | `<SimpleGrid columns={2}>` with `<FormControl>` label/value pairs |
|
|
150
|
+
| Shadcn/ui | 2-column grid with `<Label>` / `<p>` pairs |
|
|
147
151
|
|
|
148
152
|
When implementing in a specific design system, map the following:
|
|
153
|
+
|
|
149
154
|
- Read-only TextField (standard, no underline) → design system's read-only text display
|
|
150
155
|
- Phone field → `<a href='tel:...'>` wrapper around the display
|
|
151
156
|
- Email field → `<a href='mailto:...'>` wrapper around the display
|
package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md
CHANGED
|
@@ -11,6 +11,7 @@ Read-only field display component that receives an array of PConnect-aware field
|
|
|
11
11
|
Renders a vertical list of read-only field name/value pairs for a details/summary panel. Each field is a PConnect-aware object. The component extracts type, label, and view config from each field's PConnect, forces the view into `readOnly + DISPLAY_ONLY` mode, and delegates rendering to `PConnectComponent`.
|
|
12
12
|
|
|
13
13
|
Supports three item layouts:
|
|
14
|
+
|
|
14
15
|
- **Reference type:** Renders the value directly (no label/value grid wrapper).
|
|
15
16
|
- **React element value:** Renders value in a single full-width cell (no label).
|
|
16
17
|
- **Label + value pair:** Renders label in a 6-col cell and value in a 6-col cell.
|
|
@@ -23,15 +24,16 @@ Supports three item layouts:
|
|
|
23
24
|
|
|
24
25
|
## Props
|
|
25
26
|
|
|
26
|
-
| Prop
|
|
27
|
-
|
|
28
|
-
| `fields` | `any[]` | Yes
|
|
27
|
+
| Prop | Type | Required | Description |
|
|
28
|
+
| -------- | ------- | -------- | ----------------------------------------------------------------------------- |
|
|
29
|
+
| `fields` | `any[]` | Yes | Array of PConnect-aware field objects. Each must have `.getPConnect()` method |
|
|
29
30
|
|
|
30
31
|
## Behavioral Contract
|
|
31
32
|
|
|
32
33
|
### 1. Field Iteration and PConnect Setup
|
|
33
34
|
|
|
34
35
|
For each field in `fields`:
|
|
36
|
+
|
|
35
37
|
1. Call `field.getPConnect()` to get `thePConn`.
|
|
36
38
|
2. Get `theCompType = thePConn.getComponentName().toLowerCase()`.
|
|
37
39
|
3. Get `label = thePConn.getConfigProps().label`.
|
|
@@ -45,11 +47,11 @@ For each field in `fields`:
|
|
|
45
47
|
|
|
46
48
|
Choose the layout based on the field:
|
|
47
49
|
|
|
48
|
-
| Condition
|
|
49
|
-
|
|
50
|
-
| `type === 'reference'`
|
|
51
|
-
| `isValidElement(field.value)`
|
|
52
|
-
| Default (string/primitive value) | 6-col label cell + 6-col value cell
|
|
50
|
+
| Condition | Layout |
|
|
51
|
+
| -------------------------------- | ------------------------------------------------------ |
|
|
52
|
+
| `type === 'reference'` | Render `field.value` directly with no wrapper |
|
|
53
|
+
| `isValidElement(field.value)` | Single 12-col cell containing `field.value` (no label) |
|
|
54
|
+
| Default (string/primitive value) | 6-col label cell + 6-col value cell |
|
|
53
55
|
|
|
54
56
|
### 3. Label/Value Grid Row
|
|
55
57
|
|
|
@@ -73,28 +75,29 @@ Derived from `DetailsFields.tsx` makeStyles:
|
|
|
73
75
|
|
|
74
76
|
### Label
|
|
75
77
|
|
|
76
|
-
| Property
|
|
77
|
-
|
|
78
|
-
| Display
|
|
79
|
-
| Font weight | 400
|
|
80
|
-
| Color
|
|
81
|
-
| Typography
|
|
78
|
+
| Property | Value |
|
|
79
|
+
| ----------- | ------------------------------ |
|
|
80
|
+
| Display | block |
|
|
81
|
+
| Font weight | 400 |
|
|
82
|
+
| Color | `theme.palette.text.secondary` |
|
|
83
|
+
| Typography | `body2` (≈ 0.875rem / 14px) |
|
|
82
84
|
|
|
83
85
|
### Value
|
|
84
86
|
|
|
85
|
-
| Property
|
|
86
|
-
|
|
87
|
-
| Font weight | 400
|
|
88
|
-
| Color
|
|
89
|
-
| Typography
|
|
87
|
+
| Property | Value |
|
|
88
|
+
| ----------- | ---------------------------- |
|
|
89
|
+
| Font weight | 400 |
|
|
90
|
+
| Color | `theme.palette.text.primary` |
|
|
91
|
+
| Typography | `body2` (≈ 0.875rem / 14px) |
|
|
90
92
|
|
|
91
93
|
### Row Padding
|
|
92
94
|
|
|
93
|
-
| Property
|
|
94
|
-
|
|
95
|
+
| Property | Value |
|
|
96
|
+
| --------- | ------------------ |
|
|
95
97
|
| Row style | `padding: 4px 0px` |
|
|
96
98
|
|
|
97
99
|
**CSS-only implementation notes:**
|
|
100
|
+
|
|
98
101
|
- Each row: `display: grid; grid-template-columns: 1fr 1fr; padding: 4px 0; gap: 8px`.
|
|
99
102
|
- Label: `font-size: 0.875rem; font-weight: 400; color: var(--text-secondary); display: block`.
|
|
100
103
|
- Value: `font-size: 0.875rem; font-weight: 400; color: var(--text-primary)`.
|
|
@@ -127,15 +130,16 @@ Derived from `DetailsFields.tsx` makeStyles:
|
|
|
127
130
|
|
|
128
131
|
Listed design systems are examples only.
|
|
129
132
|
|
|
130
|
-
| Design System
|
|
131
|
-
|
|
132
|
-
| Default (CSS only) | CSS grid 2-column rows per field pair
|
|
133
|
-
| MUI
|
|
134
|
-
| Ant Design
|
|
135
|
-
| Chakra UI
|
|
136
|
-
| Shadcn/ui
|
|
133
|
+
| Design System | Recommended Component |
|
|
134
|
+
| ------------------ | ----------------------------------------------------------------------------- |
|
|
135
|
+
| Default (CSS only) | CSS grid 2-column rows per field pair |
|
|
136
|
+
| MUI | `<Grid container spacing={1}>` per row with `<Typography>` label and value |
|
|
137
|
+
| Ant Design | `<Descriptions layout='horizontal' column={1}>` with PConnect-rendered values |
|
|
138
|
+
| Chakra UI | `<Grid templateColumns='1fr 1fr'>` rows with `<Text>` label/value |
|
|
139
|
+
| Shadcn/ui | `<div class='grid grid-cols-2'>` rows |
|
|
137
140
|
|
|
138
141
|
When implementing in a specific design system, map the following:
|
|
142
|
+
|
|
139
143
|
- Label → secondary muted text, `body2` size
|
|
140
144
|
- Value → primary text, `body2` size
|
|
141
145
|
- Row padding → `4px 0` vertical spacing between pairs
|
package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md
CHANGED
|
@@ -9,6 +9,7 @@ Collapsible or static container that groups related fields under an optional sec
|
|
|
9
9
|
## Component Purpose
|
|
10
10
|
|
|
11
11
|
Renders a labeled section that wraps one or more field components. Supports optional:
|
|
12
|
+
|
|
12
13
|
- **Section name** — rendered as a bold header above the fields.
|
|
13
14
|
- **Collapsible behavior** — the name header becomes a toggle that shows/hides the fields.
|
|
14
15
|
- **Instructions text** — rendered as HTML below the header and above the fields.
|
|
@@ -23,12 +24,12 @@ Children are rendered inside a full-width inner container.
|
|
|
23
24
|
|
|
24
25
|
## Props
|
|
25
26
|
|
|
26
|
-
| Prop
|
|
27
|
-
|
|
28
|
-
| `children`
|
|
29
|
-
| `name`
|
|
30
|
-
| `collapsible`
|
|
31
|
-
| `instructions` | `string`
|
|
27
|
+
| Prop | Type | Required | Description |
|
|
28
|
+
| -------------- | ----------- | -------- | ----------------------------------------------------------------------- |
|
|
29
|
+
| `children` | `ReactNode` | No | Field components to render inside the group |
|
|
30
|
+
| `name` | `string` | No | Section heading displayed above the fields |
|
|
31
|
+
| `collapsible` | `boolean` | No | If `true`, the header acts as a collapse/expand toggle. Default `false` |
|
|
32
|
+
| `instructions` | `string` | No | HTML string of instruction text shown between header and fields |
|
|
32
33
|
|
|
33
34
|
## Behavioral Contract
|
|
34
35
|
|
|
@@ -52,43 +53,44 @@ Derived from `FieldGroup.tsx` makeStyles:
|
|
|
52
53
|
|
|
53
54
|
### Outer Container
|
|
54
55
|
|
|
55
|
-
| Property | Value
|
|
56
|
-
|
|
57
|
-
| Spacing
|
|
56
|
+
| Property | Value |
|
|
57
|
+
| -------- | ------------------------------- |
|
|
58
|
+
| Spacing | 4 units (≈ 32px in MUI default) |
|
|
58
59
|
|
|
59
60
|
### Component Root Margins
|
|
60
61
|
|
|
61
|
-
| Property
|
|
62
|
-
|
|
63
|
-
| Margin right
|
|
64
|
-
| Margin left
|
|
65
|
-
| Margin top
|
|
66
|
-
| Margin bottom | `theme.spacing(1)`
|
|
62
|
+
| Property | Value |
|
|
63
|
+
| ------------- | -------------------------- |
|
|
64
|
+
| Margin right | `theme.spacing(1)` (≈ 8px) |
|
|
65
|
+
| Margin left | `theme.spacing(1)` |
|
|
66
|
+
| Margin top | `theme.spacing(1)` |
|
|
67
|
+
| Margin bottom | `theme.spacing(1)` |
|
|
67
68
|
|
|
68
69
|
### Field Margin (name row)
|
|
69
70
|
|
|
70
|
-
| Property
|
|
71
|
-
|
|
72
|
-
| Padding top
|
|
71
|
+
| Property | Value |
|
|
72
|
+
| -------------- | ------------------ |
|
|
73
|
+
| Padding top | `theme.spacing(1)` |
|
|
73
74
|
| Padding bottom | `theme.spacing(1)` |
|
|
74
|
-
| Margin top
|
|
75
|
+
| Margin top | `theme.spacing(1)` |
|
|
75
76
|
|
|
76
77
|
### Header Row (collapsible)
|
|
77
78
|
|
|
78
|
-
| Property
|
|
79
|
-
|
|
80
|
-
| Display
|
|
81
|
-
| Align items | center
|
|
82
|
-
| Gap
|
|
83
|
-
| Cursor
|
|
79
|
+
| Property | Value |
|
|
80
|
+
| ----------- | --------------------------------------------------- |
|
|
81
|
+
| Display | flex |
|
|
82
|
+
| Align items | center |
|
|
83
|
+
| Gap | 5px |
|
|
84
|
+
| Cursor | `pointer` (collapsible) or `auto` (non-collapsible) |
|
|
84
85
|
|
|
85
86
|
### Instructions
|
|
86
87
|
|
|
87
|
-
| Property | Value
|
|
88
|
-
|
|
89
|
-
| Padding
|
|
88
|
+
| Property | Value |
|
|
89
|
+
| -------- | ------- |
|
|
90
|
+
| Padding | `5px 0` |
|
|
90
91
|
|
|
91
92
|
**CSS-only implementation notes:**
|
|
93
|
+
|
|
92
94
|
- Outer wrapper: `margin: 8px`.
|
|
93
95
|
- Name row: `padding: 8px 0; margin-top: 8px`.
|
|
94
96
|
- Collapsible header: `display: flex; align-items: center; gap: 5px; cursor: pointer; user-select: none`.
|
|
@@ -116,15 +118,16 @@ Derived from `FieldGroup.tsx` makeStyles:
|
|
|
116
118
|
|
|
117
119
|
Listed design systems are examples only.
|
|
118
120
|
|
|
119
|
-
| Design System
|
|
120
|
-
|
|
121
|
-
| Default (CSS only) | `<div>` with toggled `display: none` on children, `<b>` header
|
|
122
|
-
| MUI
|
|
123
|
-
| Ant Design
|
|
124
|
-
| Chakra UI
|
|
125
|
-
| Shadcn/ui
|
|
121
|
+
| Design System | Recommended Component |
|
|
122
|
+
| ------------------ | ----------------------------------------------------------------------- |
|
|
123
|
+
| Default (CSS only) | `<div>` with toggled `display: none` on children, `<b>` header |
|
|
124
|
+
| MUI | Grid container with `KeyboardArrowRight/Down` icons for collapse toggle |
|
|
125
|
+
| Ant Design | `<Collapse>` or `<Card>` with collapsible panels |
|
|
126
|
+
| Chakra UI | `<Accordion>` or manual `<Box>` with toggle state |
|
|
127
|
+
| Shadcn/ui | `<Collapsible>` + `<CollapsibleTrigger>` + `<CollapsibleContent>` |
|
|
126
128
|
|
|
127
129
|
When implementing in a specific design system, map the following:
|
|
130
|
+
|
|
128
131
|
- `collapsed` toggle → design system's collapse/expand state or controlled component
|
|
129
132
|
- Arrow direction → visual indicator of expand/collapse state (chevron or arrow icon)
|
|
130
133
|
- `instructions` HTML → design system's `dangerouslySetInnerHTML` or rich content slot
|
|
@@ -18,11 +18,11 @@ Renders a vertical list of field group items. Each item has a bold name header,
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `items`
|
|
24
|
-
| `onDelete` | `(id: string) => void`
|
|
25
|
-
| `onAdd`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ---------- | ---------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------- |
|
|
23
|
+
| `items` | `Array<{ name: string; id: string; children: ReactNode }>` | Yes | List of field group items to render |
|
|
24
|
+
| `onDelete` | `(id: string) => void` | No | Called with the item's `id` when the delete button is clicked. If not provided, no delete button is shown |
|
|
25
|
+
| `onAdd` | `() => void` | No | Called when the "+Add" link is clicked. If not provided, no add link or dividers are shown |
|
|
26
26
|
|
|
27
27
|
## Behavioral Contract
|
|
28
28
|
|
|
@@ -49,27 +49,28 @@ Derived from `FieldGroupList.tsx`:
|
|
|
49
49
|
|
|
50
50
|
### Outer Layout
|
|
51
51
|
|
|
52
|
-
| Property
|
|
53
|
-
|
|
52
|
+
| Property | Value |
|
|
53
|
+
| ---------------------- | ---------- |
|
|
54
54
|
| Grid container spacing | 4 (≈ 32px) |
|
|
55
55
|
|
|
56
56
|
### Delete Button
|
|
57
57
|
|
|
58
|
-
| Property
|
|
59
|
-
|
|
60
|
-
| Float
|
|
61
|
-
| Style class | `psdk-utility-button`
|
|
58
|
+
| Property | Value |
|
|
59
|
+
| ----------- | ----------------------------------------------------------- |
|
|
60
|
+
| Float | right |
|
|
61
|
+
| Style class | `psdk-utility-button` |
|
|
62
62
|
| Icon source | `Utils.getImageSrc('trash', Utils.getSDKStaticConentUrl())` |
|
|
63
63
|
|
|
64
64
|
### "+Add" Link
|
|
65
65
|
|
|
66
|
-
| Property
|
|
67
|
-
|
|
68
|
-
| Cursor
|
|
69
|
-
| Underline | hover
|
|
70
|
-
| Text
|
|
66
|
+
| Property | Value |
|
|
67
|
+
| --------- | -------- |
|
|
68
|
+
| Cursor | pointer |
|
|
69
|
+
| Underline | hover |
|
|
70
|
+
| Text | `'+Add'` |
|
|
71
71
|
|
|
72
72
|
**CSS-only implementation notes:**
|
|
73
|
+
|
|
73
74
|
- Outer wrapper: `display: flex; flex-direction: column; gap: 32px`.
|
|
74
75
|
- Item wrapper: `display: flex; flex-direction: column; gap: 8px; width: 100%`.
|
|
75
76
|
- Item header row: `display: flex; justify-content: space-between; align-items: center`.
|
|
@@ -96,15 +97,16 @@ Derived from `FieldGroupList.tsx`:
|
|
|
96
97
|
|
|
97
98
|
Listed design systems are examples only.
|
|
98
99
|
|
|
99
|
-
| Design System
|
|
100
|
-
|
|
101
|
-
| Default (CSS only) | Flex column layout with `<hr>` divider and `<button>` delete
|
|
102
|
-
| MUI
|
|
103
|
-
| Ant Design
|
|
104
|
-
| Chakra UI
|
|
105
|
-
| Shadcn/ui
|
|
100
|
+
| Design System | Recommended Component |
|
|
101
|
+
| ------------------ | --------------------------------------------------------------------- |
|
|
102
|
+
| Default (CSS only) | Flex column layout with `<hr>` divider and `<button>` delete |
|
|
103
|
+
| MUI | `<Grid container>` items with `<Divider>` and `<Link>` for "+Add" |
|
|
104
|
+
| Ant Design | `<List>` items with `<Divider>` and `<Button type='link'>` for "+Add" |
|
|
105
|
+
| Chakra UI | `<VStack>` with `<Divider>` and `<Button variant='link'>` |
|
|
106
|
+
| Shadcn/ui | `<div>` flex column with `<Separator>` and a link button |
|
|
106
107
|
|
|
107
108
|
When implementing in a specific design system, map the following:
|
|
109
|
+
|
|
108
110
|
- Delete button → icon button or `danger` variant button placed at the item top-right
|
|
109
111
|
- Divider between items → `<Divider>` / `<hr>` (only when `onAdd` is present)
|
|
110
112
|
- "+Add" link → a text link / `Button variant='link'` that calls `onAdd`
|