@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
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Type definitions and Zod schemas for Record Detail APIs:
|
|
5
|
-
* - Layout API (layout/{objectApiName}?layoutType=Full&mode=View&recordTypeId=...)
|
|
6
|
-
* - Record API (records/{recordId}?optionalFields=...)
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
const LayoutComponentSchema = z.object({
|
|
10
|
-
apiName: z.string().nullable(),
|
|
11
|
-
behavior: z.string().optional(),
|
|
12
|
-
componentType: z.enum(["Field", "CustomLink", "EmptySpace"]),
|
|
13
|
-
customLinkUrl: z.string().optional(),
|
|
14
|
-
label: z.string().optional(),
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
export type LayoutComponent = z.infer<typeof LayoutComponentSchema>;
|
|
18
|
-
|
|
19
|
-
const LayoutItemSchema = z.object({
|
|
20
|
-
editableForNew: z.boolean(),
|
|
21
|
-
editableForUpdate: z.boolean(),
|
|
22
|
-
label: z.string(),
|
|
23
|
-
layoutComponents: z.array(LayoutComponentSchema),
|
|
24
|
-
lookupIdApiName: z.string().nullable(),
|
|
25
|
-
required: z.boolean(),
|
|
26
|
-
sortable: z.boolean(),
|
|
27
|
-
uiBehavior: z.string().nullable(),
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
export type LayoutItem = z.infer<typeof LayoutItemSchema>;
|
|
31
|
-
|
|
32
|
-
const LayoutRowSchema = z.object({
|
|
33
|
-
layoutItems: z.array(LayoutItemSchema),
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
const LayoutSectionSchema = z.object({
|
|
37
|
-
collapsible: z.boolean(),
|
|
38
|
-
columns: z.number(),
|
|
39
|
-
heading: z.string(),
|
|
40
|
-
id: z.string(),
|
|
41
|
-
layoutRows: z.array(LayoutRowSchema),
|
|
42
|
-
rows: z.number(),
|
|
43
|
-
tabOrder: z.string(),
|
|
44
|
-
useHeading: z.boolean(),
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
export type LayoutSection = z.infer<typeof LayoutSectionSchema>;
|
|
48
|
-
|
|
49
|
-
export const LayoutResponseSchema = z.object({
|
|
50
|
-
eTag: z.string(),
|
|
51
|
-
id: z.string(),
|
|
52
|
-
layoutType: z.string(),
|
|
53
|
-
mode: z.string(),
|
|
54
|
-
objectApiName: z.string(),
|
|
55
|
-
recordTypeId: z.string(),
|
|
56
|
-
saveOptions: z.array(z.unknown()).optional(),
|
|
57
|
-
sections: z.array(LayoutSectionSchema),
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
export type LayoutResponse = z.infer<typeof LayoutResponseSchema>;
|
|
61
|
-
export type LayoutRow = z.infer<typeof LayoutRowSchema>;
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
export type Maybe<T> = T | null;
|
|
2
|
-
export type InputMaybe<T> = Maybe<T>;
|
|
3
|
-
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
|
|
4
|
-
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
|
|
5
|
-
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
|
|
6
|
-
export type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = {
|
|
7
|
-
[_ in K]?: never;
|
|
8
|
-
};
|
|
9
|
-
export type Incremental<T> =
|
|
10
|
-
| T
|
|
11
|
-
| { [P in keyof T]?: P extends " $fragmentName" | "__typename" ? T[P] : never };
|
|
12
|
-
/** All built-in and custom scalars, mapped to their actual values */
|
|
13
|
-
export type Scalars = {
|
|
14
|
-
ID: { input: string; output: string };
|
|
15
|
-
String: { input: string; output: string };
|
|
16
|
-
Boolean: { input: boolean; output: boolean };
|
|
17
|
-
Int: { input: number; output: number };
|
|
18
|
-
Float: { input: number; output: number };
|
|
19
|
-
Base64: { input: string; output: string };
|
|
20
|
-
/** An arbitrary precision signed decimal */
|
|
21
|
-
BigDecimal: { input: number | string; output: number };
|
|
22
|
-
/** An arbitrary precision signed integer */
|
|
23
|
-
BigInteger: { input: number; output: number };
|
|
24
|
-
/** An 8-bit signed integer */
|
|
25
|
-
Byte: { input: number; output: number };
|
|
26
|
-
/** A UTF-16 code unit; a character on Unicode's BMP */
|
|
27
|
-
Char: { input: number; output: number };
|
|
28
|
-
Currency: { input: number | string; output: number };
|
|
29
|
-
Date: { input: string; output: string };
|
|
30
|
-
DateTime: { input: string; output: string };
|
|
31
|
-
Double: { input: number | string; output: number };
|
|
32
|
-
Email: { input: string; output: string };
|
|
33
|
-
EncryptedString: { input: string; output: string };
|
|
34
|
-
/** Can be set to an ID or a Reference to the result of another mutation operation. */
|
|
35
|
-
IdOrRef: { input: string; output: string };
|
|
36
|
-
JSON: { input: string; output: string };
|
|
37
|
-
Latitude: { input: number | string; output: number };
|
|
38
|
-
/** A 64-bit signed integer */
|
|
39
|
-
Long: { input: number; output: number };
|
|
40
|
-
LongTextArea: { input: string; output: string };
|
|
41
|
-
Longitude: { input: number | string; output: number };
|
|
42
|
-
MultiPicklist: { input: string; output: string };
|
|
43
|
-
Percent: { input: number | string; output: number };
|
|
44
|
-
PhoneNumber: { input: string; output: string };
|
|
45
|
-
Picklist: { input: string; output: string };
|
|
46
|
-
RichTextArea: { input: string; output: string };
|
|
47
|
-
/** A 16-bit signed integer */
|
|
48
|
-
Short: { input: number; output: number };
|
|
49
|
-
TextArea: { input: string; output: string };
|
|
50
|
-
Time: { input: string; output: string };
|
|
51
|
-
Url: { input: string; output: string };
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
export enum DataType {
|
|
55
|
-
Address = "ADDRESS",
|
|
56
|
-
Anytype = "ANYTYPE",
|
|
57
|
-
Base64 = "BASE64",
|
|
58
|
-
Boolean = "BOOLEAN",
|
|
59
|
-
Combobox = "COMBOBOX",
|
|
60
|
-
Complexvalue = "COMPLEXVALUE",
|
|
61
|
-
Currency = "CURRENCY",
|
|
62
|
-
Date = "DATE",
|
|
63
|
-
Datetime = "DATETIME",
|
|
64
|
-
Double = "DOUBLE",
|
|
65
|
-
Email = "EMAIL",
|
|
66
|
-
Encryptedstring = "ENCRYPTEDSTRING",
|
|
67
|
-
Int = "INT",
|
|
68
|
-
Json = "JSON",
|
|
69
|
-
Junctionidlist = "JUNCTIONIDLIST",
|
|
70
|
-
Location = "LOCATION",
|
|
71
|
-
Long = "LONG",
|
|
72
|
-
Multipicklist = "MULTIPICKLIST",
|
|
73
|
-
Percent = "PERCENT",
|
|
74
|
-
Phone = "PHONE",
|
|
75
|
-
Picklist = "PICKLIST",
|
|
76
|
-
Reference = "REFERENCE",
|
|
77
|
-
String = "STRING",
|
|
78
|
-
Textarea = "TEXTAREA",
|
|
79
|
-
Time = "TIME",
|
|
80
|
-
Url = "URL",
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
export enum FieldExtraTypeInfo {
|
|
84
|
-
ExternalLookup = "EXTERNAL_LOOKUP",
|
|
85
|
-
ImageUrl = "IMAGE_URL",
|
|
86
|
-
IndirectLookup = "INDIRECT_LOOKUP",
|
|
87
|
-
Personname = "PERSONNAME",
|
|
88
|
-
Plaintextarea = "PLAINTEXTAREA",
|
|
89
|
-
Richtextarea = "RICHTEXTAREA",
|
|
90
|
-
SwitchablePersonname = "SWITCHABLE_PERSONNAME",
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/** Input for ObjectInfo and PickValues */
|
|
94
|
-
export type ObjectInfoInput = {
|
|
95
|
-
apiName: Scalars["String"]["input"];
|
|
96
|
-
fieldNames?: InputMaybe<Array<Scalars["String"]["input"]>>;
|
|
97
|
-
recordTypeIDs?: InputMaybe<Array<Scalars["ID"]["input"]>>;
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
export enum ResultOrder {
|
|
101
|
-
Asc = "ASC",
|
|
102
|
-
Desc = "DESC",
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
export type GetObjectInfosQueryVariables = Exact<{
|
|
106
|
-
apiNames: Array<Scalars["String"]["input"]> | Scalars["String"]["input"];
|
|
107
|
-
}>;
|
|
108
|
-
|
|
109
|
-
export type GetObjectInfosQuery = {
|
|
110
|
-
uiapi: {
|
|
111
|
-
objectInfos?: Array<{
|
|
112
|
-
ApiName: string;
|
|
113
|
-
label?: string | null;
|
|
114
|
-
labelPlural?: string | null;
|
|
115
|
-
nameFields: Array<string | null>;
|
|
116
|
-
defaultRecordTypeId?: string | null;
|
|
117
|
-
keyPrefix?: string | null;
|
|
118
|
-
layoutable: boolean;
|
|
119
|
-
queryable: boolean;
|
|
120
|
-
searchable: boolean;
|
|
121
|
-
updateable: boolean;
|
|
122
|
-
deletable: boolean;
|
|
123
|
-
createable: boolean;
|
|
124
|
-
custom: boolean;
|
|
125
|
-
mruEnabled: boolean;
|
|
126
|
-
feedEnabled: boolean;
|
|
127
|
-
fields: Array<
|
|
128
|
-
| {
|
|
129
|
-
ApiName: string;
|
|
130
|
-
label?: string | null;
|
|
131
|
-
dataType?: DataType | null;
|
|
132
|
-
relationshipName?: string | null;
|
|
133
|
-
reference: boolean;
|
|
134
|
-
compound: boolean;
|
|
135
|
-
compoundFieldName?: string | null;
|
|
136
|
-
compoundComponentName?: string | null;
|
|
137
|
-
controllingFields: Array<string | null>;
|
|
138
|
-
controllerName?: string | null;
|
|
139
|
-
referenceToInfos: Array<{ ApiName: string; nameFields: Array<string | null> } | null>;
|
|
140
|
-
}
|
|
141
|
-
| {
|
|
142
|
-
ApiName: string;
|
|
143
|
-
label?: string | null;
|
|
144
|
-
dataType?: DataType | null;
|
|
145
|
-
relationshipName?: string | null;
|
|
146
|
-
reference: boolean;
|
|
147
|
-
compound: boolean;
|
|
148
|
-
compoundFieldName?: string | null;
|
|
149
|
-
compoundComponentName?: string | null;
|
|
150
|
-
controllingFields: Array<string | null>;
|
|
151
|
-
controllerName?: string | null;
|
|
152
|
-
referenceToInfos: Array<{ ApiName: string; nameFields: Array<string | null> } | null>;
|
|
153
|
-
}
|
|
154
|
-
| null
|
|
155
|
-
>;
|
|
156
|
-
recordTypeInfos: Array<{
|
|
157
|
-
recordTypeId?: string | null;
|
|
158
|
-
name?: string | null;
|
|
159
|
-
master: boolean;
|
|
160
|
-
available: boolean;
|
|
161
|
-
defaultRecordTypeMapping: boolean;
|
|
162
|
-
} | null>;
|
|
163
|
-
themeInfo?: { color?: string | null; iconUrl?: string | null } | null;
|
|
164
|
-
childRelationships: Array<{
|
|
165
|
-
relationshipName?: string | null;
|
|
166
|
-
fieldName?: string | null;
|
|
167
|
-
childObjectApiName: string;
|
|
168
|
-
} | null>;
|
|
169
|
-
dependentFields: Array<{ controllingField: string } | null>;
|
|
170
|
-
} | null> | null;
|
|
171
|
-
};
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
export type GetPicklistValuesQueryVariables = Exact<{
|
|
175
|
-
objectInfoInputs: Array<ObjectInfoInput> | ObjectInfoInput;
|
|
176
|
-
}>;
|
|
177
|
-
|
|
178
|
-
export type GetPicklistValuesQuery = {
|
|
179
|
-
uiapi: {
|
|
180
|
-
objectInfos?: Array<{
|
|
181
|
-
ApiName: string;
|
|
182
|
-
fields: Array<
|
|
183
|
-
| {
|
|
184
|
-
ApiName: string;
|
|
185
|
-
picklistValuesByRecordTypeIDs?: Array<{
|
|
186
|
-
recordTypeID: string;
|
|
187
|
-
defaultValue?: { value?: string | null } | null;
|
|
188
|
-
picklistValues?: Array<{
|
|
189
|
-
label?: string | null;
|
|
190
|
-
value?: string | null;
|
|
191
|
-
validFor?: Array<number | null> | null;
|
|
192
|
-
}> | null;
|
|
193
|
-
} | null> | null;
|
|
194
|
-
}
|
|
195
|
-
| { ApiName: string }
|
|
196
|
-
| null
|
|
197
|
-
>;
|
|
198
|
-
} | null> | null;
|
|
199
|
-
};
|
|
200
|
-
};
|
package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/search/searchResults.ts
DELETED
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Type definitions for search results and column structures.
|
|
5
|
-
* * ARCHITECTURE NOTE:
|
|
6
|
-
* We define recursive interfaces MANUALLY first.
|
|
7
|
-
* If we rely on z.infer<typeof LazySchema> where the schema is z.ZodTypeAny,
|
|
8
|
-
* TypeScript defaults the type to 'any', destroying type safety.
|
|
9
|
-
*/
|
|
10
|
-
export type ComplexFieldValue = {
|
|
11
|
-
apiName?: string;
|
|
12
|
-
childRelationships?: Record<string, unknown>;
|
|
13
|
-
eTag?: string;
|
|
14
|
-
fields?: Record<string, FieldValue>; // Recursive reference
|
|
15
|
-
id?: string;
|
|
16
|
-
lastModifiedById?: string | null;
|
|
17
|
-
lastModifiedDate?: string | null;
|
|
18
|
-
recordTypeId?: string | null;
|
|
19
|
-
recordTypeInfo?: unknown;
|
|
20
|
-
systemModstamp?: string | null;
|
|
21
|
-
weakEtag?: number;
|
|
22
|
-
};
|
|
23
|
-
export type FieldValue = {
|
|
24
|
-
displayValue: string | null;
|
|
25
|
-
value: string | number | boolean | null | ComplexFieldValue; // Recursive union
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
// Zod Schema for Inline Edit Attributes
|
|
29
|
-
export const InlineEditAttributesSchema = z.record(
|
|
30
|
-
z.string(),
|
|
31
|
-
z.object({
|
|
32
|
-
editable: z.boolean(),
|
|
33
|
-
required: z.boolean(),
|
|
34
|
-
}),
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Inline edit attributes for a field
|
|
39
|
-
*/
|
|
40
|
-
export type InlineEditAttributes = z.infer<typeof InlineEditAttributesSchema>;
|
|
41
|
-
|
|
42
|
-
// Zod Schema for Column
|
|
43
|
-
export const ColumnSchema = z.object({
|
|
44
|
-
fieldApiName: z.string(),
|
|
45
|
-
inlineEditAttributes: InlineEditAttributesSchema.optional(),
|
|
46
|
-
label: z.string(),
|
|
47
|
-
lookupId: z.string().nullish(),
|
|
48
|
-
searchable: z.boolean(),
|
|
49
|
-
sortable: z.boolean(),
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Column definition for list/result UI. Can be derived from Filter[] via targetFieldPath and label
|
|
54
|
-
* (e.g. filters.map(f => ({ fieldApiName: f.targetFieldPath, label: f.label, searchable: true, sortable: true }))).
|
|
55
|
-
*/
|
|
56
|
-
export type Column = z.infer<typeof ColumnSchema>;
|
|
57
|
-
|
|
58
|
-
// Export schema for validation
|
|
59
|
-
export const ColumnArraySchema = z.array(ColumnSchema);
|
|
60
|
-
|
|
61
|
-
// Zod Schema for Complex Field Value (recursive structure)
|
|
62
|
-
// Using z.lazy() to handle circular reference with FieldValueSchema
|
|
63
|
-
// Note: This schema is exported for advanced use cases but should be used carefully
|
|
64
|
-
// due to potential performance implications with deeply nested structures
|
|
65
|
-
export const ComplexFieldValueSchema: z.ZodType<ComplexFieldValue> = z.lazy(() =>
|
|
66
|
-
z.object({
|
|
67
|
-
apiName: z.string().optional(),
|
|
68
|
-
childRelationships: z.record(z.string(), z.unknown()).optional(),
|
|
69
|
-
eTag: z.string().optional(),
|
|
70
|
-
fields: z.record(z.string(), FieldValueSchema).optional(),
|
|
71
|
-
id: z.string().optional(),
|
|
72
|
-
lastModifiedById: z.string().nullish(),
|
|
73
|
-
lastModifiedDate: z.string().nullish(),
|
|
74
|
-
recordTypeId: z.string().nullish(),
|
|
75
|
-
recordTypeInfo: z.unknown().optional(),
|
|
76
|
-
systemModstamp: z.string().nullish(),
|
|
77
|
-
weakEtag: z.number().optional(),
|
|
78
|
-
}),
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
// Zod Schema for Field Value (using z.lazy() to handle circular reference)
|
|
82
|
-
// Note: This schema is exported for validating individual field values on-demand
|
|
83
|
-
// Use FieldValueValidationSchema alias for clarity
|
|
84
|
-
// Using z.union([z.string(), z.null()]) instead of .nullish() to match FieldValue type definition
|
|
85
|
-
export const FieldValueSchema: z.ZodType<FieldValue> = z.lazy(() =>
|
|
86
|
-
z.object({
|
|
87
|
-
displayValue: z.union([z.string(), z.null()]),
|
|
88
|
-
value: z.union([
|
|
89
|
-
z.string(),
|
|
90
|
-
z.number(),
|
|
91
|
-
z.boolean(),
|
|
92
|
-
z.null(),
|
|
93
|
-
ComplexFieldValueSchema as z.ZodType<ComplexFieldValue>,
|
|
94
|
-
]),
|
|
95
|
-
}),
|
|
96
|
-
);
|
|
97
|
-
|
|
98
|
-
// Zod Schema for Search Result Record Data (lightweight validation)
|
|
99
|
-
// Using z.unknown() for fields to avoid expensive recursive validation of every field value
|
|
100
|
-
// This prevents UI freezing when validating large result sets (e.g., 100 records × 50 fields = 5,000 validations)
|
|
101
|
-
// Individual fields can be validated later when needed using FieldValueSchema
|
|
102
|
-
// Note: z.unknown() is safer than z.any() as it requires explicit type checking before use
|
|
103
|
-
export const SearchResultRecordDataSchema = z.object({
|
|
104
|
-
apiName: z.string(),
|
|
105
|
-
childRelationships: z.record(z.string(), z.unknown()),
|
|
106
|
-
eTag: z.string(),
|
|
107
|
-
fields: z.record(z.string(), z.unknown()), // Lightweight: avoids recursive validation, uses unknown for type safety
|
|
108
|
-
id: z.string(),
|
|
109
|
-
lastModifiedById: z.string().nullish(),
|
|
110
|
-
lastModifiedDate: z.string().nullish(),
|
|
111
|
-
recordTypeId: z.string().nullish(),
|
|
112
|
-
recordTypeInfo: z.unknown().nullish(),
|
|
113
|
-
systemModstamp: z.string().nullish(),
|
|
114
|
-
weakEtag: z.number(),
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
// Full validation schema for individual field values (use when validating specific fields)
|
|
118
|
-
// This can be used to validate a single field value when needed
|
|
119
|
-
export const FieldValueValidationSchema = FieldValueSchema;
|
|
120
|
-
|
|
121
|
-
// Zod Schema for Highlight Info
|
|
122
|
-
export const HighlightInfoSchema = z.object({
|
|
123
|
-
fields: z.record(z.string(), z.unknown()),
|
|
124
|
-
snippet: z.string().nullish(),
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
// Zod Schema for Search Info
|
|
128
|
-
export const SearchInfoSchema = z.object({
|
|
129
|
-
isPromoted: z.boolean(),
|
|
130
|
-
isSpellCorrected: z.boolean(),
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
// Zod Schema for Search Result Record
|
|
134
|
-
export const SearchResultRecordSchema = z.object({
|
|
135
|
-
highlightInfo: HighlightInfoSchema,
|
|
136
|
-
record: SearchResultRecordDataSchema,
|
|
137
|
-
searchInfo: SearchInfoSchema,
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Record structure within search results
|
|
142
|
-
* Note: The fields property is typed as Record<string, FieldValue> for type safety,
|
|
143
|
-
* but validation uses z.unknown() for performance (avoids recursive validation of all fields)
|
|
144
|
-
*/
|
|
145
|
-
export type SearchResultRecordData = Omit<
|
|
146
|
-
z.infer<typeof SearchResultRecordDataSchema>,
|
|
147
|
-
"fields"
|
|
148
|
-
> & {
|
|
149
|
-
fields: Record<string, FieldValue>;
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Highlight information for search results
|
|
154
|
-
*/
|
|
155
|
-
export type HighlightInfo = z.infer<typeof HighlightInfoSchema>;
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Search information for results
|
|
159
|
-
*/
|
|
160
|
-
export type SearchInfo = z.infer<typeof SearchInfoSchema>;
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Single record in search results (complete structure from API)
|
|
164
|
-
* Note: The record.fields property is typed as Record<string, FieldValue> for type safety,
|
|
165
|
-
* but validation uses z.unknown() for performance (avoids recursive validation of all fields)
|
|
166
|
-
*/
|
|
167
|
-
export type SearchResultRecord = Omit<z.infer<typeof SearchResultRecordSchema>, "record"> & {
|
|
168
|
-
record: SearchResultRecordData;
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
// Export schemas for validation
|
|
172
|
-
export const SearchResultRecordArraySchema = z.array(SearchResultRecordSchema);
|
|
173
|
-
|
|
174
|
-
// Zod Schema for Order By
|
|
175
|
-
export const OrderBySchema = z.object({
|
|
176
|
-
fieldApiName: z.string(),
|
|
177
|
-
isAscending: z.boolean(),
|
|
178
|
-
label: z.string(),
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* Order by configuration
|
|
183
|
-
*/
|
|
184
|
-
export type OrderBy = z.infer<typeof OrderBySchema>;
|
|
185
|
-
|
|
186
|
-
// Zod Schema for Keyword Search Result
|
|
187
|
-
export const KeywordSearchResultSchema = z.object({
|
|
188
|
-
currentPageToken: z.string(),
|
|
189
|
-
error: z.string().nullish(),
|
|
190
|
-
nextPageToken: z.string().nullish(),
|
|
191
|
-
objectApiName: z.string(),
|
|
192
|
-
orderBy: z.array(OrderBySchema),
|
|
193
|
-
pageSize: z.number(),
|
|
194
|
-
previousPageToken: z.string().nullish(),
|
|
195
|
-
records: z.array(SearchResultRecordSchema),
|
|
196
|
-
relatedObjectApiNames: z.array(z.string()),
|
|
197
|
-
});
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Keyword search result structure
|
|
201
|
-
*/
|
|
202
|
-
export type KeywordSearchResult = z.infer<typeof KeywordSearchResultSchema>;
|
|
203
|
-
|
|
204
|
-
// Zod Schema for Search Results Response
|
|
205
|
-
export const SearchResultsResponseSchema = z.object({
|
|
206
|
-
configurationName: z.string().nullish(),
|
|
207
|
-
keywordSearchResult: KeywordSearchResultSchema,
|
|
208
|
-
objectApiName: z.string(),
|
|
209
|
-
query: z.string(),
|
|
210
|
-
queryId: z.string(),
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* Search results response structure
|
|
215
|
-
*/
|
|
216
|
-
export type SearchResultsResponse = z.infer<typeof SearchResultsResponseSchema>;
|
|
217
|
-
|
|
218
|
-
// Zod Schema for Column Info Response
|
|
219
|
-
export const ColumnInfoResponseSchema = z.record(z.string(), z.unknown()).and(
|
|
220
|
-
z.object({
|
|
221
|
-
columns: ColumnArraySchema.optional(),
|
|
222
|
-
fields: ColumnArraySchema.optional(),
|
|
223
|
-
}),
|
|
224
|
-
);
|
|
225
|
-
|
|
226
|
-
/**
|
|
227
|
-
* Column info response structure
|
|
228
|
-
*/
|
|
229
|
-
export type ColumnInfoResponse = z.infer<typeof ColumnInfoResponseSchema>;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* API Utilities
|
|
3
|
-
*
|
|
4
|
-
* Generic utility functions for API requests, validation, and URL handling.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import type { ZodSchema } from "zod";
|
|
8
|
-
|
|
9
|
-
export interface FetchAndValidateOptions<T> {
|
|
10
|
-
schema: ZodSchema<T>;
|
|
11
|
-
errorContext: string;
|
|
12
|
-
extractData?: (data: unknown) => unknown;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export async function fetchAndValidate<T>(
|
|
16
|
-
fetchFn: () => Promise<Response>,
|
|
17
|
-
options: FetchAndValidateOptions<T>,
|
|
18
|
-
): Promise<T> {
|
|
19
|
-
const { schema, errorContext, extractData } = options;
|
|
20
|
-
|
|
21
|
-
try {
|
|
22
|
-
const response = await fetchFn();
|
|
23
|
-
|
|
24
|
-
if (!response.ok) {
|
|
25
|
-
throw new Error(`Failed to fetch ${errorContext}: ${response.status} ${response.statusText}`);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const data = await response.json();
|
|
29
|
-
const dataToValidate = extractData ? extractData(data) : data;
|
|
30
|
-
const validationResult = schema.safeParse(dataToValidate);
|
|
31
|
-
|
|
32
|
-
if (!validationResult.success) {
|
|
33
|
-
throw new Error(`Invalid ${errorContext} response format: ${validationResult.error.message}`);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return validationResult.data;
|
|
37
|
-
} catch (error) {
|
|
38
|
-
if (error instanceof Error && error.name === "ZodError") {
|
|
39
|
-
throw new Error(`Invalid ${errorContext} response format: ${error.message}`);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (
|
|
43
|
-
error instanceof Error &&
|
|
44
|
-
(error.message.includes("Failed to fetch") || error.message.includes("Invalid"))
|
|
45
|
-
) {
|
|
46
|
-
throw error;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
throw new Error(
|
|
50
|
-
`Error fetching ${errorContext}: ${
|
|
51
|
-
error instanceof Error ? error.message : (error?.toString() ?? "Unknown error")
|
|
52
|
-
}`,
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export function safeEncodePath(segment: string): string {
|
|
58
|
-
return encodeURIComponent(segment);
|
|
59
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cache Utilities
|
|
3
|
-
*
|
|
4
|
-
* Utility functions for creating deterministic cache keys and managing cache operations.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import type { FilterCriteria } from "../types/filters/filters";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Creates a deterministic cache key from filter criteria array.
|
|
11
|
-
* Sorts filters and their values to ensure consistent keys regardless of input order.
|
|
12
|
-
*
|
|
13
|
-
* @param filters - Array of filter criteria (FilterCriteria[])
|
|
14
|
-
* @returns Deterministic string key for caching
|
|
15
|
-
*
|
|
16
|
-
* @remarks
|
|
17
|
-
* - Sorts filters by objectApiName, then fieldPath, then operator
|
|
18
|
-
* - Sorts values within each filter to ensure consistency
|
|
19
|
-
* - Handles null/undefined values safely
|
|
20
|
-
* - Prevents cache key collisions from different object ordering
|
|
21
|
-
*
|
|
22
|
-
* Why is sorting required?
|
|
23
|
-
* If a user filters by "Name" then "Date", the array is [Name, Date].
|
|
24
|
-
* If they filter by "Date" then "Name", the array is [Date, Name].
|
|
25
|
-
* - Without sorting, these would generate different cache keys ("Name-Date" vs "Date-Name"),
|
|
26
|
-
* causing the app to re-fetch data it actually already has. Sorting ensures that
|
|
27
|
-
* the order of user clicks doesn't invalidate the cache.
|
|
28
|
-
*
|
|
29
|
-
|
|
30
|
-
* @example
|
|
31
|
-
* ```tsx
|
|
32
|
-
* const cacheKey = createFiltersKey(filters);
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
export function createFiltersKey(filters: FilterCriteria[]): string {
|
|
36
|
-
if (!Array.isArray(filters) || filters.length === 0) {
|
|
37
|
-
return "[]";
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const normalized = filters
|
|
41
|
-
.map((filter) => {
|
|
42
|
-
if (!filter || typeof filter !== "object") {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const f = filter as FilterCriteria;
|
|
47
|
-
|
|
48
|
-
const sortedValues =
|
|
49
|
-
Array.isArray(f.values) && f.values.length > 0
|
|
50
|
-
? [...f.values].sort((a, b) => {
|
|
51
|
-
const aStr = a.toString();
|
|
52
|
-
const bStr = b.toString();
|
|
53
|
-
return aStr.localeCompare(bStr);
|
|
54
|
-
})
|
|
55
|
-
: [];
|
|
56
|
-
|
|
57
|
-
return {
|
|
58
|
-
objectApiName: f.objectApiName ?? "",
|
|
59
|
-
fieldPath: f.fieldPath ?? "",
|
|
60
|
-
operator: f.operator ?? "",
|
|
61
|
-
values: sortedValues,
|
|
62
|
-
};
|
|
63
|
-
})
|
|
64
|
-
.filter((f): f is NonNullable<typeof f> => f !== null)
|
|
65
|
-
.sort((a, b) => {
|
|
66
|
-
const objectCompare = a.objectApiName.localeCompare(b.objectApiName);
|
|
67
|
-
if (objectCompare !== 0) return objectCompare;
|
|
68
|
-
|
|
69
|
-
const fieldCompare = a.fieldPath.localeCompare(b.fieldPath);
|
|
70
|
-
if (fieldCompare !== 0) return fieldCompare;
|
|
71
|
-
|
|
72
|
-
return a.operator.localeCompare(b.operator);
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
return JSON.stringify(normalized);
|
|
76
|
-
}
|