@salesforce/templates 66.3.2 → 66.4.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.
Files changed (453) hide show
  1. package/README.md +10 -0
  2. package/lib/templates/project/reactb2e/AGENT.md +2 -0
  3. package/lib/templates/project/reactb2e/CHANGELOG.md +169 -0
  4. package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/package.json +5 -5
  5. package/lib/templates/project/{reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail → reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/DetailForm.tsx +1 -1
  6. package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/UiApiDetailForm.tsx +2 -2
  7. package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/search/GlobalSearchInput.tsx +1 -1
  8. package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/search/SearchResultCard.tsx +1 -1
  9. package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/api/objectDetailService.ts +3 -26
  10. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectInfoGraphQLService.ts +137 -0
  11. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectInfoService.ts +95 -0
  12. package/lib/templates/project/{reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_}/api/recordListGraphQLService.ts +1 -2
  13. package/lib/templates/project/{reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_}/hooks/useObjectInfoBatch.ts +1 -1
  14. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useObjectSearchData.ts +174 -0
  15. package/lib/templates/project/{reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_}/hooks/useRecordDetailLayout.ts +1 -20
  16. package/lib/templates/project/{reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_}/pages/DetailPage.tsx +1 -1
  17. package/lib/templates/project/{reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_}/pages/GlobalSearch.tsx +1 -1
  18. package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/types/filters/filters.ts +1 -0
  19. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/filters/picklist.ts +6 -0
  20. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/objectInfo/objectInfo.ts +49 -0
  21. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/schema.d.ts +200 -0
  22. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/apiUtils.ts +59 -0
  23. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLObjectInfoAdapter.ts +77 -0
  24. package/lib/templates/project/{reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/recordUtils.ts +4 -4
  25. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/index.ts +120 -0
  26. package/lib/templates/project/{reactb2x/force-app/main/default/webapplications/appreacttemplateb2x → reactb2e/_p_/_m_/_w_/_a_}/webapplication.json +1 -1
  27. package/lib/templates/project/reactb2e/_r_/features/feature-react-agentforce-conversation-client-embedded-agent-rule.md +18 -0
  28. package/lib/templates/project/reactb2e/_r_/skills/_k_/SKILL.md +148 -0
  29. package/lib/templates/project/{reactb2x/.a4drules/skills/feature-react-agentforce-conversation-client-embedded-agent → reactb2e/_r_/skills/_k_}/docs/embed-examples.md +42 -32
  30. package/lib/templates/project/reactb2e/_r_/skills/_k_/docs/troubleshooting.md +51 -0
  31. package/lib/templates/project/reactb2e/_r_/skills/webapp-csp-trusted-sites/SKILL.md +90 -0
  32. package/lib/templates/project/reactb2e/_r_/skills/webapp-csp-trusted-sites/implementation/metadata-format.md +281 -0
  33. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-add-component/SKILL.md +78 -0
  34. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-add-component/implementation/component.md +78 -0
  35. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-add-component/implementation/header-footer.md +124 -0
  36. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-add-component/implementation/page.md +92 -0
  37. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-data-visualization/SKILL.md +72 -0
  38. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-data-visualization/implementation/dashboard-layout.md +189 -0
  39. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-data-visualization/implementation/donut-chart.md +181 -0
  40. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-data-visualization/implementation/stat-card.md +150 -0
  41. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-interactive-map/SKILL.md +92 -0
  42. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-interactive-map/implementation/geocoding.md +245 -0
  43. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-interactive-map/implementation/leaflet-map.md +279 -0
  44. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-weather-widget/SKILL.md +65 -0
  45. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-weather-widget/implementation/weather-hook.md +258 -0
  46. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-weather-widget/implementation/weather-ui.md +216 -0
  47. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/SKILL.md +268 -0
  48. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/charts.csv +26 -0
  49. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/colors.csv +97 -0
  50. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/icons.csv +101 -0
  51. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/landing.csv +31 -0
  52. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/products.csv +97 -0
  53. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/react-performance.csv +45 -0
  54. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/stacks/html-tailwind.csv +56 -0
  55. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/stacks/react.csv +54 -0
  56. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/stacks/shadcn.csv +61 -0
  57. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/styles.csv +68 -0
  58. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/typography.csv +58 -0
  59. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/ui-reasoning.csv +101 -0
  60. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/ux-guidelines.csv +100 -0
  61. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/web-interface.csv +31 -0
  62. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/scripts/core.js +255 -0
  63. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/scripts/design_system.js +861 -0
  64. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/scripts/search.js +98 -0
  65. package/lib/templates/project/reactb2e/_r_/skills/webapp-unsplash-images/SKILL.md +71 -0
  66. package/lib/templates/project/reactb2e/_r_/skills/webapp-unsplash-images/implementation/usage.md +159 -0
  67. package/lib/templates/project/reactb2e/_r_/webapp-no-node-e.md +65 -0
  68. package/lib/templates/project/reactb2e/{.a4drules → _r_}/webapp-react.md +9 -10
  69. package/lib/templates/project/reactb2e/_r_/webapp-skills-first.md +26 -0
  70. package/lib/templates/project/reactb2e/{.a4drules → _r_}/webapp.md +8 -0
  71. package/lib/templates/project/reactb2e/package.json +3 -2
  72. package/lib/templates/project/reactb2e/scripts/prepare-import-unique-fields.js +108 -0
  73. package/lib/templates/project/reactb2e/scripts/setup-cli.mjs +282 -0
  74. package/lib/templates/project/reactb2x/AGENT.md +2 -0
  75. package/lib/templates/project/reactb2x/CHANGELOG.md +169 -0
  76. package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/package.json +4 -4
  77. package/lib/templates/project/{reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail → reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/DetailForm.tsx +1 -1
  78. package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/UiApiDetailForm.tsx +2 -2
  79. package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/search/GlobalSearchInput.tsx +1 -1
  80. package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/search/SearchResultCard.tsx +1 -1
  81. package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/api/objectDetailService.ts +3 -26
  82. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectInfoGraphQLService.ts +137 -0
  83. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectInfoService.ts +95 -0
  84. package/lib/templates/project/{reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_}/api/recordListGraphQLService.ts +1 -2
  85. package/lib/templates/project/{reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_}/hooks/useObjectInfoBatch.ts +1 -1
  86. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useObjectSearchData.ts +174 -0
  87. package/lib/templates/project/{reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_}/hooks/useRecordDetailLayout.ts +1 -20
  88. package/lib/templates/project/{reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_}/pages/DetailPage.tsx +1 -1
  89. package/lib/templates/project/{reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_}/pages/GlobalSearch.tsx +1 -1
  90. package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/types/filters/filters.ts +1 -0
  91. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/filters/picklist.ts +6 -0
  92. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/objectInfo/objectInfo.ts +49 -0
  93. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/schema.d.ts +200 -0
  94. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/apiUtils.ts +59 -0
  95. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLObjectInfoAdapter.ts +77 -0
  96. package/lib/templates/project/{reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/recordUtils.ts +4 -4
  97. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/authentication/api/userProfileApi.ts +81 -0
  98. package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/layout/centered-page-layout.tsx +17 -2
  99. package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/pages/Profile.tsx +7 -55
  100. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/index.ts +120 -0
  101. package/lib/templates/project/{reactb2e/force-app/main/default/webapplications/appreacttemplateb2e → reactb2x/_p_/_m_/_w_/_a_}/webapplication.json +1 -1
  102. package/lib/templates/project/reactb2x/_r_/features/feature-react-agentforce-conversation-client-embedded-agent-rule.md +18 -0
  103. package/lib/templates/project/reactb2x/_r_/skills/_k_/SKILL.md +148 -0
  104. package/lib/templates/project/{reactb2e/.a4drules/skills/feature-react-agentforce-conversation-client-embedded-agent → reactb2x/_r_/skills/_k_}/docs/embed-examples.md +42 -32
  105. package/lib/templates/project/reactb2x/_r_/skills/_k_/docs/troubleshooting.md +51 -0
  106. package/lib/templates/project/reactb2x/_r_/skills/webapp-csp-trusted-sites/SKILL.md +90 -0
  107. package/lib/templates/project/reactb2x/_r_/skills/webapp-csp-trusted-sites/implementation/metadata-format.md +281 -0
  108. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-add-component/SKILL.md +78 -0
  109. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-add-component/implementation/component.md +78 -0
  110. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-add-component/implementation/header-footer.md +124 -0
  111. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-add-component/implementation/page.md +92 -0
  112. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-data-visualization/SKILL.md +72 -0
  113. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-data-visualization/implementation/dashboard-layout.md +189 -0
  114. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-data-visualization/implementation/donut-chart.md +181 -0
  115. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-data-visualization/implementation/stat-card.md +150 -0
  116. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-interactive-map/SKILL.md +92 -0
  117. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-interactive-map/implementation/geocoding.md +245 -0
  118. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-interactive-map/implementation/leaflet-map.md +279 -0
  119. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-weather-widget/SKILL.md +65 -0
  120. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-weather-widget/implementation/weather-hook.md +258 -0
  121. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-weather-widget/implementation/weather-ui.md +216 -0
  122. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/SKILL.md +268 -0
  123. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/charts.csv +26 -0
  124. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/colors.csv +97 -0
  125. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/icons.csv +101 -0
  126. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/landing.csv +31 -0
  127. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/products.csv +97 -0
  128. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/react-performance.csv +45 -0
  129. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/stacks/html-tailwind.csv +56 -0
  130. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/stacks/react.csv +54 -0
  131. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/stacks/shadcn.csv +61 -0
  132. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/styles.csv +68 -0
  133. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/typography.csv +58 -0
  134. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/ui-reasoning.csv +101 -0
  135. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/ux-guidelines.csv +100 -0
  136. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/web-interface.csv +31 -0
  137. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/scripts/core.js +255 -0
  138. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/scripts/design_system.js +861 -0
  139. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/scripts/search.js +98 -0
  140. package/lib/templates/project/reactb2x/_r_/skills/webapp-unsplash-images/SKILL.md +71 -0
  141. package/lib/templates/project/reactb2x/_r_/skills/webapp-unsplash-images/implementation/usage.md +159 -0
  142. package/lib/templates/project/reactb2x/_r_/webapp-no-node-e.md +65 -0
  143. package/lib/templates/project/reactb2x/{.a4drules → _r_}/webapp-react.md +9 -10
  144. package/lib/templates/project/reactb2x/_r_/webapp-skills-first.md +26 -0
  145. package/lib/templates/project/reactb2x/{.a4drules → _r_}/webapp.md +8 -0
  146. package/lib/templates/project/reactb2x/package.json +3 -2
  147. package/lib/templates/project/reactb2x/scripts/prepare-import-unique-fields.js +108 -0
  148. package/lib/templates/project/reactb2x/scripts/setup-cli.mjs +282 -0
  149. package/lib/templates/webapplication/reactbasic/package.json +8 -8
  150. package/lib/templates/webapplication/reactbasic/webapplication.json +1 -1
  151. package/lib/templates/webapplication/webappbasic/webapplication.json +1 -1
  152. package/lib/tsconfig.tsbuildinfo +1 -1
  153. package/lib/utils/template-placeholders.d.ts +42 -0
  154. package/lib/utils/template-placeholders.js +103 -0
  155. package/lib/utils/template-placeholders.js.map +1 -0
  156. package/lib/utils/webappTemplateUtils.d.ts +42 -0
  157. package/lib/utils/webappTemplateUtils.js +84 -7
  158. package/lib/utils/webappTemplateUtils.js.map +1 -1
  159. package/package.json +6 -6
  160. package/lib/templates/project/reactb2e/.a4drules/features/feature-react-agentforce-conversation-client-embedded-agent-rule.md +0 -32
  161. package/lib/templates/project/reactb2e/.a4drules/skills/feature-react-agentforce-conversation-client-embedded-agent/SKILL.md +0 -108
  162. package/lib/templates/project/reactb2e/.a4drules/webapp-images.md +0 -15
  163. package/lib/templates/project/reactb2e/.a4drules/webapp-no-node-e.md +0 -26
  164. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/api/index.ts +0 -19
  165. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/api/objectInfoGraphQLService.ts +0 -194
  166. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/api/objectInfoService.ts +0 -199
  167. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail/formatted/index.ts +0 -6
  168. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/hooks/index.ts +0 -22
  169. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/hooks/useObjectSearchData.ts +0 -395
  170. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/types/filters/picklist.ts +0 -32
  171. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/types/index.ts +0 -4
  172. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/types/objectInfo/objectInfo.ts +0 -166
  173. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/utils/apiUtils.ts +0 -125
  174. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/utils/graphQLObjectInfoAdapter.ts +0 -319
  175. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/utils/index.ts +0 -59
  176. package/lib/templates/project/reactb2e/force-app/main/default/webapplications/appreacttemplateb2e/src/index.ts +0 -6
  177. package/lib/templates/project/reactb2x/.a4drules/features/feature-react-agentforce-conversation-client-embedded-agent-rule.md +0 -32
  178. package/lib/templates/project/reactb2x/.a4drules/skills/feature-react-agentforce-conversation-client-embedded-agent/SKILL.md +0 -108
  179. package/lib/templates/project/reactb2x/.a4drules/webapp-images.md +0 -15
  180. package/lib/templates/project/reactb2x/.a4drules/webapp-no-node-e.md +0 -26
  181. package/lib/templates/project/reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/api/index.ts +0 -19
  182. package/lib/templates/project/reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/api/objectInfoGraphQLService.ts +0 -194
  183. package/lib/templates/project/reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/api/objectInfoService.ts +0 -199
  184. package/lib/templates/project/reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail/formatted/index.ts +0 -6
  185. package/lib/templates/project/reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/hooks/index.ts +0 -22
  186. package/lib/templates/project/reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/hooks/useObjectSearchData.ts +0 -395
  187. package/lib/templates/project/reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/types/filters/picklist.ts +0 -32
  188. package/lib/templates/project/reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/types/index.ts +0 -4
  189. package/lib/templates/project/reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/types/objectInfo/objectInfo.ts +0 -166
  190. package/lib/templates/project/reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/utils/apiUtils.ts +0 -125
  191. package/lib/templates/project/reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/utils/graphQLObjectInfoAdapter.ts +0 -319
  192. package/lib/templates/project/reactb2x/force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/utils/index.ts +0 -59
  193. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/.graphqlrc.yml +0 -0
  194. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/.prettierignore +0 -0
  195. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/.prettierrc +0 -0
  196. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/CHANGELOG.md +0 -0
  197. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/README.md +0 -0
  198. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/appreacttemplateb2e.webapplication-meta.xml +0 -0
  199. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/codegen.yml +0 -0
  200. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/e2e/app.spec.ts +0 -0
  201. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/eslint.config.js +0 -0
  202. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/index.html +0 -0
  203. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/playwright.config.ts +0 -0
  204. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/scripts/get-graphql-schema.mjs +0 -0
  205. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/scripts/rewrite-e2e-assets.mjs +0 -0
  206. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/DetailFields.tsx +0 -0
  207. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/DetailHeader.tsx +0 -0
  208. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/DetailLayoutSections.tsx +0 -0
  209. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/Section.tsx +0 -0
  210. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/SectionRow.tsx +0 -0
  211. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail/formatted → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_}/FieldValueDisplay.tsx +0 -0
  212. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail/formatted → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_}/FormattedAddress.tsx +0 -0
  213. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail/formatted → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_}/FormattedEmail.tsx +0 -0
  214. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail/formatted → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_}/FormattedPhone.tsx +0 -0
  215. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail/formatted → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_}/FormattedText.tsx +0 -0
  216. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components/detail/formatted → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_}/FormattedUrl.tsx +0 -0
  217. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/filters/FilterField.tsx +0 -0
  218. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/filters/FilterInput.tsx +0 -0
  219. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/filters/FilterSelect.tsx +0 -0
  220. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/filters/FiltersPanel.tsx +0 -0
  221. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/forms/filters-form.tsx +0 -0
  222. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/forms/submit-button.tsx +0 -0
  223. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/search/ResultCardFields.tsx +0 -0
  224. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/search/SearchHeader.tsx +0 -0
  225. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/search/SearchPagination.tsx +0 -0
  226. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/search/SearchResultsPanel.tsx +0 -0
  227. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/shared/LoadingFallback.tsx +0 -0
  228. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src → _p_/_m_/_w_/_a_/src/_f_/_gs_}/constants.ts +0 -0
  229. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/filters/FilterInput.tsx +0 -0
  230. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/filters/FilterSelect.tsx +0 -0
  231. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/hooks/form.tsx +0 -0
  232. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/hooks/useRecordListGraphQL.ts +0 -0
  233. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/types/recordDetail/recordDetail.ts +0 -0
  234. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/types/search/searchResults.ts +0 -0
  235. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/cacheUtils.ts +0 -0
  236. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/debounce.ts +0 -0
  237. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/fieldUtils.ts +0 -0
  238. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/fieldValueExtractor.ts +0 -0
  239. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/filterUtils.ts +0 -0
  240. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/formDataTransformUtils.ts +0 -0
  241. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/formUtils.ts +0 -0
  242. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/graphQLNodeFieldUtils.ts +0 -0
  243. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/graphQLRecordAdapter.ts +0 -0
  244. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/layoutTransformUtils.ts +0 -0
  245. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/linkUtils.ts +0 -0
  246. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/paginationUtils.ts +0 -0
  247. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/sanitizationUtils.ts +0 -0
  248. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/app.tsx +0 -0
  249. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/appLayout.tsx +0 -0
  250. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/assets/icons/book.svg +0 -0
  251. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/assets/icons/copy.svg +0 -0
  252. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/assets/icons/rocket.svg +0 -0
  253. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/assets/icons/star.svg +0 -0
  254. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/assets/images/codey-1.png +0 -0
  255. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/assets/images/codey-2.png +0 -0
  256. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/assets/images/codey-3.png +0 -0
  257. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/assets/images/vibe-codey.svg +0 -0
  258. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/AgentforceConversationClient.tsx +0 -0
  259. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/__inherit_AgentforceConversationClient.tsx +0 -0
  260. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/alerts/status-alert.tsx +0 -0
  261. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/layouts/card-layout.tsx +0 -0
  262. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/alert.tsx +0 -0
  263. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/button.tsx +0 -0
  264. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/card.tsx +0 -0
  265. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/dialog.tsx +0 -0
  266. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/field.tsx +0 -0
  267. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/index.ts +0 -0
  268. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/input.tsx +0 -0
  269. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/label.tsx +0 -0
  270. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/pagination.tsx +0 -0
  271. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/select.tsx +0 -0
  272. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/separator.tsx +0 -0
  273. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/skeleton.tsx +0 -0
  274. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/spinner.tsx +0 -0
  275. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/table.tsx +0 -0
  276. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components/ui/tabs.tsx +0 -0
  277. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/components.json +0 -0
  278. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/lib/utils.ts +0 -0
  279. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/navigationMenu.tsx +0 -0
  280. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/pages/Home.tsx +0 -0
  281. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/pages/NotFound.tsx +0 -0
  282. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/pages/TestAccPage.tsx +0 -0
  283. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/router-utils.tsx +0 -0
  284. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/routes.tsx +0 -0
  285. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/styles/global.css +0 -0
  286. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/src/types/conversation.ts +0 -0
  287. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/tsconfig.json +0 -0
  288. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/tsconfig.node.json +0 -0
  289. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/vite-env.d.ts +0 -0
  290. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/vite.config.ts +0 -0
  291. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/vitest-env.d.ts +0 -0
  292. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/vitest.config.ts +0 -0
  293. /package/lib/templates/project/reactb2e/{force-app/main/default/webapplications/appreacttemplateb2e → _p_/_m_/_w_/_a_}/vitest.setup.ts +0 -0
  294. /package/lib/templates/project/reactb2e/{.a4drules → _r_}/features/feature-graphql-graphql-data-access-rule.md +0 -0
  295. /package/lib/templates/project/reactb2e/{.a4drules → _r_}/features/feature-react-chart-analytics-charts-rule.md +0 -0
  296. /package/lib/templates/project/reactb2e/{.a4drules → _r_}/skills/feature-graphql-graphql-data-access/SKILL.md +0 -0
  297. /package/lib/templates/project/reactb2e/{.a4drules → _r_}/skills/feature-graphql-graphql-data-access/docs/explore-schema.md +0 -0
  298. /package/lib/templates/project/reactb2e/{.a4drules → _r_}/skills/feature-graphql-graphql-data-access/docs/generate-mutation-query.md +0 -0
  299. /package/lib/templates/project/reactb2e/{.a4drules → _r_}/skills/feature-graphql-graphql-data-access/docs/generate-read-query.md +0 -0
  300. /package/lib/templates/project/reactb2e/{.a4drules → _r_}/skills/feature-graphql-graphql-data-access/docs/shared-schema.graphqls +0 -0
  301. /package/lib/templates/project/reactb2e/{.a4drules → _r_}/skills/feature-micro-frontend-micro-frontend/SKILL.md +0 -0
  302. /package/lib/templates/project/reactb2e/{.a4drules → _r_}/skills/feature-react-chart-analytics-charts/SKILL.md +0 -0
  303. /package/lib/templates/project/reactb2e/{.a4drules → _r_}/skills/feature-react-chart-analytics-charts/docs/schema-mapping.md +0 -0
  304. /package/lib/templates/project/reactb2e/{.a4drules/webapp-code-quality.md → _r_/webapp-react-code-quality.md} +0 -0
  305. /package/lib/templates/project/reactb2e/{.a4drules/webapp-typescript.md → _r_/webapp-react-typescript.md} +0 -0
  306. /package/lib/templates/project/reactb2x/{force-app/main/default/digitalExperiences/site/appreacttemplateb2x1 → _p_/_m_/_d_/_s_/_a1_}/appreacttemplateb2x1.digitalExperience-meta.xml +0 -0
  307. /package/lib/templates/project/reactb2x/{force-app/main/default/digitalExperiences/site/appreacttemplateb2x1 → _p_/_m_/_d_/_s_/_a1_}/sfdc_cms__site/appreacttemplateb2x1/_meta.json +0 -0
  308. /package/lib/templates/project/reactb2x/{force-app/main/default/digitalExperiences/site/appreacttemplateb2x1 → _p_/_m_/_d_/_s_/_a1_}/sfdc_cms__site/appreacttemplateb2x1/content.json +0 -0
  309. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/.graphqlrc.yml +0 -0
  310. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/.prettierignore +0 -0
  311. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/.prettierrc +0 -0
  312. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/CHANGELOG.md +0 -0
  313. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/README.md +0 -0
  314. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/appreacttemplateb2x.webapplication-meta.xml +0 -0
  315. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/codegen.yml +0 -0
  316. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/e2e/app.spec.ts +0 -0
  317. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/eslint.config.js +0 -0
  318. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/index.html +0 -0
  319. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/playwright.config.ts +0 -0
  320. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/scripts/get-graphql-schema.mjs +0 -0
  321. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/scripts/rewrite-e2e-assets.mjs +0 -0
  322. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/DetailFields.tsx +0 -0
  323. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/DetailHeader.tsx +0 -0
  324. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/DetailLayoutSections.tsx +0 -0
  325. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/Section.tsx +0 -0
  326. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_}/SectionRow.tsx +0 -0
  327. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail/formatted → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_}/FieldValueDisplay.tsx +0 -0
  328. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail/formatted → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_}/FormattedAddress.tsx +0 -0
  329. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail/formatted → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_}/FormattedEmail.tsx +0 -0
  330. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail/formatted → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_}/FormattedPhone.tsx +0 -0
  331. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail/formatted → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_}/FormattedText.tsx +0 -0
  332. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components/detail/formatted → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_}/FormattedUrl.tsx +0 -0
  333. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/filters/FilterField.tsx +0 -0
  334. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/filters/FilterInput.tsx +0 -0
  335. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/filters/FilterSelect.tsx +0 -0
  336. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/filters/FiltersPanel.tsx +0 -0
  337. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/forms/filters-form.tsx +0 -0
  338. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/forms/submit-button.tsx +0 -0
  339. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/search/ResultCardFields.tsx +0 -0
  340. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/search/SearchHeader.tsx +0 -0
  341. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/search/SearchPagination.tsx +0 -0
  342. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/search/SearchResultsPanel.tsx +0 -0
  343. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search/components → _p_/_m_/_w_/_a_/src/_f_/_gs_/_c_}/shared/LoadingFallback.tsx +0 -0
  344. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src → _p_/_m_/_w_/_a_/src/_f_/_gs_}/constants.ts +0 -0
  345. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/filters/FilterInput.tsx +0 -0
  346. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/filters/FilterSelect.tsx +0 -0
  347. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/hooks/form.tsx +0 -0
  348. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/hooks/useRecordListGraphQL.ts +0 -0
  349. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/types/recordDetail/recordDetail.ts +0 -0
  350. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/types/search/searchResults.ts +0 -0
  351. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/cacheUtils.ts +0 -0
  352. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/debounce.ts +0 -0
  353. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/fieldUtils.ts +0 -0
  354. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/fieldValueExtractor.ts +0 -0
  355. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/filterUtils.ts +0 -0
  356. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/formDataTransformUtils.ts +0 -0
  357. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/formUtils.ts +0 -0
  358. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/graphQLNodeFieldUtils.ts +0 -0
  359. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/graphQLRecordAdapter.ts +0 -0
  360. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/layoutTransformUtils.ts +0 -0
  361. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/linkUtils.ts +0 -0
  362. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/paginationUtils.ts +0 -0
  363. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features/global-search → _p_/_m_/_w_/_a_/src/_f_/_gs_}/utils/sanitizationUtils.ts +0 -0
  364. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/authHelpers.ts +0 -0
  365. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/authenticationConfig.ts +0 -0
  366. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/context/AuthContext.tsx +0 -0
  367. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/footers/footer-link.tsx +0 -0
  368. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/forms/auth-form.tsx +0 -0
  369. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/forms/submit-button.tsx +0 -0
  370. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/hooks/form.tsx +0 -0
  371. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/hooks/useCountdownTimer.ts +0 -0
  372. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/hooks/useRetryWithBackoff.ts +0 -0
  373. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/layout/card-skeleton.tsx +0 -0
  374. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/layouts/AuthAppLayout.tsx +0 -0
  375. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/layouts/authenticationRouteLayout.tsx +0 -0
  376. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/layouts/privateRouteLayout.tsx +0 -0
  377. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/pages/ChangePassword.tsx +0 -0
  378. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/pages/ForgotPassword.tsx +0 -0
  379. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/pages/Login.tsx +0 -0
  380. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/pages/Register.tsx +0 -0
  381. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/pages/ResetPassword.tsx +0 -0
  382. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/sessionTimeout/SessionTimeoutValidator.tsx +0 -0
  383. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/sessionTimeout/sessionTimeService.ts +0 -0
  384. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/sessionTimeout/sessionTimeoutConfig.ts +0 -0
  385. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x/src/features → _p_/_m_/_w_/_a_/src/_f_}/authentication/utils/helpers.ts +0 -0
  386. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/app.tsx +0 -0
  387. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/appLayout.tsx +0 -0
  388. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/assets/icons/book.svg +0 -0
  389. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/assets/icons/copy.svg +0 -0
  390. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/assets/icons/rocket.svg +0 -0
  391. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/assets/icons/star.svg +0 -0
  392. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/assets/images/codey-1.png +0 -0
  393. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/assets/images/codey-2.png +0 -0
  394. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/assets/images/codey-3.png +0 -0
  395. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/assets/images/vibe-codey.svg +0 -0
  396. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/alerts/status-alert.tsx +0 -0
  397. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/layouts/card-layout.tsx +0 -0
  398. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/alert.tsx +0 -0
  399. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/button.tsx +0 -0
  400. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/card.tsx +0 -0
  401. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/dialog.tsx +0 -0
  402. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/field.tsx +0 -0
  403. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/index.ts +0 -0
  404. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/input.tsx +0 -0
  405. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/label.tsx +0 -0
  406. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/pagination.tsx +0 -0
  407. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/select.tsx +0 -0
  408. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/separator.tsx +0 -0
  409. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/skeleton.tsx +0 -0
  410. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/spinner.tsx +0 -0
  411. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/table.tsx +0 -0
  412. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components/ui/tabs.tsx +0 -0
  413. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/components.json +0 -0
  414. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/lib/utils.ts +0 -0
  415. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/navigationMenu.tsx +0 -0
  416. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/pages/Home.tsx +0 -0
  417. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/pages/NotFound.tsx +0 -0
  418. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/router-utils.tsx +0 -0
  419. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/routes.tsx +0 -0
  420. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/src/styles/global.css +0 -0
  421. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/tsconfig.json +0 -0
  422. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/tsconfig.node.json +0 -0
  423. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/vite-env.d.ts +0 -0
  424. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/vite.config.ts +0 -0
  425. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/vitest-env.d.ts +0 -0
  426. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/vitest.config.ts +0 -0
  427. /package/lib/templates/project/reactb2x/{force-app/main/default/webapplications/appreacttemplateb2x → _p_/_m_/_w_/_a_}/vitest.setup.ts +0 -0
  428. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/classes/WebAppAuthUtils.cls +0 -0
  429. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/classes/WebAppAuthUtils.cls-meta.xml +0 -0
  430. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/classes/WebAppChangePassword.cls +0 -0
  431. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/classes/WebAppChangePassword.cls-meta.xml +0 -0
  432. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/classes/WebAppForgotPassword.cls +0 -0
  433. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/classes/WebAppForgotPassword.cls-meta.xml +0 -0
  434. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/classes/WebAppLogin.cls +0 -0
  435. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/classes/WebAppLogin.cls-meta.xml +0 -0
  436. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/classes/WebAppRegistration.cls +0 -0
  437. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/classes/WebAppRegistration.cls-meta.xml +0 -0
  438. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/digitalExperienceConfigs/appreacttemplateb2x1.digitalExperienceConfig +0 -0
  439. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/networks/appreacttemplateb2x.network +0 -0
  440. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/package.xml +0 -0
  441. /package/lib/templates/project/reactb2x/{force-app/main/default → _p_/_m_}/sites/appreacttemplateb2x.site +0 -0
  442. /package/lib/templates/project/reactb2x/{.a4drules → _r_}/features/feature-graphql-graphql-data-access-rule.md +0 -0
  443. /package/lib/templates/project/reactb2x/{.a4drules → _r_}/features/feature-react-chart-analytics-charts-rule.md +0 -0
  444. /package/lib/templates/project/reactb2x/{.a4drules → _r_}/skills/feature-graphql-graphql-data-access/SKILL.md +0 -0
  445. /package/lib/templates/project/reactb2x/{.a4drules → _r_}/skills/feature-graphql-graphql-data-access/docs/explore-schema.md +0 -0
  446. /package/lib/templates/project/reactb2x/{.a4drules → _r_}/skills/feature-graphql-graphql-data-access/docs/generate-mutation-query.md +0 -0
  447. /package/lib/templates/project/reactb2x/{.a4drules → _r_}/skills/feature-graphql-graphql-data-access/docs/generate-read-query.md +0 -0
  448. /package/lib/templates/project/reactb2x/{.a4drules → _r_}/skills/feature-graphql-graphql-data-access/docs/shared-schema.graphqls +0 -0
  449. /package/lib/templates/project/reactb2x/{.a4drules → _r_}/skills/feature-micro-frontend-micro-frontend/SKILL.md +0 -0
  450. /package/lib/templates/project/reactb2x/{.a4drules → _r_}/skills/feature-react-chart-analytics-charts/SKILL.md +0 -0
  451. /package/lib/templates/project/reactb2x/{.a4drules → _r_}/skills/feature-react-chart-analytics-charts/docs/schema-mapping.md +0 -0
  452. /package/lib/templates/project/reactb2x/{.a4drules/webapp-code-quality.md → _r_/webapp-react-code-quality.md} +0 -0
  453. /package/lib/templates/project/reactb2x/{.a4drules/webapp-typescript.md → _r_/webapp-react-typescript.md} +0 -0
@@ -49,13 +49,13 @@ const getFetchableFieldsFromLayoutItem = function (
49
49
 
50
50
  // add field: fieldType
51
51
  const fieldMetadata = metadata.fields[comp.apiName];
52
- fields[comp.apiName] = fieldMetadata ? fieldMetadata.dataType : "";
52
+ fields[comp.apiName] = fieldMetadata?.dataType ?? "";
53
53
 
54
54
  // add relatedField if one exists (Id field -> add relationship name so we request Owner.Name)
55
55
  if (comp.apiName in metadata.fields) {
56
56
  const relationshipName = fieldMetadata?.relationshipName;
57
57
  if (relationshipName) {
58
- fields[relationshipName] = fieldMetadata.dataType;
58
+ fields[relationshipName] = fieldMetadata.dataType ?? "";
59
59
 
60
60
  relationFieldMap[comp.apiName] = relationshipName;
61
61
  }
@@ -65,7 +65,7 @@ const getFetchableFieldsFromLayoutItem = function (
65
65
  const idField = findIdFieldForRelationship(metadata, comp.apiName);
66
66
  if (idField) {
67
67
  const idMeta = metadata.fields[idField];
68
- fields[idField] = idMeta ? idMeta.dataType : "";
68
+ fields[idField] = idMeta?.dataType ?? "";
69
69
  relationFieldMap[idField] = comp.apiName;
70
70
  }
71
71
  }
@@ -137,7 +137,7 @@ export const calculateFieldsToFetch = function (
137
137
  const fields = getFetchableFieldsFromLayout(metadata, layout, relationFieldMap);
138
138
  let fieldsToFetch = Object.keys(fields);
139
139
  if (shouldPrefixedWithEntityName) {
140
- fieldsToFetch = fieldsToFetch.map((field) => `${metadata.apiName}.${field}`);
140
+ fieldsToFetch = fieldsToFetch.map((field) => `${metadata.ApiName}.${field}`);
141
141
  }
142
142
  // populate field types for o11y logging
143
143
  const fieldTypes = Object.values(fields).filter((fieldType) => fieldType !== "");
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Public API for the Global Search feature package.
3
+ *
4
+ * Design goals:
5
+ * - Export **API services, hooks, types, schemas, and utilities** that customers can import from node_modules.
6
+ * - Do **not** export UI components or feature constants (customers build their own UI).
7
+ *
8
+ * Source implementation lives under `src/features/global-search/**`.
9
+ */
10
+
11
+ // ---------------------------------------------------------------------------
12
+ // API layer
13
+ // ---------------------------------------------------------------------------
14
+
15
+ export { objectInfoService } from "./features/global-search/api/objectInfoService";
16
+ export {
17
+ objectDetailService,
18
+ extractFieldsFromLayout,
19
+ } from "./features/global-search/api/objectDetailService";
20
+ export type { RecordDetailResult } from "./features/global-search/api/objectDetailService";
21
+
22
+ export {
23
+ getRecordsGraphQL,
24
+ getRecordByIdGraphQL,
25
+ buildGetRecordsQuery,
26
+ buildWhereFromCriteria,
27
+ buildOrderByFromSort,
28
+ } from "./features/global-search/api/recordListGraphQLService";
29
+ export type {
30
+ RecordListGraphQLResult,
31
+ RecordListGraphQLVariables,
32
+ RecordListGraphQLOptions,
33
+ GraphQLRecordNode,
34
+ } from "./features/global-search/api/recordListGraphQLService";
35
+
36
+ // ---------------------------------------------------------------------------
37
+ // Hooks
38
+ // ---------------------------------------------------------------------------
39
+
40
+ export { useObjectInfoBatch } from "./features/global-search/hooks/useObjectInfoBatch";
41
+ export {
42
+ useObjectListMetadata,
43
+ useObjectColumns,
44
+ useObjectFilters,
45
+ } from "./features/global-search/hooks/useObjectSearchData";
46
+ export { useRecordListGraphQL } from "./features/global-search/hooks/useRecordListGraphQL";
47
+ export { useRecordDetailLayout } from "./features/global-search/hooks/useRecordDetailLayout";
48
+
49
+ export type { ObjectListMetadata } from "./features/global-search/hooks/useObjectSearchData";
50
+
51
+ export type {
52
+ UseRecordListGraphQLOptions,
53
+ UseRecordListGraphQLReturn,
54
+ } from "./features/global-search/hooks/useRecordListGraphQL";
55
+
56
+ export type {
57
+ UseRecordDetailLayoutParams,
58
+ UseRecordDetailLayoutReturn,
59
+ } from "./features/global-search/hooks/useRecordDetailLayout";
60
+
61
+ // ---------------------------------------------------------------------------
62
+ // Types + Zod schemas (runtime validation)
63
+ // ---------------------------------------------------------------------------
64
+
65
+ export {
66
+ ColumnArraySchema,
67
+ SearchResultRecordArraySchema,
68
+ KeywordSearchResultSchema,
69
+ SearchResultsResponseSchema,
70
+ } from "./features/global-search/types/search/searchResults";
71
+ export type {
72
+ Column,
73
+ SearchResultRecord,
74
+ KeywordSearchResult,
75
+ SearchResultsResponse,
76
+ } from "./features/global-search/types/search/searchResults";
77
+
78
+ export {
79
+ FilterArraySchema,
80
+ FilterCriteriaArraySchema,
81
+ FILTER_OPERATORS,
82
+ } from "./features/global-search/types/filters/filters";
83
+ export type {
84
+ Filter,
85
+ FilterCriteria,
86
+ FilterOperator,
87
+ FiltersResponse,
88
+ } from "./features/global-search/types/filters/filters";
89
+
90
+ export type { PicklistValue } from "./features/global-search/types/filters/picklist";
91
+
92
+ export type {
93
+ ObjectInfoBatchResponse,
94
+ ObjectInfoResult,
95
+ } from "./features/global-search/types/objectInfo/objectInfo";
96
+
97
+ export { LayoutResponseSchema } from "./features/global-search/types/recordDetail/recordDetail";
98
+ export type { LayoutResponse } from "./features/global-search/types/recordDetail/recordDetail";
99
+
100
+ // ---------------------------------------------------------------------------
101
+ // Utilities
102
+ // ---------------------------------------------------------------------------
103
+
104
+ export { fetchAndValidate, safeEncodePath } from "./features/global-search/utils/apiUtils";
105
+ export { debounce } from "./features/global-search/utils/debounce";
106
+ export { createFiltersKey } from "./features/global-search/utils/cacheUtils";
107
+ export {
108
+ calculateFieldsToFetch,
109
+ getSafeKey,
110
+ isValidSalesforceId,
111
+ } from "./features/global-search/utils/recordUtils";
112
+ export { parseFilterValue } from "./features/global-search/utils/filterUtils";
113
+ export { sanitizeFilterValue } from "./features/global-search/utils/sanitizationUtils";
114
+ export {
115
+ getGraphQLNodeValue,
116
+ getDisplayValueForDetailFieldFromNode,
117
+ getDisplayValueForLayoutItemFromNode,
118
+ getGraphQLRecordDisplayName,
119
+ } from "./features/global-search/utils/graphQLNodeFieldUtils";
120
+ export { graphQLNodeToSearchResultRecordData } from "./features/global-search/utils/graphQLRecordAdapter";
@@ -2,6 +2,6 @@
2
2
  "outputDir": "dist",
3
3
  "routing": {
4
4
  "trailingSlash": "never",
5
- "fallback": "/index.html"
5
+ "fallback": "index.html"
6
6
  }
7
7
  }
@@ -0,0 +1,18 @@
1
+ ---
2
+ paths:
3
+ - "**/*.tsx"
4
+ - "**/components/**/*.ts"
5
+ ---
6
+
7
+ # Agentforce Conversation Client (standards)
8
+
9
+ ## DO NOT build a chat UI from scratch
10
+
11
+ When the user asks for a chat UI, chat widget, chatbot, agent, or conversational interface — **always use the existing `AgentforceConversationClient` component** from `@salesforce/webapp-template-feature-react-agentforce-conversation-client-experimental`. Never generate a custom chat implementation, third-party chat library, WebSocket/REST chat, or direct calls to `embedAgentforceClient`.
12
+
13
+ ## Hard constraints
14
+
15
+ - **`agentId` is required.** The component will not work without it. Always ask the user for their agent ID before generating code. Do not proceed without one.
16
+ - **Use the React wrapper only.** Import `AgentforceConversationClient` from the package. Never call `embedAgentforceClient` directly.
17
+ - **One instance per window.** Render in the app layout alongside `<Outlet />`, not on individual pages. The component is a singleton.
18
+ - **No auth hard-coding.** The component resolves `salesforceOrigin` and `frontdoorUrl` automatically.
@@ -0,0 +1,148 @@
1
+ ---
2
+ name: feature-react-agentforce-conversation-client-embedded-agent
3
+ description: Embed an Agentforce conversation client (chat UI) into a React web application. Use when the user wants to add an employee agent, a chat client, chatbot, chat widget, chat component, conversation client, or conversational interface to their React app. Also applies when the user asks to embed or integrate any Salesforce agent — including employee agent, travel agent, HR agent, or any custom-named agent — or mentions Agentforce, Agentforce widget, Agentforce chat, or agent chat. ALWAYS use this skill instead of building a chat UI from scratch. Do NOT generate custom chat components, use third-party chat libraries, or create WebSocket/REST chat implementations. Do NOT use for non-React contexts or Lightning Web Components without React.
4
+ ---
5
+
6
+ # Embedded Agentforce chat (workflow)
7
+
8
+ When the user wants an embedded Agentforce chat client in a React app, follow this workflow.
9
+
10
+ ## DO NOT build a chat UI from scratch
11
+
12
+ When the user asks for a chat UI, chat widget, chatbot, conversational interface, agent embed, or anything related to an embedded agent — **always use the `AgentforceConversationClient` component** from `@salesforce/webapp-template-feature-react-agentforce-conversation-client-experimental`.
13
+
14
+ **Never do any of the following:**
15
+
16
+ - Build a custom chat component from scratch (no custom message bubbles, input boxes, or chat layouts)
17
+ - Use third-party chat libraries (e.g. `react-chat-widget`, `stream-chat`, `chatscope`, or similar)
18
+ - Create WebSocket, polling, or REST-based chat implementations
19
+ - Generate custom HTML/CSS chat UIs
20
+ - Write a wrapper around `embedAgentforceClient` directly — always use the provided React component
21
+
22
+ If the user asks for chat functionality that goes beyond what `AgentforceConversationClient` supports (e.g. custom message rendering, message history, typing indicators), explain that the embedded Agentforce client handles all of this internally and cannot be customized beyond the supported `agentforceClientConfig` options (`renderingConfig`, `styleTokens`, `agentId`).
23
+
24
+ ## CRITICAL: Agent ID is required
25
+
26
+ The Agentforce Conversation Client **will not work** without an `agentId`. There is no default agent — the component renders nothing and silently fails if `agentId` is missing. **Always ask the user for their agent ID before writing any code.**
27
+
28
+ > **Before proceeding:** Ask the user for their Salesforce agent ID (18-character record ID starting with `0Xx`). If they do not have one, direct them to **Setup → Agents** in their Salesforce org to find or create one. Do not generate code without an `agentId`.
29
+
30
+ ## 1. Collect the agent ID
31
+
32
+ Ask the user:
33
+
34
+ - "What is your Salesforce agent ID? (You can find it in Setup → Agents → select an agent → copy the ID from the URL. It's an 18-character ID starting with `0Xx`.)"
35
+
36
+ If the user does not provide one:
37
+
38
+ - Explain that the conversation client **requires** an agent ID and will not function without it.
39
+ - Direct them to **Setup → Agents** in their org.
40
+ - Do **not** proceed to generate the embed code until an agent ID is provided.
41
+
42
+ ## 2. Install the package
43
+
44
+ ```bash
45
+ npm install @salesforce/webapp-template-feature-react-agentforce-conversation-client-experimental
46
+ ```
47
+
48
+ This single install also brings in `@salesforce/agentforce-conversation-client` (the underlying SDK) automatically.
49
+
50
+ ## 3. Use the shared wrapper
51
+
52
+ Use the `AgentforceConversationClient` React component. It resolves auth automatically:
53
+
54
+ - **Dev (localhost)**: fetches `frontdoorUrl` from `/__lo/frontdoor`
55
+ - **Prod (hosted in org)**: uses `salesforceOrigin` from `window.location.origin`
56
+
57
+ ## 4. Embed in the layout
58
+
59
+ Render `<AgentforceConversationClient />` in the app layout so the chat client loads globally. Keep it alongside the existing layout (do not replace the page shell). **Always pass `agentId`.**
60
+
61
+ ```tsx
62
+ import { Outlet } from "react-router";
63
+ import { AgentforceConversationClient } from "@salesforce/webapp-template-feature-react-agentforce-conversation-client-experimental";
64
+
65
+ export default function AppLayout() {
66
+ return (
67
+ <>
68
+ <Outlet />
69
+ <AgentforceConversationClient
70
+ agentforceClientConfig={{
71
+ agentId: "0Xx000000000000AAA",
72
+ }}
73
+ />
74
+ </>
75
+ );
76
+ }
77
+ ```
78
+
79
+ Replace `"0Xx000000000000AAA"` with the agent ID provided by the user.
80
+
81
+ ## 5. Configure rendering and theming (optional)
82
+
83
+ Pass additional options via the `agentforceClientConfig` prop:
84
+
85
+ | Option | Purpose | Required |
86
+ | ---------------------------------- | ---------------------------------------------------------- | -------- |
87
+ | `agentId` | The agent to load — **required, will not work without it** | **Yes** |
88
+ | `renderingConfig.mode` | `"floating"` (default) or `"inline"` | No |
89
+ | `renderingConfig.width` / `height` | Inline dimensions (number for px, string for CSS) | No |
90
+ | `styleTokens` | Theme colors and style overrides | No |
91
+
92
+ See [embed-examples.md](docs/embed-examples.md) for complete examples of each mode.
93
+
94
+ ## 6. Validate prerequisites
95
+
96
+ Before the conversation client will work, the user must verify all of the following in their Salesforce org:
97
+
98
+ 1. **Agent is active:** The org must have the agent referenced by `agentId` in an **Active** state and deployed to the correct channel (**Setup → Agents**).
99
+ 2. **Trusted domains:** The org must allow `localhost:<PORT>` in **Trusted Domains for Inline Frames** (**Setup → Session Settings → Trusted Domains for Inline Frames**). Required for local development.
100
+ 3. **First-party cookies disabled:** **"Require first party use of Salesforce cookies"** must be **unchecked/disabled** in **Setup → My Domain**. If this setting is enabled, the embedded conversation client will fail to authenticate and will not load.
101
+
102
+ ## Quick reference: rendering modes
103
+
104
+ ### Floating (default rendering mode)
105
+
106
+ A persistent chat widget overlay pinned to the bottom-right corner. Floating is the default rendering mode — but `agentId` is still required.
107
+
108
+ ```tsx
109
+ <AgentforceConversationClient
110
+ agentforceClientConfig={{
111
+ agentId: "0Xx000000000000AAA",
112
+ }}
113
+ />
114
+ ```
115
+
116
+ ### Inline
117
+
118
+ The chat renders within the page layout at a specific size.
119
+
120
+ ```tsx
121
+ <AgentforceConversationClient
122
+ agentforceClientConfig={{
123
+ agentId: "0Xx000000000000AAA",
124
+ renderingConfig: { mode: "inline", width: 420, height: 600 },
125
+ }}
126
+ />
127
+ ```
128
+
129
+ ### Theming
130
+
131
+ Use `styleTokens` to customize the chat appearance.
132
+
133
+ ```tsx
134
+ <AgentforceConversationClient
135
+ agentforceClientConfig={{
136
+ agentId: "0Xx000000000000AAA",
137
+ styleTokens: {
138
+ headerBlockBackground: "#0176d3",
139
+ headerBlockTextColor: "#ffffff",
140
+ messageBlockInboundColor: "#0176d3",
141
+ },
142
+ }}
143
+ />
144
+ ```
145
+
146
+ ## Troubleshooting
147
+
148
+ If the chat widget does not appear, fails to authenticate, or behaves unexpectedly, see [troubleshooting.md](docs/troubleshooting.md).
@@ -2,16 +2,22 @@
2
2
 
3
3
  Detailed examples for configuring the Agentforce Conversation Client. All examples use the `AgentforceConversationClient` React component; the underlying `embedAgentforceClient` API accepts the same `agentforceClientConfig` shape.
4
4
 
5
+ > **Important:** Every example requires an `agentId`. The component will not render without one. There is no default agent. Replace `"0Xx000000000000AAA"` in every example with the user's actual agent ID.
6
+
5
7
  ---
6
8
 
7
- ## Floating mode (default)
9
+ ## Floating mode (default rendering mode)
8
10
 
9
- A floating chat widget appears in the bottom-right corner. It starts minimized and expands when the user clicks it. This is the default — no `renderingConfig` is required.
11
+ A floating chat widget appears in the bottom-right corner. It starts minimized and expands when the user clicks it. Floating is the default rendering mode — no `renderingConfig` is needed — but `agentId` is always required.
10
12
 
11
- ### Minimal (no config)
13
+ ### Minimal
12
14
 
13
15
  ```tsx
14
- <AgentforceConversationClient />
16
+ <AgentforceConversationClient
17
+ agentforceClientConfig={{
18
+ agentId: "0Xx000000000000AAA",
19
+ }}
20
+ />
15
21
  ```
16
22
 
17
23
  ### Explicit floating
@@ -19,18 +25,19 @@ A floating chat widget appears in the bottom-right corner. It starts minimized a
19
25
  ```tsx
20
26
  <AgentforceConversationClient
21
27
  agentforceClientConfig={{
28
+ agentId: "0Xx000000000000AAA",
22
29
  renderingConfig: { mode: "floating" },
23
30
  }}
24
31
  />
25
32
  ```
26
33
 
27
- ### Floating with a specific agent and theme
34
+ ### Floating with theming
28
35
 
29
36
  ```tsx
30
37
  <AgentforceConversationClient
31
38
  agentforceClientConfig={{
39
+ agentId: "0Xx000000000000AAA",
32
40
  renderingConfig: { mode: "floating" },
33
- agentId: "0Xx000000000000",
34
41
  styleTokens: {
35
42
  headerBlockBackground: "#032D60",
36
43
  headerBlockTextColor: "#ffffff",
@@ -50,6 +57,7 @@ The chat renders inside the parent container at a specific size. Use this when t
50
57
  ```tsx
51
58
  <AgentforceConversationClient
52
59
  agentforceClientConfig={{
60
+ agentId: "0Xx000000000000AAA",
53
61
  renderingConfig: { mode: "inline", width: 420, height: 600 },
54
62
  }}
55
63
  />
@@ -60,6 +68,7 @@ The chat renders inside the parent container at a specific size. Use this when t
60
68
  ```tsx
61
69
  <AgentforceConversationClient
62
70
  agentforceClientConfig={{
71
+ agentId: "0Xx000000000000AAA",
63
72
  renderingConfig: { mode: "inline", width: "100%", height: "80vh" },
64
73
  }}
65
74
  />
@@ -73,6 +82,7 @@ The chat renders inside the parent container at a specific size. Use this when t
73
82
  <aside style={{ width: 400 }}>
74
83
  <AgentforceConversationClient
75
84
  agentforceClientConfig={{
85
+ agentId: "0Xx000000000000AAA",
76
86
  renderingConfig: { mode: "inline", width: "100%", height: "100%" },
77
87
  }}
78
88
  />
@@ -91,6 +101,7 @@ Use `styleTokens` to customize colors. Tokens are passed directly to the Agentfo
91
101
  ```tsx
92
102
  <AgentforceConversationClient
93
103
  agentforceClientConfig={{
104
+ agentId: "0Xx000000000000AAA",
94
105
  styleTokens: {
95
106
  headerBlockBackground: "#0176d3",
96
107
  headerBlockTextColor: "#ffffff",
@@ -104,6 +115,7 @@ Use `styleTokens` to customize colors. Tokens are passed directly to the Agentfo
104
115
  ```tsx
105
116
  <AgentforceConversationClient
106
117
  agentforceClientConfig={{
118
+ agentId: "0Xx000000000000AAA",
107
119
  styleTokens: {
108
120
  headerBlockBackground: "#0176d3",
109
121
  headerBlockTextColor: "#ffffff",
@@ -118,6 +130,7 @@ Use `styleTokens` to customize colors. Tokens are passed directly to the Agentfo
118
130
  ```tsx
119
131
  <AgentforceConversationClient
120
132
  agentforceClientConfig={{
133
+ agentId: "0Xx000000000000AAA",
121
134
  styleTokens: {
122
135
  headerBlockBackground: "#1a1a2e",
123
136
  headerBlockTextColor: "#e0e0e0",
@@ -129,40 +142,37 @@ Use `styleTokens` to customize colors. Tokens are passed directly to the Agentfo
129
142
 
130
143
  ---
131
144
 
132
- ## Agent selection
133
-
134
- Use `agentId` to load a specific agent from the org. If omitted, the org's default employee agent is used.
135
-
136
- ### Specific agent by ID
137
-
138
- ```tsx
139
- <AgentforceConversationClient
140
- agentforceClientConfig={{
141
- agentId: "0Xx000000000000",
142
- }}
143
- />
144
- ```
145
+ ## Full layout example
145
146
 
146
- ### Agent with inline mode and theming
147
+ Shows the recommended pattern: agent ID passed directly, single render in the app layout.
147
148
 
148
149
  ```tsx
149
- <AgentforceConversationClient
150
- agentforceClientConfig={{
151
- agentId: "0Xx000000000000",
152
- renderingConfig: { mode: "inline", width: 400, height: 700 },
153
- styleTokens: {
154
- headerBlockBackground: "#0176d3",
155
- headerBlockTextColor: "#ffffff",
156
- },
157
- }}
158
- />
150
+ import { Outlet } from "react-router";
151
+ import { AgentforceConversationClient } from "@salesforce/webapp-template-feature-react-agentforce-conversation-client-experimental";
152
+
153
+ export default function AppLayout() {
154
+ return (
155
+ <>
156
+ <Outlet />
157
+ <AgentforceConversationClient
158
+ agentforceClientConfig={{
159
+ agentId: "0Xx000000000000AAA",
160
+ styleTokens: {
161
+ headerBlockBackground: "#0176d3",
162
+ headerBlockTextColor: "#ffffff",
163
+ },
164
+ }}
165
+ />
166
+ </>
167
+ );
168
+ }
159
169
  ```
160
170
 
161
171
  ---
162
172
 
163
173
  ## Using the low-level `embedAgentforceClient` API
164
174
 
165
- The React component wraps `embedAgentforceClient`. If you need the raw API (e.g. in a non-React context), the config shape is the same:
175
+ The React component wraps `embedAgentforceClient`. If you need the raw API (e.g. in a non-React context), the config shape is the same — `agentId` is still required:
166
176
 
167
177
  ```ts
168
178
  import { embedAgentforceClient } from "@salesforce/agentforce-conversation-client";
@@ -171,7 +181,7 @@ const { loApp, chatClientComponent } = embedAgentforceClient({
171
181
  container: "#agentforce-container",
172
182
  salesforceOrigin: "https://myorg.my.salesforce.com",
173
183
  agentforceClientConfig: {
174
- agentId: "0Xx000000000000",
184
+ agentId: "0Xx000000000000AAA",
175
185
  renderingConfig: { mode: "floating" },
176
186
  styleTokens: {
177
187
  headerBlockBackground: "#0176d3",
@@ -0,0 +1,51 @@
1
+ # Troubleshooting
2
+
3
+ Common issues when using the Agentforce Conversation Client.
4
+
5
+ ---
6
+
7
+ ### Chat widget does not appear
8
+
9
+ **Cause:** Missing or invalid `agentId`. The component will not render anything without a valid agent ID.
10
+
11
+ **Solution:**
12
+
13
+ 1. Verify `agentId` is passed in `agentforceClientConfig` — it is required
14
+ 2. Confirm the ID is correct (18-character Salesforce record ID, starts with `0Xx`)
15
+ 3. Check that the agent exists and is **Active** in **Setup → Agents**
16
+
17
+ ### Chat loads but shows "agent not available"
18
+
19
+ **Cause:** The agent exists but is not deployed or is inactive.
20
+
21
+ **Solution:**
22
+
23
+ 1. In **Setup → Agents**, ensure the agent status is **Active**
24
+ 2. Verify the agent is deployed to the correct channel
25
+
26
+ ### Authentication error on localhost
27
+
28
+ **Cause:** `localhost:<PORT>` is not in the org's trusted domains for inline frames.
29
+
30
+ **Solution:**
31
+
32
+ 1. Go to **Setup → Session Settings → Trusted Domains for Inline Frames**
33
+ 2. Add `localhost:<PORT>` (e.g. `localhost:3000`)
34
+ 3. Restart the dev server
35
+
36
+ ### Chat fails to authenticate / blank iframe
37
+
38
+ **Cause:** "Require first party use of Salesforce cookies" is enabled in the org's session settings. This blocks the embedded client from establishing a session.
39
+
40
+ **Solution:**
41
+
42
+ 1. Go to **Setup → Session Settings**
43
+ 2. Find **"Require first party use of Salesforce cookies"**
44
+ 3. **Uncheck / disable** this setting
45
+ 4. Save and reload the app
46
+
47
+ ### Multiple chat widgets appear
48
+
49
+ **Cause:** `AgentforceConversationClient` is rendered in multiple places.
50
+
51
+ **Solution:** Render it once in the app layout, not on individual pages. The component uses a singleton pattern — only one instance should exist per window.
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: webapp-csp-trusted-sites
3
+ description: Creates Salesforce CSP Trusted Site metadata when adding external domains. Use when the user adds an external API, CDN, image host, font provider, map tile server, or any third-party URL that the web application needs to load resources from — or when a browser console shows a CSP violation error.
4
+ ---
5
+
6
+ # CSP Trusted Sites
7
+
8
+ ## When to Use
9
+
10
+ Use this skill whenever the application references a new external domain that is not already registered as a CSP Trusted Site. This includes:
11
+
12
+ - Adding images from a new CDN (Unsplash, Pexels, Cloudinary, etc.)
13
+ - Loading fonts from an external provider (Google Fonts, Adobe Fonts)
14
+ - Calling a third-party API (Open-Meteo, Nominatim, Mapbox, etc.)
15
+ - Loading map tiles from a tile server (OpenStreetMap, Mapbox)
16
+ - Embedding iframes from external services (YouTube, Vimeo)
17
+ - Loading external stylesheets or scripts
18
+
19
+ Salesforce enforces Content Security Policy (CSP) headers on all web applications. Any external domain not registered as a CSP Trusted Site will be blocked by the browser, causing images to not load, API calls to fail, or fonts to be missing.
20
+
21
+ **Reference:** [Salesforce CspTrustedSite Object Reference](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_csptrustedsite.htm)
22
+
23
+ ---
24
+
25
+ ## Step 1 — Identify external domains
26
+
27
+ Scan the code for any URLs pointing to external domains. Common patterns:
28
+
29
+ - `fetch("https://api.example.com/...")` — API calls
30
+ - `<img src="https://images.example.com/..." />` — images
31
+ - `<link href="https://fonts.example.com/..." />` — stylesheets
32
+ - `url="https://tiles.example.com/{z}/{x}/{y}.png"` — map tiles
33
+ - `@import url("https://cdn.example.com/...")` — CSS imports
34
+
35
+ Extract the **origin** (scheme + host) from each URL. For example:
36
+ - `https://api.open-meteo.com/v1/forecast?lat=...` → `https://api.open-meteo.com`
37
+ - `https://images.unsplash.com/photo-123?w=800` → `https://images.unsplash.com`
38
+
39
+ ---
40
+
41
+ ## Step 2 — Check existing CSP Trusted Sites
42
+
43
+ Before creating a new file, check if the domain already has a CSP Trusted Site:
44
+
45
+ ```bash
46
+ ls force-app/main/default/cspTrustedSites/
47
+ ```
48
+
49
+ If the domain is already registered, no action is needed.
50
+
51
+ ---
52
+
53
+ ## Step 3 — Determine the CSP directive(s)
54
+
55
+ Map the resource type to the correct CSP `isApplicableTo*Src` fields. Read `implementation/metadata-format.md` for the full reference.
56
+
57
+ Quick reference:
58
+
59
+ | Resource type | CSP directive field(s) to set `true` |
60
+ |--------------|--------------------------------------|
61
+ | Images (img, background-image) | `isApplicableToImgSrc` |
62
+ | API calls (fetch, XMLHttpRequest) | `isApplicableToConnectSrc` |
63
+ | Fonts (.woff, .woff2, .ttf) | `isApplicableToFontSrc` |
64
+ | Stylesheets (CSS) | `isApplicableToStyleSrc` |
65
+ | Video / audio | `isApplicableToMediaSrc` |
66
+ | Iframes | `isApplicableToFrameSrc` |
67
+
68
+ **Always also set `isApplicableToConnectSrc` to `true`** — most resources also require connect-src for preflight/redirect handling.
69
+
70
+ ---
71
+
72
+ ## Step 4 — Create the metadata file
73
+
74
+ Read `implementation/metadata-format.md` and follow the instructions to create the `.cspTrustedSite-meta.xml` file.
75
+
76
+ ---
77
+
78
+ ## Step 5 — Verify
79
+
80
+ 1. Confirm the file is valid XML and matches the expected schema.
81
+ 2. Confirm the file is placed in `force-app/main/default/cspTrustedSites/`.
82
+ 3. Confirm only the necessary `isApplicableTo*Src` fields are set to `true`.
83
+ 4. Run from the web app directory:
84
+
85
+ ```bash
86
+ cd force-app/main/default/webapplications/<appName> && npm run lint && npm run build
87
+ ```
88
+
89
+ - **Lint:** MUST result in 0 errors.
90
+ - **Build:** MUST succeed.