@salesforce/templates 66.5.5 → 66.6.0
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/lib/generators/projectGenerator.d.ts +1 -1
- package/lib/generators/projectGenerator.js +3 -3
- package/lib/generators/projectGenerator.js.map +1 -1
- package/lib/templates/project/.forceignore +3 -1
- package/lib/templates/project/{reactb2e → reactexternalapp}/AGENT.md +8 -2
- package/lib/templates/project/{reactb2e → reactexternalapp}/CHANGELOG.md +460 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/README.md +14 -14
- package/lib/templates/project/{reactb2x/_p_/_m_/_d_/_s_/_a1_/appreacttemplateb2x1.digitalExperience-meta.xml → reactexternalapp/_p_/_m_/_d_/_s_/_a1_/reactexternalapp1.digitalExperience-meta.xml} +1 -1
- package/lib/templates/project/{reactb2x/_p_/_m_/_d_/_s_/_a1_/sfdc_cms__site/appreacttemplateb2x1 → reactexternalapp/_p_/_m_/_d_/_s_/_a1_/sfdc_cms__site/reactexternalapp1}/_meta.json +1 -1
- package/lib/templates/project/{reactb2x/_p_/_m_/_d_/_s_/_a1_/sfdc_cms__site/appreacttemplateb2x1 → reactexternalapp/_p_/_m_/_d_/_s_/_a1_/sfdc_cms__site/reactexternalapp1}/content.json +3 -3
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/README.md +2 -2
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/codegen.yml +1 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/eslint.config.js +44 -27
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/index.html +0 -1
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/package.json +8 -11
- package/lib/templates/project/{reactb2e/_p_/_m_/_w_/_a_/appreacttemplateb2e.webapplication-meta.xml → reactexternalapp/_p_/_m_/_w_/_a_/reactexternalapp.webapplication-meta.xml} +1 -1
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/accountSearchService.ts +46 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/distinctAccountIndustries.graphql +19 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/distinctAccountTypes.graphql +19 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/getAccountDetail.graphql +121 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/searchAccounts.graphql +51 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/pages/AccountObjectDetailPage.tsx +357 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/pages/AccountSearch.tsx +303 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/pages/Home.tsx +34 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/api/objectSearchService.ts +84 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/ActiveFilters.tsx +89 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/FilterContext.tsx +73 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/ObjectBreadcrumb.tsx +66 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/PaginationControls.tsx +109 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/SearchBar.tsx +41 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/SortControl.tsx +143 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/BooleanFilter.tsx +74 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/DateFilter.tsx +121 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/DateRangeFilter.tsx +69 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/MultiSelectFilter.tsx +98 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/NumericRangeFilter.tsx +85 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/SearchFilter.tsx +37 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/SelectFilter.tsx +93 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/TextFilter.tsx +74 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/hooks/useAsyncData.ts +54 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/hooks/useCachedAsyncData.ts +184 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/hooks/useObjectSearchParams.ts +247 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/debounce.ts +22 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/fieldUtils.ts +29 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/filterUtils.ts +372 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/sortUtils.ts +38 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/api/userProfileApi.ts +13 -13
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/layouts/privateRouteLayout.tsx +10 -2
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/pages/ChangePassword.tsx +2 -2
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/pages/ForgotPassword.tsx +2 -2
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/pages/Login.tsx +2 -2
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/pages/Profile.tsx +26 -4
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/pages/Register.tsx +2 -2
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/pages/ResetPassword.tsx +2 -2
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/sessionTimeout/SessionTimeoutValidator.tsx +8 -16
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/sessionTimeout/sessionTimeService.ts +30 -42
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/api/graphql-operations-types.ts +11260 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/api/graphqlClient.ts +25 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/app.tsx +3 -1
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/badge.tsx +48 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/breadcrumb.tsx +109 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/calendar.tsx +232 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/checkbox.tsx +32 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/collapsible.tsx +33 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/datePicker.tsx +127 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/popover.tsx +89 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/sonner.tsx +20 -0
- package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/pages/Home.tsx +12 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/routes.tsx +9 -21
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/tsconfig.json +7 -1
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/vite.config.ts +17 -13
- package/lib/templates/project/{reactb2x/_p_/_m_/digitalExperienceConfigs/appreacttemplateb2x1.digitalExperienceConfig → reactexternalapp/_p_/_m_/digitalExperienceConfigs/reactexternalapp1.digitalExperienceConfig} +3 -3
- package/lib/templates/project/{reactb2x/_p_/_m_/networks/appreacttemplateb2x.network → reactexternalapp/_p_/_m_/networks/reactexternalapp.network} +5 -5
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/package.xml +4 -4
- package/lib/templates/project/{reactb2x/_p_/_m_/sites/appreacttemplateb2x.site → reactexternalapp/_p_/_m_/sites/reactexternalapp.site} +2 -2
- package/lib/templates/project/reactexternalapp/_r_/webapp-data.md +353 -0
- package/lib/templates/project/reactexternalapp/_r_/webapp-ui.md +16 -0
- package/lib/templates/project/reactexternalapp/eslint.config.js +7 -0
- package/lib/templates/project/reactexternalapp/package-lock.json +9995 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/package.json +12 -11
- package/lib/templates/project/reactexternalapp/scripts/graphql-search.sh +191 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/scripts/setup-cli.mjs +61 -31
- package/lib/templates/project/reactexternalapp/scripts/sf-project-setup.mjs +66 -0
- package/lib/templates/project/reactinternalapp/.forceignore +15 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/AGENT.md +8 -2
- package/lib/templates/project/{reactb2x → reactinternalapp}/CHANGELOG.md +460 -0
- package/lib/templates/project/{reactb2e → reactinternalapp}/README.md +9 -9
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/.forceignore +15 -0
- package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/README.md +2 -2
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/codegen.yml +1 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/eslint.config.js +44 -27
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/index.html +0 -1
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/package.json +7 -11
- package/lib/templates/project/{reactb2x/_p_/_m_/_w_/_a_/appreacttemplateb2x.webapplication-meta.xml → reactinternalapp/_p_/_m_/_w_/_a_/reactinternalapp.webapplication-meta.xml} +1 -1
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/accountSearchService.ts +46 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/distinctAccountIndustries.graphql +19 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/distinctAccountTypes.graphql +19 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/getAccountDetail.graphql +121 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/searchAccounts.graphql +51 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/pages/AccountObjectDetailPage.tsx +357 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/pages/AccountSearch.tsx +303 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/pages/Home.tsx +34 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/api/objectSearchService.ts +84 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/ActiveFilters.tsx +89 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/FilterContext.tsx +73 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/ObjectBreadcrumb.tsx +66 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/PaginationControls.tsx +109 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/SearchBar.tsx +41 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/SortControl.tsx +143 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/BooleanFilter.tsx +74 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/DateFilter.tsx +121 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/DateRangeFilter.tsx +69 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/MultiSelectFilter.tsx +98 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/NumericRangeFilter.tsx +85 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/SearchFilter.tsx +37 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/SelectFilter.tsx +93 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/TextFilter.tsx +74 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/hooks/useAsyncData.ts +54 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/hooks/useCachedAsyncData.ts +184 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/hooks/useObjectSearchParams.ts +247 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/debounce.ts +22 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/fieldUtils.ts +29 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/filterUtils.ts +372 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/sortUtils.ts +38 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/api/graphql-operations-types.ts +11260 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/api/graphqlClient.ts +25 -0
- package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/src/app.tsx +4 -1
- package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/src/appLayout.tsx +1 -1
- package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/AgentforceConversationClient.tsx +33 -5
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/badge.tsx +48 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/breadcrumb.tsx +109 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/calendar.tsx +232 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/checkbox.tsx +32 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/collapsible.tsx +33 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/datePicker.tsx +127 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/popover.tsx +89 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/sonner.tsx +20 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/index.ts +6 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/pages/Home.tsx +12 -0
- package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/routes.tsx +21 -0
- package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/src/types/conversation.ts +14 -4
- package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/tsconfig.json +7 -1
- package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/vite.config.ts +17 -13
- package/lib/templates/project/reactinternalapp/_r_/webapp-data.md +353 -0
- package/lib/templates/project/reactinternalapp/_r_/webapp-ui.md +16 -0
- package/lib/templates/project/reactinternalapp/eslint.config.js +7 -0
- package/lib/templates/project/reactinternalapp/package-lock.json +9995 -0
- package/lib/templates/project/{reactb2e → reactinternalapp}/package.json +12 -11
- package/lib/templates/project/reactinternalapp/scripts/graphql-search.sh +191 -0
- package/lib/templates/project/{reactb2e → reactinternalapp}/scripts/setup-cli.mjs +61 -31
- package/lib/templates/project/reactinternalapp/scripts/sf-project-setup.mjs +66 -0
- package/lib/templates/webapplication/reactbasic/.forceignore +15 -0
- package/lib/templates/webapplication/reactbasic/codegen.yml +1 -0
- package/lib/templates/webapplication/reactbasic/eslint.config.js +44 -27
- package/lib/templates/webapplication/reactbasic/index.html +0 -1
- package/lib/templates/webapplication/reactbasic/package.json +6 -3
- package/lib/templates/webapplication/reactbasic/src/api/graphqlClient.ts +25 -0
- package/lib/templates/webapplication/reactbasic/src/app.tsx +4 -1
- package/lib/templates/webapplication/reactbasic/src/components/alerts/status-alert.tsx +1 -1
- package/lib/templates/webapplication/reactbasic/src/components/ui/badge.tsx +48 -0
- package/lib/templates/webapplication/reactbasic/src/components/ui/breadcrumb.tsx +109 -0
- package/lib/templates/webapplication/reactbasic/src/components/ui/calendar.tsx +232 -0
- package/lib/templates/webapplication/reactbasic/src/components/ui/checkbox.tsx +32 -0
- package/lib/templates/webapplication/reactbasic/src/components/ui/collapsible.tsx +33 -0
- package/lib/templates/webapplication/reactbasic/src/components/ui/datePicker.tsx +127 -0
- package/lib/templates/webapplication/reactbasic/src/components/ui/popover.tsx +89 -0
- package/lib/templates/webapplication/reactbasic/src/components/ui/sonner.tsx +20 -0
- package/lib/templates/webapplication/reactbasic/tsconfig.json +7 -1
- package/lib/templates/webapplication/reactbasic/vite.config.ts +17 -13
- package/lib/utils/template-placeholders.js +15 -1
- package/lib/utils/template-placeholders.js.map +1 -1
- package/lib/utils/types.d.ts +1 -1
- package/lib/utils/webappTemplateUtils.d.ts +8 -4
- package/lib/utils/webappTemplateUtils.js +20 -11
- package/lib/utils/webappTemplateUtils.js.map +1 -1
- package/package.json +5 -5
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailFields.tsx +0 -55
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailForm.tsx +0 -146
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailHeader.tsx +0 -34
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailLayoutSections.tsx +0 -80
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/Section.tsx +0 -108
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/SectionRow.tsx +0 -20
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/UiApiDetailForm.tsx +0 -140
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FieldValueDisplay.tsx +0 -73
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedAddress.tsx +0 -29
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedEmail.tsx +0 -17
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedPhone.tsx +0 -24
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedText.tsx +0 -11
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedUrl.tsx +0 -29
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FilterField.tsx +0 -54
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FilterInput.tsx +0 -55
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FilterSelect.tsx +0 -72
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FiltersPanel.tsx +0 -380
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/forms/filters-form.tsx +0 -114
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/forms/submit-button.tsx +0 -47
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/GlobalSearchInput.tsx +0 -114
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/ResultCardFields.tsx +0 -71
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchHeader.tsx +0 -31
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchPagination.tsx +0 -144
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchResultCard.tsx +0 -136
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchResultsPanel.tsx +0 -197
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/shared/LoadingFallback.tsx +0 -61
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectDetailService.ts +0 -102
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectInfoGraphQLService.ts +0 -137
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectInfoService.ts +0 -95
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/recordListGraphQLService.ts +0 -364
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/constants.ts +0 -39
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/filters/FilterInput.tsx +0 -55
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/filters/FilterSelect.tsx +0 -72
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/form.tsx +0 -209
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useObjectInfoBatch.ts +0 -65
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useObjectSearchData.ts +0 -174
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useRecordDetailLayout.ts +0 -137
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useRecordListGraphQL.ts +0 -135
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/pages/DetailPage.tsx +0 -109
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/pages/GlobalSearch.tsx +0 -229
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/filters/filters.ts +0 -121
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/filters/picklist.ts +0 -6
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/objectInfo/objectInfo.ts +0 -49
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/recordDetail/recordDetail.ts +0 -61
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/schema.d.ts +0 -200
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/search/searchResults.ts +0 -229
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/apiUtils.ts +0 -59
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/cacheUtils.ts +0 -76
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/debounce.ts +0 -89
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/fieldUtils.ts +0 -354
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/fieldValueExtractor.ts +0 -67
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/filterUtils.ts +0 -32
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/formDataTransformUtils.ts +0 -260
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/formUtils.ts +0 -142
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLNodeFieldUtils.ts +0 -186
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLObjectInfoAdapter.ts +0 -77
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLRecordAdapter.ts +0 -90
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/layoutTransformUtils.ts +0 -236
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/linkUtils.ts +0 -14
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/paginationUtils.ts +0 -49
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/recordUtils.ts +0 -159
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/sanitizationUtils.ts +0 -49
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/index.ts +0 -120
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/pages/Home.tsx +0 -13
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/pages/TestAccPage.tsx +0 -19
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/routes.tsx +0 -50
- package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/tsconfig.tsbuildinfo +0 -1
- package/lib/templates/project/reactb2e/_r_/features/feature-graphql-graphql-data-access-rule.md +0 -470
- package/lib/templates/project/reactb2e/_r_/features/feature-react-agentforce-conversation-client-embedded-agent-rule.md +0 -18
- package/lib/templates/project/reactb2e/_r_/features/feature-react-chart-analytics-charts-rule.md +0 -27
- package/lib/templates/project/reactb2e/_r_/skills/_k_/SKILL.md +0 -148
- package/lib/templates/project/reactb2e/_r_/skills/_k_/docs/embed-examples.md +0 -192
- package/lib/templates/project/reactb2e/_r_/skills/_k_/docs/troubleshooting.md +0 -51
- package/lib/templates/project/reactb2e/_r_/skills/feature-graphql-graphql-data-access/SKILL.md +0 -155
- package/lib/templates/project/reactb2e/_r_/skills/feature-graphql-graphql-data-access/docs/explore-schema.md +0 -256
- package/lib/templates/project/reactb2e/_r_/skills/feature-graphql-graphql-data-access/docs/generate-mutation-query.md +0 -228
- package/lib/templates/project/reactb2e/_r_/skills/feature-graphql-graphql-data-access/docs/generate-read-query.md +0 -202
- package/lib/templates/project/reactb2e/_r_/skills/feature-graphql-graphql-data-access/docs/shared-schema.graphqls +0 -1150
- package/lib/templates/project/reactb2e/_r_/skills/feature-micro-frontend-micro-frontend/SKILL.md +0 -137
- package/lib/templates/project/reactb2e/_r_/skills/feature-react-chart-analytics-charts/SKILL.md +0 -41
- package/lib/templates/project/reactb2e/_r_/skills/feature-react-chart-analytics-charts/docs/schema-mapping.md +0 -4
- package/lib/templates/project/reactb2e/_r_/skills/feature-react-file-upload-file-upload/SKILL.md +0 -396
- package/lib/templates/project/reactb2e/_r_/skills/webapp-csp-trusted-sites/SKILL.md +0 -90
- package/lib/templates/project/reactb2e/_r_/skills/webapp-csp-trusted-sites/implementation/metadata-format.md +0 -281
- package/lib/templates/project/reactb2e/_r_/skills/webapp-features/SKILL.md +0 -210
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react/SKILL.md +0 -80
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react/implementation/component.md +0 -78
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react/implementation/header-footer.md +0 -132
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react/implementation/page.md +0 -93
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react-data-visualization/SKILL.md +0 -72
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react-data-visualization/implementation/dashboard-layout.md +0 -189
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react-data-visualization/implementation/donut-chart.md +0 -181
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react-data-visualization/implementation/stat-card.md +0 -150
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react-interactive-map/SKILL.md +0 -92
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react-interactive-map/implementation/geocoding.md +0 -245
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react-interactive-map/implementation/leaflet-map.md +0 -279
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react-weather-widget/SKILL.md +0 -65
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react-weather-widget/implementation/weather-hook.md +0 -258
- package/lib/templates/project/reactb2e/_r_/skills/webapp-react-weather-widget/implementation/weather-ui.md +0 -216
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/SKILL.md +0 -271
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/charts.csv +0 -26
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/colors.csv +0 -97
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/icons.csv +0 -101
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/landing.csv +0 -31
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/products.csv +0 -97
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/react-performance.csv +0 -45
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/stacks/html-tailwind.csv +0 -56
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/stacks/react.csv +0 -54
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/stacks/shadcn.csv +0 -61
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/styles.csv +0 -68
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/typography.csv +0 -58
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/ui-reasoning.csv +0 -101
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/ux-guidelines.csv +0 -100
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/web-interface.csv +0 -31
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/scripts/core.js +0 -255
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/scripts/design_system.js +0 -861
- package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/scripts/search.js +0 -98
- package/lib/templates/project/reactb2e/_r_/skills/webapp-unsplash-images/SKILL.md +0 -71
- package/lib/templates/project/reactb2e/_r_/skills/webapp-unsplash-images/implementation/usage.md +0 -159
- package/lib/templates/project/reactb2e/_r_/webapp-cli-commands.md +0 -88
- package/lib/templates/project/reactb2e/_r_/webapp-react-code-quality.md +0 -136
- package/lib/templates/project/reactb2e/_r_/webapp-react-typescript.md +0 -205
- package/lib/templates/project/reactb2e/_r_/webapp-react.md +0 -202
- package/lib/templates/project/reactb2e/_r_/webapp-skills-first.md +0 -26
- package/lib/templates/project/reactb2e/_r_/webapp-webapplication.md +0 -159
- package/lib/templates/project/reactb2e/_r_/webapp.md +0 -98
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailFields.tsx +0 -55
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailForm.tsx +0 -146
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailHeader.tsx +0 -34
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailLayoutSections.tsx +0 -80
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/Section.tsx +0 -108
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/SectionRow.tsx +0 -20
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/UiApiDetailForm.tsx +0 -140
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FieldValueDisplay.tsx +0 -73
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedAddress.tsx +0 -29
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedEmail.tsx +0 -17
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedPhone.tsx +0 -24
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedText.tsx +0 -11
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedUrl.tsx +0 -29
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FilterField.tsx +0 -54
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FilterInput.tsx +0 -55
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FilterSelect.tsx +0 -72
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FiltersPanel.tsx +0 -380
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/forms/filters-form.tsx +0 -114
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/forms/submit-button.tsx +0 -47
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/GlobalSearchInput.tsx +0 -114
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/ResultCardFields.tsx +0 -71
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchHeader.tsx +0 -31
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchPagination.tsx +0 -144
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchResultCard.tsx +0 -136
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchResultsPanel.tsx +0 -197
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/shared/LoadingFallback.tsx +0 -61
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectDetailService.ts +0 -102
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectInfoGraphQLService.ts +0 -137
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectInfoService.ts +0 -95
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/recordListGraphQLService.ts +0 -364
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/constants.ts +0 -39
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/filters/FilterInput.tsx +0 -55
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/filters/FilterSelect.tsx +0 -72
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/form.tsx +0 -209
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useObjectInfoBatch.ts +0 -65
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useObjectSearchData.ts +0 -174
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useRecordDetailLayout.ts +0 -137
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useRecordListGraphQL.ts +0 -135
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/pages/DetailPage.tsx +0 -109
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/pages/GlobalSearch.tsx +0 -229
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/filters/filters.ts +0 -121
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/filters/picklist.ts +0 -6
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/objectInfo/objectInfo.ts +0 -49
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/recordDetail/recordDetail.ts +0 -61
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/schema.d.ts +0 -200
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/search/searchResults.ts +0 -229
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/apiUtils.ts +0 -59
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/cacheUtils.ts +0 -76
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/debounce.ts +0 -89
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/fieldUtils.ts +0 -354
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/fieldValueExtractor.ts +0 -67
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/filterUtils.ts +0 -32
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/formDataTransformUtils.ts +0 -260
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/formUtils.ts +0 -142
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLNodeFieldUtils.ts +0 -186
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLObjectInfoAdapter.ts +0 -77
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLRecordAdapter.ts +0 -90
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/layoutTransformUtils.ts +0 -236
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/linkUtils.ts +0 -14
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/paginationUtils.ts +0 -49
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/recordUtils.ts +0 -159
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/sanitizationUtils.ts +0 -49
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/index.ts +0 -120
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/pages/Home.tsx +0 -13
- package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/tsconfig.tsbuildinfo +0 -1
- package/lib/templates/project/reactb2x/_r_/features/feature-graphql-graphql-data-access-rule.md +0 -470
- package/lib/templates/project/reactb2x/_r_/features/feature-react-agentforce-conversation-client-embedded-agent-rule.md +0 -18
- package/lib/templates/project/reactb2x/_r_/features/feature-react-chart-analytics-charts-rule.md +0 -27
- package/lib/templates/project/reactb2x/_r_/skills/_k_/SKILL.md +0 -148
- package/lib/templates/project/reactb2x/_r_/skills/_k_/docs/embed-examples.md +0 -192
- package/lib/templates/project/reactb2x/_r_/skills/_k_/docs/troubleshooting.md +0 -51
- package/lib/templates/project/reactb2x/_r_/skills/feature-graphql-graphql-data-access/SKILL.md +0 -155
- package/lib/templates/project/reactb2x/_r_/skills/feature-graphql-graphql-data-access/docs/explore-schema.md +0 -256
- package/lib/templates/project/reactb2x/_r_/skills/feature-graphql-graphql-data-access/docs/generate-mutation-query.md +0 -228
- package/lib/templates/project/reactb2x/_r_/skills/feature-graphql-graphql-data-access/docs/generate-read-query.md +0 -202
- package/lib/templates/project/reactb2x/_r_/skills/feature-graphql-graphql-data-access/docs/shared-schema.graphqls +0 -1150
- package/lib/templates/project/reactb2x/_r_/skills/feature-micro-frontend-micro-frontend/SKILL.md +0 -137
- package/lib/templates/project/reactb2x/_r_/skills/feature-react-chart-analytics-charts/SKILL.md +0 -41
- package/lib/templates/project/reactb2x/_r_/skills/feature-react-chart-analytics-charts/docs/schema-mapping.md +0 -4
- package/lib/templates/project/reactb2x/_r_/skills/feature-react-file-upload-file-upload/SKILL.md +0 -396
- package/lib/templates/project/reactb2x/_r_/skills/webapp-csp-trusted-sites/SKILL.md +0 -90
- package/lib/templates/project/reactb2x/_r_/skills/webapp-csp-trusted-sites/implementation/metadata-format.md +0 -281
- package/lib/templates/project/reactb2x/_r_/skills/webapp-features/SKILL.md +0 -210
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react/SKILL.md +0 -80
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react/implementation/component.md +0 -78
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react/implementation/header-footer.md +0 -132
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react/implementation/page.md +0 -93
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react-data-visualization/SKILL.md +0 -72
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react-data-visualization/implementation/dashboard-layout.md +0 -189
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react-data-visualization/implementation/donut-chart.md +0 -181
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react-data-visualization/implementation/stat-card.md +0 -150
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react-interactive-map/SKILL.md +0 -92
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react-interactive-map/implementation/geocoding.md +0 -245
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react-interactive-map/implementation/leaflet-map.md +0 -279
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react-weather-widget/SKILL.md +0 -65
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react-weather-widget/implementation/weather-hook.md +0 -258
- package/lib/templates/project/reactb2x/_r_/skills/webapp-react-weather-widget/implementation/weather-ui.md +0 -216
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/SKILL.md +0 -271
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/charts.csv +0 -26
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/colors.csv +0 -97
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/icons.csv +0 -101
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/landing.csv +0 -31
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/products.csv +0 -97
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/react-performance.csv +0 -45
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/stacks/html-tailwind.csv +0 -56
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/stacks/react.csv +0 -54
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/stacks/shadcn.csv +0 -61
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/styles.csv +0 -68
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/typography.csv +0 -58
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/ui-reasoning.csv +0 -101
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/ux-guidelines.csv +0 -100
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/web-interface.csv +0 -31
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/scripts/core.js +0 -255
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/scripts/design_system.js +0 -861
- package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/scripts/search.js +0 -98
- package/lib/templates/project/reactb2x/_r_/skills/webapp-unsplash-images/SKILL.md +0 -71
- package/lib/templates/project/reactb2x/_r_/skills/webapp-unsplash-images/implementation/usage.md +0 -159
- package/lib/templates/project/reactb2x/_r_/webapp-cli-commands.md +0 -88
- package/lib/templates/project/reactb2x/_r_/webapp-react-code-quality.md +0 -136
- package/lib/templates/project/reactb2x/_r_/webapp-react-typescript.md +0 -205
- package/lib/templates/project/reactb2x/_r_/webapp-react.md +0 -202
- package/lib/templates/project/reactb2x/_r_/webapp-skills-first.md +0 -26
- package/lib/templates/project/reactb2x/_r_/webapp-webapplication.md +0 -159
- package/lib/templates/project/reactb2x/_r_/webapp.md +0 -98
- package/lib/templates/project/{reactb2e → reactexternalapp}/.forceignore +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/.husky/pre-commit +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/.prettierignore +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/.prettierrc +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp/_p_/_m_/_w_/_a_}/.forceignore +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/.graphqlrc.yml +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/.prettierignore +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/.prettierrc +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/CHANGELOG.md +0 -0
- package/lib/templates/project/{reactb2e/_p_/_m_/_w_/_a_/src → reactexternalapp/_p_/_m_/_w_/_a_}/components.json +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/e2e/app.spec.ts +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/playwright.config.ts +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/scripts/get-graphql-schema.mjs +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/scripts/rewrite-e2e-assets.mjs +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/authHelpers.ts +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/authenticationConfig.ts +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/context/AuthContext.tsx +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/footers/footer-link.tsx +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/forms/auth-form.tsx +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/forms/submit-button.tsx +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/hooks/form.tsx +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/hooks/useCountdownTimer.ts +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/hooks/useRetryWithBackoff.ts +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/layout/card-skeleton.tsx +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/layout/centered-page-layout.tsx +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/layouts/AuthAppLayout.tsx +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/layouts/authenticationRouteLayout.tsx +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/sessionTimeout/sessionTimeoutConfig.ts +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/utils/helpers.ts +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/appLayout.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/book.svg +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/copy.svg +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/rocket.svg +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/star.svg +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/images/codey-1.png +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/images/codey-2.png +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/images/codey-3.png +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/images/vibe-codey.svg +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/alerts/status-alert.tsx +1 -1
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/layouts/card-layout.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/alert.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/button.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/card.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/dialog.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/field.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/index.ts +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/input.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/label.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/pagination.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/select.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/separator.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/skeleton.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/spinner.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/table.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/tabs.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/lib/utils.ts +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/navigationMenu.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/pages/NotFound.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/router-utils.tsx +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/styles/global.css +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/tsconfig.node.json +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/vite-env.d.ts +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/vitest-env.d.ts +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/vitest.config.ts +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/vitest.setup.ts +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/webapplication.json +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppAuthUtils.cls +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppAuthUtils.cls-meta.xml +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppChangePassword.cls +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppChangePassword.cls-meta.xml +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppForgotPassword.cls +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppForgotPassword.cls-meta.xml +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppLogin.cls +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppLogin.cls-meta.xml +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppRegistration.cls +0 -0
- package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppRegistration.cls-meta.xml +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/config/project-scratch-def.json +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/jest.config.js +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/scripts/apex/hello.apex +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/scripts/prepare-import-unique-fields.js +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/scripts/soql/account.soql +0 -0
- package/lib/templates/project/{reactb2e → reactexternalapp}/sfdx-project.json +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/.husky/pre-commit +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/.prettierignore +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/.prettierrc +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/.graphqlrc.yml +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/.prettierignore +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/.prettierrc +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/CHANGELOG.md +0 -0
- package/lib/templates/project/{reactb2x/_p_/_m_/_w_/_a_/src → reactinternalapp/_p_/_m_/_w_/_a_}/components.json +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/e2e/app.spec.ts +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/playwright.config.ts +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/scripts/get-graphql-schema.mjs +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/scripts/rewrite-e2e-assets.mjs +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/book.svg +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/copy.svg +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/rocket.svg +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/star.svg +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/images/codey-1.png +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/images/codey-2.png +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/images/codey-3.png +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/images/vibe-codey.svg +0 -0
- package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/__inherit_AgentforceConversationClient.tsx +0 -0
- package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/alerts/status-alert.tsx +1 -1
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/layouts/card-layout.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/alert.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/button.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/card.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/dialog.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/field.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/index.ts +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/input.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/label.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/pagination.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/select.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/separator.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/skeleton.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/spinner.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/table.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/tabs.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/lib/utils.ts +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/navigationMenu.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/pages/NotFound.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/router-utils.tsx +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/styles/global.css +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/tsconfig.node.json +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/vite-env.d.ts +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/vitest-env.d.ts +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/vitest.config.ts +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/vitest.setup.ts +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/webapplication.json +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/config/project-scratch-def.json +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/jest.config.js +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/scripts/apex/hello.apex +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/scripts/prepare-import-unique-fields.js +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/scripts/soql/account.soql +0 -0
- /package/lib/templates/project/{reactb2x → reactinternalapp}/sfdx-project.json +0 -0
- /package/lib/templates/webapplication/reactbasic/{src/components.json → components.json} +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Toaster as Sonner } from 'sonner';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Renders the toast container. Use with `toast()` from this module for messages
|
|
5
|
+
* with title, description, actions, and variants (success, error, warning).
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* toast("Event has been created", {
|
|
9
|
+
* description: "Sunday, December 03, 2023 at 9:00 AM",
|
|
10
|
+
* action: { label: "Undo", onClick: () => {} },
|
|
11
|
+
* });
|
|
12
|
+
* toast.success("Saved!");
|
|
13
|
+
* toast.error("Something went wrong");
|
|
14
|
+
* toast.warning("Please review");
|
|
15
|
+
*/
|
|
16
|
+
export function Toaster() {
|
|
17
|
+
return <Sonner position="top-right" richColors />;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { toast } from 'sonner';
|
|
@@ -31,6 +31,12 @@
|
|
|
31
31
|
"@assets/*": ["./src/assets/*"]
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
|
-
"include": [
|
|
34
|
+
"include": [
|
|
35
|
+
"src",
|
|
36
|
+
"e2e",
|
|
37
|
+
"vite-env.d.ts",
|
|
38
|
+
"vitest-env.d.ts",
|
|
39
|
+
"vitest.setup.ts"
|
|
40
|
+
],
|
|
35
41
|
"references": [{ "path": "./tsconfig.node.json" }]
|
|
36
42
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
1
2
|
import { defineConfig } from 'vite';
|
|
2
3
|
import react from '@vitejs/plugin-react';
|
|
3
4
|
import path from 'path';
|
|
@@ -6,26 +7,29 @@ import tailwindcss from '@tailwindcss/vite';
|
|
|
6
7
|
import salesforce from '@salesforce/vite-plugin-webapp-experimental';
|
|
7
8
|
import codegen from 'vite-plugin-graphql-codegen';
|
|
8
9
|
|
|
10
|
+
const schemaPath = resolve(__dirname, '../../../../../schema.graphql');
|
|
11
|
+
const schemaExists = existsSync(schemaPath);
|
|
12
|
+
|
|
9
13
|
export default defineConfig(({ mode }) => {
|
|
10
14
|
return {
|
|
11
15
|
base: './',
|
|
12
|
-
// Type assertion avoids Plugin type mismatch when dist has its own node_modules (vite/rollup)
|
|
13
16
|
plugins: [
|
|
14
17
|
tailwindcss(),
|
|
15
18
|
react(),
|
|
16
19
|
salesforce(),
|
|
17
|
-
codegen(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
20
|
+
// Only add codegen when schema exists (e.g. after `npm run graphql:schema`).
|
|
21
|
+
// In CI or when schema is not checked in, skip codegen so build succeeds.
|
|
22
|
+
...(schemaExists
|
|
23
|
+
? [
|
|
24
|
+
codegen({
|
|
25
|
+
configFilePathOverride: resolve(__dirname, 'codegen.yml'),
|
|
26
|
+
runOnStart: true,
|
|
27
|
+
runOnBuild: true,
|
|
28
|
+
enableWatcher: true,
|
|
29
|
+
throwOnBuild: true,
|
|
30
|
+
}),
|
|
31
|
+
]
|
|
32
|
+
: []),
|
|
29
33
|
] as import('vite').PluginOption[],
|
|
30
34
|
|
|
31
35
|
// Build configuration for MPA
|
|
@@ -62,7 +62,7 @@ exports.default = [
|
|
|
62
62
|
toPath: 'skills/_k_',
|
|
63
63
|
replacement: 'feature-react-agentforce-conversation-client-embedded-agent',
|
|
64
64
|
},
|
|
65
|
-
// Path shortening under app folder (
|
|
65
|
+
// Path shortening under app folder (reactinternalapp/reactexternalapp) for Windows path length.
|
|
66
66
|
{
|
|
67
67
|
key: 'FEATURES_PLACEHOLDER',
|
|
68
68
|
placeholder: '_f_',
|
|
@@ -71,6 +71,20 @@ exports.default = [
|
|
|
71
71
|
subpath: 'src',
|
|
72
72
|
replacement: 'features',
|
|
73
73
|
},
|
|
74
|
+
{
|
|
75
|
+
key: 'OBJECT_SEARCH_PLACEHOLDER',
|
|
76
|
+
placeholder: '_os_',
|
|
77
|
+
dirInNpm: 'object-search',
|
|
78
|
+
parent: '_f_',
|
|
79
|
+
replacement: 'object-search',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
key: 'EXAMPLES_PLACEHOLDER',
|
|
83
|
+
placeholder: '_ex_',
|
|
84
|
+
dirInNpm: '__examples__',
|
|
85
|
+
parent: '_os_',
|
|
86
|
+
replacement: '__examples__',
|
|
87
|
+
},
|
|
74
88
|
{
|
|
75
89
|
key: 'GLOBAL_SEARCH_PLACEHOLDER',
|
|
76
90
|
placeholder: '_gs_',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-placeholders.js","sourceRoot":"","sources":["../../src/utils/template-placeholders.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH;;;GAGG;AACH,kBAAe;IACb;QACE,GAAG,EAAE,yBAAyB;QAC9B,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,mBAAmB;KACjC;IACD;QACE,GAAG,EAAE,0BAA0B;QAC/B,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE,KAAK;QACb,kBAAkB,EAAE,MAAM;QAC1B,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,GAAG,EAAE,6BAA6B;QAClC,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,iBAAiB;KAC/B;IACD;QACE,GAAG,EAAE,iCAAiC;QACtC,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,GAAG,EAAE,kBAAkB;QACvB,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,MAAM;KACpB;IACD;QACE,GAAG,EAAE,sBAAsB;QAC3B,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,WAAW;KACzB;IACD;QACE,GAAG,EAAE,kCAAkC;QACvC,WAAW,EAAE,KAAK;QAClB,QAAQ,EACN,oEAAoE;QACtE,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE,6DAA6D;KAC3E;IACD,
|
|
1
|
+
{"version":3,"file":"template-placeholders.js","sourceRoot":"","sources":["../../src/utils/template-placeholders.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH;;;GAGG;AACH,kBAAe;IACb;QACE,GAAG,EAAE,yBAAyB;QAC9B,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,mBAAmB;KACjC;IACD;QACE,GAAG,EAAE,0BAA0B;QAC/B,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE,KAAK;QACb,kBAAkB,EAAE,MAAM;QAC1B,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,GAAG,EAAE,6BAA6B;QAClC,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,iBAAiB;KAC/B;IACD;QACE,GAAG,EAAE,iCAAiC;QACtC,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,GAAG,EAAE,kBAAkB;QACvB,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,MAAM;KACpB;IACD;QACE,GAAG,EAAE,sBAAsB;QAC3B,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,WAAW;KACzB;IACD;QACE,GAAG,EAAE,kCAAkC;QACvC,WAAW,EAAE,KAAK;QAClB,QAAQ,EACN,oEAAoE;QACtE,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE,6DAA6D;KAC3E;IACD,gGAAgG;IAChG;QACE,GAAG,EAAE,sBAAsB;QAC3B,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,UAAU;KACxB;IACD;QACE,GAAG,EAAE,2BAA2B;QAChC,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,eAAe;KAC7B;IACD;QACE,GAAG,EAAE,sBAAsB;QAC3B,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,GAAG,EAAE,2BAA2B;QAChC,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,eAAe;KAC7B;IACD;QACE,GAAG,EAAE,wBAAwB;QAC7B,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,YAAY;KAC1B;IACD;QACE,GAAG,EAAE,oBAAoB;QACzB,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,QAAQ;KACtB;IACD;QACE,GAAG,EAAE,uBAAuB;QAC5B,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,WAAW;KACzB;CACF,CAAC"}
|
package/lib/utils/types.d.ts
CHANGED
|
@@ -113,7 +113,7 @@ export interface ProjectOptions extends TemplateOptions {
|
|
|
113
113
|
* Note that namespace is a reserved keyword for yeoman generator
|
|
114
114
|
*/
|
|
115
115
|
ns: string;
|
|
116
|
-
template: 'standard' | 'empty' | 'analytics' | '
|
|
116
|
+
template: 'standard' | 'empty' | 'analytics' | 'reactinternalapp' | 'reactexternalapp' | 'agent' | 'nativemobile';
|
|
117
117
|
manifest: boolean;
|
|
118
118
|
loginurl: string;
|
|
119
119
|
}
|
|
@@ -54,6 +54,10 @@ export declare const A4D_SKILL_AGENTFORCE_PLACEHOLDER = "_k_";
|
|
|
54
54
|
/** Replaced with literal "feature-react-agentforce-conversation-client-embedded-agent". */
|
|
55
55
|
/** Replaced with literal "features" (under app src; short for Windows path length). */
|
|
56
56
|
export declare const FEATURES_PLACEHOLDER = "_f_";
|
|
57
|
+
/** Replaced with literal "object-search". */
|
|
58
|
+
export declare const OBJECT_SEARCH_PLACEHOLDER = "_os_";
|
|
59
|
+
/** Replaced with literal "__examples__". */
|
|
60
|
+
export declare const EXAMPLES_PLACEHOLDER = "_ex_";
|
|
57
61
|
/** Replaced with literal "global-search". */
|
|
58
62
|
export declare const GLOBAL_SEARCH_PLACEHOLDER = "_gs_";
|
|
59
63
|
/** Replaced with literal "components". */
|
|
@@ -63,7 +67,7 @@ export declare const DETAIL_PLACEHOLDER = "_det_";
|
|
|
63
67
|
/** Replaced with literal "formatted". */
|
|
64
68
|
export declare const FORMATTED_PLACEHOLDER = "_fmt_";
|
|
65
69
|
/** All placeholder keys; used by tests to assert sync with copy-templates.js */
|
|
66
|
-
export declare const PLACEHOLDER_KEYS: readonly ["PACKAGE_DIR_PLACEHOLDER", "MAIN_DEFAULT_PLACEHOLDER", "WEBAPPLICATIONS_PLACEHOLDER", "APP_PLACEHOLDER", "DIGITAL_EXPERIENCES_PLACEHOLDER", "SITE_PLACEHOLDER", "APP_SUFFIX_PLACEHOLDER", "A4DRULES_PLACEHOLDER", "A4D_SKILL_AGENTFORCE_PLACEHOLDER", "FEATURES_PLACEHOLDER", "GLOBAL_SEARCH_PLACEHOLDER", "COMPONENTS_PLACEHOLDER", "DETAIL_PLACEHOLDER", "FORMATTED_PLACEHOLDER"];
|
|
70
|
+
export declare const PLACEHOLDER_KEYS: readonly ["PACKAGE_DIR_PLACEHOLDER", "MAIN_DEFAULT_PLACEHOLDER", "WEBAPPLICATIONS_PLACEHOLDER", "APP_PLACEHOLDER", "DIGITAL_EXPERIENCES_PLACEHOLDER", "SITE_PLACEHOLDER", "APP_SUFFIX_PLACEHOLDER", "A4DRULES_PLACEHOLDER", "A4D_SKILL_AGENTFORCE_PLACEHOLDER", "FEATURES_PLACEHOLDER", "OBJECT_SEARCH_PLACEHOLDER", "EXAMPLES_PLACEHOLDER", "GLOBAL_SEARCH_PLACEHOLDER", "COMPONENTS_PLACEHOLDER", "DETAIL_PLACEHOLDER", "FORMATTED_PLACEHOLDER"];
|
|
67
71
|
/**
|
|
68
72
|
* Returns a string containing only alphanumeric characters [A-Za-z0-9].
|
|
69
73
|
* Used for folder and file names under webapplications, which must be alphanumeric.
|
|
@@ -86,7 +90,7 @@ export type GenerateBuiltInFullTemplateOptions = {
|
|
|
86
90
|
onFileCreated: (destPath: string) => void;
|
|
87
91
|
};
|
|
88
92
|
/**
|
|
89
|
-
* Generate project files from a built-in full template (e.g.
|
|
93
|
+
* Generate project files from a built-in full template (e.g. reactinternalapp, reactexternalapp).
|
|
90
94
|
* Builds template vars and name replacements and delegates to generateFromProjectTemplateDir.
|
|
91
95
|
*/
|
|
92
96
|
export declare function generateBuiltInFullTemplate(template: string, projectname: string, options: GenerateBuiltInFullTemplateOptions): Promise<void>;
|
|
@@ -99,8 +103,8 @@ export type GenerateFromProjectTemplateDirOptions = {
|
|
|
99
103
|
onFileCreated: (destPath: string) => void;
|
|
100
104
|
};
|
|
101
105
|
/**
|
|
102
|
-
* Recursively walk a full project template directory (e.g.
|
|
106
|
+
* Recursively walk a full project template directory (e.g. reactinternalapp, reactexternalapp),
|
|
103
107
|
* rendering EJS for text files and copying the rest. Renames template default app/site
|
|
104
|
-
* names (e.g.
|
|
108
|
+
* names (e.g. reactinternalapp) to the project name in paths and file contents.
|
|
105
109
|
*/
|
|
106
110
|
export declare function generateFromProjectTemplateDir(sourceDir: string, destDir: string, templateVars: Record<string, unknown>, options: GenerateFromProjectTemplateDirOptions): Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PLACEHOLDER_KEYS = exports.FORMATTED_PLACEHOLDER = exports.DETAIL_PLACEHOLDER = exports.COMPONENTS_PLACEHOLDER = exports.GLOBAL_SEARCH_PLACEHOLDER = exports.FEATURES_PLACEHOLDER = exports.A4D_SKILL_AGENTFORCE_PLACEHOLDER = exports.A4DRULES_PLACEHOLDER = exports.APP_SUFFIX_PLACEHOLDER = exports.SITE_PLACEHOLDER = exports.DIGITAL_EXPERIENCES_PLACEHOLDER = exports.APP_PLACEHOLDER = exports.WEBAPPLICATIONS_PLACEHOLDER = exports.MAIN_DEFAULT_PLACEHOLDER = exports.PACKAGE_DIR_PLACEHOLDER = exports.WINDOWS_MAX_ALLOWABLE_PATH_LENGTH = exports.FULL_TEMPLATE_SKIP_DIRS = exports.FULL_TEMPLATE_DEFAULT_NAMES = exports.BUILT_IN_FULL_TEMPLATES = exports.EJS_EXTENSIONS = void 0;
|
|
3
|
+
exports.PLACEHOLDER_KEYS = exports.FORMATTED_PLACEHOLDER = exports.DETAIL_PLACEHOLDER = exports.COMPONENTS_PLACEHOLDER = exports.GLOBAL_SEARCH_PLACEHOLDER = exports.EXAMPLES_PLACEHOLDER = exports.OBJECT_SEARCH_PLACEHOLDER = exports.FEATURES_PLACEHOLDER = exports.A4D_SKILL_AGENTFORCE_PLACEHOLDER = exports.A4DRULES_PLACEHOLDER = exports.APP_SUFFIX_PLACEHOLDER = exports.SITE_PLACEHOLDER = exports.DIGITAL_EXPERIENCES_PLACEHOLDER = exports.APP_PLACEHOLDER = exports.WEBAPPLICATIONS_PLACEHOLDER = exports.MAIN_DEFAULT_PLACEHOLDER = exports.PACKAGE_DIR_PLACEHOLDER = exports.WINDOWS_MAX_ALLOWABLE_PATH_LENGTH = exports.FULL_TEMPLATE_SKIP_DIRS = exports.FULL_TEMPLATE_DEFAULT_NAMES = exports.BUILT_IN_FULL_TEMPLATES = exports.EJS_EXTENSIONS = void 0;
|
|
4
4
|
exports.copyTreeSanitized = copyTreeSanitized;
|
|
5
5
|
exports.toAlphanumericForPath = toAlphanumericForPath;
|
|
6
6
|
exports.isLikelyText = isLikelyText;
|
|
@@ -82,19 +82,22 @@ exports.EJS_EXTENSIONS = new Set([
|
|
|
82
82
|
'.config.ts',
|
|
83
83
|
]);
|
|
84
84
|
/** Templates that have a full folder under src/templates/project/ (populated at build time from npm) */
|
|
85
|
-
exports.BUILT_IN_FULL_TEMPLATES = new Set([
|
|
85
|
+
exports.BUILT_IN_FULL_TEMPLATES = new Set([
|
|
86
|
+
'reactinternalapp',
|
|
87
|
+
'reactexternalapp',
|
|
88
|
+
]);
|
|
86
89
|
/**
|
|
87
90
|
* Default app/site names embedded in each full template; all are renamed to the project name.
|
|
88
91
|
* Order matters: replace longer (suffix) first to avoid partial replacements.
|
|
89
92
|
*/
|
|
90
93
|
exports.FULL_TEMPLATE_DEFAULT_NAMES = {
|
|
91
|
-
|
|
92
|
-
base: '
|
|
93
|
-
withSuffix: '
|
|
94
|
+
reactinternalapp: {
|
|
95
|
+
base: 'reactinternalapp',
|
|
96
|
+
withSuffix: 'reactinternalapp1',
|
|
94
97
|
},
|
|
95
|
-
|
|
96
|
-
base: '
|
|
97
|
-
withSuffix: '
|
|
98
|
+
reactexternalapp: {
|
|
99
|
+
base: 'reactexternalapp',
|
|
100
|
+
withSuffix: 'reactexternalapp1',
|
|
98
101
|
},
|
|
99
102
|
};
|
|
100
103
|
/** Directories to skip when walking a full template dir (e.g. node_modules) */
|
|
@@ -131,6 +134,10 @@ exports.A4D_SKILL_AGENTFORCE_PLACEHOLDER = '_k_';
|
|
|
131
134
|
/** Replaced with literal "feature-react-agentforce-conversation-client-embedded-agent". */
|
|
132
135
|
/** Replaced with literal "features" (under app src; short for Windows path length). */
|
|
133
136
|
exports.FEATURES_PLACEHOLDER = '_f_';
|
|
137
|
+
/** Replaced with literal "object-search". */
|
|
138
|
+
exports.OBJECT_SEARCH_PLACEHOLDER = '_os_';
|
|
139
|
+
/** Replaced with literal "__examples__". */
|
|
140
|
+
exports.EXAMPLES_PLACEHOLDER = '_ex_';
|
|
134
141
|
/** Replaced with literal "global-search". */
|
|
135
142
|
exports.GLOBAL_SEARCH_PLACEHOLDER = '_gs_';
|
|
136
143
|
/** Replaced with literal "components". */
|
|
@@ -151,6 +158,8 @@ exports.PLACEHOLDER_KEYS = [
|
|
|
151
158
|
'A4DRULES_PLACEHOLDER',
|
|
152
159
|
'A4D_SKILL_AGENTFORCE_PLACEHOLDER',
|
|
153
160
|
'FEATURES_PLACEHOLDER',
|
|
161
|
+
'OBJECT_SEARCH_PLACEHOLDER',
|
|
162
|
+
'EXAMPLES_PLACEHOLDER',
|
|
154
163
|
'GLOBAL_SEARCH_PLACEHOLDER',
|
|
155
164
|
'COMPONENTS_PLACEHOLDER',
|
|
156
165
|
'DETAIL_PLACEHOLDER',
|
|
@@ -225,7 +234,7 @@ function renderEjsFile(sourcePath, data) {
|
|
|
225
234
|
});
|
|
226
235
|
}
|
|
227
236
|
/**
|
|
228
|
-
* Generate project files from a built-in full template (e.g.
|
|
237
|
+
* Generate project files from a built-in full template (e.g. reactinternalapp, reactexternalapp).
|
|
229
238
|
* Builds template vars and name replacements and delegates to generateFromProjectTemplateDir.
|
|
230
239
|
*/
|
|
231
240
|
function generateBuiltInFullTemplate(template, projectname, options) {
|
|
@@ -263,9 +272,9 @@ function generateBuiltInFullTemplate(template, projectname, options) {
|
|
|
263
272
|
});
|
|
264
273
|
}
|
|
265
274
|
/**
|
|
266
|
-
* Recursively walk a full project template directory (e.g.
|
|
275
|
+
* Recursively walk a full project template directory (e.g. reactinternalapp, reactexternalapp),
|
|
267
276
|
* rendering EJS for text files and copying the rest. Renames template default app/site
|
|
268
|
-
* names (e.g.
|
|
277
|
+
* names (e.g. reactinternalapp) to the project name in paths and file contents.
|
|
269
278
|
*/
|
|
270
279
|
function generateFromProjectTemplateDir(sourceDir, destDir, templateVars, options) {
|
|
271
280
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webappTemplateUtils.js","sourceRoot":"","sources":["../../src/utils/webappTemplateUtils.ts"],"names":[],"mappings":";;;AAqCA,8CAqBC;
|
|
1
|
+
{"version":3,"file":"webappTemplateUtils.js","sourceRoot":"","sources":["../../src/utils/webappTemplateUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/templates",
|
|
3
|
-
"version": "66.
|
|
3
|
+
"version": "66.6.0",
|
|
4
4
|
"description": "Salesforce JS library for templates",
|
|
5
5
|
"bugs": "https://github.com/forcedotcom/salesforcedx-templates/issues",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@salesforce/dev-config": "^4.3.2",
|
|
26
26
|
"@salesforce/dev-scripts": "^11.0.2",
|
|
27
|
-
"@salesforce/webapp-template-app-react-template-b2e-experimental": "^1.
|
|
28
|
-
"@salesforce/webapp-template-app-react-template-b2x-experimental": "^1.
|
|
29
|
-
"@salesforce/webapp-template-base-react-app-experimental": "^1.
|
|
30
|
-
"@salesforce/webapp-template-base-web-app-experimental": "^1.
|
|
27
|
+
"@salesforce/webapp-template-app-react-template-b2e-experimental": "^1.114.0",
|
|
28
|
+
"@salesforce/webapp-template-app-react-template-b2x-experimental": "^1.114.0",
|
|
29
|
+
"@salesforce/webapp-template-base-react-app-experimental": "^1.114.0",
|
|
30
|
+
"@salesforce/webapp-template-base-web-app-experimental": "^1.114.0",
|
|
31
31
|
"@salesforce/prettier-config": "^0.0.4",
|
|
32
32
|
"@types/chai-as-promised": "^7.1.8",
|
|
33
33
|
"@types/ejs": "^3.1.5",
|
package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailFields.tsx
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Alternative detail rendering: columns + record → label/value list.
|
|
3
|
-
*
|
|
4
|
-
* Use when you have list columns + record (e.g. from filters-derived columns + searchResults)
|
|
5
|
-
* and do not need the Layout API. The primary detail view (DetailPage) uses DetailForm
|
|
6
|
-
* via UiApiDetailForm (layout + GraphQL record).
|
|
7
|
-
*
|
|
8
|
-
* @param record - Record data to display
|
|
9
|
-
* @param columns - Column definitions (e.g. derived from getObjectListFilters)
|
|
10
|
-
*/
|
|
11
|
-
import type { Column, SearchResultRecordData } from "../../types/search/searchResults";
|
|
12
|
-
import { getNestedFieldValue } from "../../utils/fieldUtils";
|
|
13
|
-
|
|
14
|
-
interface DetailFieldsProps {
|
|
15
|
-
record: SearchResultRecordData;
|
|
16
|
-
columns: Column[];
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function hasVisibleValue(value: string | number | boolean | null | undefined): boolean {
|
|
20
|
-
return value !== null && value !== undefined && value !== "";
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export default function DetailFields({ record, columns }: DetailFieldsProps) {
|
|
24
|
-
const rows = columns.filter(
|
|
25
|
-
(col) =>
|
|
26
|
-
col?.fieldApiName && hasVisibleValue(getNestedFieldValue(record.fields, col.fieldApiName)),
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
if (columns.length > 0 && rows.length === 0) {
|
|
30
|
-
return (
|
|
31
|
-
<div role="status" className="text-sm text-muted-foreground py-4">
|
|
32
|
-
No field values to display
|
|
33
|
-
</div>
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return (
|
|
38
|
-
<dl className="space-y-4" role="list">
|
|
39
|
-
{rows.map((column) => {
|
|
40
|
-
const fieldApiName = column.fieldApiName as string;
|
|
41
|
-
const displayValue = getNestedFieldValue(record.fields, fieldApiName);
|
|
42
|
-
return (
|
|
43
|
-
<div key={fieldApiName} className="border-b pb-4 last:border-0" role="listitem">
|
|
44
|
-
<div className="flex flex-col sm:flex-row sm:items-start gap-2">
|
|
45
|
-
<dt className="font-semibold text-sm text-muted-foreground min-w-[150px]">
|
|
46
|
-
{column.label || fieldApiName}:
|
|
47
|
-
</dt>
|
|
48
|
-
<dd className="text-sm text-foreground flex-1">{displayValue}</dd>
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
);
|
|
52
|
-
})}
|
|
53
|
-
</dl>
|
|
54
|
-
);
|
|
55
|
-
}
|
package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailForm.tsx
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { useState, useCallback, useMemo, useId } from "react";
|
|
2
|
-
import type { LayoutResponse } from "../../types/recordDetail/recordDetail";
|
|
3
|
-
import type { GraphQLRecordNode } from "../../api/recordListGraphQLService";
|
|
4
|
-
import {
|
|
5
|
-
getDisplayValueForLayoutItemFromNode,
|
|
6
|
-
getDisplayValueForDetailFieldFromNode,
|
|
7
|
-
} from "../../utils/graphQLNodeFieldUtils";
|
|
8
|
-
import type { ObjectInfoMetadata } from "../../utils/formDataTransformUtils";
|
|
9
|
-
import {
|
|
10
|
-
getTransformedSections,
|
|
11
|
-
type LayoutTransformContext,
|
|
12
|
-
type ObjectInfo,
|
|
13
|
-
type PicklistOption,
|
|
14
|
-
type TransformedLayoutItem,
|
|
15
|
-
} from "../../utils/layoutTransformUtils";
|
|
16
|
-
import { FieldValueDisplay } from "./formatted/FieldValueDisplay";
|
|
17
|
-
import { Section } from "./Section";
|
|
18
|
-
import { SectionRow } from "./SectionRow";
|
|
19
|
-
|
|
20
|
-
export interface DetailFormProps {
|
|
21
|
-
layout: LayoutResponse;
|
|
22
|
-
record: GraphQLRecordNode;
|
|
23
|
-
metadata?: ObjectInfoMetadata | null;
|
|
24
|
-
objectInfo?: ObjectInfo | null;
|
|
25
|
-
lookupRecords?: Record<string, PicklistOption[] | null> | null;
|
|
26
|
-
showSectionHeaders?: boolean;
|
|
27
|
-
collapsibleSections?: boolean;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function FieldCell({
|
|
31
|
-
item,
|
|
32
|
-
record,
|
|
33
|
-
metadata,
|
|
34
|
-
}: {
|
|
35
|
-
item: TransformedLayoutItem;
|
|
36
|
-
record: GraphQLRecordNode;
|
|
37
|
-
metadata?: ObjectInfoMetadata | null;
|
|
38
|
-
}) {
|
|
39
|
-
if (!item.isField || item.apiName == null) return null;
|
|
40
|
-
const label = item.label ?? item.apiName;
|
|
41
|
-
const hasComponents = item.layoutComponentApiNames && item.layoutComponentApiNames.length > 0;
|
|
42
|
-
const layoutResult = hasComponents
|
|
43
|
-
? getDisplayValueForLayoutItemFromNode(
|
|
44
|
-
record,
|
|
45
|
-
item.layoutComponentApiNames as string[],
|
|
46
|
-
metadata,
|
|
47
|
-
)
|
|
48
|
-
: null;
|
|
49
|
-
const value = hasComponents
|
|
50
|
-
? (layoutResult?.value ?? null)
|
|
51
|
-
: getDisplayValueForDetailFieldFromNode(record, item.apiName, metadata);
|
|
52
|
-
const dataType =
|
|
53
|
-
(hasComponents ? layoutResult?.dataType : undefined) ?? item.dataType ?? undefined;
|
|
54
|
-
const labelId = useId();
|
|
55
|
-
const valueId = useId();
|
|
56
|
-
return (
|
|
57
|
-
<div
|
|
58
|
-
className="flex flex-col gap-1"
|
|
59
|
-
role="group"
|
|
60
|
-
aria-labelledby={labelId}
|
|
61
|
-
aria-describedby={valueId}
|
|
62
|
-
>
|
|
63
|
-
<dt id={labelId} className="text-sm font-medium text-muted-foreground">
|
|
64
|
-
{label}
|
|
65
|
-
</dt>
|
|
66
|
-
<dd id={valueId} className="text-sm text-foreground">
|
|
67
|
-
<FieldValueDisplay value={value} dataType={dataType} />
|
|
68
|
-
</dd>
|
|
69
|
-
</div>
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Read-only detail form: layout API + record (+ optional object info) drive sections, rows, and
|
|
75
|
-
* field values. Uses layoutComponents to club multi-component items (address, Created By, etc.).
|
|
76
|
-
*/
|
|
77
|
-
export function DetailForm({
|
|
78
|
-
layout,
|
|
79
|
-
record,
|
|
80
|
-
metadata = null,
|
|
81
|
-
objectInfo = null,
|
|
82
|
-
lookupRecords = null,
|
|
83
|
-
showSectionHeaders = true,
|
|
84
|
-
collapsibleSections = true,
|
|
85
|
-
}: DetailFormProps) {
|
|
86
|
-
const [collapsedSections, setCollapsedSections] = useState<Record<string, boolean>>({});
|
|
87
|
-
|
|
88
|
-
const recordId = (record.Id as string) ?? "";
|
|
89
|
-
|
|
90
|
-
const layoutObjectInfo = objectInfo ?? metadata;
|
|
91
|
-
|
|
92
|
-
const transformContext: LayoutTransformContext = useMemo(
|
|
93
|
-
() => ({
|
|
94
|
-
recordId,
|
|
95
|
-
objectInfo: layoutObjectInfo,
|
|
96
|
-
lookupRecords,
|
|
97
|
-
getSectionCollapsedState: (sectionId: string) => Boolean(collapsedSections[sectionId]),
|
|
98
|
-
}),
|
|
99
|
-
[recordId, layoutObjectInfo, lookupRecords, collapsedSections],
|
|
100
|
-
);
|
|
101
|
-
|
|
102
|
-
const computedSections = useMemo(
|
|
103
|
-
() => getTransformedSections(layout.sections, transformContext),
|
|
104
|
-
[layout.sections, transformContext],
|
|
105
|
-
);
|
|
106
|
-
|
|
107
|
-
const handleSectionToggle = useCallback((sectionId: string, collapsed: boolean) => {
|
|
108
|
-
setCollapsedSections((prev) => ({ ...prev, [sectionId]: collapsed }));
|
|
109
|
-
}, []);
|
|
110
|
-
|
|
111
|
-
return (
|
|
112
|
-
<div
|
|
113
|
-
className="space-y-6"
|
|
114
|
-
role="region"
|
|
115
|
-
aria-label="Record details"
|
|
116
|
-
aria-roledescription="Detail form"
|
|
117
|
-
>
|
|
118
|
-
{computedSections.map((section) => (
|
|
119
|
-
<Section
|
|
120
|
-
key={section.key}
|
|
121
|
-
sectionId={section.id}
|
|
122
|
-
titleLabel={section.heading}
|
|
123
|
-
showHeader={showSectionHeaders && section.useHeading}
|
|
124
|
-
collapsible={collapsibleSections && section.collapsible}
|
|
125
|
-
collapsed={section.collapsed}
|
|
126
|
-
onToggle={handleSectionToggle}
|
|
127
|
-
>
|
|
128
|
-
<div className="space-y-4">
|
|
129
|
-
{section.layoutRows.map((row) => (
|
|
130
|
-
<SectionRow key={row.key}>
|
|
131
|
-
{row.layoutItems.map((item) => {
|
|
132
|
-
const cellKey = `${section.key}-${row.key}-${item.apiName ?? item.key}`;
|
|
133
|
-
return item.isField ? (
|
|
134
|
-
<FieldCell key={cellKey} item={item} record={record} metadata={metadata} />
|
|
135
|
-
) : (
|
|
136
|
-
<div key={cellKey} className="min-h-[2.5rem]" aria-hidden="true" />
|
|
137
|
-
);
|
|
138
|
-
})}
|
|
139
|
-
</SectionRow>
|
|
140
|
-
))}
|
|
141
|
-
</div>
|
|
142
|
-
</Section>
|
|
143
|
-
))}
|
|
144
|
-
</div>
|
|
145
|
-
);
|
|
146
|
-
}
|
package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailHeader.tsx
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Back button and title for the record detail page.
|
|
3
|
-
*
|
|
4
|
-
* @param title - Record title (e.g. record name) shown next to the back control.
|
|
5
|
-
* @param onBack - Called when the user activates the back control.
|
|
6
|
-
*/
|
|
7
|
-
import { Button } from "../../../../components/ui/button";
|
|
8
|
-
import { ArrowLeft } from "lucide-react";
|
|
9
|
-
|
|
10
|
-
interface DetailHeaderProps {
|
|
11
|
-
title: string;
|
|
12
|
-
onBack: () => void;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export default function DetailHeader({ title, onBack }: DetailHeaderProps) {
|
|
16
|
-
return (
|
|
17
|
-
<div className="mb-6 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-4">
|
|
18
|
-
<Button
|
|
19
|
-
variant="ghost"
|
|
20
|
-
onClick={onBack}
|
|
21
|
-
className="w-fit"
|
|
22
|
-
aria-label="Go back to search results"
|
|
23
|
-
>
|
|
24
|
-
<ArrowLeft className="h-4 w-4 mr-2" aria-hidden="true" />
|
|
25
|
-
Back
|
|
26
|
-
</Button>
|
|
27
|
-
{title ? (
|
|
28
|
-
<h1 className="text-xl font-semibold text-foreground truncate" id="detail-page-title">
|
|
29
|
-
{title}
|
|
30
|
-
</h1>
|
|
31
|
-
) : null}
|
|
32
|
-
</div>
|
|
33
|
-
);
|
|
34
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Alternative detail rendering: layout sections → rows → items → label/value grid.
|
|
3
|
-
*
|
|
4
|
-
* Use when you have raw Layout API response + record and do not need the full
|
|
5
|
-
* layoutTransformUtils + formDataTransformUtils pipeline. The primary detail view
|
|
6
|
-
* (DetailPage) uses DetailForm via UiApiDetailForm; use this component for other
|
|
7
|
-
* entry points that already have layout + record in hand.
|
|
8
|
-
*/
|
|
9
|
-
import type { LayoutResponse } from "../../types/recordDetail/recordDetail";
|
|
10
|
-
import type { SearchResultRecordData } from "../../types/search/searchResults";
|
|
11
|
-
import { getNestedFieldValue } from "../../utils/fieldUtils";
|
|
12
|
-
|
|
13
|
-
interface DetailLayoutSectionsProps {
|
|
14
|
-
layout: LayoutResponse;
|
|
15
|
-
record: SearchResultRecordData;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
interface FieldEntry {
|
|
19
|
-
key: string;
|
|
20
|
-
label: string;
|
|
21
|
-
value: string | number | boolean | null;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function getSectionFieldEntries(
|
|
25
|
-
section: LayoutResponse["sections"][number],
|
|
26
|
-
record: SearchResultRecordData,
|
|
27
|
-
): FieldEntry[] {
|
|
28
|
-
const entries: FieldEntry[] = [];
|
|
29
|
-
section.layoutRows.forEach((row, rowIdx) => {
|
|
30
|
-
row.layoutItems.forEach((item, itemIdx) => {
|
|
31
|
-
item.layoutComponents.forEach((comp, compIdx) => {
|
|
32
|
-
if (comp.componentType !== "Field" || !comp.apiName) return;
|
|
33
|
-
const value = getNestedFieldValue(record.fields, comp.apiName);
|
|
34
|
-
const label = comp.label ?? item.label;
|
|
35
|
-
entries.push({
|
|
36
|
-
key: `${section.id}-${rowIdx}-${itemIdx}-${comp.apiName ?? compIdx}`,
|
|
37
|
-
label: label || comp.apiName,
|
|
38
|
-
value: value ?? null,
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
return entries;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export default function DetailLayoutSections({ layout, record }: DetailLayoutSectionsProps) {
|
|
47
|
-
return (
|
|
48
|
-
<div className="space-y-8" role="region" aria-label="Record details">
|
|
49
|
-
{layout.sections.map((section) => {
|
|
50
|
-
const entries = getSectionFieldEntries(section, record);
|
|
51
|
-
if (entries.length === 0) return null;
|
|
52
|
-
|
|
53
|
-
return (
|
|
54
|
-
<section
|
|
55
|
-
key={section.id}
|
|
56
|
-
className="space-y-4"
|
|
57
|
-
aria-labelledby={section.useHeading ? `section-${section.id}` : undefined}
|
|
58
|
-
>
|
|
59
|
-
{section.useHeading && section.heading ? (
|
|
60
|
-
<h3
|
|
61
|
-
id={`section-${section.id}`}
|
|
62
|
-
className="text-base font-semibold text-foreground border-b pb-2"
|
|
63
|
-
>
|
|
64
|
-
{section.heading}
|
|
65
|
-
</h3>
|
|
66
|
-
) : null}
|
|
67
|
-
<dl className="grid grid-cols-1 sm:grid-cols-2 gap-x-8 gap-y-4">
|
|
68
|
-
{entries.map(({ key, label, value }) => (
|
|
69
|
-
<div key={key} className="flex flex-col gap-1">
|
|
70
|
-
<dt className="text-sm font-medium text-muted-foreground">{label}</dt>
|
|
71
|
-
<dd className="text-sm text-foreground">{value || "—"}</dd>
|
|
72
|
-
</div>
|
|
73
|
-
))}
|
|
74
|
-
</dl>
|
|
75
|
-
</section>
|
|
76
|
-
);
|
|
77
|
-
})}
|
|
78
|
-
</div>
|
|
79
|
-
);
|
|
80
|
-
}
|