@tscircuit/fake-snippets 0.0.120 → 0.0.122

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 (612) hide show
  1. package/dist/bundle.js +1 -2
  2. package/package.json +4 -1
  3. package/.github/CODEOWNERS +0 -1
  4. package/.github/workflows/bun-formatcheck.yml +0 -26
  5. package/.github/workflows/bun-pver-release.yml +0 -28
  6. package/.github/workflows/bun-test.yml +0 -28
  7. package/.github/workflows/bun-typecheck.yml +0 -26
  8. package/.github/workflows/bundle-size-analysis.yml +0 -79
  9. package/.github/workflows/stale.yml +0 -40
  10. package/.github/workflows/update-package.yml +0 -58
  11. package/.github/workflows/update-snapshots.yml +0 -49
  12. package/CLAUDE.md +0 -92
  13. package/CONTRIBUTING.md +0 -59
  14. package/api/generated-index.js +0 -456
  15. package/biome.json +0 -67
  16. package/bun-tests/fake-snippets-api/fixtures/get-test-server.ts +0 -141
  17. package/bun-tests/fake-snippets-api/fixtures/preload.ts +0 -18
  18. package/bun-tests/fake-snippets-api/fixtures/start-server.ts +0 -48
  19. package/bun-tests/fake-snippets-api/routes/accounts/get.test.ts +0 -64
  20. package/bun-tests/fake-snippets-api/routes/accounts/get_account_balance.test.ts +0 -14
  21. package/bun-tests/fake-snippets-api/routes/ai_reviews/create.test.ts +0 -21
  22. package/bun-tests/fake-snippets-api/routes/ai_reviews/get.test.ts +0 -16
  23. package/bun-tests/fake-snippets-api/routes/ai_reviews/list.test.ts +0 -14
  24. package/bun-tests/fake-snippets-api/routes/ai_reviews/process_review.test.ts +0 -16
  25. package/bun-tests/fake-snippets-api/routes/bug_reports/create.test.ts +0 -37
  26. package/bun-tests/fake-snippets-api/routes/bug_reports/upload_file.test.ts +0 -89
  27. package/bun-tests/fake-snippets-api/routes/datasheets/create.test.ts +0 -16
  28. package/bun-tests/fake-snippets-api/routes/datasheets/get.test.ts +0 -54
  29. package/bun-tests/fake-snippets-api/routes/datasheets/list.test.ts +0 -49
  30. package/bun-tests/fake-snippets-api/routes/datasheets/process_all_datasheets.test.ts +0 -22
  31. package/bun-tests/fake-snippets-api/routes/datasheets/run_async_tasks.test.ts +0 -19
  32. package/bun-tests/fake-snippets-api/routes/health.test.ts +0 -9
  33. package/bun-tests/fake-snippets-api/routes/order_files/get.test.ts +0 -48
  34. package/bun-tests/fake-snippets-api/routes/order_files/upload.test.ts +0 -77
  35. package/bun-tests/fake-snippets-api/routes/order_quotes/create.test.ts +0 -33
  36. package/bun-tests/fake-snippets-api/routes/orders/create.test.ts +0 -17
  37. package/bun-tests/fake-snippets-api/routes/orders/get.test.ts +0 -199
  38. package/bun-tests/fake-snippets-api/routes/orders/list.test.ts +0 -30
  39. package/bun-tests/fake-snippets-api/routes/orgs/add_member.test.ts +0 -26
  40. package/bun-tests/fake-snippets-api/routes/orgs/create.test.ts +0 -37
  41. package/bun-tests/fake-snippets-api/routes/orgs/get.test.ts +0 -53
  42. package/bun-tests/fake-snippets-api/routes/orgs/get_member.test.ts +0 -110
  43. package/bun-tests/fake-snippets-api/routes/orgs/list.test.ts +0 -17
  44. package/bun-tests/fake-snippets-api/routes/orgs/list_members.test.ts +0 -24
  45. package/bun-tests/fake-snippets-api/routes/orgs/remove_member.test.ts +0 -81
  46. package/bun-tests/fake-snippets-api/routes/orgs/update.test.ts +0 -151
  47. package/bun-tests/fake-snippets-api/routes/package_builds/get.test.ts +0 -279
  48. package/bun-tests/fake-snippets-api/routes/package_builds/list.test.ts +0 -292
  49. package/bun-tests/fake-snippets-api/routes/package_files/create.test.ts +0 -320
  50. package/bun-tests/fake-snippets-api/routes/package_files/create_or_update.test.ts +0 -603
  51. package/bun-tests/fake-snippets-api/routes/package_files/delete.test.ts +0 -233
  52. package/bun-tests/fake-snippets-api/routes/package_files/download.test.ts +0 -248
  53. package/bun-tests/fake-snippets-api/routes/package_files/get.test.ts +0 -230
  54. package/bun-tests/fake-snippets-api/routes/package_files/list.test.ts +0 -212
  55. package/bun-tests/fake-snippets-api/routes/package_releases/create.test.ts +0 -171
  56. package/bun-tests/fake-snippets-api/routes/package_releases/get.test.ts +0 -181
  57. package/bun-tests/fake-snippets-api/routes/package_releases/get_image_generation_fields.test.ts +0 -38
  58. package/bun-tests/fake-snippets-api/routes/package_releases/list.test.ts +0 -149
  59. package/bun-tests/fake-snippets-api/routes/package_releases/update.test.ts +0 -160
  60. package/bun-tests/fake-snippets-api/routes/packages/add_star.test.ts +0 -129
  61. package/bun-tests/fake-snippets-api/routes/packages/create.test.ts +0 -67
  62. package/bun-tests/fake-snippets-api/routes/packages/delete.test.ts +0 -74
  63. package/bun-tests/fake-snippets-api/routes/packages/fork.test.ts +0 -132
  64. package/bun-tests/fake-snippets-api/routes/packages/get.test.ts +0 -112
  65. package/bun-tests/fake-snippets-api/routes/packages/images.test.ts +0 -72
  66. package/bun-tests/fake-snippets-api/routes/packages/list-1.test.ts +0 -145
  67. package/bun-tests/fake-snippets-api/routes/packages/list-2.test.ts +0 -48
  68. package/bun-tests/fake-snippets-api/routes/packages/list_latest.test.ts +0 -110
  69. package/bun-tests/fake-snippets-api/routes/packages/list_trending.test.ts +0 -103
  70. package/bun-tests/fake-snippets-api/routes/packages/remove_star.test.ts +0 -131
  71. package/bun-tests/fake-snippets-api/routes/packages/update.test.ts +0 -217
  72. package/bun-tests/fake-snippets-api/routes/proxy.test.ts +0 -42
  73. package/bun.lock +0 -2724
  74. package/bunfig.toml +0 -3
  75. package/components.json +0 -20
  76. package/docs/CIRCUIT_JSON_SOURCE_COMPONENT_OVERVIEW.md +0 -151
  77. package/fake-snippets-api/README.md +0 -6
  78. package/fake-snippets-api/biome.json +0 -47
  79. package/fake-snippets-api/bun.lockb +0 -0
  80. package/fake-snippets-api/lib/db/autoload-dev-packages.ts +0 -222
  81. package/fake-snippets-api/lib/db/autoload-packages.json +0 -8
  82. package/fake-snippets-api/lib/db/db-client.ts +0 -1857
  83. package/fake-snippets-api/lib/db/schema.ts +0 -502
  84. package/fake-snippets-api/lib/db/seed.ts +0 -1843
  85. package/fake-snippets-api/lib/index.ts +0 -3
  86. package/fake-snippets-api/lib/middleware/with-ctx-error.ts +0 -26
  87. package/fake-snippets-api/lib/middleware/with-db.ts +0 -15
  88. package/fake-snippets-api/lib/middleware/with-error-handling.ts +0 -24
  89. package/fake-snippets-api/lib/middleware/with-optional-session-auth.ts +0 -53
  90. package/fake-snippets-api/lib/middleware/with-request-logging.ts +0 -54
  91. package/fake-snippets-api/lib/middleware/with-session-auth.ts +0 -102
  92. package/fake-snippets-api/lib/middleware/with-winter-spec.ts +0 -24
  93. package/fake-snippets-api/lib/package_file/generate-fs-sha.ts +0 -20
  94. package/fake-snippets-api/lib/package_file/get-package-file-id-from-file-descriptor.ts +0 -173
  95. package/fake-snippets-api/lib/package_release/find-package-release-id.ts +0 -120
  96. package/fake-snippets-api/lib/public-mapping/public-map-org.ts +0 -34
  97. package/fake-snippets-api/lib/public-mapping/public-map-package-build.ts +0 -48
  98. package/fake-snippets-api/lib/public-mapping/public-map-package-release.ts +0 -88
  99. package/fake-snippets-api/lib/public-mapping/public-map-package.ts +0 -60
  100. package/fake-snippets-api/lib/with-winter-spec.ts +0 -1
  101. package/fake-snippets-api/next-env.d.ts +0 -5
  102. package/fake-snippets-api/routes/api/_fake/ai_reviews/process_review.ts +0 -31
  103. package/fake-snippets-api/routes/api/_fake/datasheets/process_all_datasheets.ts +0 -38
  104. package/fake-snippets-api/routes/api/_fake/db.ts +0 -11
  105. package/fake-snippets-api/routes/api/_fake/move_orders_forward.ts +0 -65
  106. package/fake-snippets-api/routes/api/_fake/received_quotes.ts +0 -112
  107. package/fake-snippets-api/routes/api/_fake/run_async_tasks.ts +0 -12
  108. package/fake-snippets-api/routes/api/_fake/seed.ts +0 -13
  109. package/fake-snippets-api/routes/api/accounts/get.ts +0 -35
  110. package/fake-snippets-api/routes/api/accounts/get_account_balance.ts +0 -22
  111. package/fake-snippets-api/routes/api/accounts/search.ts +0 -20
  112. package/fake-snippets-api/routes/api/accounts/update.ts +0 -32
  113. package/fake-snippets-api/routes/api/ai/[...anyroute].ts +0 -31
  114. package/fake-snippets-api/routes/api/ai.ts +0 -2
  115. package/fake-snippets-api/routes/api/ai_reviews/create.ts +0 -44
  116. package/fake-snippets-api/routes/api/ai_reviews/get.ts +0 -24
  117. package/fake-snippets-api/routes/api/ai_reviews/list.ts +0 -14
  118. package/fake-snippets-api/routes/api/aistream/[...anyroute].ts +0 -65
  119. package/fake-snippets-api/routes/api/autocomplete/create_autocomplete.ts +0 -16
  120. package/fake-snippets-api/routes/api/bug_reports/create.ts +0 -43
  121. package/fake-snippets-api/routes/api/bug_reports/upload_file.ts +0 -113
  122. package/fake-snippets-api/routes/api/datasheets/create.ts +0 -18
  123. package/fake-snippets-api/routes/api/datasheets/get.ts +0 -35
  124. package/fake-snippets-api/routes/api/datasheets/list.ts +0 -29
  125. package/fake-snippets-api/routes/api/github/installations/create_new_installation_redirect.ts +0 -75
  126. package/fake-snippets-api/routes/api/github/repos/list_available.ts +0 -91
  127. package/fake-snippets-api/routes/api/github/repos/refresh.ts +0 -44
  128. package/fake-snippets-api/routes/api/health.ts +0 -9
  129. package/fake-snippets-api/routes/api/internal/sessions/create_without_auth.ts +0 -63
  130. package/fake-snippets-api/routes/api/order_files/get.ts +0 -28
  131. package/fake-snippets-api/routes/api/order_files/upload.ts +0 -46
  132. package/fake-snippets-api/routes/api/order_quotes/create.ts +0 -60
  133. package/fake-snippets-api/routes/api/order_quotes/create_all_vendor_quotes.ts +0 -30
  134. package/fake-snippets-api/routes/api/order_quotes/get.ts +0 -29
  135. package/fake-snippets-api/routes/api/orders/create.ts +0 -70
  136. package/fake-snippets-api/routes/api/orders/get.ts +0 -168
  137. package/fake-snippets-api/routes/api/orders/list.ts +0 -15
  138. package/fake-snippets-api/routes/api/orgs/add_member.ts +0 -52
  139. package/fake-snippets-api/routes/api/orgs/create.ts +0 -48
  140. package/fake-snippets-api/routes/api/orgs/get.ts +0 -39
  141. package/fake-snippets-api/routes/api/orgs/get_member.ts +0 -67
  142. package/fake-snippets-api/routes/api/orgs/list.ts +0 -31
  143. package/fake-snippets-api/routes/api/orgs/list_members.ts +0 -106
  144. package/fake-snippets-api/routes/api/orgs/remove_member.ts +0 -46
  145. package/fake-snippets-api/routes/api/orgs/update.ts +0 -118
  146. package/fake-snippets-api/routes/api/package_builds/get.ts +0 -70
  147. package/fake-snippets-api/routes/api/package_builds/list.ts +0 -97
  148. package/fake-snippets-api/routes/api/package_files/create.ts +0 -135
  149. package/fake-snippets-api/routes/api/package_files/create_or_update.ts +0 -194
  150. package/fake-snippets-api/routes/api/package_files/delete.ts +0 -109
  151. package/fake-snippets-api/routes/api/package_files/download.ts +0 -87
  152. package/fake-snippets-api/routes/api/package_files/get.ts +0 -68
  153. package/fake-snippets-api/routes/api/package_files/list.ts +0 -54
  154. package/fake-snippets-api/routes/api/package_releases/create.ts +0 -109
  155. package/fake-snippets-api/routes/api/package_releases/get.ts +0 -137
  156. package/fake-snippets-api/routes/api/package_releases/list.ts +0 -85
  157. package/fake-snippets-api/routes/api/package_releases/rebuild.ts +0 -66
  158. package/fake-snippets-api/routes/api/package_releases/update.ts +0 -122
  159. package/fake-snippets-api/routes/api/packages/add_star.ts +0 -84
  160. package/fake-snippets-api/routes/api/packages/create.ts +0 -136
  161. package/fake-snippets-api/routes/api/packages/delete.ts +0 -41
  162. package/fake-snippets-api/routes/api/packages/fork.ts +0 -165
  163. package/fake-snippets-api/routes/api/packages/generate_from_jlcpcb.ts +0 -111
  164. package/fake-snippets-api/routes/api/packages/get.ts +0 -81
  165. package/fake-snippets-api/routes/api/packages/images/[owner_github_username]/[unscoped_name]/[view_format].ts +0 -119
  166. package/fake-snippets-api/routes/api/packages/list.ts +0 -105
  167. package/fake-snippets-api/routes/api/packages/list_latest.ts +0 -29
  168. package/fake-snippets-api/routes/api/packages/list_trending.ts +0 -43
  169. package/fake-snippets-api/routes/api/packages/remove_star.ts +0 -70
  170. package/fake-snippets-api/routes/api/packages/search.ts +0 -19
  171. package/fake-snippets-api/routes/api/packages/update.ts +0 -112
  172. package/fake-snippets-api/routes/api/packages/update_ai_description.ts +0 -37
  173. package/fake-snippets-api/routes/api/proxy.ts +0 -128
  174. package/fake-snippets-api/routes/api/snippets/add_star.ts +0 -62
  175. package/fake-snippets-api/routes/api/snippets/create.ts +0 -184
  176. package/fake-snippets-api/routes/api/snippets/delete.ts +0 -41
  177. package/fake-snippets-api/routes/api/snippets/download.ts +0 -162
  178. package/fake-snippets-api/routes/api/snippets/generate_from_jlcpcb.ts +0 -48
  179. package/fake-snippets-api/routes/api/snippets/get.ts +0 -83
  180. package/fake-snippets-api/routes/api/snippets/get_image.ts +0 -65
  181. package/fake-snippets-api/routes/api/snippets/images/[author]/[snippet_name]/[typeFormat].ts +0 -80
  182. package/fake-snippets-api/routes/api/snippets/list.ts +0 -151
  183. package/fake-snippets-api/routes/api/snippets/list_latest.ts +0 -13
  184. package/fake-snippets-api/routes/api/snippets/list_trending.ts +0 -38
  185. package/fake-snippets-api/routes/api/snippets/remove_star.ts +0 -42
  186. package/fake-snippets-api/routes/api/snippets/search.ts +0 -18
  187. package/fake-snippets-api/routes/api/snippets/update.ts +0 -114
  188. package/fake-snippets-api/utils/normalizeProjectFilePath.ts +0 -60
  189. package/fake-snippets-api/utils/order-steps.ts +0 -20
  190. package/favicon.ico +0 -0
  191. package/index.html +0 -125
  192. package/landing.html +0 -23
  193. package/playwright-tests/ai-page.spec.ts +0 -19
  194. package/playwright-tests/circuit-json-import.spec.ts +0 -133
  195. package/playwright-tests/cmd-click.spec.ts +0 -43
  196. package/playwright-tests/dashboard-page.spec.ts +0 -10
  197. package/playwright-tests/editor-page.spec.ts +0 -15
  198. package/playwright-tests/exampleCircuitJson.ts +0 -498
  199. package/playwright-tests/files-dialog.spec.ts +0 -19
  200. package/playwright-tests/footprint-dialog/footprint-dialog.spec.ts +0 -27
  201. package/playwright-tests/footprint-dialog/footprint-insertion.spec.ts +0 -38
  202. package/playwright-tests/footprint-dialog/footprint-preview.spec.ts +0 -34
  203. package/playwright-tests/footprint-dialog/footprint-selection.spec.ts +0 -29
  204. package/playwright-tests/handle-manual-edits.spec.ts +0 -55
  205. package/playwright-tests/home-page.spec.ts +0 -10
  206. package/playwright-tests/images.spec.ts +0 -17
  207. package/playwright-tests/manual-edits.spec.ts +0 -89
  208. package/playwright-tests/preview-page.spec.ts +0 -7
  209. package/playwright-tests/profile-page.spec.ts +0 -108
  210. package/playwright-tests/quickstart-page.spec.ts +0 -10
  211. package/playwright-tests/search-links.spec.ts +0 -21
  212. package/playwright-tests/search.spec.ts +0 -27
  213. package/playwright-tests/snapshots/ai-page.spec.ts-AI-Page-lg.png +0 -0
  214. package/playwright-tests/snapshots/ai-page.spec.ts-AI-Page-md.png +0 -0
  215. package/playwright-tests/snapshots/ai-page.spec.ts-AI-Page-xs.png +0 -0
  216. package/playwright-tests/snapshots/cmd-click.spec.ts-underlined-imports.png +0 -0
  217. package/playwright-tests/snapshots/dashboard-page.spec.ts-Dashboard-page-lg.png +0 -0
  218. package/playwright-tests/snapshots/dashboard-page.spec.ts-Dashboard-page-md.png +0 -0
  219. package/playwright-tests/snapshots/dashboard-page.spec.ts-Dashboard-page-xs.png +0 -0
  220. package/playwright-tests/snapshots/editor-page.spec.ts-editor-with-snippet.png +0 -0
  221. package/playwright-tests/snapshots/error-fallback.spec.ts-error-fallback-lg.png +0 -0
  222. package/playwright-tests/snapshots/error-fallback.spec.ts-error-fallback-md.png +0 -0
  223. package/playwright-tests/snapshots/error-fallback.spec.ts-error-fallback-xs.png +0 -0
  224. package/playwright-tests/snapshots/files-dialog.spec.ts-view-snippet-files.png +0 -0
  225. package/playwright-tests/snapshots/footprint-dialog/footprint-dialog.spec.ts-footprint-preview-lg.png +0 -0
  226. package/playwright-tests/snapshots/footprint-dialog/footprint-dialog.spec.ts-footprint-preview-md.png +0 -0
  227. package/playwright-tests/snapshots/footprint-dialog/footprint-dialog.spec.ts-footprint-preview-xs.png +0 -0
  228. package/playwright-tests/snapshots/footprint-dialog/footprint-insertion.spec.ts-footprint-insertion-lg.png +0 -0
  229. package/playwright-tests/snapshots/footprint-dialog/footprint-insertion.spec.ts-footprint-insertion-md.png +0 -0
  230. package/playwright-tests/snapshots/footprint-dialog/footprint-insertion.spec.ts-footprint-insertion-xs.png +0 -0
  231. package/playwright-tests/snapshots/footprint-dialog/footprint-preview.spec.ts-footprint-preview-lg.png +0 -0
  232. package/playwright-tests/snapshots/footprint-dialog/footprint-preview.spec.ts-footprint-preview-md.png +0 -0
  233. package/playwright-tests/snapshots/footprint-dialog/footprint-preview.spec.ts-footprint-preview-xs.png +0 -0
  234. package/playwright-tests/snapshots/footprint-dialog/footprint-selection.spec.ts-footprint-preview-lg.png +0 -0
  235. package/playwright-tests/snapshots/footprint-dialog/footprint-selection.spec.ts-footprint-preview-md.png +0 -0
  236. package/playwright-tests/snapshots/footprint-dialog/footprint-selection.spec.ts-footprint-preview-xs.png +0 -0
  237. package/playwright-tests/snapshots/handle-manual-edits.spec.ts-handle-manual-edits.png +0 -0
  238. package/playwright-tests/snapshots/home-page.spec.ts-Home-page-lg.png +0 -0
  239. package/playwright-tests/snapshots/home-page.spec.ts-Home-page-md.png +0 -0
  240. package/playwright-tests/snapshots/home-page.spec.ts-Home-page-xs.png +0 -0
  241. package/playwright-tests/snapshots/images.spec.ts-pcb-image.png +0 -0
  242. package/playwright-tests/snapshots/images.spec.ts-schematic-image.png +0 -0
  243. package/playwright-tests/snapshots/manual-edits.spec.ts-editor-manual-edits.png +0 -0
  244. package/playwright-tests/snapshots/manual-edits.spec.ts-manual-edits-view.png +0 -0
  245. package/playwright-tests/snapshots/preview-page.spec.ts-preview-snippet-pcb.png +0 -0
  246. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-before-delete.png +0 -0
  247. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-delete-dialog.png +0 -0
  248. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-dropdown-open.png +0 -0
  249. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-snippets-tab.png +0 -0
  250. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-starred-tab.png +0 -0
  251. package/playwright-tests/snapshots/profile-page.spec.ts-snippet-page-open-after-star-click.png +0 -0
  252. package/playwright-tests/snapshots/quickstart-page.spec.ts-Quickstart-Pagelg.png +0 -0
  253. package/playwright-tests/snapshots/quickstart-page.spec.ts-Quickstart-Pagemd.png +0 -0
  254. package/playwright-tests/snapshots/quickstart-page.spec.ts-Quickstart-Pagexs.png +0 -0
  255. package/playwright-tests/snapshots/search-links.spec.ts-search-links.png +0 -0
  256. package/playwright-tests/snapshots/search.spec.ts-search-lg.png +0 -0
  257. package/playwright-tests/snapshots/search.spec.ts-search-md.png +0 -0
  258. package/playwright-tests/snapshots/search.spec.ts-search-xs.png +0 -0
  259. package/playwright-tests/snapshots/star.spec.ts-remove-star-button.png +0 -0
  260. package/playwright-tests/snapshots/star.spec.ts-star-button.png +0 -0
  261. package/playwright-tests/snapshots/update-description.spec.ts-update-description.png +0 -0
  262. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-after-lg.png +0 -0
  263. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-after-md.png +0 -0
  264. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-after-xs.png +0 -0
  265. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-before-lg.png +0 -0
  266. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-before-md.png +0 -0
  267. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-before-xs.png +0 -0
  268. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-files.png +0 -0
  269. package/playwright-tests/star.spec.ts +0 -40
  270. package/playwright-tests/update-description.spec.ts +0 -18
  271. package/playwright-tests/view-snippet.spec.ts +0 -35
  272. package/playwright-tests/viewports.ts +0 -5
  273. package/playwright.config.ts +0 -27
  274. package/postcss.config.js +0 -6
  275. package/public/robots.txt +0 -9
  276. package/renovate.json +0 -25
  277. package/scripts/generate-image-sizes.ts +0 -57
  278. package/scripts/generate-sitemap.ts +0 -103
  279. package/scripts/generate_bundle_stats.js +0 -208
  280. package/scripts/snapshot.ts +0 -35
  281. package/src/App.tsx +0 -314
  282. package/src/ContextProviders.tsx +0 -94
  283. package/src/assets/originals/editor_example_1.webp +0 -0
  284. package/src/assets/originals/editor_example_1_more_square.webp +0 -0
  285. package/src/assets/originals/editor_example_2.webp +0 -0
  286. package/src/assets/originals/example_schematic.webp +0 -0
  287. package/src/components/AiChatMessage.tsx +0 -86
  288. package/src/components/Analytics.tsx +0 -23
  289. package/src/components/BomTable.tsx +0 -69
  290. package/src/components/ChatInput.tsx +0 -53
  291. package/src/components/CircuitJsonImportDialog.tsx +0 -269
  292. package/src/components/CircuitToSvgWithMouseControl.tsx +0 -78
  293. package/src/components/CmdKMenu.tsx +0 -809
  294. package/src/components/CreateNewSnippetWithAiHero.tsx +0 -81
  295. package/src/components/CreateReleaseDialog.tsx +0 -124
  296. package/src/components/DownloadButtonAndMenu.tsx +0 -443
  297. package/src/components/ErrorFallback.tsx +0 -25
  298. package/src/components/ErrorOutline.tsx +0 -35
  299. package/src/components/ErrorTabContent.tsx +0 -122
  300. package/src/components/ExpandableText.tsx +0 -29
  301. package/src/components/FAQ.tsx +0 -189
  302. package/src/components/FileSidebar.tsx +0 -271
  303. package/src/components/Footer.tsx +0 -144
  304. package/src/components/GithubAvatarWithFallback.tsx +0 -35
  305. package/src/components/Header.tsx +0 -202
  306. package/src/components/Header2.tsx +0 -202
  307. package/src/components/HeaderDropdown.tsx +0 -88
  308. package/src/components/HeaderLogin.tsx +0 -105
  309. package/src/components/HiddenFilesDropdown.tsx +0 -42
  310. package/src/components/ImageWithFallback.tsx +0 -37
  311. package/src/components/LatestSnippets.tsx +0 -39
  312. package/src/components/NotFound.tsx +0 -37
  313. package/src/components/OptimizedImage.tsx +0 -100
  314. package/src/components/PackageBreadcrumb.tsx +0 -105
  315. package/src/components/PackageBuildsPage/ErrorObject.ts +0 -12
  316. package/src/components/PackageBuildsPage/capitalCase.ts +0 -4
  317. package/src/components/PackageBuildsPage/getColorForDisplayStatus.ts +0 -17
  318. package/src/components/PackageCard.tsx +0 -191
  319. package/src/components/PackageCardSkeleton.tsx +0 -17
  320. package/src/components/PackageLink.tsx +0 -29
  321. package/src/components/PackageSearchResults.tsx +0 -81
  322. package/src/components/PackagesList.tsx +0 -71
  323. package/src/components/PcbViewerWithContainerHeight.tsx +0 -47
  324. package/src/components/PrefetchPageLink.tsx +0 -114
  325. package/src/components/PreviewEmptyState.tsx +0 -16
  326. package/src/components/ProfileRouter.tsx +0 -30
  327. package/src/components/RunButton.tsx +0 -27
  328. package/src/components/SearchComponent.tsx +0 -282
  329. package/src/components/SentryNotFoundReporter.tsx +0 -44
  330. package/src/components/SnippetTypeIcon.tsx +0 -60
  331. package/src/components/StaticPreviewContent.tsx +0 -89
  332. package/src/components/StaticViewSnippetSidebar.tsx +0 -100
  333. package/src/components/SuspenseRunFrame.tsx +0 -28
  334. package/src/components/TableViewer/CircuitJsonTableViewer.tsx +0 -316
  335. package/src/components/TableViewer/ClickableText.tsx +0 -21
  336. package/src/components/TableViewer/HeaderCell.tsx +0 -27
  337. package/src/components/TableViewer/Modal.tsx +0 -39
  338. package/src/components/TrendingPackagesCarousel.tsx +0 -79
  339. package/src/components/TypeBadge.tsx +0 -31
  340. package/src/components/UserCard.tsx +0 -80
  341. package/src/components/ViewPackagePage/components/ShikiCodeViewer.tsx +0 -49
  342. package/src/components/ViewPackagePage/components/build-status.tsx +0 -38
  343. package/src/components/ViewPackagePage/components/important-files-view.tsx +0 -611
  344. package/src/components/ViewPackagePage/components/main-content-header.tsx +0 -181
  345. package/src/components/ViewPackagePage/components/main-content-view-selector.tsx +0 -167
  346. package/src/components/ViewPackagePage/components/markdown-viewer.tsx +0 -88
  347. package/src/components/ViewPackagePage/components/mobile-sidebar.tsx +0 -301
  348. package/src/components/ViewPackagePage/components/package-header.tsx +0 -264
  349. package/src/components/ViewPackagePage/components/preview-image-squares.tsx +0 -47
  350. package/src/components/ViewPackagePage/components/repo-page-content.tsx +0 -266
  351. package/src/components/ViewPackagePage/components/sidebar-about-section.tsx +0 -223
  352. package/src/components/ViewPackagePage/components/sidebar-packages-section.tsx +0 -16
  353. package/src/components/ViewPackagePage/components/sidebar-releases-section.tsx +0 -126
  354. package/src/components/ViewPackagePage/components/sidebar.tsx +0 -29
  355. package/src/components/ViewPackagePage/components/tab-views/3d-view.tsx +0 -43
  356. package/src/components/ViewPackagePage/components/tab-views/bom-view.tsx +0 -30
  357. package/src/components/ViewPackagePage/components/tab-views/files-view.tsx +0 -295
  358. package/src/components/ViewPackagePage/components/tab-views/pcb-view.tsx +0 -35
  359. package/src/components/ViewPackagePage/components/tab-views/schematic-view.tsx +0 -38
  360. package/src/components/ViewPackagePage/components/theme-toggle.tsx +0 -40
  361. package/src/components/ViewPackagePage/hooks/use-current-package-circuit-json.ts +0 -46
  362. package/src/components/ViewPackagePage/hooks/use-mobile.tsx +0 -19
  363. package/src/components/ViewPackagePage/hooks/use-toast.tsx +0 -69
  364. package/src/components/ViewPackagePage/utils/fuzz-search.ts +0 -121
  365. package/src/components/ViewPackagePage/utils/get-license-content.ts +0 -119
  366. package/src/components/ViewPackagePage/utils/is-hidden-file.ts +0 -55
  367. package/src/components/ViewPackagePage/utils/is-package-file-important.ts +0 -35
  368. package/src/components/ViewPackagePage/utils/is-within-directory.ts +0 -32
  369. package/src/components/dialogs/GitHubRepositorySelector.tsx +0 -300
  370. package/src/components/dialogs/confirm-delete-package-dialog.tsx +0 -74
  371. package/src/components/dialogs/confirm-discard-changes-dialog.tsx +0 -73
  372. package/src/components/dialogs/create-use-dialog.tsx +0 -40
  373. package/src/components/dialogs/edit-description-dialog.tsx +0 -96
  374. package/src/components/dialogs/edit-package-details-dialog.tsx +0 -474
  375. package/src/components/dialogs/files-dialog.tsx +0 -70
  376. package/src/components/dialogs/import-component-dialog.tsx +0 -32
  377. package/src/components/dialogs/import-package-dialog.tsx +0 -90
  378. package/src/components/dialogs/new-package-save-prompt-dialog.tsx +0 -199
  379. package/src/components/dialogs/package-visibility-settings-dialog.tsx +0 -93
  380. package/src/components/dialogs/pcb-download-dialog.tsx +0 -113
  381. package/src/components/dialogs/rename-package-dialog.tsx +0 -86
  382. package/src/components/dialogs/rename-snippet-dialog.tsx +0 -81
  383. package/src/components/dialogs/update-package-description-dialog.tsx +0 -96
  384. package/src/components/dialogs/view-ts-files-dialog.tsx +0 -664
  385. package/src/components/organization/OrganizationCard.tsx +0 -202
  386. package/src/components/organization/OrganizationCardSkeleton.tsx +0 -55
  387. package/src/components/organization/OrganizationHeader.tsx +0 -140
  388. package/src/components/organization/OrganizationMembers.tsx +0 -117
  389. package/src/components/package-port/CodeAndPreview.tsx +0 -253
  390. package/src/components/package-port/CodeEditor.tsx +0 -866
  391. package/src/components/package-port/CodeEditorHeader.tsx +0 -427
  392. package/src/components/package-port/EditorNav.tsx +0 -606
  393. package/src/components/package-port/GlobalFindReplace.tsx +0 -681
  394. package/src/components/package-port/QuickOpen.tsx +0 -241
  395. package/src/components/preview/BuildsList.tsx +0 -237
  396. package/src/components/preview/ConnectedPackagesList.tsx +0 -229
  397. package/src/components/preview/ConnectedRepoOverview.tsx +0 -588
  398. package/src/components/preview/PackageReleasesDashboard.tsx +0 -228
  399. package/src/components/preview/index.tsx +0 -54
  400. package/src/components/ui/accordion.tsx +0 -55
  401. package/src/components/ui/alert-dialog.tsx +0 -139
  402. package/src/components/ui/alert.tsx +0 -59
  403. package/src/components/ui/aspect-ratio.tsx +0 -5
  404. package/src/components/ui/avatar.tsx +0 -48
  405. package/src/components/ui/badge.tsx +0 -36
  406. package/src/components/ui/breadcrumb.tsx +0 -118
  407. package/src/components/ui/button.tsx +0 -58
  408. package/src/components/ui/calendar.tsx +0 -73
  409. package/src/components/ui/card.tsx +0 -76
  410. package/src/components/ui/carousel.tsx +0 -260
  411. package/src/components/ui/chart.tsx +0 -363
  412. package/src/components/ui/checkbox.tsx +0 -28
  413. package/src/components/ui/collapsible.tsx +0 -9
  414. package/src/components/ui/combobox.tsx +0 -178
  415. package/src/components/ui/command.tsx +0 -151
  416. package/src/components/ui/context-menu.tsx +0 -202
  417. package/src/components/ui/dialog.tsx +0 -120
  418. package/src/components/ui/drawer.tsx +0 -116
  419. package/src/components/ui/dropdown-menu.tsx +0 -203
  420. package/src/components/ui/form.tsx +0 -182
  421. package/src/components/ui/hover-card.tsx +0 -27
  422. package/src/components/ui/input.tsx +0 -25
  423. package/src/components/ui/label.tsx +0 -24
  424. package/src/components/ui/menubar.tsx +0 -238
  425. package/src/components/ui/navigation-menu.tsx +0 -129
  426. package/src/components/ui/pagination.tsx +0 -121
  427. package/src/components/ui/popover.tsx +0 -31
  428. package/src/components/ui/progress.tsx +0 -26
  429. package/src/components/ui/radio-group.tsx +0 -42
  430. package/src/components/ui/resizable.tsx +0 -43
  431. package/src/components/ui/role-badge.tsx +0 -27
  432. package/src/components/ui/scroll-area.tsx +0 -46
  433. package/src/components/ui/searchable-select.tsx +0 -94
  434. package/src/components/ui/select.tsx +0 -162
  435. package/src/components/ui/separator.tsx +0 -29
  436. package/src/components/ui/sheet.tsx +0 -141
  437. package/src/components/ui/skeleton.tsx +0 -18
  438. package/src/components/ui/slider.tsx +0 -26
  439. package/src/components/ui/sonner.tsx +0 -30
  440. package/src/components/ui/switch.tsx +0 -27
  441. package/src/components/ui/table.tsx +0 -120
  442. package/src/components/ui/tabs.tsx +0 -53
  443. package/src/components/ui/textarea.tsx +0 -24
  444. package/src/components/ui/toast.tsx +0 -128
  445. package/src/components/ui/toaster.tsx +0 -1
  446. package/src/components/ui/toggle-group.tsx +0 -59
  447. package/src/components/ui/toggle.tsx +0 -43
  448. package/src/components/ui/tooltip.tsx +0 -28
  449. package/src/components/ui/tree-view.tsx +0 -563
  450. package/src/entry-server.tsx +0 -12
  451. package/src/hooks/use-account-balance.ts +0 -25
  452. package/src/hooks/use-add-org-member-mutation.ts +0 -51
  453. package/src/hooks/use-ai-api.ts +0 -35
  454. package/src/hooks/use-ai-review.ts +0 -31
  455. package/src/hooks/use-axios.ts +0 -20
  456. package/src/hooks/use-code-completion-ai-api.ts +0 -11
  457. package/src/hooks/use-copy-to-clipboard.ts +0 -26
  458. package/src/hooks/use-create-datasheet.ts +0 -30
  459. package/src/hooks/use-create-org-mutation.ts +0 -38
  460. package/src/hooks/use-create-package-files-mutation.ts +0 -76
  461. package/src/hooks/use-create-package-mutation.ts +0 -54
  462. package/src/hooks/use-create-package-release-mutation.ts +0 -107
  463. package/src/hooks/use-create-release-dialog.ts +0 -160
  464. package/src/hooks/use-create-snippet-mutation.ts +0 -65
  465. package/src/hooks/use-current-package-id.ts +0 -16
  466. package/src/hooks/use-current-package-info.ts +0 -32
  467. package/src/hooks/use-current-package-release.ts +0 -48
  468. package/src/hooks/use-current-snippet-id.ts +0 -78
  469. package/src/hooks/use-current-snippet.ts +0 -24
  470. package/src/hooks/use-datasheet.ts +0 -18
  471. package/src/hooks/use-debounce.ts +0 -17
  472. package/src/hooks/use-delete-package.ts +0 -45
  473. package/src/hooks/use-download-zip.ts +0 -50
  474. package/src/hooks/use-fork-package-mutation.ts +0 -61
  475. package/src/hooks/use-global-store.ts +0 -36
  476. package/src/hooks/use-hotkey.ts +0 -116
  477. package/src/hooks/use-hydration.ts +0 -30
  478. package/src/hooks/use-is-using-fake-api.ts +0 -3
  479. package/src/hooks/use-jlcpcb-component-import.tsx +0 -164
  480. package/src/hooks/use-list-org-members.ts +0 -32
  481. package/src/hooks/use-list-user-orgs.ts +0 -25
  482. package/src/hooks/use-now.ts +0 -12
  483. package/src/hooks/use-org-by-github-handle.ts +0 -24
  484. package/src/hooks/use-org.ts +0 -24
  485. package/src/hooks/use-organization.ts +0 -42
  486. package/src/hooks/use-package-as-snippet.ts +0 -81
  487. package/src/hooks/use-package-builds.ts +0 -91
  488. package/src/hooks/use-package-by-package-id.ts +0 -24
  489. package/src/hooks/use-package-by-package-name.ts +0 -29
  490. package/src/hooks/use-package-details-form.ts +0 -146
  491. package/src/hooks/use-package-files.ts +0 -122
  492. package/src/hooks/use-package-release-by-id-or-version.ts +0 -45
  493. package/src/hooks/use-package-release-images.ts +0 -105
  494. package/src/hooks/use-package-release.ts +0 -124
  495. package/src/hooks/use-package-stars.ts +0 -163
  496. package/src/hooks/use-package.ts +0 -24
  497. package/src/hooks/use-packages-base-api-url.ts +0 -3
  498. package/src/hooks/use-preview-images.ts +0 -78
  499. package/src/hooks/use-rebuild-package-release-mutation.ts +0 -41
  500. package/src/hooks/use-remove-org-member-mutation.ts +0 -32
  501. package/src/hooks/use-request-ai-review-mutation.ts +0 -54
  502. package/src/hooks/use-run-tsx/eval-compiled-js.ts +0 -9
  503. package/src/hooks/use-shiki-highlighter.ts +0 -33
  504. package/src/hooks/use-sign-in.ts +0 -24
  505. package/src/hooks/use-snippet-by-name.ts +0 -25
  506. package/src/hooks/use-snippet.ts +0 -24
  507. package/src/hooks/use-toast.tsx +0 -90
  508. package/src/hooks/use-update-ai-description-mutation.ts +0 -42
  509. package/src/hooks/use-update-org-mutation.ts +0 -41
  510. package/src/hooks/use-url-params.ts +0 -31
  511. package/src/hooks/use-warn-user-on-page-change.ts +0 -90
  512. package/src/hooks/useFileManagement.ts +0 -602
  513. package/src/hooks/useForkPackageMutation.ts +0 -50
  514. package/src/hooks/useForkSnippetMutation.ts +0 -53
  515. package/src/hooks/useOptimizedPackageFilesLoader.ts +0 -136
  516. package/src/hooks/usePackageFilesLoader.ts +0 -58
  517. package/src/hooks/useUpdatePackageFilesMutation.ts +0 -131
  518. package/src/hooks/useUpdatePackageMutation.ts +0 -63
  519. package/src/index.css +0 -108
  520. package/src/lib/__tests__/constants.test.ts +0 -66
  521. package/src/lib/base64ToBytes.ts +0 -5
  522. package/src/lib/bytesToBase64.ts +0 -4
  523. package/src/lib/codemirror/basic-setup.ts +0 -67
  524. package/src/lib/constants.ts +0 -23
  525. package/src/lib/decodeUrlHashToFsMap.ts +0 -17
  526. package/src/lib/decodeUrlHashToText.ts +0 -15
  527. package/src/lib/defaultCodeForBlankCode.tsx +0 -7
  528. package/src/lib/download-fns/createBlobURL.ts +0 -4
  529. package/src/lib/download-fns/download-assembly-svg.ts +0 -12
  530. package/src/lib/download-fns/download-circuit-json-fn.ts +0 -12
  531. package/src/lib/download-fns/download-circuit-png.ts +0 -96
  532. package/src/lib/download-fns/download-dsn-file-fn.ts +0 -12
  533. package/src/lib/download-fns/download-fabrication-files.ts +0 -233
  534. package/src/lib/download-fns/download-gltf-from-circuit-json.ts +0 -44
  535. package/src/lib/download-fns/download-gltf.ts +0 -43
  536. package/src/lib/download-fns/download-kicad-files.ts +0 -38
  537. package/src/lib/download-fns/download-pcb-svg.ts +0 -35
  538. package/src/lib/download-fns/download-png-utils.ts +0 -31
  539. package/src/lib/download-fns/download-readable-netlist.ts +0 -12
  540. package/src/lib/download-fns/download-schematic-svg.ts +0 -12
  541. package/src/lib/download-fns/download-simple-route-json.ts +0 -17
  542. package/src/lib/download-fns/download-spice-file.ts +0 -13
  543. package/src/lib/download-fns/download-step.ts +0 -12
  544. package/src/lib/encodeFsMapToUrlHash.ts +0 -13
  545. package/src/lib/encodeTextToUrlHash.ts +0 -17
  546. package/src/lib/get-snippet-template.ts +0 -26
  547. package/src/lib/getLicenseFromLicenseContent.ts +0 -67
  548. package/src/lib/handleManualEditsImport.tsx +0 -65
  549. package/src/lib/handleManualEditsImportWithSupportForMultipleFiles.ts +0 -67
  550. package/src/lib/normalize-svg-for-tile.ts +0 -50
  551. package/src/lib/populate-query-cache-with-ssr-data.ts +0 -53
  552. package/src/lib/posthog.ts +0 -17
  553. package/src/lib/react-query-api-failure-tracking.ts +0 -148
  554. package/src/lib/sentry.ts +0 -14
  555. package/src/lib/templates/blank-3d-model-template.ts +0 -12
  556. package/src/lib/templates/blank-circuit-board-template.ts +0 -20
  557. package/src/lib/templates/blank-footprint-template.ts +0 -29
  558. package/src/lib/templates/blank-package-template.ts +0 -21
  559. package/src/lib/templates/blinking-led-board-template.ts +0 -64
  560. package/src/lib/templates/usb-c-led-flashlight-template.ts +0 -22
  561. package/src/lib/ts-lib-cache.ts +0 -162
  562. package/src/lib/types.ts +0 -31
  563. package/src/lib/utils/checkIfManualEditsImported.ts +0 -20
  564. package/src/lib/utils/findTargetFile.ts +0 -97
  565. package/src/lib/utils/formatTimeAgo.ts +0 -10
  566. package/src/lib/utils/getPackagePreviewImageUrl.ts +0 -15
  567. package/src/lib/utils/index.ts +0 -6
  568. package/src/lib/utils/isComponentExported.ts +0 -10
  569. package/src/lib/utils/isUuid.ts +0 -5
  570. package/src/lib/utils/isValidFileName.ts +0 -17
  571. package/src/lib/utils/load-prettier.ts +0 -23
  572. package/src/lib/utils/member-role.tsx +0 -61
  573. package/src/lib/utils/package-utils.ts +0 -7
  574. package/src/lib/utils/parseJsonOrNull.ts +0 -8
  575. package/src/lib/utils/pcbManualEditEventHandler.ts +0 -156
  576. package/src/lib/utils/resolveRelativePath.ts +0 -40
  577. package/src/lib/utils/timeAgo.ts +0 -20
  578. package/src/lib/utils/toastManualEditConflicts.tsx +0 -39
  579. package/src/lib/utils/transformFilesToTreeData.tsx +0 -195
  580. package/src/main.tsx +0 -15
  581. package/src/pages/404.tsx +0 -23
  582. package/src/pages/authorize.tsx +0 -208
  583. package/src/pages/create-organization.tsx +0 -169
  584. package/src/pages/dashboard.tsx +0 -254
  585. package/src/pages/datasheet.tsx +0 -198
  586. package/src/pages/datasheets.tsx +0 -148
  587. package/src/pages/dev-login.tsx +0 -68
  588. package/src/pages/editor.tsx +0 -54
  589. package/src/pages/landing.tsx +0 -237
  590. package/src/pages/latest.tsx +0 -145
  591. package/src/pages/my-orders.tsx +0 -54
  592. package/src/pages/organization-profile.tsx +0 -197
  593. package/src/pages/organization-settings.tsx +0 -571
  594. package/src/pages/package-editor.tsx +0 -60
  595. package/src/pages/preview-release.tsx +0 -209
  596. package/src/pages/quickstart.tsx +0 -258
  597. package/src/pages/release-builds.tsx +0 -99
  598. package/src/pages/release-detail.tsx +0 -211
  599. package/src/pages/releases.tsx +0 -55
  600. package/src/pages/search.tsx +0 -288
  601. package/src/pages/settings-redirect.tsx +0 -44
  602. package/src/pages/trending.tsx +0 -201
  603. package/src/pages/user-profile.tsx +0 -330
  604. package/src/pages/user-settings.tsx +0 -161
  605. package/src/pages/view-package.tsx +0 -90
  606. package/src/types/package.ts +0 -4
  607. package/src/vite-env.d.ts +0 -1
  608. package/tailwind.config.js +0 -47
  609. package/tsconfig.json +0 -30
  610. package/vercel.json +0 -50
  611. package/vite.config.ts +0 -236
  612. package/winterspec.config.ts +0 -6
@@ -1,203 +0,0 @@
1
- import * as React from "react"
2
- import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"
3
- import {
4
- CheckIcon,
5
- ChevronRightIcon,
6
- DotFilledIcon,
7
- } from "@radix-ui/react-icons"
8
-
9
- import { cn } from "@/lib/utils"
10
-
11
- const DropdownMenu = DropdownMenuPrimitive.Root
12
-
13
- const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger
14
-
15
- const DropdownMenuGroup = DropdownMenuPrimitive.Group
16
-
17
- const DropdownMenuPortal = DropdownMenuPrimitive.Portal
18
-
19
- const DropdownMenuSub = DropdownMenuPrimitive.Sub
20
-
21
- const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup
22
-
23
- const DropdownMenuSubTrigger = React.forwardRef<
24
- React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,
25
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {
26
- inset?: boolean
27
- }
28
- >(({ className, inset, children, ...props }, ref) => (
29
- <DropdownMenuPrimitive.SubTrigger
30
- ref={ref}
31
- className={cn(
32
- "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100 dark:focus:bg-slate-800 dark:data-[state=open]:bg-slate-800",
33
- inset && "pl-8",
34
- className,
35
- )}
36
- {...props}
37
- >
38
- {children}
39
- <ChevronRightIcon className="ml-auto h-4 w-4" />
40
- </DropdownMenuPrimitive.SubTrigger>
41
- ))
42
- DropdownMenuSubTrigger.displayName =
43
- DropdownMenuPrimitive.SubTrigger.displayName
44
-
45
- const DropdownMenuSubContent = React.forwardRef<
46
- React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,
47
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>
48
- >(({ className, ...props }, ref) => (
49
- <DropdownMenuPrimitive.SubContent
50
- ref={ref}
51
- className={cn(
52
- "z-50 min-w-[8rem] overflow-hidden rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50",
53
- className,
54
- )}
55
- {...props}
56
- />
57
- ))
58
- DropdownMenuSubContent.displayName =
59
- DropdownMenuPrimitive.SubContent.displayName
60
-
61
- const DropdownMenuContent = React.forwardRef<
62
- React.ElementRef<typeof DropdownMenuPrimitive.Content>,
63
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>
64
- >(({ className, sideOffset = 4, ...props }, ref) => (
65
- <DropdownMenuPrimitive.Portal>
66
- <DropdownMenuPrimitive.Content
67
- ref={ref}
68
- sideOffset={sideOffset}
69
- className={cn(
70
- "z-50 min-w-[8rem] overflow-hidden rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50",
71
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
72
- className,
73
- )}
74
- {...props}
75
- />
76
- </DropdownMenuPrimitive.Portal>
77
- ))
78
- DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName
79
-
80
- const DropdownMenuItem = React.forwardRef<
81
- React.ElementRef<typeof DropdownMenuPrimitive.Item>,
82
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {
83
- inset?: boolean
84
- }
85
- >(({ className, inset, ...props }, ref) => (
86
- <DropdownMenuPrimitive.Item
87
- ref={ref}
88
- className={cn(
89
- "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-slate-100 focus:text-slate-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-slate-800 dark:focus:text-slate-50",
90
- inset && "pl-8",
91
- className,
92
- )}
93
- {...props}
94
- />
95
- ))
96
- DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName
97
-
98
- const DropdownMenuCheckboxItem = React.forwardRef<
99
- React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,
100
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>
101
- >(({ className, children, checked, ...props }, ref) => (
102
- <DropdownMenuPrimitive.CheckboxItem
103
- ref={ref}
104
- className={cn(
105
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-slate-100 focus:text-slate-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-slate-800 dark:focus:text-slate-50",
106
- className,
107
- )}
108
- checked={checked}
109
- {...props}
110
- >
111
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
112
- <DropdownMenuPrimitive.ItemIndicator>
113
- <CheckIcon className="h-4 w-4" />
114
- </DropdownMenuPrimitive.ItemIndicator>
115
- </span>
116
- {children}
117
- </DropdownMenuPrimitive.CheckboxItem>
118
- ))
119
- DropdownMenuCheckboxItem.displayName =
120
- DropdownMenuPrimitive.CheckboxItem.displayName
121
-
122
- const DropdownMenuRadioItem = React.forwardRef<
123
- React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,
124
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>
125
- >(({ className, children, ...props }, ref) => (
126
- <DropdownMenuPrimitive.RadioItem
127
- ref={ref}
128
- className={cn(
129
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-slate-100 focus:text-slate-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-slate-800 dark:focus:text-slate-50",
130
- className,
131
- )}
132
- {...props}
133
- >
134
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
135
- <DropdownMenuPrimitive.ItemIndicator>
136
- <DotFilledIcon className="h-4 w-4 fill-current" />
137
- </DropdownMenuPrimitive.ItemIndicator>
138
- </span>
139
- {children}
140
- </DropdownMenuPrimitive.RadioItem>
141
- ))
142
- DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName
143
-
144
- const DropdownMenuLabel = React.forwardRef<
145
- React.ElementRef<typeof DropdownMenuPrimitive.Label>,
146
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {
147
- inset?: boolean
148
- }
149
- >(({ className, inset, ...props }, ref) => (
150
- <DropdownMenuPrimitive.Label
151
- ref={ref}
152
- className={cn(
153
- "px-2 py-1.5 text-sm font-semibold",
154
- inset && "pl-8",
155
- className,
156
- )}
157
- {...props}
158
- />
159
- ))
160
- DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName
161
-
162
- const DropdownMenuSeparator = React.forwardRef<
163
- React.ElementRef<typeof DropdownMenuPrimitive.Separator>,
164
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>
165
- >(({ className, ...props }, ref) => (
166
- <DropdownMenuPrimitive.Separator
167
- ref={ref}
168
- className={cn("-mx-1 my-1 h-px bg-slate-100 dark:bg-slate-800", className)}
169
- {...props}
170
- />
171
- ))
172
- DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName
173
-
174
- const DropdownMenuShortcut = ({
175
- className,
176
- ...props
177
- }: React.HTMLAttributes<HTMLSpanElement>) => {
178
- return (
179
- <span
180
- className={cn("ml-auto text-xs tracking-widest opacity-60", className)}
181
- {...props}
182
- />
183
- )
184
- }
185
- DropdownMenuShortcut.displayName = "DropdownMenuShortcut"
186
-
187
- export {
188
- DropdownMenu,
189
- DropdownMenuTrigger,
190
- DropdownMenuContent,
191
- DropdownMenuItem,
192
- DropdownMenuCheckboxItem,
193
- DropdownMenuRadioItem,
194
- DropdownMenuLabel,
195
- DropdownMenuSeparator,
196
- DropdownMenuShortcut,
197
- DropdownMenuGroup,
198
- DropdownMenuPortal,
199
- DropdownMenuSub,
200
- DropdownMenuSubContent,
201
- DropdownMenuSubTrigger,
202
- DropdownMenuRadioGroup,
203
- }
@@ -1,182 +0,0 @@
1
- import * as React from "react"
2
- import * as LabelPrimitive from "@radix-ui/react-label"
3
- import { Slot } from "@radix-ui/react-slot"
4
- import {
5
- Controller,
6
- ControllerProps,
7
- FieldPath,
8
- FieldValues,
9
- FormProvider,
10
- useFormContext,
11
- } from "react-hook-form"
12
-
13
- import { cn } from "@/lib/utils"
14
- import { Label } from "@/components/ui/label"
15
-
16
- const Form = FormProvider
17
-
18
- type FormFieldContextValue<
19
- TFieldValues extends FieldValues = FieldValues,
20
- TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
21
- > = {
22
- name: TName
23
- }
24
-
25
- const FormFieldContext = React.createContext<FormFieldContextValue>(
26
- {} as FormFieldContextValue,
27
- )
28
-
29
- const FormField = <
30
- TFieldValues extends FieldValues = FieldValues,
31
- TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
32
- >({
33
- ...props
34
- }: ControllerProps<TFieldValues, TName>) => {
35
- return (
36
- <FormFieldContext.Provider value={{ name: props.name }}>
37
- <Controller {...props} />
38
- </FormFieldContext.Provider>
39
- )
40
- }
41
-
42
- const useFormField = () => {
43
- const fieldContext = React.useContext(FormFieldContext)
44
- const itemContext = React.useContext(FormItemContext)
45
- const { getFieldState, formState } = useFormContext()
46
-
47
- const fieldState = getFieldState(fieldContext.name, formState)
48
-
49
- if (!fieldContext) {
50
- throw new Error("useFormField should be used within <FormField>")
51
- }
52
-
53
- const { id } = itemContext
54
-
55
- return {
56
- id,
57
- name: fieldContext.name,
58
- formItemId: `${id}-form-item`,
59
- formDescriptionId: `${id}-form-item-description`,
60
- formMessageId: `${id}-form-item-message`,
61
- ...fieldState,
62
- }
63
- }
64
-
65
- type FormItemContextValue = {
66
- id: string
67
- }
68
-
69
- const FormItemContext = React.createContext<FormItemContextValue>(
70
- {} as FormItemContextValue,
71
- )
72
-
73
- const FormItem = React.forwardRef<
74
- HTMLDivElement,
75
- React.HTMLAttributes<HTMLDivElement>
76
- >(({ className, ...props }, ref) => {
77
- const id = React.useId()
78
-
79
- return (
80
- <FormItemContext.Provider value={{ id }}>
81
- <div ref={ref} className={cn("space-y-2", className)} {...props} />
82
- </FormItemContext.Provider>
83
- )
84
- })
85
- FormItem.displayName = "FormItem"
86
-
87
- const FormLabel = React.forwardRef<
88
- React.ElementRef<typeof LabelPrimitive.Root>,
89
- React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>
90
- >(({ className, ...props }, ref) => {
91
- const { error, formItemId } = useFormField()
92
-
93
- return (
94
- <Label
95
- ref={ref}
96
- className={cn(error && "text-red-500 dark:text-red-900", className)}
97
- htmlFor={formItemId}
98
- {...props}
99
- />
100
- )
101
- })
102
- FormLabel.displayName = "FormLabel"
103
-
104
- const FormControl = React.forwardRef<
105
- React.ElementRef<typeof Slot>,
106
- React.ComponentPropsWithoutRef<typeof Slot>
107
- >(({ ...props }, ref) => {
108
- const { error, formItemId, formDescriptionId, formMessageId } = useFormField()
109
-
110
- return (
111
- <Slot
112
- ref={ref}
113
- id={formItemId}
114
- aria-describedby={
115
- !error
116
- ? `${formDescriptionId}`
117
- : `${formDescriptionId} ${formMessageId}`
118
- }
119
- aria-invalid={!!error}
120
- {...props}
121
- />
122
- )
123
- })
124
- FormControl.displayName = "FormControl"
125
-
126
- const FormDescription = React.forwardRef<
127
- HTMLParagraphElement,
128
- React.HTMLAttributes<HTMLParagraphElement>
129
- >(({ className, ...props }, ref) => {
130
- const { formDescriptionId } = useFormField()
131
-
132
- return (
133
- <p
134
- ref={ref}
135
- id={formDescriptionId}
136
- className={cn(
137
- "text-[0.8rem] text-slate-500 dark:text-slate-400",
138
- className,
139
- )}
140
- {...props}
141
- />
142
- )
143
- })
144
- FormDescription.displayName = "FormDescription"
145
-
146
- const FormMessage = React.forwardRef<
147
- HTMLParagraphElement,
148
- React.HTMLAttributes<HTMLParagraphElement>
149
- >(({ className, children, ...props }, ref) => {
150
- const { error, formMessageId } = useFormField()
151
- const body = error ? String(error?.message) : children
152
-
153
- if (!body) {
154
- return null
155
- }
156
-
157
- return (
158
- <p
159
- ref={ref}
160
- id={formMessageId}
161
- className={cn(
162
- "text-[0.8rem] font-medium text-red-500 dark:text-red-900",
163
- className,
164
- )}
165
- {...props}
166
- >
167
- {body}
168
- </p>
169
- )
170
- })
171
- FormMessage.displayName = "FormMessage"
172
-
173
- export {
174
- useFormField,
175
- Form,
176
- FormItem,
177
- FormLabel,
178
- FormControl,
179
- FormDescription,
180
- FormMessage,
181
- FormField,
182
- }
@@ -1,27 +0,0 @@
1
- import * as React from "react"
2
- import * as HoverCardPrimitive from "@radix-ui/react-hover-card"
3
-
4
- import { cn } from "@/lib/utils"
5
-
6
- const HoverCard = HoverCardPrimitive.Root
7
-
8
- const HoverCardTrigger = HoverCardPrimitive.Trigger
9
-
10
- const HoverCardContent = React.forwardRef<
11
- React.ElementRef<typeof HoverCardPrimitive.Content>,
12
- React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>
13
- >(({ className, align = "center", sideOffset = 4, ...props }, ref) => (
14
- <HoverCardPrimitive.Content
15
- ref={ref}
16
- align={align}
17
- sideOffset={sideOffset}
18
- className={cn(
19
- "z-50 w-64 rounded-md border border-slate-200 bg-white p-4 text-slate-950 shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50",
20
- className,
21
- )}
22
- {...props}
23
- />
24
- ))
25
- HoverCardContent.displayName = HoverCardPrimitive.Content.displayName
26
-
27
- export { HoverCard, HoverCardTrigger, HoverCardContent }
@@ -1,25 +0,0 @@
1
- import * as React from "react"
2
-
3
- import { cn } from "@/lib/utils"
4
-
5
- export interface InputProps
6
- extends React.InputHTMLAttributes<HTMLInputElement> {}
7
-
8
- const Input = React.forwardRef<HTMLInputElement, InputProps>(
9
- ({ className, type, ...props }, ref) => {
10
- return (
11
- <input
12
- type={type}
13
- className={cn(
14
- "flex h-9 w-full rounded-md border border-slate-200 bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-slate-950 placeholder:text-slate-500 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-slate-950 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-800 dark:file:text-slate-50 dark:placeholder:text-slate-400 dark:focus-visible:ring-slate-300",
15
- className,
16
- )}
17
- ref={ref}
18
- {...props}
19
- />
20
- )
21
- },
22
- )
23
- Input.displayName = "Input"
24
-
25
- export { Input }
@@ -1,24 +0,0 @@
1
- import * as React from "react"
2
- import * as LabelPrimitive from "@radix-ui/react-label"
3
- import { cva, type VariantProps } from "class-variance-authority"
4
-
5
- import { cn } from "@/lib/utils"
6
-
7
- const labelVariants = cva(
8
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
9
- )
10
-
11
- const Label = React.forwardRef<
12
- React.ElementRef<typeof LabelPrimitive.Root>,
13
- React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &
14
- VariantProps<typeof labelVariants>
15
- >(({ className, ...props }, ref) => (
16
- <LabelPrimitive.Root
17
- ref={ref}
18
- className={cn(labelVariants(), className)}
19
- {...props}
20
- />
21
- ))
22
- Label.displayName = LabelPrimitive.Root.displayName
23
-
24
- export { Label }
@@ -1,238 +0,0 @@
1
- import * as React from "react"
2
- import {
3
- CheckIcon,
4
- ChevronRightIcon,
5
- DotFilledIcon,
6
- } from "@radix-ui/react-icons"
7
- import * as MenubarPrimitive from "@radix-ui/react-menubar"
8
-
9
- import { cn } from "@/lib/utils"
10
-
11
- const MenubarMenu = MenubarPrimitive.Menu
12
-
13
- const MenubarGroup = MenubarPrimitive.Group
14
-
15
- const MenubarPortal = MenubarPrimitive.Portal
16
-
17
- const MenubarSub = MenubarPrimitive.Sub
18
-
19
- const MenubarRadioGroup = MenubarPrimitive.RadioGroup
20
-
21
- const Menubar = React.forwardRef<
22
- React.ElementRef<typeof MenubarPrimitive.Root>,
23
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>
24
- >(({ className, ...props }, ref) => (
25
- <MenubarPrimitive.Root
26
- ref={ref}
27
- className={cn(
28
- "flex h-9 items-center space-x-1 rounded-md border border-slate-200 bg-white p-1 shadow-sm dark:border-slate-800 dark:bg-slate-950",
29
- className,
30
- )}
31
- {...props}
32
- />
33
- ))
34
- Menubar.displayName = MenubarPrimitive.Root.displayName
35
-
36
- const MenubarTrigger = React.forwardRef<
37
- React.ElementRef<typeof MenubarPrimitive.Trigger>,
38
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>
39
- >(({ className, ...props }, ref) => (
40
- <MenubarPrimitive.Trigger
41
- ref={ref}
42
- className={cn(
43
- "flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 focus:text-slate-900 data-[state=open]:bg-slate-100 data-[state=open]:text-slate-900 dark:focus:bg-slate-800 dark:focus:text-slate-50 dark:data-[state=open]:bg-slate-800 dark:data-[state=open]:text-slate-50",
44
- className,
45
- )}
46
- {...props}
47
- />
48
- ))
49
- MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName
50
-
51
- const MenubarSubTrigger = React.forwardRef<
52
- React.ElementRef<typeof MenubarPrimitive.SubTrigger>,
53
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {
54
- inset?: boolean
55
- }
56
- >(({ className, inset, children, ...props }, ref) => (
57
- <MenubarPrimitive.SubTrigger
58
- ref={ref}
59
- className={cn(
60
- "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-slate-100 focus:text-slate-900 data-[state=open]:bg-slate-100 data-[state=open]:text-slate-900 dark:focus:bg-slate-800 dark:focus:text-slate-50 dark:data-[state=open]:bg-slate-800 dark:data-[state=open]:text-slate-50",
61
- inset && "pl-8",
62
- className,
63
- )}
64
- {...props}
65
- >
66
- {children}
67
- <ChevronRightIcon className="ml-auto h-4 w-4" />
68
- </MenubarPrimitive.SubTrigger>
69
- ))
70
- MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName
71
-
72
- const MenubarSubContent = React.forwardRef<
73
- React.ElementRef<typeof MenubarPrimitive.SubContent>,
74
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>
75
- >(({ className, ...props }, ref) => (
76
- <MenubarPrimitive.SubContent
77
- ref={ref}
78
- className={cn(
79
- "z-50 min-w-[8rem] overflow-hidden rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50",
80
- className,
81
- )}
82
- {...props}
83
- />
84
- ))
85
- MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName
86
-
87
- const MenubarContent = React.forwardRef<
88
- React.ElementRef<typeof MenubarPrimitive.Content>,
89
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>
90
- >(
91
- (
92
- { className, align = "start", alignOffset = -4, sideOffset = 8, ...props },
93
- ref,
94
- ) => (
95
- <MenubarPrimitive.Portal>
96
- <MenubarPrimitive.Content
97
- ref={ref}
98
- align={align}
99
- alignOffset={alignOffset}
100
- sideOffset={sideOffset}
101
- className={cn(
102
- "z-50 min-w-[12rem] overflow-hidden rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50",
103
- className,
104
- )}
105
- {...props}
106
- />
107
- </MenubarPrimitive.Portal>
108
- ),
109
- )
110
- MenubarContent.displayName = MenubarPrimitive.Content.displayName
111
-
112
- const MenubarItem = React.forwardRef<
113
- React.ElementRef<typeof MenubarPrimitive.Item>,
114
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {
115
- inset?: boolean
116
- }
117
- >(({ className, inset, ...props }, ref) => (
118
- <MenubarPrimitive.Item
119
- ref={ref}
120
- className={cn(
121
- "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-slate-100 focus:text-slate-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-slate-800 dark:focus:text-slate-50",
122
- inset && "pl-8",
123
- className,
124
- )}
125
- {...props}
126
- />
127
- ))
128
- MenubarItem.displayName = MenubarPrimitive.Item.displayName
129
-
130
- const MenubarCheckboxItem = React.forwardRef<
131
- React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,
132
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>
133
- >(({ className, children, checked, ...props }, ref) => (
134
- <MenubarPrimitive.CheckboxItem
135
- ref={ref}
136
- className={cn(
137
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-slate-100 focus:text-slate-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-slate-800 dark:focus:text-slate-50",
138
- className,
139
- )}
140
- checked={checked}
141
- {...props}
142
- >
143
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
144
- <MenubarPrimitive.ItemIndicator>
145
- <CheckIcon className="h-4 w-4" />
146
- </MenubarPrimitive.ItemIndicator>
147
- </span>
148
- {children}
149
- </MenubarPrimitive.CheckboxItem>
150
- ))
151
- MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName
152
-
153
- const MenubarRadioItem = React.forwardRef<
154
- React.ElementRef<typeof MenubarPrimitive.RadioItem>,
155
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>
156
- >(({ className, children, ...props }, ref) => (
157
- <MenubarPrimitive.RadioItem
158
- ref={ref}
159
- className={cn(
160
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-slate-100 focus:text-slate-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-slate-800 dark:focus:text-slate-50",
161
- className,
162
- )}
163
- {...props}
164
- >
165
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
166
- <MenubarPrimitive.ItemIndicator>
167
- <DotFilledIcon className="h-4 w-4 fill-current" />
168
- </MenubarPrimitive.ItemIndicator>
169
- </span>
170
- {children}
171
- </MenubarPrimitive.RadioItem>
172
- ))
173
- MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName
174
-
175
- const MenubarLabel = React.forwardRef<
176
- React.ElementRef<typeof MenubarPrimitive.Label>,
177
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {
178
- inset?: boolean
179
- }
180
- >(({ className, inset, ...props }, ref) => (
181
- <MenubarPrimitive.Label
182
- ref={ref}
183
- className={cn(
184
- "px-2 py-1.5 text-sm font-semibold",
185
- inset && "pl-8",
186
- className,
187
- )}
188
- {...props}
189
- />
190
- ))
191
- MenubarLabel.displayName = MenubarPrimitive.Label.displayName
192
-
193
- const MenubarSeparator = React.forwardRef<
194
- React.ElementRef<typeof MenubarPrimitive.Separator>,
195
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>
196
- >(({ className, ...props }, ref) => (
197
- <MenubarPrimitive.Separator
198
- ref={ref}
199
- className={cn("-mx-1 my-1 h-px bg-slate-100 dark:bg-slate-800", className)}
200
- {...props}
201
- />
202
- ))
203
- MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName
204
-
205
- const MenubarShortcut = ({
206
- className,
207
- ...props
208
- }: React.HTMLAttributes<HTMLSpanElement>) => {
209
- return (
210
- <span
211
- className={cn(
212
- "ml-auto text-xs tracking-widest text-slate-500 dark:text-slate-400",
213
- className,
214
- )}
215
- {...props}
216
- />
217
- )
218
- }
219
- MenubarShortcut.displayname = "MenubarShortcut"
220
-
221
- export {
222
- Menubar,
223
- MenubarMenu,
224
- MenubarTrigger,
225
- MenubarContent,
226
- MenubarItem,
227
- MenubarSeparator,
228
- MenubarLabel,
229
- MenubarCheckboxItem,
230
- MenubarRadioGroup,
231
- MenubarRadioItem,
232
- MenubarPortal,
233
- MenubarSubContent,
234
- MenubarSubTrigger,
235
- MenubarGroup,
236
- MenubarSub,
237
- MenubarShortcut,
238
- }