@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
|
@@ -11,9 +11,12 @@ Read the user's message carefully. Extract:
|
|
|
11
11
|
- **Output base path** — the folder where DSE components should be generated (e.g. `src/components/designSystemExtension/`)
|
|
12
12
|
- **Component list** — which components to generate (default: all 11 listed below)
|
|
13
13
|
|
|
14
|
-
Both **design system** and **output base path** are required. If either is missing or ambiguous,
|
|
14
|
+
Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `.instructions.md` files, existing folders, or any other source.
|
|
15
|
+
|
|
16
|
+
⛔ **STOP** — If the user's message does not explicitly state BOTH the design system AND the output path, ask for the missing items now. Do not proceed to Step 1 until you have explicit answers from the user for all required inputs.
|
|
15
17
|
|
|
16
18
|
Example questions (ask only the ones that are actually missing):
|
|
19
|
+
|
|
17
20
|
1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
|
|
18
21
|
2. Where should the DSE components be generated? (e.g. `src/components/designSystemExtension/`)
|
|
19
22
|
|
|
@@ -23,19 +26,19 @@ Once both are known, continue to Step 1.
|
|
|
23
26
|
|
|
24
27
|
### Full component list (default — 11 DSE components)
|
|
25
28
|
|
|
26
|
-
| Component
|
|
27
|
-
|
|
28
|
-
| AlertBanner
|
|
29
|
-
| Banner
|
|
30
|
-
| CaseSummaryFields | A — PConnect display | Minimal
|
|
31
|
-
| DetailsFields
|
|
32
|
-
| FieldGroup
|
|
33
|
-
| FieldGroupList
|
|
34
|
-
| FieldValueList
|
|
35
|
-
| Operator
|
|
36
|
-
| Pulse
|
|
37
|
-
| RichTextEditor
|
|
38
|
-
| WssQuickCreate
|
|
29
|
+
| Component | Pattern | DS needed? |
|
|
30
|
+
| ----------------- | -------------------- | ------------- |
|
|
31
|
+
| AlertBanner | B — Pure display | Yes |
|
|
32
|
+
| Banner | B — Pure display | Yes |
|
|
33
|
+
| CaseSummaryFields | A — PConnect display | Minimal |
|
|
34
|
+
| DetailsFields | A — PConnect display | Minimal |
|
|
35
|
+
| FieldGroup | C — Complex display | No |
|
|
36
|
+
| FieldGroupList | C — Complex display | No |
|
|
37
|
+
| FieldValueList | A — PConnect display | No (CSS only) |
|
|
38
|
+
| Operator | B — Pure display | Yes |
|
|
39
|
+
| Pulse | C — Complex display | No |
|
|
40
|
+
| RichTextEditor | C — Complex display | No |
|
|
41
|
+
| WssQuickCreate | B — Pure display | Yes |
|
|
39
42
|
|
|
40
43
|
---
|
|
41
44
|
|
|
@@ -44,6 +47,7 @@ Once both are known, continue to Step 1.
|
|
|
44
47
|
Read the full contents of `.github/skills/design-system-extension.md`.
|
|
45
48
|
|
|
46
49
|
This gives you:
|
|
50
|
+
|
|
47
51
|
- All three implementation patterns (Pure display, Field value display, Complex display with PConnect)
|
|
48
52
|
- The `// [DS RENDER]` placeholder approach for Pattern B components
|
|
49
53
|
- The Design System Adaptation section — pattern categorisation, variant mapping table, DS discovery guidance
|
|
@@ -56,19 +60,51 @@ Keep this context active throughout the entire generation session. Do not re-rea
|
|
|
56
60
|
|
|
57
61
|
## Step 2 — Install and discover the design system (once)
|
|
58
62
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
### 2a — Check and install the DS package
|
|
64
|
+
|
|
65
|
+
Run this command in your terminal:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
cat package.json | grep "<design-system-package>"
|
|
69
|
+
```
|
|
63
70
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
If the design system package is **not** listed in `dependencies` or `devDependencies`, install it:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npm install <design-system-package>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Also install any peer dependencies documented in the package's README. Report what was installed.
|
|
78
|
+
|
|
79
|
+
### 2b — Discover the DS display primitives from installed files
|
|
69
80
|
|
|
70
81
|
> Pattern A/C components (FieldValueList, FieldGroup, Pulse, etc.) use PConnect bridge or plain CSS — they do not use the DS API. Only Pattern B components consume DS primitives.
|
|
71
82
|
|
|
83
|
+
Run these commands to discover the actual API (do NOT rely on training knowledge):
|
|
84
|
+
|
|
85
|
+
1. Read the README for correct import paths and usage patterns:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
cat node_modules/<designSystem>/README.md
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
2. List every exported component — focus on display primitives (Alert, Card, Avatar, Badge, Tag, Notification):
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
grep "^export" node_modules/<designSystem>/dist/index.d.ts 2>/dev/null || grep -rl "^export" node_modules/<designSystem> --include="index.d.ts" | head -3 | xargs grep "^export"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
3. For every display primitive you plan to use, read its prop interface:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
find node_modules/<designSystem> -name "Alert.d.ts" -o -name "Card.d.ts" -o -name "Avatar.d.ts" | head -5
|
|
101
|
+
grep -A 40 "interface.*Props" <path-from-above>
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
4. Check for **variant/type/severity prop names** — each DS uses different names for alert severity (e.g., `type`, `status`, `severity`, `variant`).
|
|
105
|
+
|
|
106
|
+
Only use component names and prop names confirmed in these files.
|
|
107
|
+
|
|
72
108
|
Build a **DS display primitive reference map** from this discovery. Reuse it for every Pattern B component — do not repeat these commands per component.
|
|
73
109
|
|
|
74
110
|
---
|
|
@@ -78,7 +114,9 @@ Build a **DS display primitive reference map** from this discovery. Reuse it for
|
|
|
78
114
|
For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
|
|
79
115
|
|
|
80
116
|
If **any** exist, report them all at once and ask:
|
|
117
|
+
|
|
81
118
|
> "The following N components already exist: [list]. How should I proceed?
|
|
119
|
+
>
|
|
82
120
|
> - **Overwrite all** — replace all existing implementations
|
|
83
121
|
> - **Skip existing** — only generate components that don't exist yet
|
|
84
122
|
> - **Cancel** — stop without generating anything"
|
|
@@ -91,41 +129,77 @@ Wait for the user's answer before proceeding. If none exist, continue immediatel
|
|
|
91
129
|
|
|
92
130
|
For each component in the resolved list (in the order listed in Step 0):
|
|
93
131
|
|
|
94
|
-
### 4a — Read the component-specific skill file
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
132
|
+
### 4a — Read the component-specific skill file (MANDATORY — do not skip)
|
|
133
|
+
|
|
134
|
+
Read the file `.github/skills/design-system-extension-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `design-system-extension.md`.
|
|
135
|
+
|
|
136
|
+
After reading, extract and keep active:
|
|
137
|
+
|
|
138
|
+
- **Pattern classification** — B (Pure display) / A (PConnect display) / C (Complex display)
|
|
139
|
+
- **Behavioral Contract** — prop handling, variant mapping, rendering logic, edge cases
|
|
140
|
+
- **Design System Mapping** table — the recommended DS primitive (Pattern B components only)
|
|
141
|
+
|
|
142
|
+
If no skill file exists at that path, use the general pattern from `design-system-extension.md` loaded in Step 1.
|
|
143
|
+
|
|
144
|
+
⚠️ The general skill file (`design-system-extension.md`) provides the pattern skeletons. The component-specific skill file provides the **exact prop interface, variant logic, and edge cases**. Both are needed — generating from only the general skill will produce components that render empty or with incorrect variant handling.
|
|
101
145
|
|
|
102
146
|
### 4b — Generate the component files
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
147
|
+
|
|
148
|
+
Create the directory `<outputPath>/<ComponentName>/`.
|
|
149
|
+
|
|
150
|
+
Create `<ComponentName>.tsx` using the structure matching the pattern from `design-system-extension.md` (loaded in Step 1):
|
|
151
|
+
|
|
152
|
+
- **Pattern B** (Pure display — AlertBanner, Banner, Operator, WssQuickCreate): variant mapping (urgent→error, warning→warning, info→info, success→success) + DS Alert/Card/Avatar primitive from Step 2. No `getPConnect`.
|
|
153
|
+
- **Pattern A** (PConnect display — CaseSummaryFields, DetailsFields, FieldValueList): CSS classes + optional DS typography, no DS component primitives. May use `getPConnect`.
|
|
154
|
+
- **Pattern C** (Complex display — FieldGroup, FieldGroupList, Pulse, RichTextEditor): `createElement(createPConnectComponent(), ...)` for PConnect children, semantic HTML. No DS primitives.
|
|
155
|
+
|
|
156
|
+
Apply the Behavioral Contract from the component skill file (exact props, variant logic, edge cases).
|
|
157
|
+
|
|
158
|
+
Create `index.tsx` if required by the skill file:
|
|
159
|
+
|
|
160
|
+
```typescript
|
|
161
|
+
export { default } from './<ComponentName>';
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Create any CSS file required by the skill file.
|
|
114
165
|
|
|
115
166
|
### 4c — Register the component
|
|
116
|
-
Execute **Step 6** from `.github/prompts/add-component.prompt.md` for this component:
|
|
117
|
-
- Add the import to `src/components/component-map.ts` in the Design System Extension section
|
|
118
|
-
- Add the entry to `getSampleComponentMap()` under the DSE comment
|
|
119
|
-
- Do not reorder or restructure any existing entries
|
|
120
167
|
|
|
121
|
-
|
|
168
|
+
Edit `src/components/component-map.ts`:
|
|
169
|
+
|
|
170
|
+
1. Add an import at the top of the file in the **Design System Extension** section:
|
|
171
|
+
```typescript
|
|
172
|
+
import <ComponentName> from './designSystemExtension/<ComponentName>';
|
|
173
|
+
```
|
|
174
|
+
2. Add an entry in the return object of `getSampleComponentMap()` under the DSE comment:
|
|
175
|
+
```typescript
|
|
176
|
+
<ComponentName>,
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Do not reorder or restructure any existing entries.
|
|
180
|
+
|
|
181
|
+
### 4d — Batch checkpoint
|
|
182
|
+
|
|
183
|
+
After every **5 components**, run:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
npm run build
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Fix any TypeScript or build errors before continuing to the next component. This prevents error accumulation.
|
|
190
|
+
|
|
191
|
+
### 4e — Report progress
|
|
192
|
+
|
|
122
193
|
After each component: "`<ComponentName>` ✓ — Pattern `<B/A/C>`<`, using <DS primitive>` if Pattern B>"
|
|
123
194
|
|
|
124
195
|
---
|
|
125
196
|
|
|
126
197
|
## Step 5 — Verify the build
|
|
127
198
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
199
|
+
Run:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
npm run build
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
If build errors occur, fix them before reporting completion. Report a summary: list of all files created and all entries added to `component-map.ts`.
|
|
@@ -11,9 +11,12 @@ Read the user's message carefully. Extract:
|
|
|
11
11
|
- **Output base path** — the folder where field components should be generated (e.g. `src/components/field/`, `app/ui/fields/`)
|
|
12
12
|
- **Component list** — which components to generate (default: all 27 listed below)
|
|
13
13
|
|
|
14
|
-
Both **design system** and **output base path** are required. If either is missing or ambiguous,
|
|
14
|
+
Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `.instructions.md` files, existing folders, or any other source.
|
|
15
|
+
|
|
16
|
+
⛔ **STOP** — If the user's message does not explicitly state BOTH the design system AND the output path, ask for the missing items now. Do not proceed to Step 1 until you have explicit answers from the user for all required inputs.
|
|
15
17
|
|
|
16
18
|
Example questions (ask only the ones that are actually missing):
|
|
19
|
+
|
|
17
20
|
1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
|
|
18
21
|
2. Where should the field components be generated? (e.g. `src/components/field/`)
|
|
19
22
|
|
|
@@ -23,35 +26,35 @@ Once both are known, continue to Step 1.
|
|
|
23
26
|
|
|
24
27
|
### Full component list (default)
|
|
25
28
|
|
|
26
|
-
| Component
|
|
27
|
-
|
|
28
|
-
| AutoComplete
|
|
29
|
-
| CancelAlert
|
|
30
|
-
| Checkbox
|
|
31
|
-
| Currency
|
|
32
|
-
| Date
|
|
33
|
-
| DateTime
|
|
34
|
-
| Decimal
|
|
35
|
-
| Dropdown
|
|
36
|
-
| Email
|
|
37
|
-
| Group
|
|
38
|
-
| Integer
|
|
39
|
-
| Location
|
|
40
|
-
| Multiselect
|
|
29
|
+
| Component | Pega Name |
|
|
30
|
+
| --------------- | --------------- |
|
|
31
|
+
| AutoComplete | AutoComplete |
|
|
32
|
+
| CancelAlert | CancelAlert |
|
|
33
|
+
| Checkbox | Checkbox |
|
|
34
|
+
| Currency | Currency |
|
|
35
|
+
| Date | Date |
|
|
36
|
+
| DateTime | DateTime |
|
|
37
|
+
| Decimal | Decimal |
|
|
38
|
+
| Dropdown | Dropdown |
|
|
39
|
+
| Email | Email |
|
|
40
|
+
| Group | Group |
|
|
41
|
+
| Integer | Integer |
|
|
42
|
+
| Location | Location |
|
|
43
|
+
| Multiselect | Multiselect |
|
|
41
44
|
| ObjectReference | ObjectReference |
|
|
42
|
-
| Percentage
|
|
43
|
-
| Phone
|
|
44
|
-
| RadioButtons
|
|
45
|
-
| RichText
|
|
46
|
-
| ScalarList
|
|
47
|
-
| SelectableCard
|
|
48
|
-
| SemanticLink
|
|
49
|
-
| TextArea
|
|
50
|
-
| TextContent
|
|
51
|
-
| TextInput
|
|
52
|
-
| Time
|
|
53
|
-
| URL
|
|
54
|
-
| UserReference
|
|
45
|
+
| Percentage | Percentage |
|
|
46
|
+
| Phone | Phone |
|
|
47
|
+
| RadioButtons | RadioButtons |
|
|
48
|
+
| RichText | RichText |
|
|
49
|
+
| ScalarList | ScalarList |
|
|
50
|
+
| SelectableCard | SelectableCard |
|
|
51
|
+
| SemanticLink | SemanticLink |
|
|
52
|
+
| TextArea | TextArea |
|
|
53
|
+
| TextContent | TextContent |
|
|
54
|
+
| TextInput | TextInput |
|
|
55
|
+
| Time | Time |
|
|
56
|
+
| URL | URL |
|
|
57
|
+
| UserReference | UserReference |
|
|
55
58
|
|
|
56
59
|
---
|
|
57
60
|
|
|
@@ -60,6 +63,7 @@ Once both are known, continue to Step 1.
|
|
|
60
63
|
Read the full contents of `.github/skills/field-components.md`.
|
|
61
64
|
|
|
62
65
|
This gives you:
|
|
66
|
+
|
|
63
67
|
- The behavioral skeleton every field component must follow (state, effects, event handling, display modes)
|
|
64
68
|
- The Design System Adaptation guide (prop mapping conventions, form layout wrappers)
|
|
65
69
|
- The abstract template to use as a base for all components
|
|
@@ -70,16 +74,54 @@ Keep this context active throughout the entire generation session. Do not re-rea
|
|
|
70
74
|
|
|
71
75
|
## Step 2 — Install and discover the design system (once)
|
|
72
76
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
### 2a — Check and install the DS package
|
|
78
|
+
|
|
79
|
+
Run this command in your terminal:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
cat package.json | grep "<design-system-package>"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
If the design system package is **not** listed in `dependencies` or `devDependencies`, install it:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npm install <design-system-package>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Also install any peer dependencies documented in the package's README. Report what was installed.
|
|
92
|
+
|
|
93
|
+
### 2b — Discover the DS API from installed files
|
|
94
|
+
|
|
95
|
+
Run these commands to discover the actual API (do NOT rely on training knowledge):
|
|
96
|
+
|
|
97
|
+
1. Read the README for correct import paths and usage patterns:
|
|
77
98
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
99
|
+
```bash
|
|
100
|
+
cat node_modules/<designSystem>/README.md
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
2. List every exported component:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
grep "^export" node_modules/<designSystem>/dist/index.d.ts 2>/dev/null || grep -rl "^export" node_modules/<designSystem> --include="index.d.ts" | head -3 | xargs grep "^export"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
3. For every input control you plan to use (Input, Select, Checkbox, DatePicker, Radio, etc.), read its prop interface:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
find node_modules/<designSystem> -name "ComponentName.d.ts" | head -3
|
|
113
|
+
grep -A 40 "interface.*Props" <path-from-above>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
4. Check for a **form layout wrapper** (label + input + helper text) — e.g., `<Form.Item>` in Ant Design, `<FormControl>` in Chakra UI. Use it instead of manual margins.
|
|
117
|
+
|
|
118
|
+
5. Check for **size/density/variant conventions** — use built-in props rather than custom padding.
|
|
119
|
+
|
|
120
|
+
6. Check for a **companion icons package** — read its exports before using any icon name. Never guess icon names.
|
|
121
|
+
|
|
122
|
+
7. Check for **CSS tokens** — use design system CSS custom properties for spacing; never hardcode `px` values.
|
|
123
|
+
|
|
124
|
+
Only use component names and prop names confirmed in these files.
|
|
83
125
|
|
|
84
126
|
Build a **DS API reference map** from this discovery. You will reuse it for every component — do not repeat these commands per component.
|
|
85
127
|
|
|
@@ -90,7 +132,9 @@ Build a **DS API reference map** from this discovery. You will reuse it for ever
|
|
|
90
132
|
For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
|
|
91
133
|
|
|
92
134
|
If **any** exist, report them all at once and ask:
|
|
135
|
+
|
|
93
136
|
> "The following N components already exist: [list]. How should I proceed?
|
|
137
|
+
>
|
|
94
138
|
> - **Overwrite all** — replace all existing implementations
|
|
95
139
|
> - **Skip existing** — only generate components that don't exist yet
|
|
96
140
|
> - **Cancel** — stop without generating anything"
|
|
@@ -103,42 +147,77 @@ Wait for the user's answer before proceeding. If none exist, continue immediatel
|
|
|
103
147
|
|
|
104
148
|
For each component in the resolved list (in the order listed in Step 0):
|
|
105
149
|
|
|
106
|
-
### 4a — Read the component-specific skill file
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
150
|
+
### 4a — Read the component-specific skill file (MANDATORY — do not skip)
|
|
151
|
+
|
|
152
|
+
Read the file `.github/skills/field-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `field-components.md`.
|
|
153
|
+
|
|
154
|
+
After reading, extract and keep active:
|
|
155
|
+
|
|
156
|
+
- **Behavioral Contract** — state management, option loading, edge cases specific to this component
|
|
157
|
+
- **Design System Mapping** table — the recommended DS component for the chosen design system
|
|
158
|
+
- **UI control type** — use this to select the closest DS primitive if the chosen DS is not in the mapping table
|
|
159
|
+
|
|
160
|
+
If no skill file exists at that path, use the general behavioral skeleton from `field-components.md` loaded in Step 1.
|
|
161
|
+
|
|
162
|
+
⚠️ The general skill file (`field-components.md`) provides the behavioral skeleton. The component-specific skill file provides the **exact event handling, option-loading logic, and edge cases**. Both are needed — generating from only the general skill will produce generic inputs that miss component-specific behavior (e.g., AutoComplete's async search, Currency's formatting).
|
|
113
163
|
|
|
114
164
|
### 4b — Generate the component files
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
165
|
+
|
|
166
|
+
Create the directory `<outputPath>/<ComponentName>/`.
|
|
167
|
+
|
|
168
|
+
Create `<ComponentName>.tsx` using this structure from `field-components.md` (loaded in Step 1):
|
|
169
|
+
|
|
170
|
+
1. Imports (React hooks + `handleEvent` from `../../helpers/event-utils` + `getComponentFromRegistry` from `@pega/sdk-react` + `PConnFieldProps` + DS input from Step 2)
|
|
171
|
+
2. Interface extending `PConnFieldProps` with any extra props from the component skill file
|
|
172
|
+
3. Destructure: `getPConnect`, `label`, `required`, `disabled`, `value`, `validatemessage`, `status`, `readOnly`, `testId`, `helperText`, `displayMode`, `hideLabel`, `placeholder`
|
|
173
|
+
4. Display mode guards: if `DISPLAY_ONLY` or `STACKED_LARGE_VAL` → return `FieldValueList`
|
|
174
|
+
5. Return → DS form input from Step 2, with `onBlur` calling `handleEvent(actions, 'changeNblur', propName, inputValue)`
|
|
175
|
+
|
|
176
|
+
Pass `data-test-id={testId}` on the underlying interactive element.
|
|
177
|
+
|
|
178
|
+
Create `index.tsx`:
|
|
179
|
+
|
|
180
|
+
```typescript
|
|
181
|
+
export { default } from './<ComponentName>';
|
|
182
|
+
```
|
|
127
183
|
|
|
128
184
|
### 4c — Register the component
|
|
129
|
-
Execute **Step 6** from `.github/prompts/add-component.prompt.md` for this component:
|
|
130
|
-
- Add the import to `src/components/component-map.ts` in the Fields section
|
|
131
|
-
- Add the entry to `getSampleComponentMap()` under the fields comment
|
|
132
|
-
- Do not reorder or restructure any existing entries
|
|
133
185
|
|
|
134
|
-
|
|
186
|
+
Edit `src/components/component-map.ts`:
|
|
187
|
+
|
|
188
|
+
1. Add an import at the top of the file in the **Fields** section:
|
|
189
|
+
```typescript
|
|
190
|
+
import <ComponentName> from './field/<ComponentName>';
|
|
191
|
+
```
|
|
192
|
+
2. Add an entry in the return object of `getSampleComponentMap()` under the fields comment:
|
|
193
|
+
```typescript
|
|
194
|
+
<ComponentName>,
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Do not reorder or restructure any existing entries.
|
|
198
|
+
|
|
199
|
+
### 4d — Batch checkpoint
|
|
200
|
+
|
|
201
|
+
After every **5 components**, run:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
npm run build
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Fix any TypeScript or build errors before continuing to the next component. This prevents error accumulation.
|
|
208
|
+
|
|
209
|
+
### 4e — Report progress
|
|
210
|
+
|
|
135
211
|
After each component: "`<ComponentName>` ✓ — using `<DS component name>`"
|
|
136
212
|
|
|
137
213
|
---
|
|
138
214
|
|
|
139
215
|
## Step 5 — Verify the build
|
|
140
216
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
217
|
+
Run:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
npm run build
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
If build errors occur, fix them before reporting completion. Report a summary: list of all files created and all entries added to `component-map.ts`.
|