@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,861 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import fs from 'fs';
4
- import path from 'path';
5
- import { search, loadCsv, DATA_DIR } from './core.js';
6
-
7
- const REASONING_FILE = 'ui-reasoning.csv';
8
-
9
- const SEARCH_CONFIG = {
10
- product: { maxResults: 1 },
11
- style: { maxResults: 3 },
12
- color: { maxResults: 2 },
13
- landing: { maxResults: 2 },
14
- typography: { maxResults: 2 }
15
- };
16
-
17
- // ============ DESIGN SYSTEM GENERATOR ============
18
-
19
- function loadReasoning() {
20
- try {
21
- const filepath = path.join(DATA_DIR, REASONING_FILE);
22
- return loadCsv(filepath);
23
- } catch (err) {
24
- console.error('Warning: could not load reasoning file:', err?.message || err);
25
- return [];
26
- }
27
- }
28
-
29
- function multiDomainSearch(query, stylePriority) {
30
- const results = {};
31
- for (const [domain, config] of Object.entries(SEARCH_CONFIG)) {
32
- try {
33
- if (domain === 'style' && stylePriority && stylePriority.length > 0) {
34
- const priorityQuery = stylePriority.slice(0, 2).join(' ');
35
- results[domain] = search(`${query} ${priorityQuery}`, domain, config.maxResults);
36
- } else {
37
- results[domain] = search(query, domain, config.maxResults);
38
- }
39
- } catch (err) {
40
- console.error(`Warning: search failed for domain "${domain}":`, err?.message || err);
41
- results[domain] = { results: [] };
42
- }
43
- }
44
- return results;
45
- }
46
-
47
- function findReasoningRule(reasoningData, category) {
48
- const catLower = category.toLowerCase();
49
-
50
- for (const rule of reasoningData) {
51
- if ((rule.UI_Category || '').toLowerCase() === catLower) return rule;
52
- }
53
- for (const rule of reasoningData) {
54
- const uiCat = (rule.UI_Category || '').toLowerCase();
55
- if (uiCat.includes(catLower) || catLower.includes(uiCat)) return rule;
56
- }
57
- for (const rule of reasoningData) {
58
- const uiCat = (rule.UI_Category || '').toLowerCase();
59
- const keywords = uiCat.replace(/\//g, ' ').replace(/-/g, ' ').split(/\s+/);
60
- if (keywords.some(kw => catLower.includes(kw))) return rule;
61
- }
62
- return {};
63
- }
64
-
65
- function applyReasoning(reasoningData, category) {
66
- const rule = findReasoningRule(reasoningData, category);
67
-
68
- if (!rule || Object.keys(rule).length === 0) {
69
- return {
70
- pattern: 'Hero + Features + CTA',
71
- stylePriority: ['Minimalism', 'Flat Design'],
72
- colorMood: 'Professional',
73
- typographyMood: 'Clean',
74
- keyEffects: 'Subtle hover transitions',
75
- antiPatterns: '',
76
- decisionRules: {},
77
- severity: 'MEDIUM'
78
- };
79
- }
80
-
81
- let decisionRules = {};
82
- try {
83
- decisionRules = JSON.parse(rule.Decision_Rules || '{}');
84
- } catch {
85
- // invalid JSON, keep empty object
86
- }
87
-
88
- return {
89
- pattern: rule.Recommended_Pattern || '',
90
- stylePriority: (rule.Style_Priority || '').split('+').map(s => s.trim()),
91
- colorMood: rule.Color_Mood || '',
92
- typographyMood: rule.Typography_Mood || '',
93
- keyEffects: rule.Key_Effects || '',
94
- antiPatterns: rule.Anti_Patterns || '',
95
- decisionRules,
96
- severity: rule.Severity || 'MEDIUM'
97
- };
98
- }
99
-
100
- function selectBestMatch(results, priorityKeywords) {
101
- try {
102
- if (!results || results.length === 0) return {};
103
- if (!priorityKeywords || priorityKeywords.length === 0) return results[0];
104
-
105
- for (const priority of priorityKeywords) {
106
- const pLower = priority.toLowerCase().trim();
107
- for (const result of results) {
108
- const name = (result['Style Category'] || '').toLowerCase();
109
- if (pLower.includes(name) || name.includes(pLower)) return result;
110
- }
111
- }
112
-
113
- const scored = results.map(result => {
114
- const str = JSON.stringify(result).toLowerCase();
115
- let score = 0;
116
- for (const kw of priorityKeywords) {
117
- const k = kw.toLowerCase().trim();
118
- if ((result['Style Category'] || '').toLowerCase().includes(k)) score += 10;
119
- else if ((result.Keywords || '').toLowerCase().includes(k)) score += 3;
120
- else if (str.includes(k)) score += 1;
121
- }
122
- return { score, result };
123
- });
124
-
125
- scored.sort((a, b) => b.score - a.score);
126
- return scored[0] && scored[0].score > 0 ? scored[0].result : results[0];
127
- } catch (err) {
128
- console.error('Warning: selectBestMatch failed:', err?.message || err);
129
- return results?.[0] ?? {};
130
- }
131
- }
132
-
133
- function getDefaultDesignSystem(query, projectName) {
134
- return {
135
- project_name: projectName || (typeof query === 'string' ? query.toUpperCase() : 'PROJECT'),
136
- category: 'General',
137
- pattern: { name: 'Hero + Features + CTA', sections: 'Hero > Features > CTA', cta_placement: 'Above fold', color_strategy: '', conversion: '' },
138
- style: { name: 'Minimalism', type: 'General', effects: '', keywords: '', best_for: '', performance: '', accessibility: '' },
139
- colors: { primary: '#2563EB', secondary: '#3B82F6', cta: '#F97316', background: '#F8FAFC', text: '#1E293B', notes: '' },
140
- typography: { heading: 'Inter', body: 'Inter', mood: 'Clean', best_for: '', google_fonts_url: '', css_import: '' },
141
- key_effects: 'Subtle hover transitions',
142
- anti_patterns: '',
143
- decision_rules: {},
144
- severity: 'MEDIUM'
145
- };
146
- }
147
-
148
- function generate(query, projectName) {
149
- try {
150
- const reasoningData = loadReasoning();
151
-
152
- let productResult = { results: [] };
153
- try {
154
- productResult = search(query, 'product', 1);
155
- } catch (err) {
156
- console.error('Warning: product search failed:', err?.message || err);
157
- }
158
- const productResults = productResult.results || [];
159
- let category = 'General';
160
- if (productResults.length > 0) category = productResults[0]['Product Type'] || 'General';
161
-
162
- const reasoning = applyReasoning(reasoningData, category);
163
- const stylePriority = reasoning.stylePriority || [];
164
-
165
- const searchResults = multiDomainSearch(query, stylePriority);
166
- searchResults.product = productResult;
167
-
168
- const styleResults = (searchResults.style || {}).results || [];
169
- const colorResults = (searchResults.color || {}).results || [];
170
- const typographyResults = (searchResults.typography || {}).results || [];
171
- const landingResults = (searchResults.landing || {}).results || [];
172
-
173
- const bestStyle = selectBestMatch(styleResults, reasoning.stylePriority);
174
- const bestColor = colorResults[0] || {};
175
- const bestTypography = typographyResults[0] || {};
176
- const bestLanding = landingResults[0] || {};
177
-
178
- const styleEffects = bestStyle['Effects & Animation'] || '';
179
- const reasoningEffects = reasoning.keyEffects || '';
180
-
181
- return {
182
- project_name: projectName || (typeof query === 'string' ? query.toUpperCase() : 'PROJECT'),
183
- category,
184
- pattern: {
185
- name: bestLanding['Pattern Name'] || reasoning.pattern || 'Hero + Features + CTA',
186
- sections: bestLanding['Section Order'] || 'Hero > Features > CTA',
187
- cta_placement: bestLanding['Primary CTA Placement'] || 'Above fold',
188
- color_strategy: bestLanding['Color Strategy'] || '',
189
- conversion: bestLanding['Conversion Optimization'] || ''
190
- },
191
- style: {
192
- name: bestStyle['Style Category'] || 'Minimalism',
193
- type: bestStyle.Type || 'General',
194
- effects: styleEffects,
195
- keywords: bestStyle.Keywords || '',
196
- best_for: bestStyle['Best For'] || '',
197
- performance: bestStyle.Performance || '',
198
- accessibility: bestStyle.Accessibility || ''
199
- },
200
- colors: {
201
- primary: bestColor['Primary (Hex)'] || '#2563EB',
202
- secondary: bestColor['Secondary (Hex)'] || '#3B82F6',
203
- cta: bestColor['CTA (Hex)'] || '#F97316',
204
- background: bestColor['Background (Hex)'] || '#F8FAFC',
205
- text: bestColor['Text (Hex)'] || '#1E293B',
206
- notes: bestColor.Notes || ''
207
- },
208
- typography: {
209
- heading: bestTypography['Heading Font'] || 'Inter',
210
- body: bestTypography['Body Font'] || 'Inter',
211
- mood: bestTypography['Mood/Style Keywords'] || reasoning.typographyMood || '',
212
- best_for: bestTypography['Best For'] || '',
213
- google_fonts_url: bestTypography['Google Fonts URL'] || '',
214
- css_import: bestTypography['CSS Import'] || ''
215
- },
216
- key_effects: styleEffects || reasoningEffects,
217
- anti_patterns: reasoning.antiPatterns || '',
218
- decision_rules: reasoning.decisionRules || {},
219
- severity: reasoning.severity || 'MEDIUM'
220
- };
221
- } catch (err) {
222
- console.error('Error generating design system:', err?.message || err);
223
- return getDefaultDesignSystem(query, projectName);
224
- }
225
- }
226
-
227
- // ============ OUTPUT FORMATTERS ============
228
-
229
- const BOX_WIDTH = 90;
230
-
231
- function wrapText(text, prefix, width) {
232
- if (!text) return [];
233
- const words = text.split(/\s+/);
234
- const lines = [];
235
- let cur = prefix;
236
- for (const word of words) {
237
- if (cur.length + word.length + 1 <= width - 2) {
238
- cur += (cur !== prefix ? ' ' : '') + word;
239
- } else {
240
- if (cur !== prefix) lines.push(cur);
241
- cur = prefix + word;
242
- }
243
- }
244
- if (cur !== prefix) lines.push(cur);
245
- return lines;
246
- }
247
-
248
- function formatAsciiBox(ds) {
249
- try {
250
- if (!ds || typeof ds !== 'object') return 'Error: invalid design system object';
251
- const project = ds.project_name || 'PROJECT';
252
- const pattern = ds.pattern || {};
253
- const style = ds.style || {};
254
- const colors = ds.colors || {};
255
- const typo = ds.typography || {};
256
- const effects = ds.key_effects || '';
257
- const antiPatterns = ds.anti_patterns || '';
258
-
259
- const sections = (pattern.sections || '').split('>').map(s => s.trim()).filter(Boolean);
260
- const w = BOX_WIDTH - 1;
261
- const pad = s => s.padEnd(BOX_WIDTH) + '|';
262
- const blank = () => pad('|' + ' '.repeat(BOX_WIDTH));
263
- const lines = [];
264
-
265
- lines.push('+' + '-'.repeat(w) + '+');
266
- lines.push(pad(`| TARGET: ${project} - RECOMMENDED DESIGN SYSTEM`));
267
- lines.push('+' + '-'.repeat(w) + '+');
268
- lines.push(blank());
269
-
270
- lines.push(pad(`| PATTERN: ${pattern.name || ''}`));
271
- if (pattern.conversion) lines.push(pad(`| Conversion: ${pattern.conversion}`));
272
- if (pattern.cta_placement) lines.push(pad(`| CTA: ${pattern.cta_placement}`));
273
- lines.push(pad('| Sections:'));
274
- sections.forEach((s, i) => lines.push(pad(`| ${i + 1}. ${s}`)));
275
- lines.push(blank());
276
-
277
- lines.push(pad(`| STYLE: ${style.name || ''}`));
278
- if (style.keywords) wrapText(`Keywords: ${style.keywords}`, '| ', BOX_WIDTH).forEach(l => lines.push(pad(l)));
279
- if (style.best_for) wrapText(`Best For: ${style.best_for}`, '| ', BOX_WIDTH).forEach(l => lines.push(pad(l)));
280
- if (style.performance || style.accessibility) {
281
- lines.push(pad(`| Performance: ${style.performance || ''} | Accessibility: ${style.accessibility || ''}`));
282
- }
283
- lines.push(blank());
284
-
285
- lines.push(pad('| COLORS:'));
286
- lines.push(pad(`| Primary: ${colors.primary || ''}`));
287
- lines.push(pad(`| Secondary: ${colors.secondary || ''}`));
288
- lines.push(pad(`| CTA: ${colors.cta || ''}`));
289
- lines.push(pad(`| Background: ${colors.background || ''}`));
290
- lines.push(pad(`| Text: ${colors.text || ''}`));
291
- if (colors.notes) wrapText(`Notes: ${colors.notes}`, '| ', BOX_WIDTH).forEach(l => lines.push(pad(l)));
292
- lines.push(blank());
293
-
294
- lines.push(pad(`| TYPOGRAPHY: ${typo.heading || ''} / ${typo.body || ''}`));
295
- if (typo.mood) wrapText(`Mood: ${typo.mood}`, '| ', BOX_WIDTH).forEach(l => lines.push(pad(l)));
296
- if (typo.best_for) wrapText(`Best For: ${typo.best_for}`, '| ', BOX_WIDTH).forEach(l => lines.push(pad(l)));
297
- if (typo.google_fonts_url) lines.push(pad(`| Google Fonts: ${typo.google_fonts_url}`));
298
- if (typo.css_import) lines.push(pad(`| CSS Import: ${typo.css_import.slice(0, 70)}...`));
299
- lines.push(blank());
300
-
301
- if (effects) {
302
- lines.push(pad('| KEY EFFECTS:'));
303
- wrapText(effects, '| ', BOX_WIDTH).forEach(l => lines.push(pad(l)));
304
- lines.push(blank());
305
- }
306
-
307
- if (antiPatterns) {
308
- lines.push(pad('| AVOID (Anti-patterns):'));
309
- wrapText(antiPatterns, '| ', BOX_WIDTH).forEach(l => lines.push(pad(l)));
310
- lines.push(blank());
311
- }
312
-
313
- lines.push(pad('| PRE-DELIVERY CHECKLIST:'));
314
- [
315
- '[ ] No emojis as icons (use SVG: Heroicons/Lucide)',
316
- '[ ] cursor-pointer on all clickable elements',
317
- '[ ] Hover states with smooth transitions (150-300ms)',
318
- '[ ] Light mode: text contrast 4.5:1 minimum',
319
- '[ ] Focus states visible for keyboard nav',
320
- '[ ] prefers-reduced-motion respected',
321
- '[ ] Responsive: 375px, 768px, 1024px, 1440px'
322
- ].forEach(item => lines.push(pad(`| ${item}`)));
323
- lines.push(blank());
324
-
325
- lines.push('+' + '-'.repeat(w) + '+');
326
- return lines.join('\n');
327
- } catch (err) {
328
- console.error('Error formatting ASCII box:', err?.message || err);
329
- return `Error: could not format design system (${err?.message || err})`;
330
- }
331
- }
332
-
333
- function formatMarkdown(ds) {
334
- try {
335
- if (!ds || typeof ds !== 'object') return 'Error: invalid design system object';
336
- const project = ds.project_name || 'PROJECT';
337
- const pattern = ds.pattern || {};
338
- const style = ds.style || {};
339
- const colors = ds.colors || {};
340
- const typo = ds.typography || {};
341
- const effects = ds.key_effects || '';
342
- const antiPatterns = ds.anti_patterns || '';
343
-
344
- const L = [];
345
- L.push(`## Design System: ${project}`, '');
346
-
347
- L.push('### Pattern');
348
- L.push(`- **Name:** ${pattern.name || ''}`);
349
- if (pattern.conversion) L.push(`- **Conversion Focus:** ${pattern.conversion}`);
350
- if (pattern.cta_placement) L.push(`- **CTA Placement:** ${pattern.cta_placement}`);
351
- if (pattern.color_strategy) L.push(`- **Color Strategy:** ${pattern.color_strategy}`);
352
- L.push(`- **Sections:** ${pattern.sections || ''}`, '');
353
-
354
- L.push('### Style');
355
- L.push(`- **Name:** ${style.name || ''}`);
356
- if (style.keywords) L.push(`- **Keywords:** ${style.keywords}`);
357
- if (style.best_for) L.push(`- **Best For:** ${style.best_for}`);
358
- if (style.performance || style.accessibility) {
359
- L.push(`- **Performance:** ${style.performance || ''} | **Accessibility:** ${style.accessibility || ''}`);
360
- }
361
- L.push('');
362
-
363
- L.push('### Colors');
364
- L.push('| Role | Hex |', '|------|-----|');
365
- L.push(`| Primary | ${colors.primary || ''} |`);
366
- L.push(`| Secondary | ${colors.secondary || ''} |`);
367
- L.push(`| CTA | ${colors.cta || ''} |`);
368
- L.push(`| Background | ${colors.background || ''} |`);
369
- L.push(`| Text | ${colors.text || ''} |`);
370
- if (colors.notes) L.push(`\n*Notes: ${colors.notes}*`);
371
- L.push('');
372
-
373
- L.push('### Typography');
374
- L.push(`- **Heading:** ${typo.heading || ''}`);
375
- L.push(`- **Body:** ${typo.body || ''}`);
376
- if (typo.mood) L.push(`- **Mood:** ${typo.mood}`);
377
- if (typo.best_for) L.push(`- **Best For:** ${typo.best_for}`);
378
- if (typo.google_fonts_url) L.push(`- **Google Fonts:** ${typo.google_fonts_url}`);
379
- if (typo.css_import) L.push('- **CSS Import:**', '```css', typo.css_import, '```');
380
- L.push('');
381
-
382
- if (effects) L.push('### Key Effects', effects, '');
383
- if (antiPatterns) L.push('### Avoid (Anti-patterns)', `- ${antiPatterns.replace(/ \+ /g, '\n- ')}`, '');
384
-
385
- L.push('### Pre-Delivery Checklist');
386
- L.push('- [ ] No emojis as icons (use SVG: Heroicons/Lucide)');
387
- L.push('- [ ] cursor-pointer on all clickable elements');
388
- L.push('- [ ] Hover states with smooth transitions (150-300ms)');
389
- L.push('- [ ] Light mode: text contrast 4.5:1 minimum');
390
- L.push('- [ ] Focus states visible for keyboard nav');
391
- L.push('- [ ] prefers-reduced-motion respected');
392
- L.push('- [ ] Responsive: 375px, 768px, 1024px, 1440px', '');
393
-
394
- return L.join('\n');
395
- } catch (err) {
396
- console.error('Error formatting markdown:', err?.message || err);
397
- return `Error: could not format design system (${err?.message || err})`;
398
- }
399
- }
400
-
401
- // ============ PERSISTENCE ============
402
-
403
- function timestamp() {
404
- const d = new Date();
405
- const pad = n => String(n).padStart(2, '0');
406
- return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;
407
- }
408
-
409
- function formatMasterMd(ds) {
410
- try {
411
- if (!ds || typeof ds !== 'object') return '# Error: invalid design system object';
412
- const project = ds.project_name || 'PROJECT';
413
- const pattern = ds.pattern || {};
414
- const style = ds.style || {};
415
- const colors = ds.colors || {};
416
- const typo = ds.typography || {};
417
- const effects = ds.key_effects || '';
418
- const antiPatterns = ds.anti_patterns || '';
419
- const ts = timestamp();
420
-
421
- const L = [];
422
-
423
- L.push('# Design System Master File');
424
- L.push('');
425
- L.push('> **LOGIC:** When building a specific page, first check `design-system/pages/[page-name].md`.');
426
- L.push('> If that file exists, its rules **override** this Master file.');
427
- L.push('> If not, strictly follow the rules below.');
428
- L.push('', '---', '');
429
- L.push(`**Project:** ${project}`);
430
- L.push(`**Generated:** ${ts}`);
431
- L.push(`**Category:** ${ds.category || 'General'}`);
432
- L.push('', '---', '');
433
-
434
- // Global Rules
435
- L.push('## Global Rules', '');
436
-
437
- L.push('### Color Palette', '');
438
- L.push('| Role | Hex | CSS Variable |');
439
- L.push('|------|-----|--------------|');
440
- L.push(`| Primary | \`${colors.primary || '#2563EB'}\` | \`--color-primary\` |`);
441
- L.push(`| Secondary | \`${colors.secondary || '#3B82F6'}\` | \`--color-secondary\` |`);
442
- L.push(`| CTA/Accent | \`${colors.cta || '#F97316'}\` | \`--color-cta\` |`);
443
- L.push(`| Background | \`${colors.background || '#F8FAFC'}\` | \`--color-background\` |`);
444
- L.push(`| Text | \`${colors.text || '#1E293B'}\` | \`--color-text\` |`);
445
- L.push('');
446
- if (colors.notes) L.push(`**Color Notes:** ${colors.notes}`, '');
447
-
448
- L.push('### Typography', '');
449
- L.push(`- **Heading Font:** ${typo.heading || 'Inter'}`);
450
- L.push(`- **Body Font:** ${typo.body || 'Inter'}`);
451
- if (typo.mood) L.push(`- **Mood:** ${typo.mood}`);
452
- if (typo.google_fonts_url) L.push(`- **Google Fonts:** [${typo.heading || ''} + ${typo.body || ''}](${typo.google_fonts_url})`);
453
- L.push('');
454
- if (typo.css_import) L.push('**CSS Import:**', '```css', typo.css_import, '```', '');
455
-
456
- L.push('### Spacing Variables', '');
457
- L.push('| Token | Value | Usage |');
458
- L.push('|-------|-------|-------|');
459
- L.push('| `--space-xs` | `4px` / `0.25rem` | Tight gaps |');
460
- L.push('| `--space-sm` | `8px` / `0.5rem` | Icon gaps, inline spacing |');
461
- L.push('| `--space-md` | `16px` / `1rem` | Standard padding |');
462
- L.push('| `--space-lg` | `24px` / `1.5rem` | Section padding |');
463
- L.push('| `--space-xl` | `32px` / `2rem` | Large gaps |');
464
- L.push('| `--space-2xl` | `48px` / `3rem` | Section margins |');
465
- L.push('| `--space-3xl` | `64px` / `4rem` | Hero padding |');
466
- L.push('');
467
-
468
- L.push('### Shadow Depths', '');
469
- L.push('| Level | Value | Usage |');
470
- L.push('|-------|-------|-------|');
471
- L.push('| `--shadow-sm` | `0 1px 2px rgba(0,0,0,0.05)` | Subtle lift |');
472
- L.push('| `--shadow-md` | `0 4px 6px rgba(0,0,0,0.1)` | Cards, buttons |');
473
- L.push('| `--shadow-lg` | `0 10px 15px rgba(0,0,0,0.1)` | Modals, dropdowns |');
474
- L.push('| `--shadow-xl` | `0 20px 25px rgba(0,0,0,0.15)` | Hero images, featured cards |');
475
- L.push('');
476
-
477
- // Component Specs
478
- L.push('---', '', '## Component Specs', '');
479
-
480
- L.push('### Buttons', '');
481
- L.push('```css');
482
- L.push('/* Primary Button */');
483
- L.push('.btn-primary {');
484
- L.push(` background: ${colors.cta || '#F97316'};`);
485
- L.push(' color: white;');
486
- L.push(' padding: 12px 24px;');
487
- L.push(' border-radius: 8px;');
488
- L.push(' font-weight: 600;');
489
- L.push(' transition: all 200ms ease;');
490
- L.push(' cursor: pointer;');
491
- L.push('}');
492
- L.push('');
493
- L.push('.btn-primary:hover {');
494
- L.push(' opacity: 0.9;');
495
- L.push(' transform: translateY(-1px);');
496
- L.push('}');
497
- L.push('');
498
- L.push('/* Secondary Button */');
499
- L.push('.btn-secondary {');
500
- L.push(' background: transparent;');
501
- L.push(` color: ${colors.primary || '#2563EB'};`);
502
- L.push(` border: 2px solid ${colors.primary || '#2563EB'};`);
503
- L.push(' padding: 12px 24px;');
504
- L.push(' border-radius: 8px;');
505
- L.push(' font-weight: 600;');
506
- L.push(' transition: all 200ms ease;');
507
- L.push(' cursor: pointer;');
508
- L.push('}');
509
- L.push('```', '');
510
-
511
- L.push('### Cards', '');
512
- L.push('```css');
513
- L.push('.card {');
514
- L.push(` background: ${colors.background || '#FFFFFF'};`);
515
- L.push(' border-radius: 12px;');
516
- L.push(' padding: 24px;');
517
- L.push(' box-shadow: var(--shadow-md);');
518
- L.push(' transition: all 200ms ease;');
519
- L.push(' cursor: pointer;');
520
- L.push('}');
521
- L.push('');
522
- L.push('.card:hover {');
523
- L.push(' box-shadow: var(--shadow-lg);');
524
- L.push(' transform: translateY(-2px);');
525
- L.push('}');
526
- L.push('```', '');
527
-
528
- L.push('### Inputs', '');
529
- L.push('```css');
530
- L.push('.input {');
531
- L.push(' padding: 12px 16px;');
532
- L.push(' border: 1px solid #E2E8F0;');
533
- L.push(' border-radius: 8px;');
534
- L.push(' font-size: 16px;');
535
- L.push(' transition: border-color 200ms ease;');
536
- L.push('}');
537
- L.push('');
538
- L.push('.input:focus {');
539
- L.push(` border-color: ${colors.primary || '#2563EB'};`);
540
- L.push(' outline: none;');
541
- L.push(` box-shadow: 0 0 0 3px ${colors.primary || '#2563EB'}20;`);
542
- L.push('}');
543
- L.push('```', '');
544
-
545
- L.push('### Modals', '');
546
- L.push('```css');
547
- L.push('.modal-overlay {');
548
- L.push(' background: rgba(0, 0, 0, 0.5);');
549
- L.push(' backdrop-filter: blur(4px);');
550
- L.push('}');
551
- L.push('');
552
- L.push('.modal {');
553
- L.push(' background: white;');
554
- L.push(' border-radius: 16px;');
555
- L.push(' padding: 32px;');
556
- L.push(' box-shadow: var(--shadow-xl);');
557
- L.push(' max-width: 500px;');
558
- L.push(' width: 90%;');
559
- L.push('}');
560
- L.push('```', '');
561
-
562
- // Style Guidelines
563
- L.push('---', '', '## Style Guidelines', '');
564
- L.push(`**Style:** ${style.name || 'Minimalism'}`, '');
565
- if (style.keywords) L.push(`**Keywords:** ${style.keywords}`, '');
566
- if (style.best_for) L.push(`**Best For:** ${style.best_for}`, '');
567
- if (effects) L.push(`**Key Effects:** ${effects}`, '');
568
-
569
- L.push('### Page Pattern', '');
570
- L.push(`**Pattern Name:** ${pattern.name || ''}`, '');
571
- if (pattern.conversion) L.push(`- **Conversion Strategy:** ${pattern.conversion}`);
572
- if (pattern.cta_placement) L.push(`- **CTA Placement:** ${pattern.cta_placement}`);
573
- L.push(`- **Section Order:** ${pattern.sections || ''}`, '');
574
-
575
- // Anti-Patterns
576
- L.push('---', '', '## Anti-Patterns (Do NOT Use)', '');
577
- if (antiPatterns) {
578
- for (const a of antiPatterns.split('+').map(s => s.trim()).filter(Boolean)) {
579
- L.push(`- ❌ ${a}`);
580
- }
581
- }
582
- L.push('');
583
- L.push('### Additional Forbidden Patterns', '');
584
- L.push('- ❌ **Emojis as icons** — Use SVG icons (Heroicons, Lucide, Simple Icons)');
585
- L.push('- ❌ **Missing cursor:pointer** — All clickable elements must have cursor:pointer');
586
- L.push('- ❌ **Layout-shifting hovers** — Avoid scale transforms that shift layout');
587
- L.push('- ❌ **Low contrast text** — Maintain 4.5:1 minimum contrast ratio');
588
- L.push('- ❌ **Instant state changes** — Always use transitions (150-300ms)');
589
- L.push('- ❌ **Invisible focus states** — Focus states must be visible for a11y');
590
- L.push('');
591
-
592
- // Pre-Delivery Checklist
593
- L.push('---', '', '## Pre-Delivery Checklist', '');
594
- L.push('Before delivering any UI code, verify:', '');
595
- L.push('- [ ] No emojis used as icons (use SVG instead)');
596
- L.push('- [ ] All icons from consistent icon set (Heroicons/Lucide)');
597
- L.push('- [ ] `cursor-pointer` on all clickable elements');
598
- L.push('- [ ] Hover states with smooth transitions (150-300ms)');
599
- L.push('- [ ] Light mode: text contrast 4.5:1 minimum');
600
- L.push('- [ ] Focus states visible for keyboard navigation');
601
- L.push('- [ ] `prefers-reduced-motion` respected');
602
- L.push('- [ ] Responsive: 375px, 768px, 1024px, 1440px');
603
- L.push('- [ ] No content hidden behind fixed navbars');
604
- L.push('- [ ] No horizontal scroll on mobile', '');
605
-
606
- return L.join('\n');
607
- } catch (err) {
608
- console.error('Error formatting MASTER.md:', err?.message || err);
609
- return `# Error: could not format design system (${err?.message || err})`;
610
- }
611
- }
612
-
613
- // ============ PAGE OVERRIDES ============
614
-
615
- function detectPageType(context, styleResults) {
616
- const ctx = context.toLowerCase();
617
- const patterns = [
618
- [['dashboard', 'admin', 'analytics', 'data', 'metrics', 'stats', 'monitor', 'overview'], 'Dashboard / Data View'],
619
- [['checkout', 'payment', 'cart', 'purchase', 'order', 'billing'], 'Checkout / Payment'],
620
- [['settings', 'profile', 'account', 'preferences', 'config'], 'Settings / Profile'],
621
- [['landing', 'marketing', 'homepage', 'hero', 'home', 'promo'], 'Landing / Marketing'],
622
- [['login', 'signin', 'signup', 'register', 'auth', 'password'], 'Authentication'],
623
- [['pricing', 'plans', 'subscription', 'tiers', 'packages'], 'Pricing / Plans'],
624
- [['blog', 'article', 'post', 'news', 'content', 'story'], 'Blog / Article'],
625
- [['product', 'item', 'detail', 'pdp', 'shop', 'store'], 'Product Detail'],
626
- [['search', 'results', 'browse', 'filter', 'catalog', 'list'], 'Search Results'],
627
- [['empty', '404', 'error', 'not found', 'zero'], 'Empty State']
628
- ];
629
-
630
- for (const [keywords, pageType] of patterns) {
631
- if (keywords.some(kw => ctx.includes(kw))) return pageType;
632
- }
633
-
634
- if (styleResults && styleResults.length > 0) {
635
- const bestFor = (styleResults[0]['Best For'] || '').toLowerCase();
636
- if (bestFor.includes('dashboard') || bestFor.includes('data')) return 'Dashboard / Data View';
637
- if (bestFor.includes('landing') || bestFor.includes('marketing')) return 'Landing / Marketing';
638
- }
639
-
640
- return 'General';
641
- }
642
-
643
- function generateIntelligentOverrides(pageName, pageQuery, _designSystem) {
644
- try {
645
- const pageLower = (pageName || '').toLowerCase();
646
- const queryLower = (pageQuery || '').toLowerCase();
647
- const combined = `${pageLower} ${queryLower}`;
648
-
649
- let styleSearch = { results: [] };
650
- let uxSearch = { results: [] };
651
- let landingSearch = { results: [] };
652
- try {
653
- styleSearch = search(combined, 'style', 1);
654
- } catch (err) {
655
- console.error('Warning: style search failed in page overrides:', err?.message || err);
656
- }
657
- try {
658
- uxSearch = search(combined, 'ux', 3);
659
- } catch (err) {
660
- console.error('Warning: ux search failed in page overrides:', err?.message || err);
661
- }
662
- try {
663
- landingSearch = search(combined, 'landing', 1);
664
- } catch (err) {
665
- console.error('Warning: landing search failed in page overrides:', err?.message || err);
666
- }
667
-
668
- const styleResults = styleSearch.results || [];
669
- const uxResults = uxSearch.results || [];
670
- const landingResults = landingSearch.results || [];
671
-
672
- const pageType = detectPageType(combined, styleResults);
673
-
674
- const layout = {};
675
- const spacing = {};
676
- const typography = {};
677
- const colors = {};
678
- const components = [];
679
- const uniqueComponents = [];
680
- const recommendations = [];
681
-
682
- if (styleResults.length > 0) {
683
- const s = styleResults[0];
684
- const keywords = (s.Keywords || '').toLowerCase();
685
- const effects = s['Effects & Animation'] || '';
686
-
687
- if (['data', 'dense', 'dashboard', 'grid'].some(kw => keywords.includes(kw))) {
688
- layout['Max Width'] = '1400px or full-width';
689
- layout['Grid'] = '12-column grid for data flexibility';
690
- spacing['Content Density'] = 'High — optimize for information display';
691
- } else if (['minimal', 'simple', 'clean', 'single'].some(kw => keywords.includes(kw))) {
692
- layout['Max Width'] = '800px (narrow, focused)';
693
- layout['Layout'] = 'Single column, centered';
694
- spacing['Content Density'] = 'Low — focus on clarity';
695
- } else {
696
- layout['Max Width'] = '1200px (standard)';
697
- layout['Layout'] = 'Full-width sections, centered content';
698
- }
699
-
700
- if (effects) recommendations.push(`Effects: ${effects}`);
701
- }
702
-
703
- for (const ux of uxResults) {
704
- const cat = ux.Category || '';
705
- const doText = ux.Do || '';
706
- const dontText = ux["Don't"] || '';
707
- if (doText) recommendations.push(`${cat}: ${doText}`);
708
- if (dontText) components.push(`Avoid: ${dontText}`);
709
- }
710
-
711
- if (landingResults.length > 0) {
712
- const l = landingResults[0];
713
- if (l['Section Order']) layout['Sections'] = l['Section Order'];
714
- if (l['Primary CTA Placement']) recommendations.push(`CTA Placement: ${l['Primary CTA Placement']}`);
715
- if (l['Color Strategy']) colors['Strategy'] = l['Color Strategy'];
716
- }
717
-
718
- if (Object.keys(layout).length === 0) {
719
- layout['Max Width'] = '1200px';
720
- layout['Layout'] = 'Responsive grid';
721
- }
722
-
723
- if (recommendations.length === 0) {
724
- recommendations.push('Refer to MASTER.md for all design rules', 'Add specific overrides as needed for this page');
725
- }
726
-
727
- return { page_type: pageType, layout, spacing, typography, colors, components, unique_components: uniqueComponents, recommendations };
728
- } catch (err) {
729
- console.error('Error generating page overrides:', err?.message || err);
730
- return {
731
- page_type: 'General',
732
- layout: { 'Max Width': '1200px', Layout: 'Responsive grid' },
733
- spacing: {},
734
- typography: {},
735
- colors: {},
736
- components: [],
737
- unique_components: [],
738
- recommendations: ['Refer to MASTER.md for all design rules']
739
- };
740
- }
741
- }
742
-
743
- function formatPageOverrideMd(designSystem, pageName, pageQuery) {
744
- try {
745
- if (!designSystem || typeof designSystem !== 'object') return '# Error: invalid design system';
746
- const project = designSystem.project_name || 'PROJECT';
747
- const ts = timestamp();
748
- const pageTitle = (pageName || 'Page').replace(/[-_]/g, ' ').replace(/\b\w/g, c => c.toUpperCase());
749
- const overrides = generateIntelligentOverrides(pageName, pageQuery, designSystem);
750
-
751
- const L = [];
752
-
753
- L.push(`# ${pageTitle} Page Overrides`, '');
754
- L.push(`> **PROJECT:** ${project}`);
755
- L.push(`> **Generated:** ${ts}`);
756
- L.push(`> **Page Type:** ${overrides.page_type || 'General'}`, '');
757
- L.push('> ⚠️ **IMPORTANT:** Rules in this file **override** the Master file (`design-system/MASTER.md`).');
758
- L.push('> Only deviations from the Master are documented here. For all other rules, refer to the Master.');
759
- L.push('', '---', '');
760
-
761
- L.push('## Page-Specific Rules', '');
762
-
763
- const section = (title, obj, fallback) => {
764
- L.push(`### ${title}`, '');
765
- const entries = Object.entries(obj || {});
766
- if (entries.length > 0) {
767
- for (const [k, v] of entries) L.push(`- **${k}:** ${v}`);
768
- } else {
769
- L.push(`- ${fallback}`);
770
- }
771
- L.push('');
772
- };
773
-
774
- section('Layout Overrides', overrides.layout, 'No overrides — use Master layout');
775
- section('Spacing Overrides', overrides.spacing, 'No overrides — use Master spacing');
776
- section('Typography Overrides', overrides.typography, 'No overrides — use Master typography');
777
- section('Color Overrides', overrides.colors, 'No overrides — use Master colors');
778
-
779
- L.push('### Component Overrides', '');
780
- if (overrides.components && overrides.components.length > 0) {
781
- for (const c of overrides.components) L.push(`- ${c}`);
782
- } else {
783
- L.push('- No overrides — use Master component specs');
784
- }
785
- L.push('');
786
-
787
- L.push('---', '', '## Page-Specific Components', '');
788
- if (overrides.unique_components && overrides.unique_components.length > 0) {
789
- for (const c of overrides.unique_components) L.push(`- ${c}`);
790
- } else {
791
- L.push('- No unique components for this page');
792
- }
793
- L.push('');
794
-
795
- L.push('---', '', '## Recommendations', '');
796
- if (overrides.recommendations && overrides.recommendations.length > 0) {
797
- for (const r of overrides.recommendations) L.push(`- ${r}`);
798
- }
799
- L.push('');
800
-
801
- return L.join('\n');
802
- } catch (err) {
803
- console.error('Error formatting page override:', err?.message || err);
804
- return `# Error: could not format page override (${err?.message || err})`;
805
- }
806
- }
807
-
808
- function persistDesignSystem(designSystem, page, outputDir, pageQuery) {
809
- try {
810
- if (!designSystem || typeof designSystem !== 'object') {
811
- return { status: 'error', error: 'Invalid design system object' };
812
- }
813
- const baseDir = outputDir || process.cwd();
814
- const project = designSystem.project_name || 'default';
815
- const projectSlug = String(project).toLowerCase().replace(/\s+/g, '-');
816
-
817
- const dsDir = path.join(baseDir, 'design-system', projectSlug);
818
- const pagesDir = path.join(dsDir, 'pages');
819
- const createdFiles = [];
820
-
821
- fs.mkdirSync(pagesDir, { recursive: true });
822
-
823
- const masterFile = path.join(dsDir, 'MASTER.md');
824
- fs.writeFileSync(masterFile, formatMasterMd(designSystem), 'utf-8');
825
- createdFiles.push(masterFile);
826
-
827
- if (page) {
828
- const pageFile = path.join(pagesDir, `${String(page).toLowerCase().replace(/\s+/g, '-')}.md`);
829
- fs.writeFileSync(pageFile, formatPageOverrideMd(designSystem, page, pageQuery), 'utf-8');
830
- createdFiles.push(pageFile);
831
- }
832
-
833
- return { status: 'success', design_system_dir: dsDir, created_files: createdFiles };
834
- } catch (err) {
835
- console.error('Error persisting design system:', err?.message || err);
836
- return { status: 'error', error: err?.message || String(err) };
837
- }
838
- }
839
-
840
- // ============ MAIN ENTRY POINT ============
841
-
842
- function generateDesignSystem(query, projectName, outputFormat = 'ascii', persist = false, page = null, outputDir = null) {
843
- try {
844
- const ds = generate(query, projectName);
845
-
846
- if (persist) {
847
- const persistResult = persistDesignSystem(ds, page, outputDir, query);
848
- if (persistResult.status === 'error') {
849
- console.error('Persist warning:', persistResult.error);
850
- }
851
- }
852
-
853
- return outputFormat === 'markdown' ? formatMarkdown(ds) : formatAsciiBox(ds);
854
- } catch (err) {
855
- console.error('Error in generateDesignSystem:', err?.message || err);
856
- const fallback = getDefaultDesignSystem(query, projectName);
857
- return outputFormat === 'markdown' ? formatMarkdown(fallback) : formatAsciiBox(fallback);
858
- }
859
- }
860
-
861
- export { generateDesignSystem, persistDesignSystem };