@salesforce/templates 66.5.5 → 66.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (564) hide show
  1. package/lib/generators/projectGenerator.d.ts +1 -1
  2. package/lib/generators/projectGenerator.js +3 -3
  3. package/lib/generators/projectGenerator.js.map +1 -1
  4. package/lib/templates/project/.forceignore +3 -1
  5. package/lib/templates/project/{reactb2e → reactexternalapp}/AGENT.md +8 -2
  6. package/lib/templates/project/{reactb2e → reactexternalapp}/CHANGELOG.md +460 -0
  7. package/lib/templates/project/{reactb2x → reactexternalapp}/README.md +14 -14
  8. package/lib/templates/project/{reactb2x/_p_/_m_/_d_/_s_/_a1_/appreacttemplateb2x1.digitalExperience-meta.xml → reactexternalapp/_p_/_m_/_d_/_s_/_a1_/reactexternalapp1.digitalExperience-meta.xml} +1 -1
  9. package/lib/templates/project/{reactb2x/_p_/_m_/_d_/_s_/_a1_/sfdc_cms__site/appreacttemplateb2x1 → reactexternalapp/_p_/_m_/_d_/_s_/_a1_/sfdc_cms__site/reactexternalapp1}/_meta.json +1 -1
  10. package/lib/templates/project/{reactb2x/_p_/_m_/_d_/_s_/_a1_/sfdc_cms__site/appreacttemplateb2x1 → reactexternalapp/_p_/_m_/_d_/_s_/_a1_/sfdc_cms__site/reactexternalapp1}/content.json +3 -3
  11. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/README.md +2 -2
  12. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/codegen.yml +1 -0
  13. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/eslint.config.js +44 -27
  14. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/index.html +0 -1
  15. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/package.json +8 -11
  16. package/lib/templates/project/{reactb2e/_p_/_m_/_w_/_a_/appreacttemplateb2e.webapplication-meta.xml → reactexternalapp/_p_/_m_/_w_/_a_/reactexternalapp.webapplication-meta.xml} +1 -1
  17. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/accountSearchService.ts +46 -0
  18. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/distinctAccountIndustries.graphql +19 -0
  19. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/distinctAccountTypes.graphql +19 -0
  20. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/getAccountDetail.graphql +121 -0
  21. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/searchAccounts.graphql +51 -0
  22. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/pages/AccountObjectDetailPage.tsx +357 -0
  23. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/pages/AccountSearch.tsx +303 -0
  24. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/pages/Home.tsx +34 -0
  25. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/api/objectSearchService.ts +84 -0
  26. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/ActiveFilters.tsx +89 -0
  27. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/FilterContext.tsx +73 -0
  28. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/ObjectBreadcrumb.tsx +66 -0
  29. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/PaginationControls.tsx +109 -0
  30. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/SearchBar.tsx +41 -0
  31. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/SortControl.tsx +143 -0
  32. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/BooleanFilter.tsx +74 -0
  33. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/DateFilter.tsx +121 -0
  34. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/DateRangeFilter.tsx +69 -0
  35. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/MultiSelectFilter.tsx +98 -0
  36. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/NumericRangeFilter.tsx +85 -0
  37. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/SearchFilter.tsx +37 -0
  38. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/SelectFilter.tsx +93 -0
  39. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/TextFilter.tsx +74 -0
  40. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/hooks/useAsyncData.ts +54 -0
  41. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/hooks/useCachedAsyncData.ts +184 -0
  42. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/hooks/useObjectSearchParams.ts +247 -0
  43. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/debounce.ts +22 -0
  44. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/fieldUtils.ts +29 -0
  45. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/filterUtils.ts +372 -0
  46. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/sortUtils.ts +38 -0
  47. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/api/userProfileApi.ts +13 -13
  48. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/layouts/privateRouteLayout.tsx +10 -2
  49. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/pages/ChangePassword.tsx +2 -2
  50. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/pages/ForgotPassword.tsx +2 -2
  51. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/pages/Login.tsx +2 -2
  52. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/pages/Profile.tsx +26 -4
  53. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/pages/Register.tsx +2 -2
  54. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/pages/ResetPassword.tsx +2 -2
  55. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/sessionTimeout/SessionTimeoutValidator.tsx +8 -16
  56. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/sessionTimeout/sessionTimeService.ts +30 -42
  57. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/api/graphql-operations-types.ts +11260 -0
  58. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/api/graphqlClient.ts +25 -0
  59. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/app.tsx +3 -1
  60. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/badge.tsx +48 -0
  61. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/breadcrumb.tsx +109 -0
  62. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/calendar.tsx +232 -0
  63. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/checkbox.tsx +32 -0
  64. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/collapsible.tsx +33 -0
  65. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/datePicker.tsx +127 -0
  66. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/popover.tsx +89 -0
  67. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/components/ui/sonner.tsx +20 -0
  68. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/pages/Home.tsx +12 -0
  69. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/routes.tsx +9 -21
  70. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/tsconfig.json +7 -1
  71. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/vite.config.ts +17 -13
  72. package/lib/templates/project/{reactb2x/_p_/_m_/digitalExperienceConfigs/appreacttemplateb2x1.digitalExperienceConfig → reactexternalapp/_p_/_m_/digitalExperienceConfigs/reactexternalapp1.digitalExperienceConfig} +3 -3
  73. package/lib/templates/project/{reactb2x/_p_/_m_/networks/appreacttemplateb2x.network → reactexternalapp/_p_/_m_/networks/reactexternalapp.network} +5 -5
  74. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/package.xml +4 -4
  75. package/lib/templates/project/{reactb2x/_p_/_m_/sites/appreacttemplateb2x.site → reactexternalapp/_p_/_m_/sites/reactexternalapp.site} +2 -2
  76. package/lib/templates/project/reactexternalapp/_r_/webapp-data.md +353 -0
  77. package/lib/templates/project/reactexternalapp/_r_/webapp-ui.md +16 -0
  78. package/lib/templates/project/reactexternalapp/eslint.config.js +7 -0
  79. package/lib/templates/project/reactexternalapp/package-lock.json +9995 -0
  80. package/lib/templates/project/{reactb2x → reactexternalapp}/package.json +12 -11
  81. package/lib/templates/project/reactexternalapp/scripts/graphql-search.sh +191 -0
  82. package/lib/templates/project/{reactb2x → reactexternalapp}/scripts/setup-cli.mjs +61 -31
  83. package/lib/templates/project/reactexternalapp/scripts/sf-project-setup.mjs +66 -0
  84. package/lib/templates/project/reactinternalapp/.forceignore +15 -0
  85. package/lib/templates/project/{reactb2x → reactinternalapp}/AGENT.md +8 -2
  86. package/lib/templates/project/{reactb2x → reactinternalapp}/CHANGELOG.md +460 -0
  87. package/lib/templates/project/{reactb2e → reactinternalapp}/README.md +9 -9
  88. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/.forceignore +15 -0
  89. package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/README.md +2 -2
  90. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/codegen.yml +1 -0
  91. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/eslint.config.js +44 -27
  92. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/index.html +0 -1
  93. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/package.json +7 -11
  94. package/lib/templates/project/{reactb2x/_p_/_m_/_w_/_a_/appreacttemplateb2x.webapplication-meta.xml → reactinternalapp/_p_/_m_/_w_/_a_/reactinternalapp.webapplication-meta.xml} +1 -1
  95. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/accountSearchService.ts +46 -0
  96. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/distinctAccountIndustries.graphql +19 -0
  97. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/distinctAccountTypes.graphql +19 -0
  98. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/getAccountDetail.graphql +121 -0
  99. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/api/query/searchAccounts.graphql +51 -0
  100. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/pages/AccountObjectDetailPage.tsx +357 -0
  101. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/pages/AccountSearch.tsx +303 -0
  102. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/_ex_/pages/Home.tsx +34 -0
  103. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/api/objectSearchService.ts +84 -0
  104. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/ActiveFilters.tsx +89 -0
  105. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/FilterContext.tsx +73 -0
  106. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/ObjectBreadcrumb.tsx +66 -0
  107. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/PaginationControls.tsx +109 -0
  108. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/SearchBar.tsx +41 -0
  109. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/SortControl.tsx +143 -0
  110. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/BooleanFilter.tsx +74 -0
  111. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/DateFilter.tsx +121 -0
  112. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/DateRangeFilter.tsx +69 -0
  113. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/MultiSelectFilter.tsx +98 -0
  114. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/NumericRangeFilter.tsx +85 -0
  115. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/SearchFilter.tsx +37 -0
  116. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/SelectFilter.tsx +93 -0
  117. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/components/filters/TextFilter.tsx +74 -0
  118. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/hooks/useAsyncData.ts +54 -0
  119. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/hooks/useCachedAsyncData.ts +184 -0
  120. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/hooks/useObjectSearchParams.ts +247 -0
  121. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/debounce.ts +22 -0
  122. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/fieldUtils.ts +29 -0
  123. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/filterUtils.ts +372 -0
  124. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/_os_/utils/sortUtils.ts +38 -0
  125. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/api/graphql-operations-types.ts +11260 -0
  126. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/api/graphqlClient.ts +25 -0
  127. package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/src/app.tsx +4 -1
  128. package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/src/appLayout.tsx +1 -1
  129. package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/AgentforceConversationClient.tsx +33 -5
  130. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/badge.tsx +48 -0
  131. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/breadcrumb.tsx +109 -0
  132. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/calendar.tsx +232 -0
  133. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/checkbox.tsx +32 -0
  134. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/collapsible.tsx +33 -0
  135. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/datePicker.tsx +127 -0
  136. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/popover.tsx +89 -0
  137. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/components/ui/sonner.tsx +20 -0
  138. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/index.ts +6 -0
  139. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/pages/Home.tsx +12 -0
  140. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/routes.tsx +21 -0
  141. package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/src/types/conversation.ts +14 -4
  142. package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/tsconfig.json +7 -1
  143. package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/vite.config.ts +17 -13
  144. package/lib/templates/project/reactinternalapp/_r_/webapp-data.md +353 -0
  145. package/lib/templates/project/reactinternalapp/_r_/webapp-ui.md +16 -0
  146. package/lib/templates/project/reactinternalapp/eslint.config.js +7 -0
  147. package/lib/templates/project/reactinternalapp/package-lock.json +9995 -0
  148. package/lib/templates/project/{reactb2e → reactinternalapp}/package.json +12 -11
  149. package/lib/templates/project/reactinternalapp/scripts/graphql-search.sh +191 -0
  150. package/lib/templates/project/{reactb2e → reactinternalapp}/scripts/setup-cli.mjs +61 -31
  151. package/lib/templates/project/reactinternalapp/scripts/sf-project-setup.mjs +66 -0
  152. package/lib/templates/webapplication/reactbasic/.forceignore +15 -0
  153. package/lib/templates/webapplication/reactbasic/codegen.yml +1 -0
  154. package/lib/templates/webapplication/reactbasic/eslint.config.js +44 -27
  155. package/lib/templates/webapplication/reactbasic/index.html +0 -1
  156. package/lib/templates/webapplication/reactbasic/package.json +6 -3
  157. package/lib/templates/webapplication/reactbasic/src/api/graphqlClient.ts +25 -0
  158. package/lib/templates/webapplication/reactbasic/src/app.tsx +4 -1
  159. package/lib/templates/webapplication/reactbasic/src/components/alerts/status-alert.tsx +1 -1
  160. package/lib/templates/webapplication/reactbasic/src/components/ui/badge.tsx +48 -0
  161. package/lib/templates/webapplication/reactbasic/src/components/ui/breadcrumb.tsx +109 -0
  162. package/lib/templates/webapplication/reactbasic/src/components/ui/calendar.tsx +232 -0
  163. package/lib/templates/webapplication/reactbasic/src/components/ui/checkbox.tsx +32 -0
  164. package/lib/templates/webapplication/reactbasic/src/components/ui/collapsible.tsx +33 -0
  165. package/lib/templates/webapplication/reactbasic/src/components/ui/datePicker.tsx +127 -0
  166. package/lib/templates/webapplication/reactbasic/src/components/ui/popover.tsx +89 -0
  167. package/lib/templates/webapplication/reactbasic/src/components/ui/sonner.tsx +20 -0
  168. package/lib/templates/webapplication/reactbasic/tsconfig.json +7 -1
  169. package/lib/templates/webapplication/reactbasic/vite.config.ts +17 -13
  170. package/lib/utils/template-placeholders.js +15 -1
  171. package/lib/utils/template-placeholders.js.map +1 -1
  172. package/lib/utils/types.d.ts +1 -1
  173. package/lib/utils/webappTemplateUtils.d.ts +8 -4
  174. package/lib/utils/webappTemplateUtils.js +20 -11
  175. package/lib/utils/webappTemplateUtils.js.map +1 -1
  176. package/package.json +5 -5
  177. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailFields.tsx +0 -55
  178. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailForm.tsx +0 -146
  179. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailHeader.tsx +0 -34
  180. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailLayoutSections.tsx +0 -80
  181. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/Section.tsx +0 -108
  182. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/SectionRow.tsx +0 -20
  183. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/UiApiDetailForm.tsx +0 -140
  184. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FieldValueDisplay.tsx +0 -73
  185. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedAddress.tsx +0 -29
  186. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedEmail.tsx +0 -17
  187. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedPhone.tsx +0 -24
  188. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedText.tsx +0 -11
  189. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedUrl.tsx +0 -29
  190. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FilterField.tsx +0 -54
  191. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FilterInput.tsx +0 -55
  192. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FilterSelect.tsx +0 -72
  193. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FiltersPanel.tsx +0 -380
  194. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/forms/filters-form.tsx +0 -114
  195. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/forms/submit-button.tsx +0 -47
  196. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/GlobalSearchInput.tsx +0 -114
  197. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/ResultCardFields.tsx +0 -71
  198. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchHeader.tsx +0 -31
  199. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchPagination.tsx +0 -144
  200. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchResultCard.tsx +0 -136
  201. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchResultsPanel.tsx +0 -197
  202. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/shared/LoadingFallback.tsx +0 -61
  203. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectDetailService.ts +0 -102
  204. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectInfoGraphQLService.ts +0 -137
  205. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectInfoService.ts +0 -95
  206. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/recordListGraphQLService.ts +0 -364
  207. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/constants.ts +0 -39
  208. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/filters/FilterInput.tsx +0 -55
  209. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/filters/FilterSelect.tsx +0 -72
  210. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/form.tsx +0 -209
  211. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useObjectInfoBatch.ts +0 -65
  212. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useObjectSearchData.ts +0 -174
  213. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useRecordDetailLayout.ts +0 -137
  214. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useRecordListGraphQL.ts +0 -135
  215. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/pages/DetailPage.tsx +0 -109
  216. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/pages/GlobalSearch.tsx +0 -229
  217. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/filters/filters.ts +0 -121
  218. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/filters/picklist.ts +0 -6
  219. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/objectInfo/objectInfo.ts +0 -49
  220. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/recordDetail/recordDetail.ts +0 -61
  221. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/schema.d.ts +0 -200
  222. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/search/searchResults.ts +0 -229
  223. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/apiUtils.ts +0 -59
  224. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/cacheUtils.ts +0 -76
  225. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/debounce.ts +0 -89
  226. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/fieldUtils.ts +0 -354
  227. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/fieldValueExtractor.ts +0 -67
  228. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/filterUtils.ts +0 -32
  229. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/formDataTransformUtils.ts +0 -260
  230. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/formUtils.ts +0 -142
  231. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLNodeFieldUtils.ts +0 -186
  232. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLObjectInfoAdapter.ts +0 -77
  233. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLRecordAdapter.ts +0 -90
  234. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/layoutTransformUtils.ts +0 -236
  235. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/linkUtils.ts +0 -14
  236. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/paginationUtils.ts +0 -49
  237. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/recordUtils.ts +0 -159
  238. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/sanitizationUtils.ts +0 -49
  239. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/index.ts +0 -120
  240. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/pages/Home.tsx +0 -13
  241. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/pages/TestAccPage.tsx +0 -19
  242. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/src/routes.tsx +0 -50
  243. package/lib/templates/project/reactb2e/_p_/_m_/_w_/_a_/tsconfig.tsbuildinfo +0 -1
  244. package/lib/templates/project/reactb2e/_r_/features/feature-graphql-graphql-data-access-rule.md +0 -470
  245. package/lib/templates/project/reactb2e/_r_/features/feature-react-agentforce-conversation-client-embedded-agent-rule.md +0 -18
  246. package/lib/templates/project/reactb2e/_r_/features/feature-react-chart-analytics-charts-rule.md +0 -27
  247. package/lib/templates/project/reactb2e/_r_/skills/_k_/SKILL.md +0 -148
  248. package/lib/templates/project/reactb2e/_r_/skills/_k_/docs/embed-examples.md +0 -192
  249. package/lib/templates/project/reactb2e/_r_/skills/_k_/docs/troubleshooting.md +0 -51
  250. package/lib/templates/project/reactb2e/_r_/skills/feature-graphql-graphql-data-access/SKILL.md +0 -155
  251. package/lib/templates/project/reactb2e/_r_/skills/feature-graphql-graphql-data-access/docs/explore-schema.md +0 -256
  252. package/lib/templates/project/reactb2e/_r_/skills/feature-graphql-graphql-data-access/docs/generate-mutation-query.md +0 -228
  253. package/lib/templates/project/reactb2e/_r_/skills/feature-graphql-graphql-data-access/docs/generate-read-query.md +0 -202
  254. package/lib/templates/project/reactb2e/_r_/skills/feature-graphql-graphql-data-access/docs/shared-schema.graphqls +0 -1150
  255. package/lib/templates/project/reactb2e/_r_/skills/feature-micro-frontend-micro-frontend/SKILL.md +0 -137
  256. package/lib/templates/project/reactb2e/_r_/skills/feature-react-chart-analytics-charts/SKILL.md +0 -41
  257. package/lib/templates/project/reactb2e/_r_/skills/feature-react-chart-analytics-charts/docs/schema-mapping.md +0 -4
  258. package/lib/templates/project/reactb2e/_r_/skills/feature-react-file-upload-file-upload/SKILL.md +0 -396
  259. package/lib/templates/project/reactb2e/_r_/skills/webapp-csp-trusted-sites/SKILL.md +0 -90
  260. package/lib/templates/project/reactb2e/_r_/skills/webapp-csp-trusted-sites/implementation/metadata-format.md +0 -281
  261. package/lib/templates/project/reactb2e/_r_/skills/webapp-features/SKILL.md +0 -210
  262. package/lib/templates/project/reactb2e/_r_/skills/webapp-react/SKILL.md +0 -80
  263. package/lib/templates/project/reactb2e/_r_/skills/webapp-react/implementation/component.md +0 -78
  264. package/lib/templates/project/reactb2e/_r_/skills/webapp-react/implementation/header-footer.md +0 -132
  265. package/lib/templates/project/reactb2e/_r_/skills/webapp-react/implementation/page.md +0 -93
  266. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-data-visualization/SKILL.md +0 -72
  267. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-data-visualization/implementation/dashboard-layout.md +0 -189
  268. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-data-visualization/implementation/donut-chart.md +0 -181
  269. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-data-visualization/implementation/stat-card.md +0 -150
  270. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-interactive-map/SKILL.md +0 -92
  271. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-interactive-map/implementation/geocoding.md +0 -245
  272. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-interactive-map/implementation/leaflet-map.md +0 -279
  273. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-weather-widget/SKILL.md +0 -65
  274. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-weather-widget/implementation/weather-hook.md +0 -258
  275. package/lib/templates/project/reactb2e/_r_/skills/webapp-react-weather-widget/implementation/weather-ui.md +0 -216
  276. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/SKILL.md +0 -271
  277. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/charts.csv +0 -26
  278. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/colors.csv +0 -97
  279. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/icons.csv +0 -101
  280. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/landing.csv +0 -31
  281. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/products.csv +0 -97
  282. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/react-performance.csv +0 -45
  283. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/stacks/html-tailwind.csv +0 -56
  284. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/stacks/react.csv +0 -54
  285. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/stacks/shadcn.csv +0 -61
  286. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/styles.csv +0 -68
  287. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/typography.csv +0 -58
  288. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/ui-reasoning.csv +0 -101
  289. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/ux-guidelines.csv +0 -100
  290. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/data/web-interface.csv +0 -31
  291. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/scripts/core.js +0 -255
  292. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/scripts/design_system.js +0 -861
  293. package/lib/templates/project/reactb2e/_r_/skills/webapp-ui-ux/scripts/search.js +0 -98
  294. package/lib/templates/project/reactb2e/_r_/skills/webapp-unsplash-images/SKILL.md +0 -71
  295. package/lib/templates/project/reactb2e/_r_/skills/webapp-unsplash-images/implementation/usage.md +0 -159
  296. package/lib/templates/project/reactb2e/_r_/webapp-cli-commands.md +0 -88
  297. package/lib/templates/project/reactb2e/_r_/webapp-react-code-quality.md +0 -136
  298. package/lib/templates/project/reactb2e/_r_/webapp-react-typescript.md +0 -205
  299. package/lib/templates/project/reactb2e/_r_/webapp-react.md +0 -202
  300. package/lib/templates/project/reactb2e/_r_/webapp-skills-first.md +0 -26
  301. package/lib/templates/project/reactb2e/_r_/webapp-webapplication.md +0 -159
  302. package/lib/templates/project/reactb2e/_r_/webapp.md +0 -98
  303. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailFields.tsx +0 -55
  304. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailForm.tsx +0 -146
  305. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailHeader.tsx +0 -34
  306. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/DetailLayoutSections.tsx +0 -80
  307. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/Section.tsx +0 -108
  308. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/SectionRow.tsx +0 -20
  309. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/UiApiDetailForm.tsx +0 -140
  310. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FieldValueDisplay.tsx +0 -73
  311. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedAddress.tsx +0 -29
  312. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedEmail.tsx +0 -17
  313. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedPhone.tsx +0 -24
  314. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedText.tsx +0 -11
  315. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/_det_/_fmt_/FormattedUrl.tsx +0 -29
  316. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FilterField.tsx +0 -54
  317. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FilterInput.tsx +0 -55
  318. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FilterSelect.tsx +0 -72
  319. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/filters/FiltersPanel.tsx +0 -380
  320. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/forms/filters-form.tsx +0 -114
  321. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/forms/submit-button.tsx +0 -47
  322. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/GlobalSearchInput.tsx +0 -114
  323. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/ResultCardFields.tsx +0 -71
  324. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchHeader.tsx +0 -31
  325. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchPagination.tsx +0 -144
  326. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchResultCard.tsx +0 -136
  327. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/search/SearchResultsPanel.tsx +0 -197
  328. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/_c_/shared/LoadingFallback.tsx +0 -61
  329. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectDetailService.ts +0 -102
  330. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectInfoGraphQLService.ts +0 -137
  331. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/objectInfoService.ts +0 -95
  332. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/api/recordListGraphQLService.ts +0 -364
  333. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/constants.ts +0 -39
  334. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/filters/FilterInput.tsx +0 -55
  335. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/filters/FilterSelect.tsx +0 -72
  336. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/form.tsx +0 -209
  337. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useObjectInfoBatch.ts +0 -65
  338. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useObjectSearchData.ts +0 -174
  339. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useRecordDetailLayout.ts +0 -137
  340. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/hooks/useRecordListGraphQL.ts +0 -135
  341. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/pages/DetailPage.tsx +0 -109
  342. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/pages/GlobalSearch.tsx +0 -229
  343. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/filters/filters.ts +0 -121
  344. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/filters/picklist.ts +0 -6
  345. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/objectInfo/objectInfo.ts +0 -49
  346. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/recordDetail/recordDetail.ts +0 -61
  347. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/schema.d.ts +0 -200
  348. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/types/search/searchResults.ts +0 -229
  349. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/apiUtils.ts +0 -59
  350. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/cacheUtils.ts +0 -76
  351. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/debounce.ts +0 -89
  352. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/fieldUtils.ts +0 -354
  353. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/fieldValueExtractor.ts +0 -67
  354. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/filterUtils.ts +0 -32
  355. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/formDataTransformUtils.ts +0 -260
  356. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/formUtils.ts +0 -142
  357. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLNodeFieldUtils.ts +0 -186
  358. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLObjectInfoAdapter.ts +0 -77
  359. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/graphQLRecordAdapter.ts +0 -90
  360. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/layoutTransformUtils.ts +0 -236
  361. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/linkUtils.ts +0 -14
  362. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/paginationUtils.ts +0 -49
  363. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/recordUtils.ts +0 -159
  364. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/_f_/_gs_/utils/sanitizationUtils.ts +0 -49
  365. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/index.ts +0 -120
  366. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/src/pages/Home.tsx +0 -13
  367. package/lib/templates/project/reactb2x/_p_/_m_/_w_/_a_/tsconfig.tsbuildinfo +0 -1
  368. package/lib/templates/project/reactb2x/_r_/features/feature-graphql-graphql-data-access-rule.md +0 -470
  369. package/lib/templates/project/reactb2x/_r_/features/feature-react-agentforce-conversation-client-embedded-agent-rule.md +0 -18
  370. package/lib/templates/project/reactb2x/_r_/features/feature-react-chart-analytics-charts-rule.md +0 -27
  371. package/lib/templates/project/reactb2x/_r_/skills/_k_/SKILL.md +0 -148
  372. package/lib/templates/project/reactb2x/_r_/skills/_k_/docs/embed-examples.md +0 -192
  373. package/lib/templates/project/reactb2x/_r_/skills/_k_/docs/troubleshooting.md +0 -51
  374. package/lib/templates/project/reactb2x/_r_/skills/feature-graphql-graphql-data-access/SKILL.md +0 -155
  375. package/lib/templates/project/reactb2x/_r_/skills/feature-graphql-graphql-data-access/docs/explore-schema.md +0 -256
  376. package/lib/templates/project/reactb2x/_r_/skills/feature-graphql-graphql-data-access/docs/generate-mutation-query.md +0 -228
  377. package/lib/templates/project/reactb2x/_r_/skills/feature-graphql-graphql-data-access/docs/generate-read-query.md +0 -202
  378. package/lib/templates/project/reactb2x/_r_/skills/feature-graphql-graphql-data-access/docs/shared-schema.graphqls +0 -1150
  379. package/lib/templates/project/reactb2x/_r_/skills/feature-micro-frontend-micro-frontend/SKILL.md +0 -137
  380. package/lib/templates/project/reactb2x/_r_/skills/feature-react-chart-analytics-charts/SKILL.md +0 -41
  381. package/lib/templates/project/reactb2x/_r_/skills/feature-react-chart-analytics-charts/docs/schema-mapping.md +0 -4
  382. package/lib/templates/project/reactb2x/_r_/skills/feature-react-file-upload-file-upload/SKILL.md +0 -396
  383. package/lib/templates/project/reactb2x/_r_/skills/webapp-csp-trusted-sites/SKILL.md +0 -90
  384. package/lib/templates/project/reactb2x/_r_/skills/webapp-csp-trusted-sites/implementation/metadata-format.md +0 -281
  385. package/lib/templates/project/reactb2x/_r_/skills/webapp-features/SKILL.md +0 -210
  386. package/lib/templates/project/reactb2x/_r_/skills/webapp-react/SKILL.md +0 -80
  387. package/lib/templates/project/reactb2x/_r_/skills/webapp-react/implementation/component.md +0 -78
  388. package/lib/templates/project/reactb2x/_r_/skills/webapp-react/implementation/header-footer.md +0 -132
  389. package/lib/templates/project/reactb2x/_r_/skills/webapp-react/implementation/page.md +0 -93
  390. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-data-visualization/SKILL.md +0 -72
  391. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-data-visualization/implementation/dashboard-layout.md +0 -189
  392. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-data-visualization/implementation/donut-chart.md +0 -181
  393. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-data-visualization/implementation/stat-card.md +0 -150
  394. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-interactive-map/SKILL.md +0 -92
  395. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-interactive-map/implementation/geocoding.md +0 -245
  396. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-interactive-map/implementation/leaflet-map.md +0 -279
  397. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-weather-widget/SKILL.md +0 -65
  398. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-weather-widget/implementation/weather-hook.md +0 -258
  399. package/lib/templates/project/reactb2x/_r_/skills/webapp-react-weather-widget/implementation/weather-ui.md +0 -216
  400. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/SKILL.md +0 -271
  401. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/charts.csv +0 -26
  402. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/colors.csv +0 -97
  403. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/icons.csv +0 -101
  404. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/landing.csv +0 -31
  405. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/products.csv +0 -97
  406. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/react-performance.csv +0 -45
  407. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/stacks/html-tailwind.csv +0 -56
  408. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/stacks/react.csv +0 -54
  409. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/stacks/shadcn.csv +0 -61
  410. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/styles.csv +0 -68
  411. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/typography.csv +0 -58
  412. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/ui-reasoning.csv +0 -101
  413. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/ux-guidelines.csv +0 -100
  414. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/data/web-interface.csv +0 -31
  415. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/scripts/core.js +0 -255
  416. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/scripts/design_system.js +0 -861
  417. package/lib/templates/project/reactb2x/_r_/skills/webapp-ui-ux/scripts/search.js +0 -98
  418. package/lib/templates/project/reactb2x/_r_/skills/webapp-unsplash-images/SKILL.md +0 -71
  419. package/lib/templates/project/reactb2x/_r_/skills/webapp-unsplash-images/implementation/usage.md +0 -159
  420. package/lib/templates/project/reactb2x/_r_/webapp-cli-commands.md +0 -88
  421. package/lib/templates/project/reactb2x/_r_/webapp-react-code-quality.md +0 -136
  422. package/lib/templates/project/reactb2x/_r_/webapp-react-typescript.md +0 -205
  423. package/lib/templates/project/reactb2x/_r_/webapp-react.md +0 -202
  424. package/lib/templates/project/reactb2x/_r_/webapp-skills-first.md +0 -26
  425. package/lib/templates/project/reactb2x/_r_/webapp-webapplication.md +0 -159
  426. package/lib/templates/project/reactb2x/_r_/webapp.md +0 -98
  427. package/lib/templates/project/{reactb2e → reactexternalapp}/.forceignore +0 -0
  428. package/lib/templates/project/{reactb2e → reactexternalapp}/.husky/pre-commit +0 -0
  429. package/lib/templates/project/{reactb2e → reactexternalapp}/.prettierignore +0 -0
  430. package/lib/templates/project/{reactb2e → reactexternalapp}/.prettierrc +0 -0
  431. package/lib/templates/project/{reactb2x → reactexternalapp/_p_/_m_/_w_/_a_}/.forceignore +0 -0
  432. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/.graphqlrc.yml +0 -0
  433. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/.prettierignore +0 -0
  434. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/.prettierrc +0 -0
  435. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/CHANGELOG.md +0 -0
  436. package/lib/templates/project/{reactb2e/_p_/_m_/_w_/_a_/src → reactexternalapp/_p_/_m_/_w_/_a_}/components.json +0 -0
  437. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/e2e/app.spec.ts +0 -0
  438. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/playwright.config.ts +0 -0
  439. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/scripts/get-graphql-schema.mjs +0 -0
  440. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/scripts/rewrite-e2e-assets.mjs +0 -0
  441. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/authHelpers.ts +0 -0
  442. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/authenticationConfig.ts +0 -0
  443. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/context/AuthContext.tsx +0 -0
  444. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/footers/footer-link.tsx +0 -0
  445. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/forms/auth-form.tsx +0 -0
  446. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/forms/submit-button.tsx +0 -0
  447. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/hooks/form.tsx +0 -0
  448. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/hooks/useCountdownTimer.ts +0 -0
  449. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/hooks/useRetryWithBackoff.ts +0 -0
  450. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/layout/card-skeleton.tsx +0 -0
  451. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/layout/centered-page-layout.tsx +0 -0
  452. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/layouts/AuthAppLayout.tsx +0 -0
  453. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/layouts/authenticationRouteLayout.tsx +0 -0
  454. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/sessionTimeout/sessionTimeoutConfig.ts +0 -0
  455. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/_f_/authentication/utils/helpers.ts +0 -0
  456. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/_w_/_a_/src/appLayout.tsx +0 -0
  457. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/book.svg +0 -0
  458. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/copy.svg +0 -0
  459. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/rocket.svg +0 -0
  460. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/star.svg +0 -0
  461. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/images/codey-1.png +0 -0
  462. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/images/codey-2.png +0 -0
  463. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/images/codey-3.png +0 -0
  464. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/assets/images/vibe-codey.svg +0 -0
  465. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/alerts/status-alert.tsx +1 -1
  466. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/layouts/card-layout.tsx +0 -0
  467. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/alert.tsx +0 -0
  468. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/button.tsx +0 -0
  469. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/card.tsx +0 -0
  470. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/dialog.tsx +0 -0
  471. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/field.tsx +0 -0
  472. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/index.ts +0 -0
  473. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/input.tsx +0 -0
  474. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/label.tsx +0 -0
  475. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/pagination.tsx +0 -0
  476. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/select.tsx +0 -0
  477. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/separator.tsx +0 -0
  478. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/skeleton.tsx +0 -0
  479. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/spinner.tsx +0 -0
  480. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/table.tsx +0 -0
  481. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/components/ui/tabs.tsx +0 -0
  482. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/lib/utils.ts +0 -0
  483. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/navigationMenu.tsx +0 -0
  484. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/pages/NotFound.tsx +0 -0
  485. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/router-utils.tsx +0 -0
  486. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/src/styles/global.css +0 -0
  487. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/tsconfig.node.json +0 -0
  488. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/vite-env.d.ts +0 -0
  489. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/vitest-env.d.ts +0 -0
  490. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/vitest.config.ts +0 -0
  491. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/vitest.setup.ts +0 -0
  492. package/lib/templates/project/{reactb2e → reactexternalapp}/_p_/_m_/_w_/_a_/webapplication.json +0 -0
  493. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppAuthUtils.cls +0 -0
  494. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppAuthUtils.cls-meta.xml +0 -0
  495. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppChangePassword.cls +0 -0
  496. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppChangePassword.cls-meta.xml +0 -0
  497. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppForgotPassword.cls +0 -0
  498. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppForgotPassword.cls-meta.xml +0 -0
  499. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppLogin.cls +0 -0
  500. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppLogin.cls-meta.xml +0 -0
  501. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppRegistration.cls +0 -0
  502. package/lib/templates/project/{reactb2x → reactexternalapp}/_p_/_m_/classes/WebAppRegistration.cls-meta.xml +0 -0
  503. package/lib/templates/project/{reactb2e → reactexternalapp}/config/project-scratch-def.json +0 -0
  504. package/lib/templates/project/{reactb2e → reactexternalapp}/jest.config.js +0 -0
  505. package/lib/templates/project/{reactb2e → reactexternalapp}/scripts/apex/hello.apex +0 -0
  506. package/lib/templates/project/{reactb2e → reactexternalapp}/scripts/prepare-import-unique-fields.js +0 -0
  507. package/lib/templates/project/{reactb2e → reactexternalapp}/scripts/soql/account.soql +0 -0
  508. package/lib/templates/project/{reactb2e → reactexternalapp}/sfdx-project.json +0 -0
  509. package/lib/templates/project/{reactb2x → reactinternalapp}/.husky/pre-commit +0 -0
  510. package/lib/templates/project/{reactb2x → reactinternalapp}/.prettierignore +0 -0
  511. package/lib/templates/project/{reactb2x → reactinternalapp}/.prettierrc +0 -0
  512. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/.graphqlrc.yml +0 -0
  513. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/.prettierignore +0 -0
  514. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/.prettierrc +0 -0
  515. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/CHANGELOG.md +0 -0
  516. package/lib/templates/project/{reactb2x/_p_/_m_/_w_/_a_/src → reactinternalapp/_p_/_m_/_w_/_a_}/components.json +0 -0
  517. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/e2e/app.spec.ts +0 -0
  518. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/playwright.config.ts +0 -0
  519. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/scripts/get-graphql-schema.mjs +0 -0
  520. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/scripts/rewrite-e2e-assets.mjs +0 -0
  521. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/book.svg +0 -0
  522. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/copy.svg +0 -0
  523. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/rocket.svg +0 -0
  524. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/icons/star.svg +0 -0
  525. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/images/codey-1.png +0 -0
  526. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/images/codey-2.png +0 -0
  527. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/images/codey-3.png +0 -0
  528. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/assets/images/vibe-codey.svg +0 -0
  529. package/lib/templates/project/{reactb2e → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/__inherit_AgentforceConversationClient.tsx +0 -0
  530. package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/alerts/status-alert.tsx +1 -1
  531. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/layouts/card-layout.tsx +0 -0
  532. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/alert.tsx +0 -0
  533. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/button.tsx +0 -0
  534. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/card.tsx +0 -0
  535. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/dialog.tsx +0 -0
  536. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/field.tsx +0 -0
  537. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/index.ts +0 -0
  538. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/input.tsx +0 -0
  539. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/label.tsx +0 -0
  540. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/pagination.tsx +0 -0
  541. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/select.tsx +0 -0
  542. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/separator.tsx +0 -0
  543. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/skeleton.tsx +0 -0
  544. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/spinner.tsx +0 -0
  545. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/table.tsx +0 -0
  546. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/components/ui/tabs.tsx +0 -0
  547. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/lib/utils.ts +0 -0
  548. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/navigationMenu.tsx +0 -0
  549. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/pages/NotFound.tsx +0 -0
  550. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/router-utils.tsx +0 -0
  551. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/src/styles/global.css +0 -0
  552. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/tsconfig.node.json +0 -0
  553. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/vite-env.d.ts +0 -0
  554. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/vitest-env.d.ts +0 -0
  555. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/vitest.config.ts +0 -0
  556. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/vitest.setup.ts +0 -0
  557. /package/lib/templates/project/{reactb2x → reactinternalapp}/_p_/_m_/_w_/_a_/webapplication.json +0 -0
  558. /package/lib/templates/project/{reactb2x → reactinternalapp}/config/project-scratch-def.json +0 -0
  559. /package/lib/templates/project/{reactb2x → reactinternalapp}/jest.config.js +0 -0
  560. /package/lib/templates/project/{reactb2x → reactinternalapp}/scripts/apex/hello.apex +0 -0
  561. /package/lib/templates/project/{reactb2x → reactinternalapp}/scripts/prepare-import-unique-fields.js +0 -0
  562. /package/lib/templates/project/{reactb2x → reactinternalapp}/scripts/soql/account.soql +0 -0
  563. /package/lib/templates/project/{reactb2x → reactinternalapp}/sfdx-project.json +0 -0
  564. /package/lib/templates/webapplication/reactbasic/{src/components.json → components.json} +0 -0
@@ -1,39 +0,0 @@
1
- /**
2
- * Application-wide Constants
3
- *
4
- * Defines constants used throughout the global search feature.
5
- */
6
-
7
- /**
8
- * Object API names to search across in the global search feature.
9
- * Currently supports single object search.
10
- *
11
- * @remarks
12
- * - Array of Salesforce object API names
13
- * - First element is used as the primary search object
14
- * - Can be extended to support multiple objects in the future
15
- *
16
- * @example
17
- * ```tsx
18
- * const objectApiName = OBJECT_API_NAMES[0]; // 'Account'
19
- * ```
20
- */
21
- export const OBJECT_API_NAMES = ["Account"] as const;
22
-
23
- /** Fallback title when record display name cannot be resolved (e.g. before load or no name field). */
24
- export const DEFAULT_DETAIL_PAGE_TITLE = "Untitled";
25
-
26
- /**
27
- * Default page size for search results pagination.
28
- * This should match one of the values in PAGE_SIZE_OPTIONS from paginationUtils.
29
- *
30
- * @remarks
31
- * - Default value is 20 (second option in PAGE_SIZE_OPTIONS)
32
- * - Can be changed by user via pagination controls
33
- *
34
- * @example
35
- * ```tsx
36
- * const [pageSize, setPageSize] = useState(DEFAULT_PAGE_SIZE);
37
- * ```
38
- */
39
- export const DEFAULT_PAGE_SIZE = 20;
@@ -1,55 +0,0 @@
1
- /**
2
- * FilterInput Component
3
- *
4
- * Renders a text input field for filter values.
5
- * Used for filters that don't have a picklist (affordance !== 'select').
6
- *
7
- * @param filter - Filter definition containing field path, label, and attributes
8
- * @param value - Current filter input value
9
- * @param onChange - Callback when input value changes
10
- *
11
- * @remarks
12
- * - Displays filter label or field path as the label
13
- * - Shows placeholder text from filter attributes or generates default
14
- * - Displays help message if available
15
- *
16
- * @example
17
- * ```tsx
18
- * <FilterInput
19
- * filter={textFilter}
20
- * value={filterValue}
21
- * onChange={(value) => setFilterValue(value)}
22
- * />
23
- * ```
24
- */
25
- import { Input } from "../../../components/ui/input";
26
- import { Field, FieldLabel, FieldDescription } from "../../../components/ui/field";
27
- import type { Filter } from "../types/filters/filters";
28
-
29
- interface FilterInputProps {
30
- filter: Filter;
31
- value: string;
32
- onChange: (value: string) => void;
33
- }
34
-
35
- export default function FilterInput({ filter, value, onChange }: FilterInputProps) {
36
- return (
37
- <Field>
38
- <FieldLabel htmlFor={filter.targetFieldPath}>
39
- {filter.label || filter.targetFieldPath}
40
- </FieldLabel>
41
- <Input
42
- id={filter.targetFieldPath}
43
- type="text"
44
- value={value}
45
- onChange={(e: React.ChangeEvent<HTMLInputElement>) => onChange(e.target.value)}
46
- placeholder={
47
- filter.attributes?.placeholder ||
48
- `Enter ${(filter.label || filter.targetFieldPath).toLowerCase()}`
49
- }
50
- aria-label={filter.label || filter.targetFieldPath}
51
- />
52
- {filter.helpMessage && <FieldDescription>{filter.helpMessage}</FieldDescription>}
53
- </Field>
54
- );
55
- }
@@ -1,72 +0,0 @@
1
- /**
2
- * FilterSelect Component
3
- *
4
- * Renders a dropdown select field for filter values with picklist options.
5
- * Used for filters with affordance === 'select'.
6
- *
7
- * @param filter - Filter definition containing field path, label, and attributes
8
- * @param value - Currently selected filter value
9
- * @param options - Array of picklist values to display as options
10
- * @param onChange - Callback when selection changes
11
- *
12
- * @remarks
13
- * - Filters out invalid options (null/undefined values)
14
- * - Displays option label if available, otherwise uses value
15
- * - Shows placeholder from filter attributes or default "Select..."
16
- *
17
- * @example
18
- * ```tsx
19
- * <FilterSelect
20
- * filter={selectFilter}
21
- * value={selectedValue}
22
- * options={picklistOptions}
23
- * onChange={(value) => setSelectedValue(value)}
24
- * />
25
- * ```
26
- */
27
- import {
28
- Select,
29
- SelectContent,
30
- SelectItem,
31
- SelectTrigger,
32
- SelectValue,
33
- } from "../../../components/ui/select";
34
- import { Field, FieldLabel, FieldDescription } from "../../../components/ui/field";
35
- import type { Filter } from "../types/filters/filters";
36
- import type { PicklistValue } from "../types/filters/picklist";
37
-
38
- interface FilterSelectProps {
39
- filter: Filter;
40
- value: string;
41
- options: PicklistValue[];
42
- onChange: (value: string) => void;
43
- }
44
-
45
- export default function FilterSelect({ filter, value, options, onChange }: FilterSelectProps) {
46
- return (
47
- <Field>
48
- <FieldLabel htmlFor={filter.targetFieldPath}>
49
- {filter.label || filter.targetFieldPath}
50
- </FieldLabel>
51
- <Select value={value} onValueChange={onChange}>
52
- <SelectTrigger
53
- id={filter.targetFieldPath}
54
- aria-label={filter.label || filter.targetFieldPath}
55
- >
56
- <SelectValue placeholder={filter.attributes?.placeholder || "Select..."} />
57
- </SelectTrigger>
58
- <SelectContent>
59
- {options.map((option) => {
60
- if (!option || !option.value) return null;
61
- return (
62
- <SelectItem key={option.value} value={option.value}>
63
- {option.label || option.value}
64
- </SelectItem>
65
- );
66
- })}
67
- </SelectContent>
68
- </Select>
69
- {filter.helpMessage && <FieldDescription>{filter.helpMessage}</FieldDescription>}
70
- </Field>
71
- );
72
- }
@@ -1,209 +0,0 @@
1
- import { useId } from "react";
2
- import { createFormHookContexts, createFormHook } from "@tanstack/react-form";
3
- import {
4
- Field,
5
- FieldDescription,
6
- FieldError,
7
- FieldLabel,
8
- } from "../../../components/ui/field";
9
- import { Input } from "../../../components/ui/input";
10
- import {
11
- Select,
12
- SelectContent,
13
- SelectItem,
14
- SelectTrigger,
15
- SelectValue,
16
- } from "../../../components/ui/select";
17
- import { cn } from "../../../lib/utils";
18
- import type { PicklistValue } from "../types/filters/picklist";
19
- import { getUniqueErrors } from "../utils/formUtils";
20
-
21
- export type { FormError } from "../utils/formUtils";
22
- export { validateRangeValues } from "../utils/formUtils";
23
-
24
- export const { fieldContext, formContext, useFieldContext, useFormContext } =
25
- createFormHookContexts();
26
-
27
- interface FilterTextFieldProps extends Omit<
28
- React.ComponentProps<typeof Input>,
29
- "name" | "value" | "onBlur" | "onChange" | "aria-invalid"
30
- > {
31
- label: string;
32
- description?: React.ReactNode;
33
- placeholder?: string;
34
- }
35
-
36
- function FilterTextField({
37
- label,
38
- id: providedId,
39
- description,
40
- placeholder,
41
- type = "text",
42
- ...props
43
- }: FilterTextFieldProps) {
44
- const field = useFieldContext<string>();
45
- const generatedId = useId();
46
- const id = providedId ?? generatedId;
47
- const descriptionId = `${id}-description`;
48
- const errorId = `${id}-error`;
49
- const isInvalid = field.state.meta.isTouched && field.state.meta.errors.length > 0;
50
-
51
- const uniqueErrors = getUniqueErrors(field.state.meta.errors);
52
-
53
- return (
54
- <Field data-invalid={isInvalid}>
55
- <FieldLabel htmlFor={id}>{label}</FieldLabel>
56
- {description && <FieldDescription id={descriptionId}>{description}</FieldDescription>}
57
- <Input
58
- id={id}
59
- name={field.name as string}
60
- type={type}
61
- value={field.state.value ?? ""}
62
- onBlur={field.handleBlur}
63
- onChange={(e: React.ChangeEvent<HTMLInputElement>) => field.handleChange(e.target.value)}
64
- placeholder={placeholder}
65
- aria-invalid={isInvalid}
66
- aria-describedby={cn(description && descriptionId, isInvalid && errorId)}
67
- {...props}
68
- />
69
- {isInvalid && uniqueErrors.length > 0 && <FieldError errors={uniqueErrors} />}
70
- </Field>
71
- );
72
- }
73
-
74
- interface FilterSelectFieldProps {
75
- label: string;
76
- id?: string;
77
- description?: React.ReactNode;
78
- placeholder?: string;
79
- options: PicklistValue[];
80
- }
81
-
82
- function FilterSelectField({
83
- label,
84
- id: providedId,
85
- description,
86
- placeholder = "Select...",
87
- options,
88
- }: FilterSelectFieldProps) {
89
- const field = useFieldContext<string>();
90
- const generatedId = useId();
91
- const id = providedId ?? generatedId;
92
- const descriptionId = `${id}-description`;
93
- const errorId = `${id}-error`;
94
- const isInvalid = field.state.meta.isTouched && field.state.meta.errors.length > 0;
95
-
96
- const uniqueErrors = getUniqueErrors(field.state.meta.errors);
97
-
98
- return (
99
- <Field data-invalid={isInvalid}>
100
- <FieldLabel htmlFor={id}>{label}</FieldLabel>
101
- {description && <FieldDescription id={descriptionId}>{description}</FieldDescription>}
102
- <Select value={field.state.value ?? ""} onValueChange={(value) => field.handleChange(value)}>
103
- <SelectTrigger
104
- id={id}
105
- aria-invalid={isInvalid}
106
- aria-describedby={cn(description && descriptionId, isInvalid && errorId)}
107
- >
108
- <SelectValue placeholder={placeholder} />
109
- </SelectTrigger>
110
- <SelectContent>
111
- {options.map((option) => {
112
- if (!option || !option.value) return null;
113
- return (
114
- <SelectItem key={option.value} value={option.value}>
115
- {option.label || option.value}
116
- </SelectItem>
117
- );
118
- })}
119
- </SelectContent>
120
- </Select>
121
- {isInvalid && uniqueErrors.length > 0 && <FieldError errors={uniqueErrors} />}
122
- </Field>
123
- );
124
- }
125
-
126
- interface FilterRangeFieldProps extends Omit<
127
- React.ComponentProps<typeof Input>,
128
- "name" | "value" | "onBlur" | "onChange" | "aria-invalid"
129
- > {
130
- label?: string;
131
- description?: React.ReactNode;
132
- placeholder?: string;
133
- }
134
-
135
- function FilterRangeFieldBase({
136
- label,
137
- id: providedId,
138
- description,
139
- placeholder,
140
- type = "text",
141
- ...props
142
- }: FilterRangeFieldProps) {
143
- const field = useFieldContext<string>();
144
- const generatedId = useId();
145
- const id = providedId ?? generatedId;
146
- const descriptionId = `${id}-description`;
147
- const errorId = `${id}-error`;
148
- const isInvalid = field.state.meta.isTouched && field.state.meta.errors.length > 0;
149
-
150
- const uniqueErrors = getUniqueErrors(field.state.meta.errors);
151
-
152
- return (
153
- <div>
154
- {label && <FieldLabel htmlFor={id}>{label}</FieldLabel>}
155
- {description && <FieldDescription id={descriptionId}>{description}</FieldDescription>}
156
- <Input
157
- id={id}
158
- name={field.name as string}
159
- type={type}
160
- value={field.state.value ?? ""}
161
- onBlur={field.handleBlur}
162
- onChange={(e: React.ChangeEvent<HTMLInputElement>) => field.handleChange(e.target.value)}
163
- placeholder={placeholder}
164
- aria-invalid={isInvalid}
165
- aria-describedby={cn(description && descriptionId, isInvalid && errorId)}
166
- {...props}
167
- />
168
- {isInvalid && uniqueErrors.length > 0 && <FieldError errors={uniqueErrors} />}
169
- </div>
170
- );
171
- }
172
-
173
- interface FilterRangeMinFieldProps extends Omit<
174
- React.ComponentProps<typeof Input>,
175
- "name" | "value" | "onBlur" | "onChange" | "aria-invalid"
176
- > {
177
- label?: string;
178
- description?: React.ReactNode;
179
- placeholder?: string;
180
- }
181
-
182
- interface FilterRangeMaxFieldProps extends Omit<
183
- React.ComponentProps<typeof Input>,
184
- "name" | "value" | "onBlur" | "onChange" | "aria-invalid"
185
- > {
186
- label?: string;
187
- description?: React.ReactNode;
188
- placeholder?: string;
189
- }
190
-
191
- function FilterRangeMinField({ placeholder = "Min", ...props }: FilterRangeMinFieldProps) {
192
- return <FilterRangeFieldBase placeholder={placeholder} {...props} />;
193
- }
194
-
195
- function FilterRangeMaxField({ placeholder = "Max", ...props }: FilterRangeMaxFieldProps) {
196
- return <FilterRangeFieldBase placeholder={placeholder} {...props} />;
197
- }
198
-
199
- export const { useAppForm } = createFormHook({
200
- fieldContext,
201
- formContext,
202
- fieldComponents: {
203
- FilterTextField,
204
- FilterSelectField,
205
- FilterRangeMinField,
206
- FilterRangeMaxField,
207
- },
208
- formComponents: {},
209
- });
@@ -1,65 +0,0 @@
1
- /**
2
- * useObjectInfoBatch
3
- *
4
- * Fetches object metadata (label, labelPlural, fields, etc.) for the given object API names.
5
- * Uses the shared cache in objectInfoService so List, Home, and Detail views reuse one request.
6
- */
7
-
8
- import { useState, useEffect, useRef } from "react";
9
- import { objectInfoService } from "../api/objectInfoService";
10
- import type { ObjectInfoResult } from "../types/objectInfo/objectInfo";
11
-
12
- export interface UseObjectInfoBatchResult {
13
- /** Object metadata in the same order as the requested objectApiNames. */
14
- objectInfos: ObjectInfoResult[];
15
- loading: boolean;
16
- error: string | null;
17
- }
18
-
19
- /**
20
- * Fetches batch object info for the given object API names. Results are cached;
21
- * multiple callers (List, Home, Detail) share the same request.
22
- *
23
- * @param objectApiNames - Array of object API names (e.g. OBJECT_API_NAMES)
24
- * @returns objectInfos (same order as input), loading, error
25
- */
26
- export function useObjectInfoBatch(objectApiNames: string[]): UseObjectInfoBatchResult {
27
- const [state, setState] = useState<UseObjectInfoBatchResult>({
28
- objectInfos: [],
29
- loading: objectApiNames.length > 0,
30
- error: null,
31
- });
32
- const isCancelled = useRef(false);
33
-
34
- useEffect(() => {
35
- isCancelled.current = false;
36
- const names = objectApiNames.filter(Boolean);
37
- if (names.length === 0) {
38
- setState({ objectInfos: [], loading: false, error: null });
39
- return;
40
- }
41
- setState((s) => ({ ...s, loading: true, error: null }));
42
- objectInfoService
43
- .getObjectInfoBatch(names.join(","))
44
- .then((res) => {
45
- if (isCancelled.current) return;
46
- const objectInfos = names
47
- .map((apiName) => res.results?.find((r) => r.result?.ApiName === apiName)?.result)
48
- .filter((r) => r != null) as ObjectInfoResult[];
49
- setState({ objectInfos, loading: false, error: null });
50
- })
51
- .catch((err) => {
52
- if (isCancelled.current) return;
53
- setState({
54
- objectInfos: [],
55
- loading: false,
56
- error: err instanceof Error ? err.message : (err as string),
57
- });
58
- });
59
- return () => {
60
- isCancelled.current = true;
61
- };
62
- }, [objectApiNames.join(",")]);
63
-
64
- return state;
65
- }
@@ -1,174 +0,0 @@
1
- /**
2
- * Object Search Data Hooks
3
- *
4
- * - useObjectListMetadata: single source for list-view metadata (filters → columns + picklists). Use in list pages to avoid duplicate state and API calls.
5
- * - useObjectColumns / useObjectFilters: thin wrappers over useObjectListMetadata for backward compatibility.
6
- * - getSharedFilters: module-level deduplication for getObjectListFilters across hook instances.
7
- */
8
-
9
- import { useState, useEffect } from "react";
10
- import { objectInfoService } from "../api/objectInfoService";
11
- import type { Column } from "../types/search/searchResults";
12
- import type { Filter } from "../types/filters/filters";
13
- import type { PicklistValue } from "../types/filters/picklist";
14
-
15
- // --- Shared filters cache (deduplicates getObjectListFilters across useObjectColumns + useObjectFilters) ---
16
- const sharedFiltersCache = new Map<string, Filter[]>();
17
- const sharedFiltersInFlight = new Map<string, Promise<Filter[]>>();
18
-
19
- function getSharedFilters(objectApiName: string): Promise<Filter[]> {
20
- const cached = sharedFiltersCache.get(objectApiName);
21
- if (cached) return Promise.resolve(cached);
22
- const inFlight = sharedFiltersInFlight.get(objectApiName);
23
- if (inFlight) return inFlight;
24
- const promise = objectInfoService
25
- .getObjectListFilters(objectApiName)
26
- .then((filters) => {
27
- sharedFiltersCache.set(objectApiName, filters);
28
- sharedFiltersInFlight.delete(objectApiName);
29
- return filters;
30
- })
31
- .catch((err) => {
32
- sharedFiltersInFlight.delete(objectApiName);
33
- throw err;
34
- });
35
- sharedFiltersInFlight.set(objectApiName, promise);
36
- return promise;
37
- }
38
-
39
- // --- Shared Types ---
40
- export interface FiltersData {
41
- filters: Filter[];
42
- picklistValues: Record<string, PicklistValue[]>;
43
- loading: boolean;
44
- error: string | null;
45
- }
46
-
47
- /**
48
- * Derives column definitions from filter definitions for list/result UI.
49
- */
50
- function filtersToColumns(filters: Filter[]): Column[] {
51
- return filters.map((f) => ({
52
- fieldApiName: f.targetFieldPath,
53
- label: f.label,
54
- searchable: true,
55
- sortable: true,
56
- }));
57
- }
58
-
59
- export interface ObjectListMetadata {
60
- columns: Column[];
61
- filters: Filter[];
62
- picklistValues: Record<string, PicklistValue[]>;
63
- loading: boolean;
64
- error: string | null;
65
- }
66
-
67
- /**
68
- * Single hook for list-view metadata: filters (shared API), derived columns, and picklist values.
69
- * Use this in list/search pages to avoid duplicate useObjectColumns + useObjectFilters and duplicate state.
70
- */
71
- export function useObjectListMetadata(objectApiName: string | null): ObjectListMetadata {
72
- const [state, setState] = useState<{
73
- columns: Column[];
74
- filters: Filter[];
75
- picklistValues: Record<string, PicklistValue[]>;
76
- loading: boolean;
77
- error: string | null;
78
- }>({
79
- columns: [],
80
- filters: [],
81
- picklistValues: {},
82
- loading: true,
83
- error: null,
84
- });
85
-
86
- useEffect(() => {
87
- if (!objectApiName) {
88
- setState((s) => ({ ...s, loading: false, error: "Invalid object" }));
89
- return;
90
- }
91
-
92
- let isCancelled = false;
93
-
94
- const run = async () => {
95
- setState((s) => ({ ...s, loading: true, error: null }));
96
- try {
97
- const filters = await getSharedFilters(objectApiName!);
98
- if (isCancelled) return;
99
-
100
- const selectFilters = filters.filter((f) => f.affordance?.toLowerCase() === "select");
101
- const picklistPromises = selectFilters.map((f) =>
102
- objectInfoService
103
- .getPicklistValues(objectApiName!, f.targetFieldPath)
104
- .then((values) => ({ fieldPath: f.targetFieldPath, values }))
105
- .catch(() => ({ fieldPath: f.targetFieldPath, values: [] as PicklistValue[] })),
106
- );
107
- const picklistResults = await Promise.all(picklistPromises);
108
- if (isCancelled) return;
109
-
110
- const picklistValues: Record<string, PicklistValue[]> = {};
111
- picklistResults.forEach(({ fieldPath, values }) => {
112
- picklistValues[fieldPath] = values;
113
- });
114
-
115
- setState({
116
- columns: filtersToColumns(filters),
117
- filters,
118
- picklistValues,
119
- loading: false,
120
- error: null,
121
- });
122
- } catch (err) {
123
- if (isCancelled) return;
124
- setState((s) => ({
125
- ...s,
126
- columns: [],
127
- filters: [],
128
- picklistValues: {},
129
- loading: false,
130
- error: "Failed to load list metadata",
131
- }));
132
- }
133
- };
134
-
135
- run();
136
- return () => {
137
- isCancelled = true;
138
- };
139
- }, [objectApiName]);
140
-
141
- return state;
142
- }
143
-
144
- /**
145
- * Hook: useObjectColumns
146
- * Thin wrapper over useObjectListMetadata for backward compatibility.
147
- */
148
- export function useObjectColumns(objectApiName: string | null) {
149
- const { columns, loading, error } = useObjectListMetadata(objectApiName);
150
- return {
151
- columns: objectApiName ? columns : [],
152
- columnsLoading: loading,
153
- columnsError: error,
154
- };
155
- }
156
-
157
- /**
158
- * Hook: useObjectFilters
159
- * Thin wrapper over useObjectListMetadata for backward compatibility.
160
- */
161
- export function useObjectFilters(objectApiName: string | null) {
162
- const { filters, picklistValues, loading, error } = useObjectListMetadata(objectApiName);
163
- const filtersData: Record<string, FiltersData> = objectApiName
164
- ? {
165
- [objectApiName]: {
166
- filters,
167
- picklistValues,
168
- loading,
169
- error,
170
- },
171
- }
172
- : {};
173
- return { filtersData };
174
- }