@pega/sdk 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +183 -183
- package/README.md +6 -6
- package/SECURITY.md +2 -1
- package/dist/index.js +14 -57
- package/package.json +7 -6
- package/templates/angular-sdk-reference/package.json +15 -15
- package/templates/angular-sdk-reference/tsconfig.json +2 -2
- package/templates/react-native-sdk-reference/App.tsx +2 -4
- package/templates/react-native-sdk-reference/package.json +6 -6
- package/templates/react-native-sdk-reference/tsconfig.json +2 -1
- package/templates/react-sdk-reference/.claude/instructions/component-map.md +38 -0
- package/templates/react-sdk-reference/.claude/instructions/dse-component.md +75 -0
- package/templates/react-sdk-reference/.claude/instructions/field-component.md +75 -0
- package/templates/react-sdk-reference/.claude/instructions/template-component.md +93 -0
- package/templates/react-sdk-reference/.claude/instructions/widget-component.md +88 -0
- package/templates/react-sdk-reference/.claude/prompts/add-component.md +152 -0
- package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +193 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +158 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +140 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +153 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +165 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +138 -0
- package/templates/react-sdk-reference/.claude/prompts/identify-components.md +105 -0
- package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +519 -0
- package/templates/react-sdk-reference/.claude/skills/component-contracts.md +140 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +137 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +152 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +159 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +148 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +134 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +113 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +118 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +155 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +85 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +232 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +137 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +291 -0
- package/templates/react-sdk-reference/.claude/skills/field-components.md +295 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +113 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +211 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +175 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +109 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +101 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +106 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +99 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +134 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +109 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +96 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +88 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +145 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +188 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +173 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +93 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +129 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +167 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +149 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +134 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +231 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +155 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +98 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +117 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +107 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +89 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +86 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +203 -0
- package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +70 -0
- package/templates/react-sdk-reference/.claude/skills/template-components.md +321 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +150 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +124 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +86 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +106 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +137 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +131 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +109 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +124 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +104 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +112 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +90 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +97 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +80 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +80 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +106 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +112 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +116 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +108 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +82 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +70 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +142 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +82 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +143 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +114 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +130 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +142 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +131 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +108 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +82 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +133 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +152 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +139 -0
- package/templates/react-sdk-reference/.claude/skills/widget-components.md +260 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +84 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +151 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +110 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +206 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +103 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +118 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +169 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +198 -0
- package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +41 -0
- package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +78 -0
- package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +74 -0
- package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +247 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +149 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +193 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +154 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +131 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +144 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +156 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +129 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +110 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/replace-design-system.mdrules +524 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +145 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +140 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +154 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +159 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +149 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +136 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +116 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +120 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +154 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +88 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +211 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +140 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +294 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +299 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +117 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +208 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +163 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +111 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +104 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +108 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +103 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +119 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +112 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +95 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +92 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +141 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +169 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +169 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +97 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +115 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +151 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +143 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +129 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +221 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +153 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +101 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +106 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +109 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +93 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +90 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +185 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +73 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +327 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +149 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +127 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +88 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +105 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +136 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +131 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +112 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +125 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +107 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +115 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +93 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +100 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +83 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +83 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +106 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +114 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +118 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +109 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +90 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +73 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +144 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +85 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +146 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +114 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +129 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +140 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +132 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +108 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +84 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +136 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +155 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +140 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +276 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +87 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +151 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +112 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +205 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +104 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +119 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +172 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +195 -0
- package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +95 -0
- package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +90 -0
- package/templates/react-sdk-reference/.github/agents/implementation-expert.agent.md +135 -0
- package/templates/react-sdk-reference/.github/copilot-instructions.md +58 -0
- package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +2 -2
- package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +1 -1
- package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +5 -1
- package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +3 -2
- package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +2 -1
- package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +187 -16
- package/templates/react-sdk-reference/.github/prompts/component-manifest.json +165 -83
- package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +411 -0
- package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +205 -0
- package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +223 -0
- package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +229 -0
- package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +208 -0
- package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +65 -65
- package/templates/react-sdk-reference/.github/skills/component-contracts.md +99 -99
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/AlertBanner.md +40 -38
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +54 -51
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +32 -28
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +38 -35
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +25 -23
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +29 -26
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +32 -26
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +17 -15
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +85 -59
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
- package/templates/react-sdk-reference/.github/skills/design-system-extension.md +60 -18
- package/templates/react-sdk-reference/.github/skills/field-components.md +56 -23
- package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +27 -26
- package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +30 -22
- package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +60 -43
- package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +23 -20
- package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +19 -17
- package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +18 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +22 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +50 -30
- package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +20 -18
- package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +21 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +17 -16
- package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +30 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +66 -42
- package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +27 -18
- package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +22 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +36 -17
- package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +56 -35
- package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +23 -12
- package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +41 -31
- package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +70 -55
- package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +34 -27
- package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +24 -22
- package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +38 -22
- package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +24 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +16 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +16 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +57 -34
- package/templates/react-sdk-reference/.github/skills/run-and-verify.md +10 -8
- package/templates/react-sdk-reference/.github/skills/template-components.md +50 -14
- package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +27 -21
- package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +17 -15
- package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +19 -16
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +19 -13
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +23 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +34 -29
- package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +18 -16
- package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +36 -32
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +23 -21
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +31 -29
- package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +19 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +22 -20
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +19 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +19 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +15 -10
- package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +19 -16
- package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +18 -15
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +17 -13
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +10 -13
- package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +9 -7
- package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +33 -30
- package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md +13 -11
- package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +42 -40
- package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +25 -20
- package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +25 -19
- package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +36 -29
- package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +31 -27
- package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +29 -24
- package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +14 -11
- package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +34 -32
- package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +48 -46
- package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +23 -19
- package/templates/react-sdk-reference/.github/skills/widget-components.md +52 -26
- package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +22 -20
- package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +33 -28
- package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +18 -15
- package/templates/react-sdk-reference/.github/skills/widget-skills/FileUtility.md +43 -37
- package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +23 -19
- package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +20 -16
- package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +26 -24
- package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +43 -35
- package/templates/react-sdk-reference/AGENTS.md +216 -29
- package/templates/react-sdk-reference/index.html +1 -4
- package/templates/react-sdk-reference/package.json +16 -16
- package/templates/react-sdk-reference/pega-constellationjs-0.26.3-local.tgz +0 -0
- package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
- package/templates/react-sdk-reference/sdk-config.json +1 -1
- package/templates/react-sdk-reference/src/AppSelector.tsx +6 -6
- package/templates/react-sdk-reference/src/FallbackComponent.tsx +2 -6
- package/templates/react-sdk-reference/src/MashupApp.styles.ts +269 -41
- package/templates/react-sdk-reference/src/MashupApp.tsx +186 -85
- package/templates/react-sdk-reference/src/PortalApp.tsx +10 -34
- package/templates/react-sdk-reference/src/components/component-map.ts +2 -7
- package/templates/react-sdk-reference/src/components/designSystemExtension/AlertBanner/AlertBanner.tsx +7 -28
- package/templates/react-sdk-reference/src/components/designSystemExtension/Banner/Banner.tsx +12 -7
- package/templates/react-sdk-reference/src/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +35 -33
- package/templates/react-sdk-reference/src/components/designSystemExtension/DetailsFields/DetailsFields.tsx +6 -27
- package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroup/FieldGroup.tsx +15 -11
- package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx +7 -7
- package/templates/react-sdk-reference/src/components/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -12
- package/templates/react-sdk-reference/src/components/designSystemExtension/Operator/Operator.tsx +27 -25
- package/templates/react-sdk-reference/src/components/designSystemExtension/Pulse/Pulse.tsx +4 -4
- package/templates/react-sdk-reference/src/components/designSystemExtension/RichTextEditor/RichTextEditor.tsx +8 -40
- package/templates/react-sdk-reference/src/components/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +9 -9
- package/templates/react-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +26 -20
- package/templates/react-sdk-reference/src/components/field/CancelAlert/CancelAlert.tsx +35 -17
- package/templates/react-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +27 -25
- package/templates/react-sdk-reference/src/components/field/Currency/Currency.tsx +10 -6
- package/templates/react-sdk-reference/src/components/field/Currency/currency-utils.ts +1 -1
- package/templates/react-sdk-reference/src/components/field/Date/Date.tsx +20 -7
- package/templates/react-sdk-reference/src/components/field/DateTime/DateTime.tsx +23 -8
- package/templates/react-sdk-reference/src/components/field/Decimal/Decimal.tsx +5 -5
- package/templates/react-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +45 -25
- package/templates/react-sdk-reference/src/components/field/Email/Email.tsx +8 -8
- package/templates/react-sdk-reference/src/components/field/Group/Group.tsx +1 -1
- package/templates/react-sdk-reference/src/components/field/Integer/Integer.tsx +5 -5
- package/templates/react-sdk-reference/src/components/field/Location/Location.tsx +21 -16
- package/templates/react-sdk-reference/src/components/field/Multiselect/Multiselect.tsx +42 -27
- package/templates/react-sdk-reference/src/components/field/Multiselect/utils.ts +43 -29
- package/templates/react-sdk-reference/src/components/field/ObjectReference/ObjectReference.tsx +53 -30
- package/templates/react-sdk-reference/src/components/field/ObjectReference/utils.ts +12 -11
- package/templates/react-sdk-reference/src/components/field/Percentage/Percentage.tsx +6 -6
- package/templates/react-sdk-reference/src/components/field/Phone/Phone.tsx +12 -12
- package/templates/react-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +38 -16
- package/templates/react-sdk-reference/src/components/field/RichText/RichText.tsx +17 -4
- package/templates/react-sdk-reference/src/components/field/ScalarList/ScalarList.tsx +5 -5
- package/templates/react-sdk-reference/src/components/field/SelectableCard/SelectableCard.tsx +31 -18
- package/templates/react-sdk-reference/src/components/field/SelectableCard/utils.tsx +28 -20
- package/templates/react-sdk-reference/src/components/field/SemanticLink/SemanticLink.tsx +28 -19
- package/templates/react-sdk-reference/src/components/field/SemanticLink/utils.ts +3 -1
- package/templates/react-sdk-reference/src/components/field/TextArea/TextArea.tsx +4 -4
- package/templates/react-sdk-reference/src/components/field/TextInput/TextInput.tsx +4 -4
- package/templates/react-sdk-reference/src/components/field/Time/Time.tsx +20 -7
- package/templates/react-sdk-reference/src/components/field/URL/URL.tsx +7 -7
- package/templates/react-sdk-reference/src/components/field/UserReference/UserReference.tsx +14 -14
- package/templates/react-sdk-reference/src/components/field/UserReference/UserReferenceUtils.ts +2 -2
- package/templates/react-sdk-reference/src/components/helpers/case-utils.tsx +5 -5
- package/templates/react-sdk-reference/src/components/helpers/data_page.ts +3 -3
- package/templates/react-sdk-reference/src/components/helpers/date-format-utils.ts +5 -5
- package/templates/react-sdk-reference/src/components/helpers/field-group-utils.ts +2 -7
- package/templates/react-sdk-reference/src/components/helpers/formatters/Boolean.ts +9 -3
- package/templates/react-sdk-reference/src/components/helpers/formatters/Currency.ts +18 -6
- package/templates/react-sdk-reference/src/components/helpers/formatters/CurrencyMap.ts +168 -168
- package/templates/react-sdk-reference/src/components/helpers/formatters/Date.ts +5 -5
- package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +8 -5
- package/templates/react-sdk-reference/src/components/helpers/instructions-utils.ts +2 -2
- package/templates/react-sdk-reference/src/components/helpers/simpleTableHelpers.ts +54 -30
- package/templates/react-sdk-reference/src/components/helpers/state-utils.tsx +5 -2
- package/templates/react-sdk-reference/src/components/helpers/template-utils.ts +5 -4
- package/templates/react-sdk-reference/src/components/helpers/utils.ts +3 -3
- package/templates/react-sdk-reference/src/components/helpers/versionHelpers.ts +3 -1
- package/templates/react-sdk-reference/src/components/index.ts +1 -4
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/AdvancedSearch.tsx +18 -10
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroup/persistUtils.ts +3 -3
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +26 -90
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/hooks.ts +8 -5
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/utils.ts +8 -4
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/TemplateContext.ts +1 -1
- package/templates/react-sdk-reference/src/components/template/AppShell/AppShell.tsx +28 -19
- package/templates/react-sdk-reference/src/components/template/BannerPage/BannerPage.tsx +2 -2
- package/templates/react-sdk-reference/src/components/template/CaseSummary/CaseSummary.tsx +5 -5
- package/templates/react-sdk-reference/src/components/template/CaseView/CaseView.tsx +35 -16
- package/templates/react-sdk-reference/src/components/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +10 -10
- package/templates/react-sdk-reference/src/components/template/Confirmation/Confirmation.tsx +12 -26
- package/templates/react-sdk-reference/src/components/template/DataReference/DataReference.tsx +41 -124
- package/templates/react-sdk-reference/src/components/template/DataReference/DataReferenceAdvancedSearchContext.ts +2 -2
- package/templates/react-sdk-reference/src/components/template/DataReference/SearchForm.tsx +18 -78
- package/templates/react-sdk-reference/src/components/template/DataReference/utils.ts +18 -12
- package/templates/react-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +4 -12
- package/templates/react-sdk-reference/src/components/template/DefaultForm/utils/index.ts +3 -3
- package/templates/react-sdk-reference/src/components/template/DefaultPage/DefaultPage.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/Details/Details/Details.tsx +6 -8
- package/templates/react-sdk-reference/src/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +7 -14
- package/templates/react-sdk-reference/src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +7 -14
- package/templates/react-sdk-reference/src/components/template/Details/DynamicTabs/DynamicTabs.tsx +16 -8
- package/templates/react-sdk-reference/src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx +7 -4
- package/templates/react-sdk-reference/src/components/template/HierarchicalForm/HierarchicalForm.tsx +20 -5
- package/templates/react-sdk-reference/src/components/template/HierarchicalForm/hooks.ts +35 -77
- package/templates/react-sdk-reference/src/components/template/InlineDashboard/InlineDashboard.tsx +10 -10
- package/templates/react-sdk-reference/src/components/template/ListView/DefaultViewMeta.ts +31 -31
- package/templates/react-sdk-reference/src/components/template/ListView/ListView.tsx +173 -133
- package/templates/react-sdk-reference/src/components/template/ListView/hooks.ts +17 -10
- package/templates/react-sdk-reference/src/components/template/ListView/utils.ts +64 -51
- package/templates/react-sdk-reference/src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +6 -6
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWide/NarrowWide.tsx +6 -6
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +8 -18
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +7 -1
- package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumn/OneColumn.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumnTab/OneColumnTab.tsx +1 -1
- package/templates/react-sdk-reference/src/components/template/PromotedFilters/PromotedFilters.tsx +13 -40
- package/templates/react-sdk-reference/src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx +19 -16
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTable/SimpleTable.tsx +8 -7
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +84 -203
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +15 -5
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.tsx +15 -29
- package/templates/react-sdk-reference/src/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +7 -7
- package/templates/react-sdk-reference/src/components/template/SubTabs/SubTabs.tsx +1 -1
- package/templates/react-sdk-reference/src/components/template/SubTabs/tabUtils.ts +13 -11
- package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumn/TwoColumn.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrow/WideNarrow.tsx +6 -6
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +13 -24
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +7 -1
- package/templates/react-sdk-reference/src/components/template/WssNavBar/WssNavBar.tsx +25 -25
- package/templates/react-sdk-reference/src/components/template/utils.tsx +6 -6
- package/templates/react-sdk-reference/src/components/widget/AppAnnouncement/AppAnnouncement.tsx +9 -9
- package/templates/react-sdk-reference/src/components/widget/Attachment/Attachment.tsx +125 -79
- package/templates/react-sdk-reference/src/components/widget/Attachment/AttachmentUtils.ts +58 -33
- package/templates/react-sdk-reference/src/components/widget/CaseHistory/CaseHistory.tsx +14 -12
- package/templates/react-sdk-reference/src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -7
- package/templates/react-sdk-reference/src/components/widget/FileUtility/FileUtility/FileUtility.tsx +137 -107
- package/templates/react-sdk-reference/src/components/widget/Followers/Followers.tsx +4 -4
- package/templates/react-sdk-reference/src/components/widget/QuickCreate/QuickCreate.tsx +15 -11
- package/templates/react-sdk-reference/src/components/widget/SummaryItem/SummaryItem.tsx +25 -18
- package/templates/react-sdk-reference/src/components/widget/SummaryList/SummaryList.tsx +7 -2
- package/templates/react-sdk-reference/src/components/widget/ToDo/ToDo.tsx +30 -116
- package/templates/react-sdk-reference/src/main.tsx +1 -1
- package/templates/react-sdk-reference/tsconfig.json +2 -1
- package/templates/react-sdk-reference/vite.config.ts +52 -27
- package/templates/wc-sdk-reference/package.json +3 -3
- package/templates/wc-sdk-reference/src/index.ts +10 -10
- package/templates/wc-sdk-reference/tsconfig.json +1 -0
- package/templates/react-sdk-reference/.github/prompts/replace-all-fields.prompt.md +0 -48
- package/templates/react-sdk-reference/.github/prompts/replace-component.prompt.md +0 -81
- package/templates/react-sdk-reference/.github/prompts/replace-field.prompt.md +0 -41
- package/templates/react-sdk-reference/.github/prompts/swap-design-system.prompt.md +0 -49
- package/templates/react-sdk-reference/.github/skills/swap-design-system.md +0 -105
- package/templates/react-sdk-reference/pega-constellationjs-0.26.2.tgz +0 -0
|
@@ -18,12 +18,12 @@ Renders a text input that integrates with Google Maps Places API for address/loc
|
|
|
18
18
|
|
|
19
19
|
## Props (component-specific)
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `coordinates`
|
|
21
|
+
| Prop | Type | Default | Description |
|
|
22
|
+
| ----------------- | -------------------- | ------- | ------------------------------------------------------------------------ |
|
|
23
|
+
| `coordinates` | `string` (optional) | `''` | Comma-separated lat/lng string (e.g., `'18.5204, 73.8567'`) |
|
|
24
24
|
| `onlyCoordinates` | `boolean` (optional) | `false` | If `true`, store and display lat/lng coordinates instead of address text |
|
|
25
|
-
| `showMap`
|
|
26
|
-
| `showMapReadOnly` | `boolean` (optional) | —
|
|
25
|
+
| `showMap` | `boolean` (optional) | — | Show the interactive map in editable mode |
|
|
26
|
+
| `showMapReadOnly` | `boolean` (optional) | — | Show the map in read-only mode |
|
|
27
27
|
|
|
28
28
|
## Behavioral Contract
|
|
29
29
|
|
|
@@ -58,13 +58,17 @@ Renders a text input that integrates with Google Maps Places API for address/loc
|
|
|
58
58
|
### Map configuration (disabled state)
|
|
59
59
|
|
|
60
60
|
When `disabled`, map options disable all interactions:
|
|
61
|
+
|
|
61
62
|
- `gestureHandling: 'none'`, `keyboardShortcuts: false`, `disableDefaultUI: true`, `clickableIcons: false`
|
|
62
63
|
- Map opacity: `0.7` when disabled
|
|
63
64
|
|
|
64
65
|
### CSS for Google Maps autocomplete dropdown z-index:
|
|
66
|
+
|
|
65
67
|
```css
|
|
66
68
|
/* Location.css */
|
|
67
|
-
.pac-container {
|
|
69
|
+
.pac-container {
|
|
70
|
+
z-index: 2147483647;
|
|
71
|
+
}
|
|
68
72
|
```
|
|
69
73
|
|
|
70
74
|
## Display Mode Rendering
|
|
@@ -83,23 +87,28 @@ When `disabled`, map options disable all interactions:
|
|
|
83
87
|
|
|
84
88
|
## Visual Specifications
|
|
85
89
|
|
|
86
|
-
| Property
|
|
87
|
-
|
|
88
|
-
| Width
|
|
89
|
-
| Input variant
|
|
90
|
-
| Trailing icon
|
|
91
|
-
| Error alert
|
|
92
|
-
| Map container
|
|
93
|
-
| Map render
|
|
94
|
-
| Disabled map opacity | `0.7`
|
|
90
|
+
| Property | Value |
|
|
91
|
+
| -------------------- | -------------------------------------------------- |
|
|
92
|
+
| Width | 100% |
|
|
93
|
+
| Input variant | Default (outlined, from `TextField`) |
|
|
94
|
+
| Trailing icon | Location pin icon button (for current location) |
|
|
95
|
+
| Error alert | Alert banner ABOVE the input field when `hasError` |
|
|
96
|
+
| Map container | `width: 100%`, `height: 300px`, `marginTop: 0px` |
|
|
97
|
+
| Map render | Only shown when `isLoaded && (showMap | | showMapReadOnly)` |
|
|
98
|
+
| Disabled map opacity | `0.7` |
|
|
95
99
|
|
|
96
100
|
**CSS companion file required:** `Location.css` with:
|
|
101
|
+
|
|
97
102
|
```css
|
|
98
|
-
.pac-container {
|
|
103
|
+
.pac-container {
|
|
104
|
+
z-index: 2147483647;
|
|
105
|
+
}
|
|
99
106
|
```
|
|
107
|
+
|
|
100
108
|
This ensures the Google Maps autocomplete dropdown appears above modal/dialog overlays.
|
|
101
109
|
|
|
102
110
|
**CSS-only implementation notes:**
|
|
111
|
+
|
|
103
112
|
- Location pin button: `<button>` with `position: absolute; right: 8px; top: 50%; transform: translateY(-50%);`
|
|
104
113
|
|
|
105
114
|
## Edge Cases & Special Logic
|
|
@@ -128,9 +137,9 @@ This ensures the Google Maps autocomplete dropdown appears above modal/dialog ov
|
|
|
128
137
|
|
|
129
138
|
Listed design systems are examples only.
|
|
130
139
|
|
|
131
|
-
| Design System
|
|
132
|
-
|
|
140
|
+
| Design System | Recommended Component |
|
|
141
|
+
| ------------------ | ----------------------------------------------------------------------- |
|
|
133
142
|
| Default (CSS only) | `<input type="text">` + Google Maps Autocomplete API + Google Map embed |
|
|
134
|
-
| MUI
|
|
135
|
-
| Ant Design
|
|
136
|
-
| Chakra UI
|
|
143
|
+
| MUI | `<TextField>` + `InputAdornment` for icon + `@react-google-maps/api` |
|
|
144
|
+
| Ant Design | `<Input suffix={<LocationIcon />}>` + Google Maps |
|
|
145
|
+
| Chakra UI | `<InputGroup>` + `<InputRightElement>` + Google Maps |
|
|
@@ -20,35 +20,36 @@ Renders a multi-value typeahead input where users can search and select multiple
|
|
|
20
20
|
|
|
21
21
|
## Props (component-specific)
|
|
22
22
|
|
|
23
|
-
| Prop
|
|
24
|
-
|
|
25
|
-
| `getPConnect`
|
|
26
|
-
| `label`
|
|
27
|
-
| `placeholder`
|
|
28
|
-
| `referenceList`
|
|
29
|
-
| `selectionKey`
|
|
30
|
-
| `primaryField`
|
|
31
|
-
| `initialCaseClass`
|
|
32
|
-
| `selectionList`
|
|
33
|
-
| `datasource`
|
|
34
|
-
| `columns`
|
|
35
|
-
| `listType`
|
|
36
|
-
| `isGroupData`
|
|
37
|
-
| `groupDataSource`
|
|
38
|
-
| `groupColumnsConfig`
|
|
39
|
-
| `referenceType`
|
|
40
|
-
| `secondaryFields`
|
|
41
|
-
| `showSecondaryInSearchOnly` | `boolean`
|
|
42
|
-
| `parameters`
|
|
43
|
-
| `matchPosition`
|
|
44
|
-
| `maxResultsDisplay`
|
|
45
|
-
| `value`
|
|
23
|
+
| Prop | Type | Default | Description |
|
|
24
|
+
| --------------------------- | ---------- | ------------ | ----------------------------------------------------------- |
|
|
25
|
+
| `getPConnect` | `function` | — | PConnect accessor |
|
|
26
|
+
| `label` | `string` | — | Field label |
|
|
27
|
+
| `placeholder` | `string` | — | Input placeholder |
|
|
28
|
+
| `referenceList` | `any[]` | — | Currently selected items from embedded page list |
|
|
29
|
+
| `selectionKey` | `string` | — | Property path used as the selection key |
|
|
30
|
+
| `primaryField` | `string` | — | Property path for the primary display field |
|
|
31
|
+
| `initialCaseClass` | `string` | — | Case class for context in search |
|
|
32
|
+
| `selectionList` | `string` | — | Property path of the reference list |
|
|
33
|
+
| `datasource` | `any[]` | `[]` | Flat data source |
|
|
34
|
+
| `columns` | `any[]` | `[{}]` | Column config for key/value extraction |
|
|
35
|
+
| `listType` | `string` | `''` | `'associated'`, `'datapage'`, `'promptList'`, `'localList'` |
|
|
36
|
+
| `isGroupData` | `boolean` | `false` | Whether to use grouped/hierarchical data |
|
|
37
|
+
| `groupDataSource` | `any[]` | `[]` | Data source for grouped display |
|
|
38
|
+
| `groupColumnsConfig` | `any[]` | `[{}]` | Column config for group display |
|
|
39
|
+
| `referenceType` | `string` | — | `'Case'` or `'Data'` |
|
|
40
|
+
| `secondaryFields` | `any` | — | Additional secondary display fields |
|
|
41
|
+
| `showSecondaryInSearchOnly` | `boolean` | `false` | Show secondary fields only during search |
|
|
42
|
+
| `parameters` | `object` | `{}` | Data page query parameters |
|
|
43
|
+
| `matchPosition` | `string` | `'contains'` | Search match position (`'contains'`, `'startsWith'`) |
|
|
44
|
+
| `maxResultsDisplay` | `string` | — | Max results to display (`'100'` default) |
|
|
45
|
+
| `value` | `any` | — | Current value |
|
|
46
46
|
|
|
47
47
|
## Behavioral Contract
|
|
48
48
|
|
|
49
49
|
### Reference List Mode (when `referenceList.length > 0`)
|
|
50
50
|
|
|
51
51
|
When `referenceList` has items, override datasource and columns:
|
|
52
|
+
|
|
52
53
|
- `datasource = referenceList`
|
|
53
54
|
- Build `columns`: primary display field, key field, secondary columns (from `secondaryFields` or default to `selectionKey`)
|
|
54
55
|
- If `referenceType === 'Case'`: append secondary columns
|
|
@@ -56,6 +57,7 @@ When `referenceList` has items, override datasource and columns:
|
|
|
56
57
|
### Data Config
|
|
57
58
|
|
|
58
59
|
Build a `dataConfig` object (memoized with deep comparison) containing:
|
|
60
|
+
|
|
59
61
|
- `dataSource`, `groupDataSource`, `isGroupData`, `showSecondaryInSearchOnly`, `parameters`, `matchPosition`, `listType`, `maxResultsDisplay`
|
|
60
62
|
- `columns`: preprocessed (strip leading `.` from value fields)
|
|
61
63
|
- `groupColumnsConfig`: preprocessed
|
|
@@ -69,6 +71,7 @@ Build a `dataConfig` object (memoized with deep comparison) containing:
|
|
|
69
71
|
### Data API Initialization
|
|
70
72
|
|
|
71
73
|
In `useEffect` watching `dataConfig` (non-associated lists):
|
|
74
|
+
|
|
72
75
|
```
|
|
73
76
|
PCore.getDataApi().init(dataConfig, contextName).then(dataObj => {
|
|
74
77
|
dataApiObj.current = dataObj
|
|
@@ -81,6 +84,7 @@ PCore.getDataApi().init(dataConfig, contextName).then(dataObj => {
|
|
|
81
84
|
### Search
|
|
82
85
|
|
|
83
86
|
`getCaseListBasedOnParams(searchText, group, selectedRows, currentItemsTree, isTriggeredFromSearch)`:
|
|
87
|
+
|
|
84
88
|
1. If `referenceList.length > 0`: get currently selected rows from `listActions.getSelectedRows(true)`, map to `{id, primary}` format, update `selectedItems` state.
|
|
85
89
|
2. Build `initalItemsTree`: use fresh data if `isTriggeredFromSearch || !currentItemsTree`, else current.
|
|
86
90
|
3. Call `doSearch(...)` to get filtered results.
|
|
@@ -96,6 +100,7 @@ PCore.getDataApi().init(dataConfig, contextName).then(dataObj => {
|
|
|
96
100
|
### Selection Changes (`handleChange`)
|
|
97
101
|
|
|
98
102
|
When selection changes (user adds/removes item):
|
|
103
|
+
|
|
99
104
|
1. Mark all currently selected items as `selected: true`.
|
|
100
105
|
2. Determine if this was an add or remove.
|
|
101
106
|
3. Update `itemsTree` selections in-place.
|
|
@@ -115,23 +120,42 @@ No explicit `displayMode` handling in the reference implementation — Multisele
|
|
|
115
120
|
|
|
116
121
|
## Visual Specifications
|
|
117
122
|
|
|
118
|
-
| Property
|
|
119
|
-
|
|
120
|
-
| Width
|
|
121
|
-
| Size
|
|
122
|
-
| Variant
|
|
123
|
-
| Multiple values | Tags/chips shown inside the input box
|
|
124
|
-
| Dropdown
|
|
123
|
+
| Property | Value |
|
|
124
|
+
| --------------- | ---------------------------------------------------------------------- |
|
|
125
|
+
| Width | 100% |
|
|
126
|
+
| Size | Small |
|
|
127
|
+
| Variant | Outlined |
|
|
128
|
+
| Multiple values | Tags/chips shown inside the input box |
|
|
129
|
+
| Dropdown | Shows filtered options with checkboxes |
|
|
125
130
|
| Close on select | Off (`disableCloseOnSelect`) — user can select multiple before closing |
|
|
126
|
-
| Option label
|
|
127
|
-
| Placeholder
|
|
128
|
-
| Error state
|
|
131
|
+
| Option label | `option.primary` field |
|
|
132
|
+
| Placeholder | From `placeholder` prop |
|
|
133
|
+
| Error state | Red border + red helper text |
|
|
129
134
|
|
|
130
135
|
**CSS-only notes:**
|
|
136
|
+
|
|
131
137
|
```css
|
|
132
|
-
.multiselect-tags {
|
|
133
|
-
|
|
134
|
-
|
|
138
|
+
.multiselect-tags {
|
|
139
|
+
display: flex;
|
|
140
|
+
flex-wrap: wrap;
|
|
141
|
+
gap: 4px;
|
|
142
|
+
padding: 4px;
|
|
143
|
+
border: 1px solid rgba(0, 0, 0, 0.23);
|
|
144
|
+
border-radius: 4px;
|
|
145
|
+
}
|
|
146
|
+
.multiselect-tag {
|
|
147
|
+
background: rgba(0, 0, 0, 0.08);
|
|
148
|
+
border-radius: 16px;
|
|
149
|
+
padding: 2px 8px;
|
|
150
|
+
font-size: 0.8125rem;
|
|
151
|
+
display: flex;
|
|
152
|
+
align-items: center;
|
|
153
|
+
gap: 4px;
|
|
154
|
+
}
|
|
155
|
+
.multiselect-tag-delete {
|
|
156
|
+
cursor: pointer;
|
|
157
|
+
font-size: 0.75rem;
|
|
158
|
+
}
|
|
135
159
|
```
|
|
136
160
|
|
|
137
161
|
## Edge Cases & Special Logic
|
|
@@ -156,9 +180,9 @@ No explicit `displayMode` handling in the reference implementation — Multisele
|
|
|
156
180
|
|
|
157
181
|
Listed design systems are examples only.
|
|
158
182
|
|
|
159
|
-
| Design System
|
|
160
|
-
|
|
161
|
-
| Default (CSS only) | Custom tag input + filterable dropdown list
|
|
162
|
-
| MUI
|
|
163
|
-
| Ant Design
|
|
164
|
-
| Chakra UI
|
|
183
|
+
| Design System | Recommended Component |
|
|
184
|
+
| ------------------ | ---------------------------------------------------- |
|
|
185
|
+
| Default (CSS only) | Custom tag input + filterable dropdown list |
|
|
186
|
+
| MUI | `<Autocomplete multiple disableCloseOnSelect>` |
|
|
187
|
+
| Ant Design | `<Select mode="multiple" showSearch>` |
|
|
188
|
+
| Chakra UI | Third-party multi-select (e.g., Chakra React Select) |
|
|
@@ -20,18 +20,18 @@ Does NOT render a UI control directly. Instead, it reads the raw metadata to det
|
|
|
20
20
|
|
|
21
21
|
> Uses `Omit<PConnFieldProps, 'value'>` — no direct `value` prop.
|
|
22
22
|
|
|
23
|
-
| Prop
|
|
24
|
-
|
|
25
|
-
| `getPConnect`
|
|
26
|
-
| `displayMode`
|
|
27
|
-
| `allowAndPersistChangesInReviewMode` | `any`
|
|
28
|
-
| `targetObjectType`
|
|
29
|
-
| `mode`
|
|
30
|
-
| `parameters`
|
|
31
|
-
| `hideLabel`
|
|
32
|
-
| `inline`
|
|
33
|
-
| `showPromotedFilters`
|
|
34
|
-
| `additionalFields`
|
|
23
|
+
| Prop | Type | Default | Description |
|
|
24
|
+
| ------------------------------------ | --------- | ------- | ---------------------------------------------------------------- |
|
|
25
|
+
| `getPConnect` | `any` | — | PConnect accessor |
|
|
26
|
+
| `displayMode` | `any` | — | Display mode |
|
|
27
|
+
| `allowAndPersistChangesInReviewMode` | `any` | `false` | Whether the reference can be edited while in review/display mode |
|
|
28
|
+
| `targetObjectType` | `any` | — | `'case'` or `'data'` — determines `referenceType` |
|
|
29
|
+
| `mode` | `string` | `''` | `'single'` or `'multi'` (SELECTION_MODE) |
|
|
30
|
+
| `parameters` | `object` | — | Data page query parameters |
|
|
31
|
+
| `hideLabel` | `boolean` | `false` | Whether to hide label |
|
|
32
|
+
| `inline` | `boolean` | `false` | Whether to render inline |
|
|
33
|
+
| `showPromotedFilters` | `boolean` | `false` | Show promoted filters in child |
|
|
34
|
+
| `additionalFields` | `any` | — | Additional fields for read-only display |
|
|
35
35
|
|
|
36
36
|
## Behavioral Contract
|
|
37
37
|
|
|
@@ -48,6 +48,7 @@ Does NOT render a UI control directly. Instead, it reads the raw metadata to det
|
|
|
48
48
|
|
|
49
49
|
**If `componentType === 'SemanticLink'` and `!canBeChangedInReviewMode`:**
|
|
50
50
|
Build a SemanticLink config from rawViewMetadata and call `getPConnect().createComponent({ type: 'SemanticLink', config: {...} })`. Config includes:
|
|
51
|
+
|
|
51
52
|
- `displayField` → `primaryField` and `text`
|
|
52
53
|
- `value` → `caseID`
|
|
53
54
|
- `resourceParams: { workID: value }`, `resourcePayload: { caseClassName: caseClass }`
|
|
@@ -55,6 +56,7 @@ Build a SemanticLink config from rawViewMetadata and call `getPConnect().createC
|
|
|
55
56
|
|
|
56
57
|
**If `isDisplayModeEnabled && !canBeChangedInReviewMode` (other types):**
|
|
57
58
|
Render `<SingleReferenceReadonly>` with config from `rawViewMetadata.config`, passing:
|
|
59
|
+
|
|
58
60
|
- `label`, `type`, `displayAs='readonly'`, `displayMode`, `referenceType`, `hideLabel`, `dataRelationshipContext`, `additionalFields`
|
|
59
61
|
|
|
60
62
|
### Subsection: Editable variants (including editable-in-review)
|
|
@@ -71,6 +73,7 @@ Render `<SingleReferenceReadonly>` with config from `rawViewMetadata.config`, pa
|
|
|
71
73
|
- If `!canBeChangedInReviewMode`: set `rawViewMetadata.config.displayMode = displayMode`
|
|
72
74
|
|
|
73
75
|
3. **Build fieldMetaData:**
|
|
76
|
+
|
|
74
77
|
```
|
|
75
78
|
fieldMetaData = { datasourceMetadata: { datasource: { parameters: {} } } }
|
|
76
79
|
```
|
|
@@ -100,6 +103,7 @@ Render `<SingleReferenceReadonly>` with config from `rawViewMetadata.config`, pa
|
|
|
100
103
|
### `onRecordChange` handler
|
|
101
104
|
|
|
102
105
|
Called when user selects a new value in editable/editable-in-review mode:
|
|
106
|
+
|
|
103
107
|
1. Build `refreshOptions = { autoDetectRefresh: true, propertyName: rawViewMetadata.config?.value }`
|
|
104
108
|
2. If `!canBeChangedInReviewMode || !pConn.getValue('__currentPageTabViewName')`: call `getPConnect().getActionsApi().refreshCaseView(caseKey, viewName, pgRef, refreshOptions)`.
|
|
105
109
|
3. Extract `propValue = event?.id || event?.target?.value`.
|
|
@@ -121,6 +125,7 @@ Display mode is passed through to the child component — the child (Dropdown, A
|
|
|
121
125
|
## Visual Specifications
|
|
122
126
|
|
|
123
127
|
ObjectReference itself renders a minimal grid container:
|
|
128
|
+
|
|
124
129
|
```
|
|
125
130
|
<Grid container>
|
|
126
131
|
<Grid>{recreatedFirstChild}</Grid>
|
|
@@ -130,8 +135,12 @@ ObjectReference itself renders a minimal grid container:
|
|
|
130
135
|
The visual appearance is entirely determined by the child component being rendered. No additional styling is applied by `ObjectReference` itself.
|
|
131
136
|
|
|
132
137
|
**CSS-only implementation:**
|
|
138
|
+
|
|
133
139
|
```css
|
|
134
|
-
.object-reference-container {
|
|
140
|
+
.object-reference-container {
|
|
141
|
+
display: grid;
|
|
142
|
+
width: 100%;
|
|
143
|
+
}
|
|
135
144
|
```
|
|
136
145
|
|
|
137
146
|
## Edge Cases & Special Logic
|
|
@@ -156,9 +165,9 @@ The visual appearance is entirely determined by the child component being render
|
|
|
156
165
|
|
|
157
166
|
Listed design systems are examples only.
|
|
158
167
|
|
|
159
|
-
| Scenario
|
|
160
|
-
|
|
161
|
-
| `componentType='Dropdown'` (editable)
|
|
162
|
-
| `componentType='AutoComplete'` (editable)
|
|
163
|
-
| `componentType='SemanticLink'`
|
|
168
|
+
| Scenario | Rendered Child |
|
|
169
|
+
| ----------------------------------------------------- | ----------------------------------- |
|
|
170
|
+
| `componentType='Dropdown'` (editable) | `Dropdown` component |
|
|
171
|
+
| `componentType='AutoComplete'` (editable) | `AutoComplete` component |
|
|
172
|
+
| `componentType='SemanticLink'` | `SemanticLink` component |
|
|
164
173
|
| `displayMode='DISPLAY_ONLY'` (non-editable-in-review) | `SingleReferenceReadonly` component |
|
|
@@ -18,11 +18,11 @@ Renders a numeric input for percentage values. Always appends a `%` suffix in th
|
|
|
18
18
|
|
|
19
19
|
## Props (component-specific)
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `currencyISOCode`
|
|
24
|
-
| `showGroupSeparators` | `string` (optional) | —
|
|
25
|
-
| `decimalPrecision`
|
|
21
|
+
| Prop | Type | Default | Description |
|
|
22
|
+
| --------------------- | ------------------- | ------- | ------------------------------------------------------------------------------------------------ |
|
|
23
|
+
| `currencyISOCode` | `string` (optional) | `'USD'` | ISO code used for locale-aware decimal/thousands separator lookup only (not for currency symbol) |
|
|
24
|
+
| `showGroupSeparators` | `string` (optional) | — | Whether to show thousands separators (passed as string, truthy check applies) |
|
|
25
|
+
| `decimalPrecision` | `number` (optional) | — | Number of decimal places |
|
|
26
26
|
|
|
27
27
|
## Behavioral Contract
|
|
28
28
|
|
|
@@ -39,6 +39,7 @@ Renders a numeric input for percentage values. Always appends a `%` suffix in th
|
|
|
39
39
|
## Display Mode Rendering
|
|
40
40
|
|
|
41
41
|
Format the value using the percentage formatter before display:
|
|
42
|
+
|
|
42
43
|
- `formattedValue = format(value, pConn.getComponentName()?.toLowerCase(), currencyOptions)`
|
|
43
44
|
- **`DISPLAY_ONLY`:** `<FieldValueList name={hideLabel ? '' : label} value={formattedValue} />`.
|
|
44
45
|
- **`STACKED_LARGE_VAL`:** `<FieldValueList name={hideLabel ? '' : label} value={formattedValue} variant='stacked' />`.
|
|
@@ -49,17 +50,17 @@ Keep numeric format input with `readOnly: true` and `%` suffix still visible. Fl
|
|
|
49
50
|
|
|
50
51
|
## Visual Specifications
|
|
51
52
|
|
|
52
|
-
| Property
|
|
53
|
-
|
|
54
|
-
| Width
|
|
55
|
-
| Size
|
|
56
|
-
| Variant editable
|
|
57
|
-
| Variant read-only
|
|
58
|
-
| Suffix
|
|
53
|
+
| Property | Value |
|
|
54
|
+
| ------------------- | ----------------------------------------- |
|
|
55
|
+
| Width | 100% |
|
|
56
|
+
| Size | Small |
|
|
57
|
+
| Variant editable | Outlined |
|
|
58
|
+
| Variant read-only | Standard (flat) |
|
|
59
|
+
| Suffix | `%` (always shown after the value) |
|
|
59
60
|
| Thousands separator | Only when `showGroupSeparators` is truthy |
|
|
60
|
-
| Decimal scale
|
|
61
|
-
| Placeholder
|
|
62
|
-
| Error state
|
|
61
|
+
| Decimal scale | `decimalPrecision` |
|
|
62
|
+
| Placeholder | From `placeholder` prop |
|
|
63
|
+
| Error state | Red border + red helper text |
|
|
63
64
|
|
|
64
65
|
**CSS-only notes:** Achieve the `%` suffix by wrapping the input in a relative container and absolutely positioning a `%` label at the right side, or using an input with a `::after` pseudo-element technique.
|
|
65
66
|
|
|
@@ -84,9 +85,9 @@ Keep numeric format input with `readOnly: true` and `%` suffix still visible. Fl
|
|
|
84
85
|
|
|
85
86
|
Listed design systems are examples only.
|
|
86
87
|
|
|
87
|
-
| Design System
|
|
88
|
-
|
|
89
|
-
| Default (CSS only) | `<input type="text">` + custom masking + `%` suffix span
|
|
90
|
-
| MUI
|
|
91
|
-
| Ant Design
|
|
92
|
-
| Chakra UI
|
|
88
|
+
| Design System | Recommended Component |
|
|
89
|
+
| ------------------ | --------------------------------------------------------------- |
|
|
90
|
+
| Default (CSS only) | `<input type="text">` + custom masking + `%` suffix span |
|
|
91
|
+
| MUI | `NumericFormat` with `suffix='%'` and `customInput={TextField}` |
|
|
92
|
+
| Ant Design | `<InputNumber suffix="%" precision={decimalPrecision} />` |
|
|
93
|
+
| Chakra UI | `<NumberInput>` + `<InputRightAddon>%</InputRightAddon>` |
|
|
@@ -19,6 +19,7 @@ Renders a telephone number input with an integrated country code selector (flag
|
|
|
19
19
|
## Props (component-specific)
|
|
20
20
|
|
|
21
21
|
No props beyond `PConnFieldProps`. Import type as:
|
|
22
|
+
|
|
22
23
|
```typescript
|
|
23
24
|
import type { PConnFieldProps } from '@pega/sdk-react';
|
|
24
25
|
```
|
|
@@ -61,22 +62,39 @@ Render phone input with `readOnly: true` and `disableDropdown: true` on the coun
|
|
|
61
62
|
|
|
62
63
|
## Visual Specifications
|
|
63
64
|
|
|
64
|
-
| Property
|
|
65
|
-
|
|
66
|
-
| Width
|
|
67
|
-
| Size
|
|
68
|
-
| Variant
|
|
65
|
+
| Property | Editable | Read-only |
|
|
66
|
+
| ---------------- | ------------------------------ | ----------------------------------------- |
|
|
67
|
+
| Width | 100% | 100% |
|
|
68
|
+
| Size | Small | Small |
|
|
69
|
+
| Variant | Outlined | Outlined (same, with readOnly input) |
|
|
69
70
|
| Country selector | Dropdown with flag + dial code | Flag + dial code shown, dropdown disabled |
|
|
70
|
-
| Default country
|
|
71
|
-
| Error state
|
|
72
|
-
| Helper text
|
|
71
|
+
| Default country | US (`+1`) | US (`+1`) |
|
|
72
|
+
| Error state | Red border + red helper text | — |
|
|
73
|
+
| Helper text | Below input | Below input |
|
|
73
74
|
|
|
74
75
|
**CSS-only notes:**
|
|
75
76
|
For a CSS-only implementation, create a two-part input:
|
|
77
|
+
|
|
76
78
|
```css
|
|
77
|
-
.phone-input-wrapper {
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
.phone-input-wrapper {
|
|
80
|
+
display: flex;
|
|
81
|
+
border: 1px solid rgba(0, 0, 0, 0.23);
|
|
82
|
+
border-radius: 4px;
|
|
83
|
+
overflow: hidden;
|
|
84
|
+
}
|
|
85
|
+
.phone-country-select {
|
|
86
|
+
border: none;
|
|
87
|
+
border-right: 1px solid rgba(0, 0, 0, 0.23);
|
|
88
|
+
padding: 0 8px;
|
|
89
|
+
background: none;
|
|
90
|
+
}
|
|
91
|
+
.phone-number-input {
|
|
92
|
+
flex: 1;
|
|
93
|
+
border: none;
|
|
94
|
+
padding: 8px 12px;
|
|
95
|
+
font-size: 0.875rem;
|
|
96
|
+
outline: none;
|
|
97
|
+
}
|
|
80
98
|
```
|
|
81
99
|
|
|
82
100
|
## Edge Cases & Special Logic
|
|
@@ -93,6 +111,7 @@ For a CSS-only implementation, create a two-part input:
|
|
|
93
111
|
- `getComponentFromRegistry('FieldValueList')` for display modes.
|
|
94
112
|
|
|
95
113
|
**For CSS-only / non-library implementations:**
|
|
114
|
+
|
|
96
115
|
- Use a `<select>` for country code + a text `<input>` for the number.
|
|
97
116
|
- On blur, combine dial code + number and strip non-digits, then format as `+{digits}`.
|
|
98
117
|
|
|
@@ -102,9 +121,9 @@ For a CSS-only implementation, create a two-part input:
|
|
|
102
121
|
|
|
103
122
|
Listed design systems are examples only.
|
|
104
123
|
|
|
105
|
-
| Design System
|
|
106
|
-
|
|
107
|
-
| Default (CSS only) | `<select>` (country) + `<input type="tel">`
|
|
108
|
-
| MUI
|
|
109
|
-
| Ant Design
|
|
110
|
-
| Chakra UI
|
|
124
|
+
| Design System | Recommended Component |
|
|
125
|
+
| ------------------ | -------------------------------------------------- |
|
|
126
|
+
| Default (CSS only) | `<select>` (country) + `<input type="tel">` |
|
|
127
|
+
| MUI | `<MuiTelInput>` from `mui-tel-input` |
|
|
128
|
+
| Ant Design | `<Input addonBefore={countrySelect}>` |
|
|
129
|
+
| Chakra UI | `<InputGroup>` with `<InputLeftAddon>` for country |
|