@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,89 +0,0 @@
1
- /**
2
- * Debounce Utility
3
- *
4
- * Provides debouncing functionality for functions with React-safe cleanup methods.
5
- */
6
-
7
- /**
8
- * Interface for the debounced function, exposing utility methods.
9
- */
10
- export interface DebouncedFunc<T extends (...args: any[]) => any> {
11
- /**
12
- * Call the original function, but delayed.
13
- */
14
- (...args: Parameters<T>): void;
15
- /**
16
- * Cancel any pending execution.
17
- */
18
- cancel: () => void;
19
- /**
20
- * Immediately execute the pending function (if any) and clear the timer.
21
- * Useful for saving data before unmounting.
22
- */
23
- flush: () => void;
24
- }
25
-
26
- /**
27
- * Creates a debounced function that delays invoking func until after wait milliseconds
28
- * have elapsed since the last time the debounced function was invoked.
29
- *
30
- * @param func - The function to debounce
31
- * @param wait - The number of milliseconds to delay
32
- * @returns A debounced function with .cancel() and .flush() methods
33
- *
34
- * @remarks
35
- * - Includes .cancel() method for cleanup in React useEffects
36
- * - Includes .flush() method to immediately execute pending calls
37
- * - Preserves function context (this binding)
38
- * - Type-safe with TypeScript generics
39
- *
40
- * @example
41
- * ```tsx
42
- * const debouncedSearch = debounce((query: string) => {
43
- * performSearch(query);
44
- * }, 300);
45
- *
46
- * // In useEffect cleanup
47
- * return () => debouncedSearch.cancel();
48
- * ```
49
- */
50
- export function debounce<T extends (...args: any[]) => any>(
51
- func: T,
52
- wait: number,
53
- ): DebouncedFunc<T> {
54
- // 1. Type Safety: Use a generic return type compatible with Browser and Node
55
- let timeoutId: ReturnType<typeof setTimeout> | null = null;
56
- let lastContext: ThisParameterType<T> | null = null;
57
- let lastArgs: Parameters<T> | null = null;
58
- function debounced(this: ThisParameterType<T>, ...args: Parameters<T>) {
59
- // 2. Context Safety: Capture 'this' to support class methods
60
- lastContext = this;
61
- lastArgs = args;
62
- if (timeoutId) {
63
- clearTimeout(timeoutId);
64
- }
65
- timeoutId = setTimeout(() => {
66
- func.apply(lastContext, lastArgs as Parameters<T>);
67
- timeoutId = null;
68
- lastArgs = null;
69
- lastContext = null;
70
- }, wait);
71
- }
72
- // 3. React Safety: Add a cancel method to clear pending timers
73
- debounced.cancel = () => {
74
- if (timeoutId) {
75
- clearTimeout(timeoutId);
76
- timeoutId = null;
77
- }
78
- lastArgs = null;
79
- lastContext = null;
80
- };
81
-
82
- debounced.flush = () => {
83
- if (timeoutId && lastArgs) {
84
- func.apply(lastContext, lastArgs);
85
- debounced.cancel();
86
- }
87
- };
88
- return debounced;
89
- }
@@ -1,354 +0,0 @@
1
- /**
2
- * Field value extraction and formatting for Salesforce UI API record shapes.
3
- * Handles primitives, nested paths (e.g. Owner.Alias), reference/relationship display,
4
- * address and modstamp compound formatting, and layout-item value clubbing.
5
- */
6
-
7
- import type { FieldValue, ComplexFieldValue } from "../types/search/searchResults";
8
-
9
- /** Fallback field names for reference/relationship display when object info nameFields are not available. */
10
- const DISPLAY_FIELD_CANDIDATES = [
11
- "Name",
12
- "CaseNumber",
13
- "Subject",
14
- "Title",
15
- "DeveloperName",
16
- "ContractNumber",
17
- ] as const;
18
-
19
- function isDefined(val: unknown): val is string | number | boolean {
20
- return val !== null && val !== undefined;
21
- }
22
-
23
- function isComplexValue(val: unknown): val is ComplexFieldValue {
24
- return typeof val === "object" && val !== null && "fields" in val;
25
- }
26
-
27
- function extractComplexValue(complex: ComplexFieldValue): string | null {
28
- const fields = complex.fields;
29
- if (!fields) return null;
30
-
31
- for (const fieldName of DISPLAY_FIELD_CANDIDATES) {
32
- const field = fields[fieldName];
33
- if (field) {
34
- if (isDefined(field.displayValue)) {
35
- return field.displayValue;
36
- }
37
- if (isDefined(field.value)) {
38
- return field.value.toString();
39
- }
40
- }
41
- }
42
-
43
- return null;
44
- }
45
-
46
- function extractFieldPrimitive(field: FieldValue): string | number | boolean | null {
47
- if (isDefined(field.displayValue)) {
48
- return field.displayValue;
49
- }
50
-
51
- if (isComplexValue(field.value)) {
52
- const extracted = extractComplexValue(field.value);
53
- return extracted !== null ? extracted : null;
54
- }
55
-
56
- if (isDefined(field.value)) {
57
- return field.value;
58
- }
59
-
60
- return null;
61
- }
62
-
63
- export type FieldValueWithRelationship = FieldValue & {
64
- relationshipField?: FieldValue | null;
65
- constituents?: Record<string, FieldValue>;
66
- };
67
-
68
- /** Id + Date pairs for Created By / Last Modified By (UI API modstamp convention). */
69
- const MODSTAMP_FIELDS = [
70
- { idFieldName: "CreatedById", dateFieldName: "CreatedDate" },
71
- { idFieldName: "LastModifiedById", dateFieldName: "LastModifiedDate" },
72
- ] as const;
73
-
74
- function isModstampConstituents(constituents: Record<string, FieldValue>): boolean {
75
- return MODSTAMP_FIELDS.some(
76
- ({ idFieldName, dateFieldName }) =>
77
- idFieldName in constituents && dateFieldName in constituents,
78
- );
79
- }
80
-
81
- /**
82
- * Formats an ISO 8601 date-time string to the user's locale and timezone.
83
- * Uses the browser's default locale and local timezone.
84
- */
85
- export function formatDateTimeForDisplay(isoOrDateString: string): string {
86
- if (!isoOrDateString || typeof isoOrDateString !== "string") return isoOrDateString;
87
- const trimmed = isoOrDateString.trim();
88
- if (!trimmed) return isoOrDateString;
89
- const date = new Date(trimmed);
90
- if (Number.isNaN(date.getTime())) return isoOrDateString;
91
- try {
92
- return new Intl.DateTimeFormat(undefined, {
93
- dateStyle: "medium",
94
- timeStyle: "short",
95
- }).format(date);
96
- } catch {
97
- return isoOrDateString;
98
- }
99
- }
100
-
101
- function formatModstampDisplay(constituents: Record<string, FieldValue>): string {
102
- for (const { idFieldName, dateFieldName } of MODSTAMP_FIELDS) {
103
- const idField = constituents[idFieldName];
104
- const dateField = constituents[dateFieldName];
105
- if (!idField || !dateField) continue;
106
- const idWithRel = idField as FieldValueWithRelationship;
107
- const name =
108
- idWithRel.relationshipField != null
109
- ? getPrimitiveString(idWithRel.relationshipField)
110
- : getPrimitiveString(idField);
111
- const dateRaw = getPrimitiveString(dateField);
112
- const date = dateRaw ? formatDateTimeForDisplay(dateRaw) : "";
113
- const parts = [name, date].filter(Boolean);
114
- if (parts.length) return parts.join(" ");
115
- }
116
- return "";
117
- }
118
-
119
- const ADDRESS_STREET_SUFFIXES = ["Street"];
120
- const ADDRESS_CITY_SUFFIXES = ["City"];
121
- const ADDRESS_STATE_SUFFIXES = ["State", "StateCode"];
122
- const ADDRESS_POSTAL_SUFFIXES = ["PostalCode"];
123
- const ADDRESS_COUNTRY_SUFFIXES = ["Country", "CountryCode"];
124
-
125
- function getPrimitiveString(fv: FieldValue | undefined): string {
126
- if (!fv) return "";
127
- const p = extractFieldPrimitive(fv);
128
- return ((p as string) || "").trim();
129
- }
130
-
131
- function fieldNameEndsWithOneOf(name: string, suffixes: string[]): boolean {
132
- return suffixes.some(
133
- (s) =>
134
- name === s || name.endsWith(s) || (name.endsWith("__c") && name.slice(0, -3).endsWith(s)),
135
- );
136
- }
137
-
138
- function findAddressPartKey(keys: string[], suffixes: string[]): string | undefined {
139
- return keys.find((k) => fieldNameEndsWithOneOf(k, suffixes));
140
- }
141
-
142
- export interface AddressParts {
143
- street: string;
144
- city: string;
145
- state: string;
146
- postalCode: string;
147
- country: string;
148
- }
149
-
150
- export function getAddressPartsFromConstituents(
151
- constituents: Record<string, FieldValue>,
152
- ): AddressParts {
153
- const keys = Object.keys(constituents);
154
- const streetKey = findAddressPartKey(keys, ADDRESS_STREET_SUFFIXES);
155
- const cityKey = findAddressPartKey(keys, ADDRESS_CITY_SUFFIXES);
156
- const stateKey = findAddressPartKey(keys, ADDRESS_STATE_SUFFIXES);
157
- const postalKey = findAddressPartKey(keys, ADDRESS_POSTAL_SUFFIXES);
158
- const countryKey = findAddressPartKey(keys, ADDRESS_COUNTRY_SUFFIXES);
159
- return {
160
- street: streetKey ? getPrimitiveString(constituents[streetKey]) : "",
161
- city: cityKey ? getPrimitiveString(constituents[cityKey]) : "",
162
- state: stateKey ? getPrimitiveString(constituents[stateKey]) : "",
163
- postalCode: postalKey ? getPrimitiveString(constituents[postalKey]) : "",
164
- country: countryKey ? getPrimitiveString(constituents[countryKey]) : "",
165
- };
166
- }
167
-
168
- export function isAddressConstituents(constituents: Record<string, FieldValue>): boolean {
169
- const keys = Object.keys(constituents);
170
- const hasStreet = !!findAddressPartKey(keys, ADDRESS_STREET_SUFFIXES);
171
- const hasCity = !!findAddressPartKey(keys, ADDRESS_CITY_SUFFIXES);
172
- const hasState = !!findAddressPartKey(keys, ADDRESS_STATE_SUFFIXES);
173
- const hasCountry = !!findAddressPartKey(keys, ADDRESS_COUNTRY_SUFFIXES);
174
- return hasStreet && (hasCity || hasState || hasCountry);
175
- }
176
-
177
- export function formatAddressDisplay(parts: AddressParts): string {
178
- const { street, city, state, postalCode, country } = parts;
179
- const statePostal = [state, postalCode].filter(Boolean).join(" ");
180
- const line2 = city ? (statePostal ? `${city}, ${statePostal}` : city) : statePostal;
181
- const lines = [street, line2, country].filter(Boolean);
182
- return lines.join("\n").trim();
183
- }
184
-
185
- export function formatAddressFromConstituents(constituents: Record<string, FieldValue>): string {
186
- const parts = getAddressPartsFromConstituents(constituents);
187
- return formatAddressDisplay(parts);
188
- }
189
-
190
- function isModstampApiNames(apiNames: string[]): boolean {
191
- return MODSTAMP_FIELDS.some(
192
- ({ idFieldName, dateFieldName }) =>
193
- apiNames.includes(idFieldName) && apiNames.includes(dateFieldName),
194
- );
195
- }
196
-
197
- function isAddressApiNames(apiNames: string[]): boolean {
198
- const hasStreet = apiNames.some((n) => fieldNameEndsWithOneOf(n, ADDRESS_STREET_SUFFIXES));
199
- const hasCity = apiNames.some((n) => fieldNameEndsWithOneOf(n, ADDRESS_CITY_SUFFIXES));
200
- const hasState = apiNames.some((n) => fieldNameEndsWithOneOf(n, ADDRESS_STATE_SUFFIXES));
201
- const hasCountry = apiNames.some((n) => fieldNameEndsWithOneOf(n, ADDRESS_COUNTRY_SUFFIXES));
202
- return hasStreet && (hasCity || hasState || hasCountry);
203
- }
204
-
205
- export interface LayoutItemDisplayResult {
206
- value: string | number | boolean | null;
207
- dataType?: string;
208
- }
209
-
210
- export function getDisplayValueForLayoutItem(
211
- fields: Record<string, FieldValue> | undefined,
212
- componentApiNames: string[],
213
- ): LayoutItemDisplayResult {
214
- if (!fields || componentApiNames.length === 0) {
215
- return { value: null };
216
- }
217
- if (componentApiNames.length === 1) {
218
- const value = getDisplayValueForDetailField(
219
- fields[componentApiNames[0]] as FieldValueWithRelationship | undefined,
220
- );
221
- return { value };
222
- }
223
- const constituents: Record<string, FieldValue> = {};
224
- for (const apiName of componentApiNames) {
225
- if (fields[apiName] != null) constituents[apiName] = fields[apiName];
226
- }
227
- if (isModstampApiNames(componentApiNames)) {
228
- const value = formatModstampDisplay(constituents);
229
- return { value: value || null };
230
- }
231
- if (isAddressApiNames(componentApiNames)) {
232
- const parts = getAddressPartsFromConstituents(constituents);
233
- const value = formatAddressDisplay(parts);
234
- return { value: value || null, dataType: "Address" };
235
- }
236
- const values = componentApiNames
237
- .map((apiName) =>
238
- getDisplayValueForDetailField(fields[apiName] as FieldValueWithRelationship | undefined),
239
- )
240
- .filter((v) => v !== null && v !== undefined && v !== "");
241
- return { value: values.length > 0 ? values.join(", ") : null };
242
- }
243
-
244
- export function getDisplayValueForDetailField(
245
- field: FieldValueWithRelationship | undefined,
246
- ): string | number | boolean | null {
247
- if (!field) return null;
248
- const withExt = field as FieldValueWithRelationship;
249
- if (withExt.relationshipField != null) {
250
- const fromRel = extractFieldPrimitive(withExt.relationshipField);
251
- if (fromRel !== null && fromRel !== undefined && fromRel !== "") {
252
- return fromRel;
253
- }
254
- }
255
- if (withExt.constituents != null) {
256
- if (isModstampConstituents(withExt.constituents)) {
257
- const formatted = formatModstampDisplay(withExt.constituents);
258
- if (formatted) return formatted;
259
- } else if (isAddressConstituents(withExt.constituents)) {
260
- const formatted = formatAddressFromConstituents(withExt.constituents);
261
- if (formatted) return formatted;
262
- }
263
- }
264
- return extractFieldPrimitive(field);
265
- }
266
-
267
- export function getNestedFieldValue(
268
- fields: Record<string, FieldValue> | undefined,
269
- fieldPath: string,
270
- ): string | number | boolean | null {
271
- if (!fields || !fieldPath) {
272
- return null;
273
- }
274
-
275
- const pathParts = fieldPath.split(".");
276
- if (pathParts.length === 1) {
277
- const field = fields[fieldPath];
278
- if (!field) return null;
279
-
280
- return extractFieldPrimitive(field);
281
- }
282
-
283
- let currentFields: Record<string, FieldValue> | undefined = fields;
284
- for (let i = 0; i < pathParts.length - 1; i++) {
285
- const part = pathParts[i];
286
- if (!currentFields || !currentFields[part]) {
287
- return null;
288
- }
289
-
290
- const field: FieldValue = currentFields[part];
291
- if (isComplexValue(field.value)) {
292
- currentFields = field.value.fields;
293
- } else {
294
- return null;
295
- }
296
- }
297
-
298
- const finalFieldName = pathParts[pathParts.length - 1];
299
- if (!currentFields || !currentFields[finalFieldName]) {
300
- return null;
301
- }
302
-
303
- const finalField = currentFields[finalFieldName];
304
- return extractFieldPrimitive(finalField);
305
- }
306
-
307
- /** Minimal metadata for record display name (nameFields from object info API). */
308
- export type RecordDisplayNameMetadata = { nameFields?: string[] } | null;
309
-
310
- /**
311
- * Resolves a display name for a record: tries metadata.nameFields first, then
312
- * DISPLAY_FIELD_CANDIDATES (Name, Subject, etc.), then record.id.
313
- */
314
- export function getRecordDisplayName(
315
- record: { id: string; fields: Record<string, FieldValue> },
316
- metadata?: RecordDisplayNameMetadata,
317
- ): string {
318
- const candidates = [...(metadata?.nameFields ?? []), ...DISPLAY_FIELD_CANDIDATES];
319
- for (const fieldPath of candidates) {
320
- const v = getNestedFieldValue(record.fields, fieldPath);
321
- return v as string;
322
- }
323
- return record.id;
324
- }
325
-
326
- /** Adapts object info (e.g. ObjectInfoResult) to the shape expected by getRecordDisplayName. */
327
- export function toRecordDisplayNameMetadata(obj: unknown): RecordDisplayNameMetadata {
328
- if (obj != null && typeof obj === "object" && "nameFields" in obj) {
329
- const nameFields = (obj as { nameFields?: string[] }).nameFields;
330
- if (Array.isArray(nameFields)) return { nameFields };
331
- }
332
- return null;
333
- }
334
-
335
- export function extractFieldValue(
336
- fieldValue: FieldValue | undefined,
337
- useDisplayValue: boolean = false,
338
- ): string {
339
- if (!fieldValue) {
340
- return "—";
341
- }
342
-
343
- if (useDisplayValue && isDefined(fieldValue.displayValue)) {
344
- return fieldValue.displayValue;
345
- }
346
-
347
- const extracted = extractFieldPrimitive(fieldValue);
348
-
349
- if (extracted !== null) {
350
- return extracted as string;
351
- }
352
-
353
- return "—";
354
- }
@@ -1,67 +0,0 @@
1
- import type { FieldValue, ComplexFieldValue } from "../types/search/searchResults";
2
-
3
- const DISPLAY_FIELD_CANDIDATES = [
4
- "Name",
5
- "CaseNumber",
6
- "Subject",
7
- "Title",
8
- "DeveloperName",
9
- "ContractNumber",
10
- ];
11
- /**
12
- * Extracts the display value from a field value, handling nested structures
13
- * For complex fields like Owner, extracts nested values from fields.Name.value
14
- */
15
- export function extractFieldValue(
16
- fieldValue: FieldValue | undefined,
17
- useDisplayValue: boolean = false,
18
- ): string {
19
- if (!fieldValue) {
20
- return "—";
21
- }
22
-
23
- // If displayValue exists and is not null, use it (highest priority)
24
- if (useDisplayValue && isDefined(fieldValue.displayValue)) {
25
- return fieldValue.displayValue;
26
- }
27
-
28
- // If value is a complex object (like Owner), extract nested value
29
- if (isComplexValue(fieldValue.value)) {
30
- return extractComplexValue(fieldValue.value as ComplexFieldValue) ?? "—";
31
- }
32
-
33
- // Otherwise use the value directly (for simple fields)
34
- if (isDefined(fieldValue.value)) {
35
- return fieldValue.value as string;
36
- }
37
-
38
- return "—";
39
- }
40
-
41
- /**
42
- * Helper to safely extract name from related object
43
- */
44
- function extractComplexValue(complex: ComplexFieldValue): string | null {
45
- const fields = complex.fields;
46
- if (!fields) return null;
47
- // Scale: Check the candidate list until we find a field that exists and has a value
48
- for (const fieldName of DISPLAY_FIELD_CANDIDATES) {
49
- const field = fields[fieldName];
50
- if (field) {
51
- // Priority: DisplayValue -> Value
52
- if (isDefined(field.displayValue)) return field.displayValue;
53
- if (isDefined(field.value)) return field.value as string;
54
- }
55
- }
56
-
57
- return null;
58
- }
59
- /**
60
- * Type Guard checks
61
- */
62
- function isDefined(val: unknown): val is string | number | boolean {
63
- return val !== null && val !== undefined;
64
- }
65
- function isComplexValue(val: unknown): val is ComplexFieldValue {
66
- return typeof val === "object" && val !== null;
67
- }
@@ -1,32 +0,0 @@
1
- /**
2
- * Filter Utilities
3
- *
4
- * Utility functions for filter value parsing and transformation.
5
- * These utilities handle the conversion of form values to filter criteria.
6
- */
7
-
8
- /**
9
- * Parses a string value to either a number or string
10
- * Attempts to parse as integer, falls back to trimmed string if not a valid number
11
- *
12
- * @param val - The value to parse (string)
13
- * @returns Parsed number if valid, otherwise trimmed string, or empty string if input is empty
14
- *
15
- * @remarks
16
- * - Returns empty string for empty/whitespace input
17
- * - Attempts integer parsing first
18
- * - Falls back to trimmed string if parsing fails
19
- * - Used for filter values that can be either numeric or text
20
- *
21
- * @example
22
- * ```tsx
23
- * const parsed = parseFilterValue("123"); // 123 (number)
24
- * const parsed = parseFilterValue("abc"); // "abc" (string)
25
- * const parsed = parseFilterValue(" "); // "" (empty string)
26
- * ```
27
- */
28
- export function parseFilterValue(val: string): string | number {
29
- if (!val.trim()) return "";
30
- const numVal = parseInt(val.trim(), 10);
31
- return isNaN(numVal) ? val.trim() : numVal;
32
- }