@tscircuit/fake-snippets 0.0.121 → 0.0.123

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 (737) hide show
  1. package/dist/bundle.js +9422 -0
  2. package/dist/index.d.ts +2190 -0
  3. package/dist/index.js +3961 -0
  4. package/dist/schema.d.ts +3142 -0
  5. package/{fake-snippets-api/lib/db/schema.ts → dist/schema.js} +147 -195
  6. package/package.json +5 -2
  7. package/.github/CODEOWNERS +0 -1
  8. package/.github/workflows/bun-formatcheck.yml +0 -26
  9. package/.github/workflows/bun-pver-release.yml +0 -53
  10. package/.github/workflows/bun-test.yml +0 -28
  11. package/.github/workflows/bun-typecheck.yml +0 -26
  12. package/.github/workflows/bundle-size-analysis.yml +0 -79
  13. package/.github/workflows/stale.yml +0 -40
  14. package/.github/workflows/update-package.yml +0 -58
  15. package/.github/workflows/update-snapshots.yml +0 -49
  16. package/CLAUDE.md +0 -92
  17. package/CONTRIBUTING.md +0 -59
  18. package/api/generated-index.js +0 -456
  19. package/biome.json +0 -67
  20. package/bun-tests/fake-snippets-api/fixtures/get-test-server.ts +0 -141
  21. package/bun-tests/fake-snippets-api/fixtures/preload.ts +0 -18
  22. package/bun-tests/fake-snippets-api/fixtures/start-server.ts +0 -48
  23. package/bun-tests/fake-snippets-api/routes/accounts/get.test.ts +0 -64
  24. package/bun-tests/fake-snippets-api/routes/accounts/get_account_balance.test.ts +0 -14
  25. package/bun-tests/fake-snippets-api/routes/ai_reviews/create.test.ts +0 -21
  26. package/bun-tests/fake-snippets-api/routes/ai_reviews/get.test.ts +0 -16
  27. package/bun-tests/fake-snippets-api/routes/ai_reviews/list.test.ts +0 -14
  28. package/bun-tests/fake-snippets-api/routes/ai_reviews/process_review.test.ts +0 -16
  29. package/bun-tests/fake-snippets-api/routes/bug_reports/create.test.ts +0 -37
  30. package/bun-tests/fake-snippets-api/routes/bug_reports/upload_file.test.ts +0 -89
  31. package/bun-tests/fake-snippets-api/routes/datasheets/create.test.ts +0 -16
  32. package/bun-tests/fake-snippets-api/routes/datasheets/get.test.ts +0 -54
  33. package/bun-tests/fake-snippets-api/routes/datasheets/list.test.ts +0 -49
  34. package/bun-tests/fake-snippets-api/routes/datasheets/process_all_datasheets.test.ts +0 -22
  35. package/bun-tests/fake-snippets-api/routes/datasheets/run_async_tasks.test.ts +0 -19
  36. package/bun-tests/fake-snippets-api/routes/health.test.ts +0 -9
  37. package/bun-tests/fake-snippets-api/routes/order_files/get.test.ts +0 -48
  38. package/bun-tests/fake-snippets-api/routes/order_files/upload.test.ts +0 -77
  39. package/bun-tests/fake-snippets-api/routes/order_quotes/create.test.ts +0 -33
  40. package/bun-tests/fake-snippets-api/routes/orders/create.test.ts +0 -17
  41. package/bun-tests/fake-snippets-api/routes/orders/get.test.ts +0 -199
  42. package/bun-tests/fake-snippets-api/routes/orders/list.test.ts +0 -30
  43. package/bun-tests/fake-snippets-api/routes/orgs/add_member.test.ts +0 -26
  44. package/bun-tests/fake-snippets-api/routes/orgs/create.test.ts +0 -37
  45. package/bun-tests/fake-snippets-api/routes/orgs/get.test.ts +0 -53
  46. package/bun-tests/fake-snippets-api/routes/orgs/get_member.test.ts +0 -110
  47. package/bun-tests/fake-snippets-api/routes/orgs/list.test.ts +0 -17
  48. package/bun-tests/fake-snippets-api/routes/orgs/list_members.test.ts +0 -24
  49. package/bun-tests/fake-snippets-api/routes/orgs/remove_member.test.ts +0 -81
  50. package/bun-tests/fake-snippets-api/routes/orgs/update.test.ts +0 -151
  51. package/bun-tests/fake-snippets-api/routes/package_builds/get.test.ts +0 -279
  52. package/bun-tests/fake-snippets-api/routes/package_builds/list.test.ts +0 -292
  53. package/bun-tests/fake-snippets-api/routes/package_files/create.test.ts +0 -320
  54. package/bun-tests/fake-snippets-api/routes/package_files/create_or_update.test.ts +0 -603
  55. package/bun-tests/fake-snippets-api/routes/package_files/delete.test.ts +0 -233
  56. package/bun-tests/fake-snippets-api/routes/package_files/download.test.ts +0 -248
  57. package/bun-tests/fake-snippets-api/routes/package_files/get.test.ts +0 -230
  58. package/bun-tests/fake-snippets-api/routes/package_files/list.test.ts +0 -212
  59. package/bun-tests/fake-snippets-api/routes/package_releases/create.test.ts +0 -171
  60. package/bun-tests/fake-snippets-api/routes/package_releases/get.test.ts +0 -181
  61. package/bun-tests/fake-snippets-api/routes/package_releases/get_image_generation_fields.test.ts +0 -38
  62. package/bun-tests/fake-snippets-api/routes/package_releases/list.test.ts +0 -149
  63. package/bun-tests/fake-snippets-api/routes/package_releases/update.test.ts +0 -160
  64. package/bun-tests/fake-snippets-api/routes/packages/add_star.test.ts +0 -129
  65. package/bun-tests/fake-snippets-api/routes/packages/create.test.ts +0 -67
  66. package/bun-tests/fake-snippets-api/routes/packages/delete.test.ts +0 -74
  67. package/bun-tests/fake-snippets-api/routes/packages/fork.test.ts +0 -132
  68. package/bun-tests/fake-snippets-api/routes/packages/get.test.ts +0 -112
  69. package/bun-tests/fake-snippets-api/routes/packages/images.test.ts +0 -72
  70. package/bun-tests/fake-snippets-api/routes/packages/list-1.test.ts +0 -145
  71. package/bun-tests/fake-snippets-api/routes/packages/list-2.test.ts +0 -48
  72. package/bun-tests/fake-snippets-api/routes/packages/list_latest.test.ts +0 -110
  73. package/bun-tests/fake-snippets-api/routes/packages/list_trending.test.ts +0 -103
  74. package/bun-tests/fake-snippets-api/routes/packages/remove_star.test.ts +0 -131
  75. package/bun-tests/fake-snippets-api/routes/packages/update.test.ts +0 -217
  76. package/bun-tests/fake-snippets-api/routes/proxy.test.ts +0 -42
  77. package/bun.lock +0 -2724
  78. package/bunfig.toml +0 -3
  79. package/components.json +0 -20
  80. package/dist/assets/404-CnNkOMw-.js +0 -1
  81. package/dist/assets/Analytics-DIw7l2gi.js +0 -84
  82. package/dist/assets/BuildsList-CeqVVhbz.js +0 -1
  83. package/dist/assets/CodeAndPreview-Dycd0s15.js +0 -722
  84. package/dist/assets/DownloadButtonAndMenu-OIUhbKkj.js +0 -194
  85. package/dist/assets/FileSaver.min-BDsOlqKl.js +0 -1
  86. package/dist/assets/Footer-DU-HdqGk.js +0 -1
  87. package/dist/assets/GithubAvatarWithFallback-CQhrBiKP.js +0 -6
  88. package/dist/assets/Header-CI4GZVOv.js +0 -1
  89. package/dist/assets/Header2-CrMDmo3P.js +0 -5
  90. package/dist/assets/NotFound-DaXtEPsC.js +0 -1
  91. package/dist/assets/OrganizationCard-Bs2dw-AL.js +0 -1
  92. package/dist/assets/PackageBreadcrumb-DpOpPbGc.js +0 -6
  93. package/dist/assets/PackageCard-ejE2dLlA.js +0 -16
  94. package/dist/assets/PackageSearchResults-BI3Rtmr2.js +0 -1
  95. package/dist/assets/ProfileRouter-4xNgtXr5.js +0 -6
  96. package/dist/assets/alert-dialog-DrOB4Tui.js +0 -1
  97. package/dist/assets/authorize-D-5R3QHA.js +0 -16
  98. package/dist/assets/badge-Bk-k6kyg.js +0 -1
  99. package/dist/assets/card-CzXDit7x.js +0 -1
  100. package/dist/assets/circle-alert-Du9-4of0.js +0 -6
  101. package/dist/assets/circle-check-big-KaRyRsht.js +0 -6
  102. package/dist/assets/cpu-BnvjzmIA.js +0 -6
  103. package/dist/assets/create-organization-BHNFvE7B.js +0 -1
  104. package/dist/assets/dashboard-DDH4V91X.js +0 -11
  105. package/dist/assets/datasheet-DqKtWt-O.js +0 -1
  106. package/dist/assets/datasheets-4W6pEMf3.js +0 -1
  107. package/dist/assets/dev-login-CbHdDthp.js +0 -1
  108. package/dist/assets/editor-bqg9Yv91.js +0 -1
  109. package/dist/assets/editor_example_1-1000w.webp +0 -0
  110. package/dist/assets/editor_example_1-1200w.webp +0 -0
  111. package/dist/assets/editor_example_1-1600w.webp +0 -0
  112. package/dist/assets/editor_example_1-2000w.webp +0 -0
  113. package/dist/assets/editor_example_1-400w.webp +0 -0
  114. package/dist/assets/editor_example_1-600w.webp +0 -0
  115. package/dist/assets/editor_example_1-800w.webp +0 -0
  116. package/dist/assets/editor_example_1_more_square-1000w.webp +0 -0
  117. package/dist/assets/editor_example_1_more_square-1200w.webp +0 -0
  118. package/dist/assets/editor_example_1_more_square-1600w.webp +0 -0
  119. package/dist/assets/editor_example_1_more_square-2000w.webp +0 -0
  120. package/dist/assets/editor_example_1_more_square-400w.webp +0 -0
  121. package/dist/assets/editor_example_1_more_square-600w.webp +0 -0
  122. package/dist/assets/editor_example_1_more_square-800w.webp +0 -0
  123. package/dist/assets/editor_example_2-1000w.webp +0 -0
  124. package/dist/assets/editor_example_2-1200w.webp +0 -0
  125. package/dist/assets/editor_example_2-1600w.webp +0 -0
  126. package/dist/assets/editor_example_2-2000w.webp +0 -0
  127. package/dist/assets/editor_example_2-400w.webp +0 -0
  128. package/dist/assets/editor_example_2-600w.webp +0 -0
  129. package/dist/assets/editor_example_2-800w.webp +0 -0
  130. package/dist/assets/example_schematic-1000w.webp +0 -0
  131. package/dist/assets/example_schematic-1200w.webp +0 -0
  132. package/dist/assets/example_schematic-1600w.webp +0 -0
  133. package/dist/assets/example_schematic-2000w.webp +0 -0
  134. package/dist/assets/example_schematic-400w.webp +0 -0
  135. package/dist/assets/example_schematic-600w.webp +0 -0
  136. package/dist/assets/example_schematic-800w.webp +0 -0
  137. package/dist/assets/eye-B_NMTTT7.js +0 -6
  138. package/dist/assets/fallback-image.svg +0 -1
  139. package/dist/assets/favicon-BwEjZKGP.ico +0 -0
  140. package/dist/assets/formatTimeAgo-CawXna5h.js +0 -6
  141. package/dist/assets/github-DjKGjbX1.js +0 -6
  142. package/dist/assets/github-dark-DHJKELXO.js +0 -1
  143. package/dist/assets/github-light-DAi9KRSo.js +0 -1
  144. package/dist/assets/hash-DfKYpqTm.js +0 -6
  145. package/dist/assets/index-B17tE1vy.js +0 -1
  146. package/dist/assets/index-BQPj88OW.js +0 -6051
  147. package/dist/assets/index-DvNLZBaq.js +0 -6
  148. package/dist/assets/keyboard-4b_qLHIF.js +0 -11
  149. package/dist/assets/label-CTudXc4q.js +0 -1
  150. package/dist/assets/landing-Cjvvx-9q.js +0 -11
  151. package/dist/assets/latest-DMk4BmXW.js +0 -1
  152. package/dist/assets/layers-BJ1iwaVM.js +0 -6
  153. package/dist/assets/load-prettier-DgbV1Jgu.js +0 -1
  154. package/dist/assets/lock-BOZRJdUv.js +0 -6
  155. package/dist/assets/main-DPEM9abA.js +0 -26
  156. package/dist/assets/main-MTKdI4FA.css +0 -1
  157. package/dist/assets/my-orders-B7lEyNR9.js +0 -1
  158. package/dist/assets/organization-settings-rNvhYFgZ.js +0 -6
  159. package/dist/assets/package-editor-T4WIRP49.js +0 -1
  160. package/dist/assets/pen-D54fxNRf.js +0 -6
  161. package/dist/assets/plus-KkE_6Dq2.js +0 -6
  162. package/dist/assets/preview-release-DWhKHFWp.js +0 -1
  163. package/dist/assets/quickstart-WF3HR9Dc.js +0 -1
  164. package/dist/assets/refresh-cw-aWASTRku.js +0 -6
  165. package/dist/assets/release-builds-COa5ndHa.js +0 -1
  166. package/dist/assets/release-detail-iclJPUO-.js +0 -6
  167. package/dist/assets/releases-Clsyp-7n.js +0 -1
  168. package/dist/assets/role-badge-BGF_IMlO.js +0 -16
  169. package/dist/assets/search-CwH23pAU.js +0 -1
  170. package/dist/assets/select-BN8AF1J7.js +0 -1
  171. package/dist/assets/settings-B2bMEtS4.js +0 -6
  172. package/dist/assets/skeleton-DLAS40-y.js +0 -1
  173. package/dist/assets/svg-to-png-BX4YEHCP-JcDm8Hc5.js +0 -1
  174. package/dist/assets/svg-to-png-BX4YEHCP-pNo9Afg8.js +0 -1
  175. package/dist/assets/tabs-Ce0NFuwd.js +0 -1
  176. package/dist/assets/timeAgo-VY0F2EV9.js +0 -10
  177. package/dist/assets/tooltip-C1pwvC0K.js +0 -11
  178. package/dist/assets/trash-2-BW3eClHz.js +0 -6
  179. package/dist/assets/trending-C8246HGf.js +0 -1
  180. package/dist/assets/triangle-alert-BMIBEO1D.js +0 -6
  181. package/dist/assets/tsx-COt5Ahok.js +0 -1
  182. package/dist/assets/use-create-datasheet-B7TDsTUt.js +0 -1
  183. package/dist/assets/use-delete-package-DLKtoTOj.js +0 -1
  184. package/dist/assets/use-download-zip-CAOKjGXW.js +0 -1
  185. package/dist/assets/use-list-user-orgs-CgJIT7N4.js +0 -1
  186. package/dist/assets/use-organization-XwYYTFck.js +0 -1
  187. package/dist/assets/use-package-builds-Bx8rfxi1.js +0 -1
  188. package/dist/assets/use-package-by-package-name-1s1Pcarw.js +0 -1
  189. package/dist/assets/use-package-files-CmmWVuGn.js +0 -1
  190. package/dist/assets/use-package-release-by-id-or-version-BuuXcSZq.js +0 -1
  191. package/dist/assets/use-package-release-images-BMaZtvmk.js +0 -1
  192. package/dist/assets/use-packages-base-api-url-DA1hucM7.js +0 -1
  193. package/dist/assets/useQueries-BJ7Ue7HV.js +0 -1
  194. package/dist/assets/user-settings-BqO5FkMf.js +0 -1
  195. package/dist/assets/view-package-C-OvJr_Q.js +0 -165
  196. package/dist/assets/vitesse-light-CVO1_9PV.js +0 -1
  197. package/dist/assets/wasm-CG6Dc4jp.js +0 -1
  198. package/dist/index.html +0 -127
  199. package/dist/landing.html +0 -34
  200. package/dist/robots.txt +0 -9
  201. package/dist/sitemap.xml +0 -118
  202. package/dist/stats.html +0 -4949
  203. package/docs/CIRCUIT_JSON_SOURCE_COMPONENT_OVERVIEW.md +0 -151
  204. package/fake-snippets-api/README.md +0 -6
  205. package/fake-snippets-api/biome.json +0 -47
  206. package/fake-snippets-api/lib/db/autoload-dev-packages.ts +0 -222
  207. package/fake-snippets-api/lib/db/autoload-packages.json +0 -8
  208. package/fake-snippets-api/lib/db/db-client.ts +0 -1857
  209. package/fake-snippets-api/lib/db/seed.ts +0 -1843
  210. package/fake-snippets-api/lib/index.ts +0 -3
  211. package/fake-snippets-api/lib/middleware/with-ctx-error.ts +0 -26
  212. package/fake-snippets-api/lib/middleware/with-db.ts +0 -15
  213. package/fake-snippets-api/lib/middleware/with-error-handling.ts +0 -24
  214. package/fake-snippets-api/lib/middleware/with-optional-session-auth.ts +0 -53
  215. package/fake-snippets-api/lib/middleware/with-request-logging.ts +0 -54
  216. package/fake-snippets-api/lib/middleware/with-session-auth.ts +0 -102
  217. package/fake-snippets-api/lib/middleware/with-winter-spec.ts +0 -24
  218. package/fake-snippets-api/lib/package_file/generate-fs-sha.ts +0 -20
  219. package/fake-snippets-api/lib/package_file/get-package-file-id-from-file-descriptor.ts +0 -173
  220. package/fake-snippets-api/lib/package_release/find-package-release-id.ts +0 -120
  221. package/fake-snippets-api/lib/public-mapping/public-map-org.ts +0 -34
  222. package/fake-snippets-api/lib/public-mapping/public-map-package-build.ts +0 -48
  223. package/fake-snippets-api/lib/public-mapping/public-map-package-release.ts +0 -88
  224. package/fake-snippets-api/lib/public-mapping/public-map-package.ts +0 -60
  225. package/fake-snippets-api/lib/with-winter-spec.ts +0 -1
  226. package/fake-snippets-api/next-env.d.ts +0 -5
  227. package/fake-snippets-api/routes/api/_fake/ai_reviews/process_review.ts +0 -31
  228. package/fake-snippets-api/routes/api/_fake/datasheets/process_all_datasheets.ts +0 -38
  229. package/fake-snippets-api/routes/api/_fake/db.ts +0 -11
  230. package/fake-snippets-api/routes/api/_fake/move_orders_forward.ts +0 -65
  231. package/fake-snippets-api/routes/api/_fake/received_quotes.ts +0 -112
  232. package/fake-snippets-api/routes/api/_fake/run_async_tasks.ts +0 -12
  233. package/fake-snippets-api/routes/api/_fake/seed.ts +0 -13
  234. package/fake-snippets-api/routes/api/accounts/get.ts +0 -35
  235. package/fake-snippets-api/routes/api/accounts/get_account_balance.ts +0 -22
  236. package/fake-snippets-api/routes/api/accounts/search.ts +0 -20
  237. package/fake-snippets-api/routes/api/accounts/update.ts +0 -32
  238. package/fake-snippets-api/routes/api/ai/[...anyroute].ts +0 -31
  239. package/fake-snippets-api/routes/api/ai.ts +0 -2
  240. package/fake-snippets-api/routes/api/ai_reviews/create.ts +0 -44
  241. package/fake-snippets-api/routes/api/ai_reviews/get.ts +0 -24
  242. package/fake-snippets-api/routes/api/ai_reviews/list.ts +0 -14
  243. package/fake-snippets-api/routes/api/aistream/[...anyroute].ts +0 -65
  244. package/fake-snippets-api/routes/api/autocomplete/create_autocomplete.ts +0 -16
  245. package/fake-snippets-api/routes/api/bug_reports/create.ts +0 -43
  246. package/fake-snippets-api/routes/api/bug_reports/upload_file.ts +0 -113
  247. package/fake-snippets-api/routes/api/datasheets/create.ts +0 -18
  248. package/fake-snippets-api/routes/api/datasheets/get.ts +0 -35
  249. package/fake-snippets-api/routes/api/datasheets/list.ts +0 -29
  250. package/fake-snippets-api/routes/api/github/installations/create_new_installation_redirect.ts +0 -75
  251. package/fake-snippets-api/routes/api/github/repos/list_available.ts +0 -91
  252. package/fake-snippets-api/routes/api/github/repos/refresh.ts +0 -44
  253. package/fake-snippets-api/routes/api/health.ts +0 -9
  254. package/fake-snippets-api/routes/api/internal/sessions/create_without_auth.ts +0 -63
  255. package/fake-snippets-api/routes/api/order_files/get.ts +0 -28
  256. package/fake-snippets-api/routes/api/order_files/upload.ts +0 -46
  257. package/fake-snippets-api/routes/api/order_quotes/create.ts +0 -60
  258. package/fake-snippets-api/routes/api/order_quotes/create_all_vendor_quotes.ts +0 -30
  259. package/fake-snippets-api/routes/api/order_quotes/get.ts +0 -29
  260. package/fake-snippets-api/routes/api/orders/create.ts +0 -70
  261. package/fake-snippets-api/routes/api/orders/get.ts +0 -168
  262. package/fake-snippets-api/routes/api/orders/list.ts +0 -15
  263. package/fake-snippets-api/routes/api/orgs/add_member.ts +0 -52
  264. package/fake-snippets-api/routes/api/orgs/create.ts +0 -48
  265. package/fake-snippets-api/routes/api/orgs/get.ts +0 -39
  266. package/fake-snippets-api/routes/api/orgs/get_member.ts +0 -67
  267. package/fake-snippets-api/routes/api/orgs/list.ts +0 -31
  268. package/fake-snippets-api/routes/api/orgs/list_members.ts +0 -106
  269. package/fake-snippets-api/routes/api/orgs/remove_member.ts +0 -46
  270. package/fake-snippets-api/routes/api/orgs/update.ts +0 -118
  271. package/fake-snippets-api/routes/api/package_builds/get.ts +0 -70
  272. package/fake-snippets-api/routes/api/package_builds/list.ts +0 -97
  273. package/fake-snippets-api/routes/api/package_files/create.ts +0 -135
  274. package/fake-snippets-api/routes/api/package_files/create_or_update.ts +0 -194
  275. package/fake-snippets-api/routes/api/package_files/delete.ts +0 -109
  276. package/fake-snippets-api/routes/api/package_files/download.ts +0 -87
  277. package/fake-snippets-api/routes/api/package_files/get.ts +0 -68
  278. package/fake-snippets-api/routes/api/package_files/list.ts +0 -54
  279. package/fake-snippets-api/routes/api/package_releases/create.ts +0 -109
  280. package/fake-snippets-api/routes/api/package_releases/get.ts +0 -137
  281. package/fake-snippets-api/routes/api/package_releases/list.ts +0 -85
  282. package/fake-snippets-api/routes/api/package_releases/rebuild.ts +0 -66
  283. package/fake-snippets-api/routes/api/package_releases/update.ts +0 -122
  284. package/fake-snippets-api/routes/api/packages/add_star.ts +0 -84
  285. package/fake-snippets-api/routes/api/packages/create.ts +0 -136
  286. package/fake-snippets-api/routes/api/packages/delete.ts +0 -41
  287. package/fake-snippets-api/routes/api/packages/fork.ts +0 -165
  288. package/fake-snippets-api/routes/api/packages/generate_from_jlcpcb.ts +0 -111
  289. package/fake-snippets-api/routes/api/packages/get.ts +0 -81
  290. package/fake-snippets-api/routes/api/packages/images/[owner_github_username]/[unscoped_name]/[view_format].ts +0 -119
  291. package/fake-snippets-api/routes/api/packages/list.ts +0 -105
  292. package/fake-snippets-api/routes/api/packages/list_latest.ts +0 -29
  293. package/fake-snippets-api/routes/api/packages/list_trending.ts +0 -43
  294. package/fake-snippets-api/routes/api/packages/remove_star.ts +0 -70
  295. package/fake-snippets-api/routes/api/packages/search.ts +0 -19
  296. package/fake-snippets-api/routes/api/packages/update.ts +0 -112
  297. package/fake-snippets-api/routes/api/packages/update_ai_description.ts +0 -37
  298. package/fake-snippets-api/routes/api/proxy.ts +0 -128
  299. package/fake-snippets-api/routes/api/snippets/add_star.ts +0 -62
  300. package/fake-snippets-api/routes/api/snippets/create.ts +0 -184
  301. package/fake-snippets-api/routes/api/snippets/delete.ts +0 -41
  302. package/fake-snippets-api/routes/api/snippets/download.ts +0 -162
  303. package/fake-snippets-api/routes/api/snippets/generate_from_jlcpcb.ts +0 -48
  304. package/fake-snippets-api/routes/api/snippets/get.ts +0 -83
  305. package/fake-snippets-api/routes/api/snippets/get_image.ts +0 -65
  306. package/fake-snippets-api/routes/api/snippets/images/[author]/[snippet_name]/[typeFormat].ts +0 -80
  307. package/fake-snippets-api/routes/api/snippets/list.ts +0 -151
  308. package/fake-snippets-api/routes/api/snippets/list_latest.ts +0 -13
  309. package/fake-snippets-api/routes/api/snippets/list_trending.ts +0 -38
  310. package/fake-snippets-api/routes/api/snippets/remove_star.ts +0 -42
  311. package/fake-snippets-api/routes/api/snippets/search.ts +0 -18
  312. package/fake-snippets-api/routes/api/snippets/update.ts +0 -114
  313. package/fake-snippets-api/utils/normalizeProjectFilePath.ts +0 -60
  314. package/fake-snippets-api/utils/order-steps.ts +0 -20
  315. package/favicon.ico +0 -0
  316. package/index.html +0 -125
  317. package/landing.html +0 -23
  318. package/playwright-tests/ai-page.spec.ts +0 -19
  319. package/playwright-tests/circuit-json-import.spec.ts +0 -133
  320. package/playwright-tests/cmd-click.spec.ts +0 -43
  321. package/playwright-tests/dashboard-page.spec.ts +0 -10
  322. package/playwright-tests/editor-page.spec.ts +0 -15
  323. package/playwright-tests/exampleCircuitJson.ts +0 -498
  324. package/playwright-tests/files-dialog.spec.ts +0 -19
  325. package/playwright-tests/footprint-dialog/footprint-dialog.spec.ts +0 -27
  326. package/playwright-tests/footprint-dialog/footprint-insertion.spec.ts +0 -38
  327. package/playwright-tests/footprint-dialog/footprint-preview.spec.ts +0 -34
  328. package/playwright-tests/footprint-dialog/footprint-selection.spec.ts +0 -29
  329. package/playwright-tests/handle-manual-edits.spec.ts +0 -55
  330. package/playwright-tests/home-page.spec.ts +0 -10
  331. package/playwright-tests/images.spec.ts +0 -17
  332. package/playwright-tests/manual-edits.spec.ts +0 -89
  333. package/playwright-tests/preview-page.spec.ts +0 -7
  334. package/playwright-tests/profile-page.spec.ts +0 -108
  335. package/playwright-tests/quickstart-page.spec.ts +0 -10
  336. package/playwright-tests/search-links.spec.ts +0 -21
  337. package/playwright-tests/search.spec.ts +0 -27
  338. package/playwright-tests/snapshots/ai-page.spec.ts-AI-Page-lg.png +0 -0
  339. package/playwright-tests/snapshots/ai-page.spec.ts-AI-Page-md.png +0 -0
  340. package/playwright-tests/snapshots/ai-page.spec.ts-AI-Page-xs.png +0 -0
  341. package/playwright-tests/snapshots/cmd-click.spec.ts-underlined-imports.png +0 -0
  342. package/playwright-tests/snapshots/dashboard-page.spec.ts-Dashboard-page-lg.png +0 -0
  343. package/playwright-tests/snapshots/dashboard-page.spec.ts-Dashboard-page-md.png +0 -0
  344. package/playwright-tests/snapshots/dashboard-page.spec.ts-Dashboard-page-xs.png +0 -0
  345. package/playwright-tests/snapshots/editor-page.spec.ts-editor-with-snippet.png +0 -0
  346. package/playwright-tests/snapshots/error-fallback.spec.ts-error-fallback-lg.png +0 -0
  347. package/playwright-tests/snapshots/error-fallback.spec.ts-error-fallback-md.png +0 -0
  348. package/playwright-tests/snapshots/error-fallback.spec.ts-error-fallback-xs.png +0 -0
  349. package/playwright-tests/snapshots/files-dialog.spec.ts-view-snippet-files.png +0 -0
  350. package/playwright-tests/snapshots/footprint-dialog/footprint-dialog.spec.ts-footprint-preview-lg.png +0 -0
  351. package/playwright-tests/snapshots/footprint-dialog/footprint-dialog.spec.ts-footprint-preview-md.png +0 -0
  352. package/playwright-tests/snapshots/footprint-dialog/footprint-dialog.spec.ts-footprint-preview-xs.png +0 -0
  353. package/playwright-tests/snapshots/footprint-dialog/footprint-insertion.spec.ts-footprint-insertion-lg.png +0 -0
  354. package/playwright-tests/snapshots/footprint-dialog/footprint-insertion.spec.ts-footprint-insertion-md.png +0 -0
  355. package/playwright-tests/snapshots/footprint-dialog/footprint-insertion.spec.ts-footprint-insertion-xs.png +0 -0
  356. package/playwright-tests/snapshots/footprint-dialog/footprint-preview.spec.ts-footprint-preview-lg.png +0 -0
  357. package/playwright-tests/snapshots/footprint-dialog/footprint-preview.spec.ts-footprint-preview-md.png +0 -0
  358. package/playwright-tests/snapshots/footprint-dialog/footprint-preview.spec.ts-footprint-preview-xs.png +0 -0
  359. package/playwright-tests/snapshots/footprint-dialog/footprint-selection.spec.ts-footprint-preview-lg.png +0 -0
  360. package/playwright-tests/snapshots/footprint-dialog/footprint-selection.spec.ts-footprint-preview-md.png +0 -0
  361. package/playwright-tests/snapshots/footprint-dialog/footprint-selection.spec.ts-footprint-preview-xs.png +0 -0
  362. package/playwright-tests/snapshots/handle-manual-edits.spec.ts-handle-manual-edits.png +0 -0
  363. package/playwright-tests/snapshots/home-page.spec.ts-Home-page-lg.png +0 -0
  364. package/playwright-tests/snapshots/home-page.spec.ts-Home-page-md.png +0 -0
  365. package/playwright-tests/snapshots/home-page.spec.ts-Home-page-xs.png +0 -0
  366. package/playwright-tests/snapshots/images.spec.ts-pcb-image.png +0 -0
  367. package/playwright-tests/snapshots/images.spec.ts-schematic-image.png +0 -0
  368. package/playwright-tests/snapshots/manual-edits.spec.ts-editor-manual-edits.png +0 -0
  369. package/playwright-tests/snapshots/manual-edits.spec.ts-manual-edits-view.png +0 -0
  370. package/playwright-tests/snapshots/preview-page.spec.ts-preview-snippet-pcb.png +0 -0
  371. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-before-delete.png +0 -0
  372. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-delete-dialog.png +0 -0
  373. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-dropdown-open.png +0 -0
  374. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-snippets-tab.png +0 -0
  375. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-starred-tab.png +0 -0
  376. package/playwright-tests/snapshots/profile-page.spec.ts-snippet-page-open-after-star-click.png +0 -0
  377. package/playwright-tests/snapshots/quickstart-page.spec.ts-Quickstart-Pagelg.png +0 -0
  378. package/playwright-tests/snapshots/quickstart-page.spec.ts-Quickstart-Pagemd.png +0 -0
  379. package/playwright-tests/snapshots/quickstart-page.spec.ts-Quickstart-Pagexs.png +0 -0
  380. package/playwright-tests/snapshots/search-links.spec.ts-search-links.png +0 -0
  381. package/playwright-tests/snapshots/search.spec.ts-search-lg.png +0 -0
  382. package/playwright-tests/snapshots/search.spec.ts-search-md.png +0 -0
  383. package/playwright-tests/snapshots/search.spec.ts-search-xs.png +0 -0
  384. package/playwright-tests/snapshots/star.spec.ts-remove-star-button.png +0 -0
  385. package/playwright-tests/snapshots/star.spec.ts-star-button.png +0 -0
  386. package/playwright-tests/snapshots/update-description.spec.ts-update-description.png +0 -0
  387. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-after-lg.png +0 -0
  388. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-after-md.png +0 -0
  389. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-after-xs.png +0 -0
  390. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-before-lg.png +0 -0
  391. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-before-md.png +0 -0
  392. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-before-xs.png +0 -0
  393. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-files.png +0 -0
  394. package/playwright-tests/star.spec.ts +0 -40
  395. package/playwright-tests/update-description.spec.ts +0 -18
  396. package/playwright-tests/view-snippet.spec.ts +0 -35
  397. package/playwright-tests/viewports.ts +0 -5
  398. package/playwright.config.ts +0 -27
  399. package/postcss.config.js +0 -6
  400. package/public/robots.txt +0 -9
  401. package/renovate.json +0 -25
  402. package/scripts/generate-image-sizes.ts +0 -57
  403. package/scripts/generate-sitemap.ts +0 -103
  404. package/scripts/generate_bundle_stats.js +0 -208
  405. package/scripts/snapshot.ts +0 -35
  406. package/src/App.tsx +0 -314
  407. package/src/ContextProviders.tsx +0 -94
  408. package/src/assets/originals/editor_example_1.webp +0 -0
  409. package/src/assets/originals/editor_example_1_more_square.webp +0 -0
  410. package/src/assets/originals/editor_example_2.webp +0 -0
  411. package/src/assets/originals/example_schematic.webp +0 -0
  412. package/src/components/AiChatMessage.tsx +0 -86
  413. package/src/components/Analytics.tsx +0 -23
  414. package/src/components/BomTable.tsx +0 -69
  415. package/src/components/ChatInput.tsx +0 -53
  416. package/src/components/CircuitJsonImportDialog.tsx +0 -269
  417. package/src/components/CircuitToSvgWithMouseControl.tsx +0 -78
  418. package/src/components/CmdKMenu.tsx +0 -809
  419. package/src/components/CreateNewSnippetWithAiHero.tsx +0 -81
  420. package/src/components/CreateReleaseDialog.tsx +0 -124
  421. package/src/components/DownloadButtonAndMenu.tsx +0 -443
  422. package/src/components/ErrorFallback.tsx +0 -25
  423. package/src/components/ErrorOutline.tsx +0 -35
  424. package/src/components/ErrorTabContent.tsx +0 -122
  425. package/src/components/ExpandableText.tsx +0 -29
  426. package/src/components/FAQ.tsx +0 -189
  427. package/src/components/FileSidebar.tsx +0 -271
  428. package/src/components/Footer.tsx +0 -144
  429. package/src/components/GithubAvatarWithFallback.tsx +0 -35
  430. package/src/components/Header.tsx +0 -202
  431. package/src/components/Header2.tsx +0 -202
  432. package/src/components/HeaderDropdown.tsx +0 -88
  433. package/src/components/HeaderLogin.tsx +0 -105
  434. package/src/components/HiddenFilesDropdown.tsx +0 -42
  435. package/src/components/ImageWithFallback.tsx +0 -37
  436. package/src/components/LatestSnippets.tsx +0 -39
  437. package/src/components/NotFound.tsx +0 -37
  438. package/src/components/OptimizedImage.tsx +0 -100
  439. package/src/components/PackageBreadcrumb.tsx +0 -105
  440. package/src/components/PackageBuildsPage/ErrorObject.ts +0 -12
  441. package/src/components/PackageBuildsPage/capitalCase.ts +0 -4
  442. package/src/components/PackageBuildsPage/getColorForDisplayStatus.ts +0 -17
  443. package/src/components/PackageCard.tsx +0 -191
  444. package/src/components/PackageCardSkeleton.tsx +0 -17
  445. package/src/components/PackageLink.tsx +0 -29
  446. package/src/components/PackageSearchResults.tsx +0 -81
  447. package/src/components/PackagesList.tsx +0 -71
  448. package/src/components/PcbViewerWithContainerHeight.tsx +0 -47
  449. package/src/components/PrefetchPageLink.tsx +0 -114
  450. package/src/components/PreviewEmptyState.tsx +0 -16
  451. package/src/components/ProfileRouter.tsx +0 -30
  452. package/src/components/RunButton.tsx +0 -27
  453. package/src/components/SearchComponent.tsx +0 -282
  454. package/src/components/SentryNotFoundReporter.tsx +0 -44
  455. package/src/components/SnippetTypeIcon.tsx +0 -60
  456. package/src/components/StaticPreviewContent.tsx +0 -89
  457. package/src/components/StaticViewSnippetSidebar.tsx +0 -100
  458. package/src/components/SuspenseRunFrame.tsx +0 -28
  459. package/src/components/TableViewer/CircuitJsonTableViewer.tsx +0 -316
  460. package/src/components/TableViewer/ClickableText.tsx +0 -21
  461. package/src/components/TableViewer/HeaderCell.tsx +0 -27
  462. package/src/components/TableViewer/Modal.tsx +0 -39
  463. package/src/components/TrendingPackagesCarousel.tsx +0 -79
  464. package/src/components/TypeBadge.tsx +0 -31
  465. package/src/components/UserCard.tsx +0 -80
  466. package/src/components/ViewPackagePage/components/ShikiCodeViewer.tsx +0 -49
  467. package/src/components/ViewPackagePage/components/build-status.tsx +0 -38
  468. package/src/components/ViewPackagePage/components/important-files-view.tsx +0 -611
  469. package/src/components/ViewPackagePage/components/main-content-header.tsx +0 -181
  470. package/src/components/ViewPackagePage/components/main-content-view-selector.tsx +0 -167
  471. package/src/components/ViewPackagePage/components/markdown-viewer.tsx +0 -88
  472. package/src/components/ViewPackagePage/components/mobile-sidebar.tsx +0 -301
  473. package/src/components/ViewPackagePage/components/package-header.tsx +0 -264
  474. package/src/components/ViewPackagePage/components/preview-image-squares.tsx +0 -47
  475. package/src/components/ViewPackagePage/components/repo-page-content.tsx +0 -266
  476. package/src/components/ViewPackagePage/components/sidebar-about-section.tsx +0 -223
  477. package/src/components/ViewPackagePage/components/sidebar-packages-section.tsx +0 -16
  478. package/src/components/ViewPackagePage/components/sidebar-releases-section.tsx +0 -126
  479. package/src/components/ViewPackagePage/components/sidebar.tsx +0 -29
  480. package/src/components/ViewPackagePage/components/tab-views/3d-view.tsx +0 -43
  481. package/src/components/ViewPackagePage/components/tab-views/bom-view.tsx +0 -30
  482. package/src/components/ViewPackagePage/components/tab-views/files-view.tsx +0 -295
  483. package/src/components/ViewPackagePage/components/tab-views/pcb-view.tsx +0 -35
  484. package/src/components/ViewPackagePage/components/tab-views/schematic-view.tsx +0 -38
  485. package/src/components/ViewPackagePage/components/theme-toggle.tsx +0 -40
  486. package/src/components/ViewPackagePage/hooks/use-current-package-circuit-json.ts +0 -46
  487. package/src/components/ViewPackagePage/hooks/use-mobile.tsx +0 -19
  488. package/src/components/ViewPackagePage/hooks/use-toast.tsx +0 -69
  489. package/src/components/ViewPackagePage/utils/fuzz-search.ts +0 -121
  490. package/src/components/ViewPackagePage/utils/get-license-content.ts +0 -119
  491. package/src/components/ViewPackagePage/utils/is-hidden-file.ts +0 -55
  492. package/src/components/ViewPackagePage/utils/is-package-file-important.ts +0 -35
  493. package/src/components/ViewPackagePage/utils/is-within-directory.ts +0 -32
  494. package/src/components/dialogs/GitHubRepositorySelector.tsx +0 -300
  495. package/src/components/dialogs/confirm-delete-package-dialog.tsx +0 -74
  496. package/src/components/dialogs/confirm-discard-changes-dialog.tsx +0 -73
  497. package/src/components/dialogs/create-use-dialog.tsx +0 -40
  498. package/src/components/dialogs/edit-description-dialog.tsx +0 -96
  499. package/src/components/dialogs/edit-package-details-dialog.tsx +0 -474
  500. package/src/components/dialogs/files-dialog.tsx +0 -70
  501. package/src/components/dialogs/import-component-dialog.tsx +0 -32
  502. package/src/components/dialogs/import-package-dialog.tsx +0 -90
  503. package/src/components/dialogs/new-package-save-prompt-dialog.tsx +0 -199
  504. package/src/components/dialogs/package-visibility-settings-dialog.tsx +0 -93
  505. package/src/components/dialogs/pcb-download-dialog.tsx +0 -113
  506. package/src/components/dialogs/rename-package-dialog.tsx +0 -86
  507. package/src/components/dialogs/rename-snippet-dialog.tsx +0 -81
  508. package/src/components/dialogs/update-package-description-dialog.tsx +0 -96
  509. package/src/components/dialogs/view-ts-files-dialog.tsx +0 -664
  510. package/src/components/organization/OrganizationCard.tsx +0 -202
  511. package/src/components/organization/OrganizationCardSkeleton.tsx +0 -55
  512. package/src/components/organization/OrganizationHeader.tsx +0 -140
  513. package/src/components/organization/OrganizationMembers.tsx +0 -117
  514. package/src/components/package-port/CodeAndPreview.tsx +0 -253
  515. package/src/components/package-port/CodeEditor.tsx +0 -866
  516. package/src/components/package-port/CodeEditorHeader.tsx +0 -427
  517. package/src/components/package-port/EditorNav.tsx +0 -606
  518. package/src/components/package-port/GlobalFindReplace.tsx +0 -681
  519. package/src/components/package-port/QuickOpen.tsx +0 -241
  520. package/src/components/preview/BuildsList.tsx +0 -237
  521. package/src/components/preview/ConnectedPackagesList.tsx +0 -229
  522. package/src/components/preview/ConnectedRepoOverview.tsx +0 -588
  523. package/src/components/preview/PackageReleasesDashboard.tsx +0 -228
  524. package/src/components/preview/index.tsx +0 -54
  525. package/src/components/ui/accordion.tsx +0 -55
  526. package/src/components/ui/alert-dialog.tsx +0 -139
  527. package/src/components/ui/alert.tsx +0 -59
  528. package/src/components/ui/aspect-ratio.tsx +0 -5
  529. package/src/components/ui/avatar.tsx +0 -48
  530. package/src/components/ui/badge.tsx +0 -36
  531. package/src/components/ui/breadcrumb.tsx +0 -118
  532. package/src/components/ui/button.tsx +0 -58
  533. package/src/components/ui/calendar.tsx +0 -73
  534. package/src/components/ui/card.tsx +0 -76
  535. package/src/components/ui/carousel.tsx +0 -260
  536. package/src/components/ui/chart.tsx +0 -363
  537. package/src/components/ui/checkbox.tsx +0 -28
  538. package/src/components/ui/collapsible.tsx +0 -9
  539. package/src/components/ui/combobox.tsx +0 -178
  540. package/src/components/ui/command.tsx +0 -151
  541. package/src/components/ui/context-menu.tsx +0 -202
  542. package/src/components/ui/dialog.tsx +0 -120
  543. package/src/components/ui/drawer.tsx +0 -116
  544. package/src/components/ui/dropdown-menu.tsx +0 -203
  545. package/src/components/ui/form.tsx +0 -182
  546. package/src/components/ui/hover-card.tsx +0 -27
  547. package/src/components/ui/input.tsx +0 -25
  548. package/src/components/ui/label.tsx +0 -24
  549. package/src/components/ui/menubar.tsx +0 -238
  550. package/src/components/ui/navigation-menu.tsx +0 -129
  551. package/src/components/ui/pagination.tsx +0 -121
  552. package/src/components/ui/popover.tsx +0 -31
  553. package/src/components/ui/progress.tsx +0 -26
  554. package/src/components/ui/radio-group.tsx +0 -42
  555. package/src/components/ui/resizable.tsx +0 -43
  556. package/src/components/ui/role-badge.tsx +0 -27
  557. package/src/components/ui/scroll-area.tsx +0 -46
  558. package/src/components/ui/searchable-select.tsx +0 -94
  559. package/src/components/ui/select.tsx +0 -162
  560. package/src/components/ui/separator.tsx +0 -29
  561. package/src/components/ui/sheet.tsx +0 -141
  562. package/src/components/ui/skeleton.tsx +0 -18
  563. package/src/components/ui/slider.tsx +0 -26
  564. package/src/components/ui/sonner.tsx +0 -30
  565. package/src/components/ui/switch.tsx +0 -27
  566. package/src/components/ui/table.tsx +0 -120
  567. package/src/components/ui/tabs.tsx +0 -53
  568. package/src/components/ui/textarea.tsx +0 -24
  569. package/src/components/ui/toast.tsx +0 -128
  570. package/src/components/ui/toaster.tsx +0 -1
  571. package/src/components/ui/toggle-group.tsx +0 -59
  572. package/src/components/ui/toggle.tsx +0 -43
  573. package/src/components/ui/tooltip.tsx +0 -28
  574. package/src/components/ui/tree-view.tsx +0 -563
  575. package/src/entry-server.tsx +0 -12
  576. package/src/hooks/use-account-balance.ts +0 -25
  577. package/src/hooks/use-add-org-member-mutation.ts +0 -51
  578. package/src/hooks/use-ai-api.ts +0 -35
  579. package/src/hooks/use-ai-review.ts +0 -31
  580. package/src/hooks/use-axios.ts +0 -20
  581. package/src/hooks/use-code-completion-ai-api.ts +0 -11
  582. package/src/hooks/use-copy-to-clipboard.ts +0 -26
  583. package/src/hooks/use-create-datasheet.ts +0 -30
  584. package/src/hooks/use-create-org-mutation.ts +0 -38
  585. package/src/hooks/use-create-package-files-mutation.ts +0 -76
  586. package/src/hooks/use-create-package-mutation.ts +0 -54
  587. package/src/hooks/use-create-package-release-mutation.ts +0 -107
  588. package/src/hooks/use-create-release-dialog.ts +0 -160
  589. package/src/hooks/use-create-snippet-mutation.ts +0 -65
  590. package/src/hooks/use-current-package-id.ts +0 -16
  591. package/src/hooks/use-current-package-info.ts +0 -32
  592. package/src/hooks/use-current-package-release.ts +0 -48
  593. package/src/hooks/use-current-snippet-id.ts +0 -78
  594. package/src/hooks/use-current-snippet.ts +0 -24
  595. package/src/hooks/use-datasheet.ts +0 -18
  596. package/src/hooks/use-debounce.ts +0 -17
  597. package/src/hooks/use-delete-package.ts +0 -45
  598. package/src/hooks/use-download-zip.ts +0 -50
  599. package/src/hooks/use-fork-package-mutation.ts +0 -61
  600. package/src/hooks/use-global-store.ts +0 -36
  601. package/src/hooks/use-hotkey.ts +0 -116
  602. package/src/hooks/use-hydration.ts +0 -30
  603. package/src/hooks/use-is-using-fake-api.ts +0 -3
  604. package/src/hooks/use-jlcpcb-component-import.tsx +0 -164
  605. package/src/hooks/use-list-org-members.ts +0 -32
  606. package/src/hooks/use-list-user-orgs.ts +0 -25
  607. package/src/hooks/use-now.ts +0 -12
  608. package/src/hooks/use-org-by-github-handle.ts +0 -24
  609. package/src/hooks/use-org.ts +0 -24
  610. package/src/hooks/use-organization.ts +0 -42
  611. package/src/hooks/use-package-as-snippet.ts +0 -81
  612. package/src/hooks/use-package-builds.ts +0 -91
  613. package/src/hooks/use-package-by-package-id.ts +0 -24
  614. package/src/hooks/use-package-by-package-name.ts +0 -29
  615. package/src/hooks/use-package-details-form.ts +0 -146
  616. package/src/hooks/use-package-files.ts +0 -122
  617. package/src/hooks/use-package-release-by-id-or-version.ts +0 -45
  618. package/src/hooks/use-package-release-images.ts +0 -105
  619. package/src/hooks/use-package-release.ts +0 -124
  620. package/src/hooks/use-package-stars.ts +0 -163
  621. package/src/hooks/use-package.ts +0 -24
  622. package/src/hooks/use-packages-base-api-url.ts +0 -3
  623. package/src/hooks/use-preview-images.ts +0 -78
  624. package/src/hooks/use-rebuild-package-release-mutation.ts +0 -41
  625. package/src/hooks/use-remove-org-member-mutation.ts +0 -32
  626. package/src/hooks/use-request-ai-review-mutation.ts +0 -54
  627. package/src/hooks/use-run-tsx/eval-compiled-js.ts +0 -9
  628. package/src/hooks/use-shiki-highlighter.ts +0 -33
  629. package/src/hooks/use-sign-in.ts +0 -24
  630. package/src/hooks/use-snippet-by-name.ts +0 -25
  631. package/src/hooks/use-snippet.ts +0 -24
  632. package/src/hooks/use-toast.tsx +0 -90
  633. package/src/hooks/use-update-ai-description-mutation.ts +0 -42
  634. package/src/hooks/use-update-org-mutation.ts +0 -41
  635. package/src/hooks/use-url-params.ts +0 -31
  636. package/src/hooks/use-warn-user-on-page-change.ts +0 -90
  637. package/src/hooks/useFileManagement.ts +0 -602
  638. package/src/hooks/useForkPackageMutation.ts +0 -50
  639. package/src/hooks/useForkSnippetMutation.ts +0 -53
  640. package/src/hooks/useOptimizedPackageFilesLoader.ts +0 -136
  641. package/src/hooks/usePackageFilesLoader.ts +0 -58
  642. package/src/hooks/useUpdatePackageFilesMutation.ts +0 -131
  643. package/src/hooks/useUpdatePackageMutation.ts +0 -63
  644. package/src/index.css +0 -108
  645. package/src/lib/__tests__/constants.test.ts +0 -66
  646. package/src/lib/base64ToBytes.ts +0 -5
  647. package/src/lib/bytesToBase64.ts +0 -4
  648. package/src/lib/codemirror/basic-setup.ts +0 -67
  649. package/src/lib/constants.ts +0 -23
  650. package/src/lib/decodeUrlHashToFsMap.ts +0 -17
  651. package/src/lib/decodeUrlHashToText.ts +0 -15
  652. package/src/lib/defaultCodeForBlankCode.tsx +0 -7
  653. package/src/lib/download-fns/createBlobURL.ts +0 -4
  654. package/src/lib/download-fns/download-assembly-svg.ts +0 -12
  655. package/src/lib/download-fns/download-circuit-json-fn.ts +0 -12
  656. package/src/lib/download-fns/download-circuit-png.ts +0 -96
  657. package/src/lib/download-fns/download-dsn-file-fn.ts +0 -12
  658. package/src/lib/download-fns/download-fabrication-files.ts +0 -233
  659. package/src/lib/download-fns/download-gltf-from-circuit-json.ts +0 -44
  660. package/src/lib/download-fns/download-gltf.ts +0 -43
  661. package/src/lib/download-fns/download-kicad-files.ts +0 -38
  662. package/src/lib/download-fns/download-pcb-svg.ts +0 -35
  663. package/src/lib/download-fns/download-png-utils.ts +0 -31
  664. package/src/lib/download-fns/download-readable-netlist.ts +0 -12
  665. package/src/lib/download-fns/download-schematic-svg.ts +0 -12
  666. package/src/lib/download-fns/download-simple-route-json.ts +0 -17
  667. package/src/lib/download-fns/download-spice-file.ts +0 -13
  668. package/src/lib/download-fns/download-step.ts +0 -12
  669. package/src/lib/encodeFsMapToUrlHash.ts +0 -13
  670. package/src/lib/encodeTextToUrlHash.ts +0 -17
  671. package/src/lib/get-snippet-template.ts +0 -26
  672. package/src/lib/getLicenseFromLicenseContent.ts +0 -67
  673. package/src/lib/handleManualEditsImport.tsx +0 -65
  674. package/src/lib/handleManualEditsImportWithSupportForMultipleFiles.ts +0 -67
  675. package/src/lib/normalize-svg-for-tile.ts +0 -50
  676. package/src/lib/populate-query-cache-with-ssr-data.ts +0 -53
  677. package/src/lib/posthog.ts +0 -17
  678. package/src/lib/react-query-api-failure-tracking.ts +0 -148
  679. package/src/lib/sentry.ts +0 -14
  680. package/src/lib/templates/blank-3d-model-template.ts +0 -12
  681. package/src/lib/templates/blank-circuit-board-template.ts +0 -20
  682. package/src/lib/templates/blank-footprint-template.ts +0 -29
  683. package/src/lib/templates/blank-package-template.ts +0 -21
  684. package/src/lib/templates/blinking-led-board-template.ts +0 -64
  685. package/src/lib/templates/usb-c-led-flashlight-template.ts +0 -22
  686. package/src/lib/ts-lib-cache.ts +0 -162
  687. package/src/lib/types.ts +0 -31
  688. package/src/lib/utils/checkIfManualEditsImported.ts +0 -20
  689. package/src/lib/utils/findTargetFile.ts +0 -97
  690. package/src/lib/utils/formatTimeAgo.ts +0 -10
  691. package/src/lib/utils/getPackagePreviewImageUrl.ts +0 -15
  692. package/src/lib/utils/index.ts +0 -6
  693. package/src/lib/utils/isComponentExported.ts +0 -10
  694. package/src/lib/utils/isUuid.ts +0 -5
  695. package/src/lib/utils/isValidFileName.ts +0 -17
  696. package/src/lib/utils/load-prettier.ts +0 -23
  697. package/src/lib/utils/member-role.tsx +0 -61
  698. package/src/lib/utils/package-utils.ts +0 -7
  699. package/src/lib/utils/parseJsonOrNull.ts +0 -8
  700. package/src/lib/utils/pcbManualEditEventHandler.ts +0 -156
  701. package/src/lib/utils/resolveRelativePath.ts +0 -40
  702. package/src/lib/utils/timeAgo.ts +0 -20
  703. package/src/lib/utils/toastManualEditConflicts.tsx +0 -39
  704. package/src/lib/utils/transformFilesToTreeData.tsx +0 -195
  705. package/src/main.tsx +0 -15
  706. package/src/pages/404.tsx +0 -23
  707. package/src/pages/authorize.tsx +0 -208
  708. package/src/pages/create-organization.tsx +0 -169
  709. package/src/pages/dashboard.tsx +0 -254
  710. package/src/pages/datasheet.tsx +0 -198
  711. package/src/pages/datasheets.tsx +0 -148
  712. package/src/pages/dev-login.tsx +0 -68
  713. package/src/pages/editor.tsx +0 -54
  714. package/src/pages/landing.tsx +0 -237
  715. package/src/pages/latest.tsx +0 -145
  716. package/src/pages/my-orders.tsx +0 -54
  717. package/src/pages/organization-profile.tsx +0 -197
  718. package/src/pages/organization-settings.tsx +0 -571
  719. package/src/pages/package-editor.tsx +0 -60
  720. package/src/pages/preview-release.tsx +0 -209
  721. package/src/pages/quickstart.tsx +0 -258
  722. package/src/pages/release-builds.tsx +0 -99
  723. package/src/pages/release-detail.tsx +0 -211
  724. package/src/pages/releases.tsx +0 -55
  725. package/src/pages/search.tsx +0 -288
  726. package/src/pages/settings-redirect.tsx +0 -44
  727. package/src/pages/trending.tsx +0 -201
  728. package/src/pages/user-profile.tsx +0 -330
  729. package/src/pages/user-settings.tsx +0 -161
  730. package/src/pages/view-package.tsx +0 -90
  731. package/src/types/package.ts +0 -4
  732. package/src/vite-env.d.ts +0 -1
  733. package/tailwind.config.js +0 -47
  734. package/tsconfig.json +0 -30
  735. package/vercel.json +0 -50
  736. package/vite.config.ts +0 -236
  737. package/winterspec.config.ts +0 -6
@@ -1 +0,0 @@
1
- *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius: .5rem}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-0\.5{right:-.125rem}.-right-12{right:-3rem}.-right-3{right:-.75rem}.-top-12{top:-3rem}.-top-4{top:-1rem}.bottom-0{bottom:0}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.top-\[10vh\]{top:10vh}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.\!z-\[101\]{z-index:101!important}.\!z-\[999\]{z-index:999!important}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.z-\[120\]{z-index:120}.z-\[1\]{z-index:1}.z-\[5\]{z-index:5}.z-\[999\]{z-index:999}.col-span-3{grid-column:span 3 / span 3}.col-span-full{grid-column:1 / -1}.m-4{margin:1rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-auto{margin-top:auto;margin-bottom:auto}.\!-mt-1{margin-top:-.25rem!important}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.-mt-\[3px\]{margin-top:-3px}.mb-1{margin-bottom:.25rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\[2px\]{margin-bottom:2px}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-\[2px\]{margin-left:2px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mr-8{margin-right:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[40px\]{margin-top:40px}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-16{width:4rem;height:4rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-8{width:2rem;height:2rem}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1\.25rem\]{height:1.25rem}.h-\[1\.5rem\]{height:1.5rem}.h-\[1px\]{height:1px}.h-\[48px\]{height:48px}.h-\[500px\]{height:500px}.h-\[620px\]{height:620px}.h-\[80vh\]{height:80vh}.h-\[85vh\]{height:85vh}.h-\[98vh\]{height:98vh}.h-\[calc\(100vh-20rem\)\]{height:calc(100vh - 20rem)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[500px\]{max-height:500px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[95vh\]{max-height:95vh}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\[200px\]{min-height:200px}.min-h-\[280px\]{min-height:280px}.min-h-\[48px\]{min-height:48px}.min-h-\[60px\]{min-height:60px}.min-h-\[80px\]{min-height:80px}.min-h-\[80vh\]{min-height:80vh}.min-h-\[90vh\]{min-height:90vh}.min-h-\[calc\(100vh-80px\)\]{min-height:calc(100vh - 80px)}.min-h-screen{min-height:100vh}.\!w-\[80vw\]{width:80vw!important}.\!w-full{width:100%!important}.w-0{width:0px}.w-1{width:.25rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-11\/12{width:91.666667%}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-5\/6{width:83.333333%}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[1\.5rem\]{width:1.5rem}.w-\[100px\]{width:100px}.w-\[140px\]{width:140px}.w-\[14rem\]{width:14rem}.w-\[180px\]{width:180px}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[280px\]{width:280px}.w-\[70px\]{width:70px}.w-\[70vw\]{width:70vw}.w-\[90vw\]{width:90vw}.w-\[95vw\]{width:95vw}.w-\[var\(--radix-popover-trigger-width\)\]{width:var(--radix-popover-trigger-width)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.min-w-\[12px\]{min-width:12px}.min-w-\[12rem\]{min-width:12rem}.min-w-\[16px\]{min-width:16px}.min-w-\[80px\]{min-width:80px}.min-w-\[8px\]{min-width:8px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.\!max-w-6xl{max-width:72rem!important}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[1200px\]{max-width:1200px}.max-w-\[12rem\]{max-width:12rem}.max-w-\[600px\]{max-width:600px}.max-w-\[80\%\]{max-width:80%}.max-w-\[8rem\]{max-width:8rem}.max-w-\[900px\]{max-width:900px}.max-w-\[95vw\]{max-width:95vw}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.table-auto{table-layout:auto}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-45{--tw-rotate: -45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[3\]{--tw-scale-x: 3;--tw-scale-y: 3;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[4\]{--tw-scale-x: 4;--tw-scale-y: 4;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes slide-left{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-carousel-left{animation:slide-left 120s linear infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-y-2{row-gap:.5rem}.-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.25rem * var(--tw-space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-r-lg{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[1\.5px\]{border-width:1.5px}.border-x{border-left-width:1px;border-right-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[--color-border\]{border-color:var(--color-border)}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-red-500\/50{border-color:#ef444480}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-200\/50{border-color:#e2e8f080}.border-slate-500{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.border-slate-900{--tw-border-opacity: 1;border-color:rgb(15 23 42 / var(--tw-border-opacity, 1))}.border-slate-900\/50{border-color:#0f172a80}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-l-blue-500{--tw-border-opacity: 1;border-left-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-t-gray-600{--tw-border-opacity: 1;border-top-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#F5F1ED\]{--tw-bg-opacity: 1;background-color:rgb(245 241 237 / var(--tw-bg-opacity, 1))}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/20{background-color:#0003}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-50\/20{background-color:#f9fafb33}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-100\/80{background-color:#fee2e2cc}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-100\/50{background-color:#f1f5f980}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/50{background-color:#f8fafc80}.bg-slate-50\/80{background-color:#f8fafccc}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/10{background-color:#0f172a1a}.bg-slate-900\/20{background-color:#0f172a33}.bg-teal-600{--tw-bg-opacity: 1;background-color:rgb(13 148 136 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/95{background-color:#fffffff2}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-opacity-50{--tw-bg-opacity: .5}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-blue-100{--tw-gradient-from: #dbeafe var(--tw-gradient-from-position);--tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-indigo-100{--tw-gradient-to: #e0e7ff var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-yellow-400{fill:#facc15}.fill-yellow-500{fill:#eab308}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-20{padding-right:5rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pr-\[30px\]{padding-right:30px}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-\[2\.5px\]{padding-top:2.5px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.5em\]{font-size:.5em}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[16px\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-current{color:currentColor}.text-cyan-500{--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity, 1))}.text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-pink-500{--tw-text-opacity: 1;color:rgb(236 72 153 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-slate-900\/50{color:#0f172a80}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.text-slate-950\/50{color:#02061780}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-offset-white{--tw-ring-offset-color: #fff}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\]{transition-property:margin;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,opacity\]{transition-property:width,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.shiki::-webkit-scrollbar{display:none}.shiki{-ms-overflow-style:none;scrollbar-width:none}.shiki{font-family:Fira Code,monospace;font-size:14px;line-height:1.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fadeIn{animation:fadeIn .3s ease-in-out}.shiki code{counter-reset:step;counter-increment:step 0}.shiki code .line:before{content:counter(step);counter-increment:step;width:1rem;margin-right:1.5rem;display:inline-block;text-align:right;color:#738a9466}.markdown-code .shiki .line:before{content:none!important;display:none!important}.markdown-code .shiki .line{padding-left:0!important}.markdown-code pre{padding:12px!important;margin:0!important}.markdown-content{padding-top:.5rem;max-width:none!important;width:100%!important}.markdown-content .prose{max-width:none!important;width:100%!important}body{overflow-x:hidden}html::-webkit-scrollbar,body::-webkit-scrollbar{width:6px;background-color:transparent}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background-color:#d7d7d790;border-radius:8px;-webkit-transition:background-color .2s;transition:background-color .2s}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background-color:#c1c1c174}.dark\:prose-invert:is(.dark *){--tw-prose-body: var(--tw-prose-invert-body);--tw-prose-headings: var(--tw-prose-invert-headings);--tw-prose-lead: var(--tw-prose-invert-lead);--tw-prose-links: var(--tw-prose-invert-links);--tw-prose-bold: var(--tw-prose-invert-bold);--tw-prose-counters: var(--tw-prose-invert-counters);--tw-prose-bullets: var(--tw-prose-invert-bullets);--tw-prose-hr: var(--tw-prose-invert-hr);--tw-prose-quotes: var(--tw-prose-invert-quotes);--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);--tw-prose-captions: var(--tw-prose-invert-captions);--tw-prose-kbd: var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);--tw-prose-code: var(--tw-prose-invert-code);--tw-prose-pre-code: var(--tw-prose-invert-pre-code);--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);--tw-prose-th-borders: var(--tw-prose-invert-th-borders);--tw-prose-td-borders: var(--tw-prose-invert-td-borders)}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-slate-950::file-selector-button{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.placeholder\:text-slate-500::-moz-placeholder{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.placeholder\:text-slate-500::placeholder{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:left-0:before{content:var(--tw-content);left:0}.before\:right-1:before{content:var(--tw-content);right:.25rem}.before\:-z-10:before{content:var(--tw-content);z-index:-10}.before\:h-\[2rem\]:before{content:var(--tw-content);height:2rem}.before\:w-full:before{content:var(--tw-content);width:100%}.before\:rounded-lg:before{content:var(--tw-content);border-radius:var(--radius)}.before\:bg-slate-100\/70:before{content:var(--tw-content);background-color:#f1f5f9b3}.before\:bg-slate-900\/20:before{content:var(--tw-content);background-color:#0f172a33}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:opacity-100:before{content:var(--tw-content);opacity:1}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:rotate-0:hover{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[3\.5\]:hover{--tw-scale-x: 3.5;--tw-scale-y: 3.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:border-red-300:hover{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/80:hover{background-color:#ef4444cc}.hover\:bg-red-500\/90:hover{background-color:#ef4444e6}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100\/50:hover{background-color:#f1f5f980}.hover\:bg-slate-100\/80:hover{background-color:#f1f5f9cc}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-900:hover{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-900\/80:hover{background-color:#0f172acc}.hover\:bg-slate-900\/90:hover{background-color:#0f172ae6}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:text-red-900:hover{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.hover\:text-slate-50:hover{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.hover\:text-slate-500:hover{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:text-slate-950:hover{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-gray-500:hover{text-decoration-color:#6b7280}.hover\:underline-offset-2:hover{text-underline-offset:2px}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:before\:opacity-100:hover:before{content:var(--tw-content);opacity:1}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-red-500:focus{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.focus\:border-slate-400:focus{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity, 1))}.focus\:bg-slate-100:focus{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.focus\:bg-slate-900:focus{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.focus\:text-slate-50:focus{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.focus\:text-slate-900:focus{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus\:ring-slate-950:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(2 6 23 / var(--tw-ring-opacity, 1))}.focus\:ring-slate-950\/10:focus{--tw-ring-color: rgb(2 6 23 / .1)}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-slate-950:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(2 6 23 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-white:focus-visible{--tw-ring-offset-color: #fff}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-slate-100\/40{border-color:#f1f5f966}.group.toaster .group-\[\.toaster\]\:border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.group.toast .group-\[\.toast\]\:bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.group.toast .group-\[\.toast\]\:bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.group.toaster .group-\[\.toaster\]\:bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.toast .group-\[\.toast\]\:text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.group.toast .group-\[\.toast\]\:text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.group.toaster .group-\[\.toaster\]\:text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-red-500\/30:hover{border-color:#ef44444d}.group.destructive .group-\[\.destructive\]\:hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:hover\:text-slate-50:hover{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-selected\:bg-slate-100[aria-selected=true]{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.aria-selected\:bg-slate-100\/50[aria-selected=true]{background-color:#f1f5f980}.aria-selected\:text-slate-500[aria-selected=true]{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.aria-selected\:text-slate-900[aria-selected=true]{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\]\:bg-slate-100\/50[data-active]{background-color:#f1f5f980}.data-\[state\=active\]\:bg-white[data-state=active]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.data-\[state\=checked\]\:bg-slate-900[data-state=checked]{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.data-\[state\=on\]\:bg-slate-100[data-state=on],.data-\[state\=open\]\:bg-slate-100[data-state=open]{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:bg-slate-100\/50[data-state=open]{background-color:#f1f5f980}.data-\[state\=selected\]\:bg-slate-100[data-state=selected]{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.data-\[state\=unchecked\]\:bg-slate-200[data-state=unchecked]{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.data-\[state\=active\]\:text-slate-950[data-state=active]{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.data-\[state\=checked\]\:text-slate-50[data-state=checked]{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.data-\[state\=on\]\:text-slate-900[data-state=on]{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.data-\[state\=open\]\:text-slate-500[data-state=open]{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.data-\[state\=open\]\:text-slate-900[data-state=open]{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.prose-code\:font-mono :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.prose-pre\:bg-white :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.prose-pre\:px-6 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){padding-left:1.5rem;padding-right:1.5rem}.prose-pre\:py-0 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){padding-top:0;padding-bottom:0}.dark\:-rotate-90:is(.dark *){--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-0:is(.dark *){--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-0:is(.dark *){--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-\[\#1f6feb66\]:is(.dark *){border-color:#1f6feb66}.dark\:border-\[\#30363d\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(48 54 61 / var(--tw-border-opacity, 1))}.dark\:border-red-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.dark\:border-red-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(127 29 29 / var(--tw-border-opacity, 1))}.dark\:border-red-900\/50:is(.dark *){border-color:#7f1d1d80}.dark\:border-slate-50:is(.dark *){--tw-border-opacity: 1;border-color:rgb(248 250 252 / var(--tw-border-opacity, 1))}.dark\:border-slate-50\/50:is(.dark *){border-color:#f8fafc80}.dark\:border-slate-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.dark\:border-slate-800\/50:is(.dark *){border-color:#1e293b80}.dark\:dark\:border-red-900:is(.dark *):is(.dark *){--tw-border-opacity: 1;border-color:rgb(127 29 29 / var(--tw-border-opacity, 1))}.dark\:bg-\[\#0d1117\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(13 17 23 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#161b22\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(22 27 34 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1f6feb33\]:is(.dark *){background-color:#1f6feb33}.dark\:bg-\[\#21262d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(33 38 45 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#238636\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(35 134 54 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#30363d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(48 54 61 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-red-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-50:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-50\/10:is(.dark *){background-color:#f8fafc1a}.dark\:bg-slate-50\/20:is(.dark *){background-color:#f8fafc33}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800\/50:is(.dark *){background-color:#1e293b80}.dark\:bg-slate-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.dark\:text-\[\#58a6ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(88 166 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8b949e\]:is(.dark *){--tw-text-opacity: 1;color:rgb(139 148 158 / var(--tw-text-opacity, 1))}.dark\:text-\[\#c9d1d9\]:is(.dark *){--tw-text-opacity: 1;color:rgb(201 209 217 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-red-900:is(.dark *){--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-slate-50:is(.dark *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.dark\:text-slate-50\/50:is(.dark *){color:#f8fafc80}.dark\:text-slate-900:is(.dark *){--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:ring-offset-slate-950:is(.dark *){--tw-ring-offset-color: #020617}.dark\:file\:text-slate-50:is(.dark *)::file-selector-button{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-slate-400:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-slate-400:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:before\:bg-slate-50\/20:is(.dark *):before{content:var(--tw-content);background-color:#f8fafc33}.dark\:before\:bg-slate-800\/70:is(.dark *):before{content:var(--tw-content);background-color:#1e293bb3}.dark\:hover\:bg-\[\#161b22\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(22 27 34 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#21262d\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(33 38 45 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#2ea043\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(46 160 67 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#30363d\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(48 54 61 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-900\/80:hover:is(.dark *){background-color:#7f1d1dcc}.dark\:hover\:bg-red-900\/90:hover:is(.dark *){background-color:#7f1d1de6}.dark\:hover\:bg-slate-50:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-slate-50\/80:hover:is(.dark *){background-color:#f8fafccc}.dark\:hover\:bg-slate-50\/90:hover:is(.dark *){background-color:#f8fafce6}.dark\:hover\:bg-slate-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-slate-800\/50:hover:is(.dark *){background-color:#1e293b80}.dark\:hover\:bg-slate-800\/80:hover:is(.dark *){background-color:#1e293bcc}.dark\:hover\:text-gray-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:hover\:text-slate-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:hover\:text-slate-50:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.dark\:hover\:text-slate-900:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:focus\:bg-slate-50:focus:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.dark\:focus\:bg-slate-800:focus:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:focus\:text-slate-50:focus:is(.dark *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.dark\:focus\:text-slate-900:focus:is(.dark *){--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.dark\:focus\:ring-slate-300:focus:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity, 1))}.dark\:focus-visible\:ring-slate-300:focus-visible:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity, 1))}.dark\:focus-visible\:ring-offset-slate-950:focus-visible:is(.dark *){--tw-ring-offset-color: #020617}.group.destructive .dark\:group-\[\.destructive\]\:border-slate-800\/40:is(.dark *){border-color:#1e293b66}.group.toaster .dark\:group-\[\.toaster\]\:border-slate-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.group.toast .dark\:group-\[\.toast\]\:bg-slate-50:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.group.toast .dark\:group-\[\.toast\]\:bg-slate-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.group.toaster .dark\:group-\[\.toaster\]\:bg-slate-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.group.toast .dark\:group-\[\.toast\]\:text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.group.toast .dark\:group-\[\.toast\]\:text-slate-900:is(.dark *){--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.group.toaster .dark\:group-\[\.toaster\]\:text-slate-50:is(.dark *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.group.destructive .dark\:group-\[\.destructive\]\:hover\:border-red-900\/30:hover:is(.dark *){border-color:#7f1d1d4d}.group.destructive .dark\:group-\[\.destructive\]\:hover\:bg-red-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.group.destructive .dark\:group-\[\.destructive\]\:hover\:text-slate-50:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.group.destructive .dark\:group-\[\.destructive\]\:focus\:ring-red-900:focus:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(127 29 29 / var(--tw-ring-opacity, 1))}.dark\:aria-selected\:bg-slate-800[aria-selected=true]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:aria-selected\:bg-slate-800\/50[aria-selected=true]:is(.dark *){background-color:#1e293b80}.dark\:aria-selected\:text-slate-400[aria-selected=true]:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:aria-selected\:text-slate-50[aria-selected=true]:is(.dark *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.dark\:data-\[active\]\:bg-slate-800\/50[data-active]:is(.dark *){background-color:#1e293b80}.dark\:data-\[state\=active\]\:bg-slate-950[data-state=active]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.dark\:data-\[state\=checked\]\:bg-slate-50[data-state=checked]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.dark\:data-\[state\=on\]\:bg-slate-800[data-state=on]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:data-\[state\=open\]\:bg-slate-800[data-state=open]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:data-\[state\=open\]\:bg-slate-800\/50[data-state=open]:is(.dark *){background-color:#1e293b80}.dark\:data-\[state\=selected\]\:bg-slate-800[data-state=selected]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:data-\[state\=unchecked\]\:bg-slate-800[data-state=unchecked]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:data-\[state\=active\]\:text-slate-50[data-state=active]:is(.dark *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.dark\:data-\[state\=checked\]\:text-slate-900[data-state=checked]:is(.dark *){--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.dark\:data-\[state\=on\]\:text-slate-50[data-state=on]:is(.dark *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.dark\:data-\[state\=open\]\:text-slate-400[data-state=open]:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:data-\[state\=open\]\:text-slate-50[data-state=open]:is(.dark *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.dark\:prose-pre\:bg-gray-800 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))):is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}@media (min-width: 400px){.min-\[400px\]\:flex-row{flex-direction:row}}@media (min-width: 500px){.min-\[500px\]\:w-auto{width:auto}.min-\[500px\]\:flex-row{flex-direction:row}}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mb-0{margin-bottom:0}.sm\:mb-4{margin-bottom:1rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:mr-2{margin-right:.5rem}.sm\:mt-0{margin-top:0}.sm\:mt-2{margin-top:.5rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-11{height:2.75rem}.sm\:h-12{height:3rem}.sm\:h-6{height:1.5rem}.sm\:h-\[90vh\]{height:90vh}.sm\:max-h-\[50vh\]{max-height:50vh}.sm\:max-h-\[60vh\]{max-height:60vh}.sm\:max-h-\[90vh\]{max-height:90vh}.sm\:min-h-0{min-height:0px}.sm\:w-1\/2{width:50%}.sm\:w-12{width:3rem}.sm\:w-16{width:4rem}.sm\:w-24{width:6rem}.sm\:w-32{width:8rem}.sm\:w-48{width:12rem}.sm\:w-64{width:16rem}.sm\:w-9{width:2.25rem}.sm\:w-\[140px\]{width:140px}.sm\:w-\[180px\]{width:180px}.sm\:w-auto{width:auto}.sm\:max-w-\[12rem\]{max-width:12rem}.sm\:max-w-\[16rem\]{max-width:16rem}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-\[500px\]{max-width:500px}.sm\:max-w-sm{max-width:24rem}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-0{gap:0px}.sm\:gap-2{gap:.5rem}.sm\:gap-2\.5{gap:.625rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.sm\:self-center{align-self:center}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:pt-20{padding-top:5rem}.sm\:pt-8{padding-top:2rem}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}.sm\:opacity-0{opacity:0}.group:hover .sm\:group-hover\:opacity-100{opacity:1}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:relative{position:relative}.md\:sticky{position:sticky}.md\:left-0{left:0}.md\:top-2{top:.5rem}.md\:z-0{z-index:0}.md\:ml-0{margin-left:0}.md\:mr-1{margin-right:.25rem}.md\:mt-8{margin-top:2rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:size-20{width:5rem;height:5rem}.md\:w-1\/2{width:50%}.md\:w-1\/4{width:25%}.md\:w-3{width:.75rem}.md\:w-3\/4{width:75%}.md\:w-80{width:20rem}.md\:w-\[296px\]{width:296px}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:max-w-\[calc\(100\%-296px\)\]{max-width:calc(100% - 296px)}.md\:max-w-lg{max-width:32rem}.md\:flex-1{flex:1 1 0%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:overflow-hidden{overflow:hidden}.md\:bg-gray-50\/50{background-color:#f9fafb80}.md\:bg-white\/80{background-color:#fffc}.md\:px-20{padding-left:5rem;padding-right:5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:pr-6{padding-right:1.5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.md\:backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}}@supports (backdrop-filter: var(--tw)){@media (min-width: 768px){.supports-\[backdrop-filter\]\:md\:bg-white\/60{background-color:#fff9}}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:mr-2{margin-right:.5rem}.lg\:mr-4{margin-right:1rem}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:size-24{width:6rem;height:6rem}.lg\:h-\[85vh\]{height:85vh}.lg\:w-\[115px\]{width:115px}.lg\:w-auto{width:auto}.lg\:max-w-2xl{max-width:42rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[1fr_400px\]{grid-template-columns:1fr 400px}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:gap-12{gap:3rem}.lg\:p-8{padding:2rem}.lg\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\:px-28{padding-left:7rem;padding-right:7rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:py-32{padding-top:8rem;padding-bottom:8rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-5xl{font-size:3rem;line-height:1}}@media (min-width: 1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-\[1fr_600px\]{grid-template-columns:1fr 600px}.xl\:px-12{padding-left:3rem;padding-right:3rem}.xl\:py-36{padding-top:9rem;padding-bottom:9rem}.xl\:text-6xl\/none{font-size:3.75rem;line-height:1}}@media (min-width: 1536px){.\32xl\:px-16{padding-left:4rem;padding-right:4rem}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:bg-slate-100:has([aria-selected]){--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.dark\:\[\&\:has\(\[aria-selected\]\)\]\:bg-slate-800:has([aria-selected]):is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-slate-100\/50:has([aria-selected].day-outside){background-color:#f1f5f980}.dark\:\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-slate-800\/50:has([aria-selected].day-outside):is(.dark *){background-color:#1e293b80}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>div\]\:no-scrollbar>div::-webkit-scrollbar{display:none}.\[\&\>div\]\:no-scrollbar>div{-ms-overflow-style:none;scrollbar-width:none}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:text-red-500>svg{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.\[\&\>svg\]\:text-slate-500>svg{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.\[\&\>svg\]\:text-slate-950>svg{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.dark\:\[\&\>svg\]\:text-red-900>svg:is(.dark *){--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.dark\:\[\&\>svg\]\:text-slate-400>svg:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:\[\&\>svg\]\:text-slate-50>svg:is(.dark *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:\[\&\[data-state\=open\]\>svg\]\:rotate-90[data-state=open]>svg:first-child{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.cm-editor\]\:h-full .cm-editor{height:100%}.\[\&_\.cm-scroller\]\:\!h-full .cm-scroller{height:100%!important}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
@@ -1 +0,0 @@
1
- import{m as i,j as s,l as d,B as n}from"./index-BQPj88OW.js";import{u as o}from"./Analytics-DIw7l2gi.js";import{H as l}from"./Header-CI4GZVOv.js";import{F as c}from"./Footer-DU-HdqGk.js";import"./use-packages-base-api-url-DA1hucM7.js";const j=()=>{const a=o(),{data:r,isLoading:t}=i("userOrders",async()=>(await a.get("/orders/list")).data.orders);return s.jsxs("div",{children:[s.jsx(l,{}),s.jsxs("div",{className:"container mx-auto px-4 py-8",children:[s.jsx("h1",{className:"text-3xl font-bold mb-6",children:"My Orders"}),t?s.jsx("div",{children:"Loading orders..."}):s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:r==null?void 0:r.map(e=>s.jsxs("div",{className:"border p-4 rounded-md",children:[s.jsxs("h3",{className:"text-lg font-semibold",children:["Order #",e.order_id]}),s.jsxs("p",{className:"text-sm text-gray-500",children:["Created: ",new Date(e.created_at).toLocaleString()]}),s.jsxs("p",{className:"text-sm text-gray-500",children:["Status: ",e.is_running?"Running":"Finished"]}),s.jsx(d,{href:`/orders/${e.order_id}`,children:s.jsx(n,{className:"mt-2",variant:"outline",children:"View Details"})})]},e.order_id))})]}),s.jsx(c,{})]})};export{j as MyOrdersPage};
@@ -1,6 +0,0 @@
1
- import{k as Zt,R as w,b as Q,j as u,n as Ve,bB as Jt,u as Ae,s as Te,v as Ie,w as Xt,h as er,bD as st,B as ue,L as _e,l as tr,bE as rr,bF as sr}from"./index-BQPj88OW.js";import{F as ir,H as it}from"./main-DPEM9abA.js";import{L as ar}from"./label-CTudXc4q.js";import{u as Ue,I as at,A as nr,e as or,g as lr,l as dr}from"./Analytics-DIw7l2gi.js";import{B as ur}from"./badge-Bk-k6kyg.js";import{A as cr,a as fr,b as mr,c as gr,d as hr,e as yr,f as xr,g as br}from"./alert-dialog-DrOB4Tui.js";import{u as vr,O as _r,g as pr,R as wr,a as Fr}from"./role-badge-BGF_IMlO.js";import{H as nt}from"./Header-CI4GZVOv.js";import{F as ot}from"./Footer-DU-HdqGk.js";import{NotFoundPage as lt}from"./404-CnNkOMw-.js";import{u as Vr}from"./use-organization-XwYYTFck.js";import{T as Ar}from"./triangle-alert-BMIBEO1D.js";import{P as jr}from"./plus-KkE_6Dq2.js";import{U as Nr}from"./GithubAvatarWithFallback-CQhrBiKP.js";import"./use-packages-base-api-url-DA1hucM7.js";import"./settings-B2bMEtS4.js";import"./Header2-CrMDmo3P.js";import"./NotFound-DaXtEPsC.js";/**
2
- * @license lucide-react v0.488.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const Dr=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],Er=Zt("arrow-left",Dr);var xe=e=>e.type==="checkbox",le=e=>e instanceof Date,$=e=>e==null;const pt=e=>typeof e=="object";var I=e=>!$(e)&&!Array.isArray(e)&&pt(e)&&!le(e),wt=e=>I(e)&&e.target?xe(e.target)?e.target.checked:e.target.value:e,kr=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Ft=(e,r)=>e.has(kr(r)),Cr=e=>{const r=e.constructor&&e.constructor.prototype;return I(r)&&r.hasOwnProperty("isPrototypeOf")},Pe=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function P(e){let r;const t=Array.isArray(e),i=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)r=new Date(e);else if(!(Pe&&(e instanceof Blob||i))&&(t||I(e)))if(r=t?[]:Object.create(Object.getPrototypeOf(e)),!t&&!Cr(e))r=e;else for(const a in e)e.hasOwnProperty(a)&&(r[a]=P(e[a]));else return e;return r}var je=e=>/^\w*$/.test(e),L=e=>e===void 0,ze=e=>Array.isArray(e)?e.filter(Boolean):[],Be=e=>ze(e.replace(/["|']|\]/g,"").split(/\.|\[/)),g=(e,r,t)=>{if(!r||!I(e))return t;const i=(je(r)?[r]:Be(r)).reduce((a,n)=>$(a)?a:a[n],e);return L(i)||i===e?L(e[r])?t:e[r]:i},K=e=>typeof e=="boolean",D=(e,r,t)=>{let i=-1;const a=je(r)?[r]:Be(r),n=a.length,d=n-1;for(;++i<n;){const c=a[i];let _=t;if(i!==d){const A=e[c];_=I(A)||Array.isArray(A)?A:isNaN(+a[i+1])?{}:[]}if(c==="__proto__"||c==="constructor"||c==="prototype")return;e[c]=_,e=e[c]}};const pe={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},te={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ae={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},He=w.createContext(null);He.displayName="HookFormContext";const Ne=()=>w.useContext(He),Sr=e=>{const{children:r,...t}=e;return w.createElement(He.Provider,{value:t},r)};var Vt=(e,r,t,i=!0)=>{const a={defaultValues:r._defaultValues};for(const n in e)Object.defineProperty(a,n,{get:()=>{const d=n;return r._proxyFormState[d]!==te.all&&(r._proxyFormState[d]=!i||te.all),t&&(t[d]=!0),e[d]}});return a};const $e=typeof window<"u"?w.useLayoutEffect:w.useEffect;function Mr(e){const r=Ne(),{control:t=r.control,disabled:i,name:a,exact:n}=e||{},[d,c]=w.useState(t._formState),_=w.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return $e(()=>t._subscribe({name:a,formState:_.current,exact:n,callback:A=>{!i&&c({...t._formState,...A})}}),[a,i,n]),w.useEffect(()=>{_.current.isValid&&t._setValid(!0)},[t]),w.useMemo(()=>Vt(d,t,_.current,!1),[d,t])}var Y=e=>typeof e=="string",At=(e,r,t,i,a)=>Y(e)?(i&&r.watch.add(e),g(t,e,a)):Array.isArray(e)?e.map(n=>(i&&r.watch.add(n),g(t,n))):(i&&(r.watchAll=!0),t),Le=e=>$(e)||!pt(e);function ne(e,r,t=new WeakSet){if(Le(e)||Le(r))return e===r;if(le(e)&&le(r))return e.getTime()===r.getTime();const i=Object.keys(e),a=Object.keys(r);if(i.length!==a.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(const n of i){const d=e[n];if(!a.includes(n))return!1;if(n!=="ref"){const c=r[n];if(le(d)&&le(c)||I(d)&&I(c)||Array.isArray(d)&&Array.isArray(c)?!ne(d,c,t):d!==c)return!1}}return!0}function Or(e){const r=Ne(),{control:t=r.control,name:i,defaultValue:a,disabled:n,exact:d,compute:c}=e||{},_=w.useRef(a),A=w.useRef(c),v=w.useRef(void 0);A.current=c;const F=w.useMemo(()=>t._getWatch(i,_.current),[t,i]),[b,R]=w.useState(A.current?A.current(F):F);return $e(()=>t._subscribe({name:i,formState:{values:!0},exact:d,callback:z=>{if(!n){const E=At(i,t._names,z.values||t._formValues,!1,_.current);if(A.current){const M=A.current(E);ne(M,v.current)||(R(M),v.current=M)}else R(E)}}}),[t,n,i,d]),w.useEffect(()=>t._removeUnmounted()),b}function Lr(e){const r=Ne(),{name:t,disabled:i,control:a=r.control,shouldUnregister:n,defaultValue:d}=e,c=Ft(a._names.array,t),_=w.useMemo(()=>g(a._formValues,t,g(a._defaultValues,t,d)),[a,t,d]),A=Or({control:a,name:t,defaultValue:_,exact:!0}),v=Mr({control:a,name:t,exact:!0}),F=w.useRef(e),b=w.useRef(void 0),R=w.useRef(a.register(t,{...e.rules,value:A,...K(e.disabled)?{disabled:e.disabled}:{}}));F.current=e;const z=w.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!g(v.errors,t)},isDirty:{enumerable:!0,get:()=>!!g(v.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!g(v.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!g(v.validatingFields,t)},error:{enumerable:!0,get:()=>g(v.errors,t)}}),[v,t]),E=w.useCallback(k=>R.current.onChange({target:{value:wt(k),name:t},type:pe.CHANGE}),[t]),M=w.useCallback(()=>R.current.onBlur({target:{value:g(a._formValues,t),name:t},type:pe.BLUR}),[t,a._formValues]),Z=w.useCallback(k=>{const U=g(a._fields,t);U&&k&&(U._f.ref={focus:()=>k.focus&&k.focus(),select:()=>k.select&&k.select(),setCustomValidity:C=>k.setCustomValidity(C),reportValidity:()=>k.reportValidity()})},[a._fields,t]),p=w.useMemo(()=>({name:t,value:A,...K(i)||v.disabled?{disabled:v.disabled||i}:{},onChange:E,onBlur:M,ref:Z}),[t,i,v.disabled,E,M,Z,A]);return w.useEffect(()=>{const k=a._options.shouldUnregister||n,U=b.current;U&&U!==t&&!c&&a.unregister(U),a.register(t,{...F.current.rules,...K(F.current.disabled)?{disabled:F.current.disabled}:{}});const C=(J,X)=>{const ie=g(a._fields,J);ie&&ie._f&&(ie._f.mount=X)};if(C(t,!0),k){const J=P(g(a._options.defaultValues,t));D(a._defaultValues,t,J),L(g(a._formValues,t))&&D(a._formValues,t,J)}return!c&&a.register(t),b.current=t,()=>{(c?k&&!a._state.action:k)?a.unregister(t):C(t,!1)}},[t,a,c,n]),w.useEffect(()=>{a._setDisabledField({disabled:i,name:t})},[i,t,a]),w.useMemo(()=>({field:p,formState:v,fieldState:z}),[p,v,z])}const Rr=e=>e.render(Lr(e));var jt=(e,r,t,i,a)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[i]:a||!0}}:{},he=e=>Array.isArray(e)?e:[e],dt=()=>{let e=[];return{get observers(){return e},next:a=>{for(const n of e)n.next&&n.next(a)},subscribe:a=>(e.push(a),{unsubscribe:()=>{e=e.filter(n=>n!==a)}}),unsubscribe:()=>{e=[]}}};function Nt(e,r){const t={};for(const i in e)if(e.hasOwnProperty(i)){const a=e[i],n=r[i];if(a&&I(a)&&n){const d=Nt(a,n);I(d)&&(t[i]=d)}else e[i]&&(t[i]=n)}return t}var G=e=>I(e)&&!Object.keys(e).length,qe=e=>e.type==="file",re=e=>typeof e=="function",we=e=>{if(!Pe)return!1;const r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},Dt=e=>e.type==="select-multiple",We=e=>e.type==="radio",Tr=e=>We(e)||xe(e),Oe=e=>we(e)&&e.isConnected;function Ir(e,r){const t=r.slice(0,-1).length;let i=0;for(;i<t;)e=L(e)?i++:e[r[i++]];return e}function Ur(e){for(const r in e)if(e.hasOwnProperty(r)&&!L(e[r]))return!1;return!0}function T(e,r){const t=Array.isArray(r)?r:je(r)?[r]:Be(r),i=t.length===1?e:Ir(e,t),a=t.length-1,n=t[a];return i&&delete i[n],a!==0&&(I(i)&&G(i)||Array.isArray(i)&&Ur(i))&&T(e,t.slice(0,-1)),e}var Pr=e=>{for(const r in e)if(re(e[r]))return!0;return!1};function Et(e){return Array.isArray(e)||I(e)&&!Pr(e)}function Re(e,r={}){for(const t in e)Et(e[t])?(r[t]=Array.isArray(e[t])?[]:{},Re(e[t],r[t])):$(e[t])||(r[t]=!0);return r}function fe(e,r,t){t||(t=Re(r));for(const i in e)Et(e[i])?L(r)||Le(t[i])?t[i]=Re(e[i],Array.isArray(e[i])?[]:{}):fe(e[i],$(r)?{}:r[i],t[i]):t[i]=!ne(e[i],r[i]);return t}const ut={value:!1,isValid:!1},ct={value:!0,isValid:!0};var kt=e=>{if(Array.isArray(e)){if(e.length>1){const r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!L(e[0].attributes.value)?L(e[0].value)||e[0].value===""?ct:{value:e[0].value,isValid:!0}:ct:ut}return ut},Ct=(e,{valueAsNumber:r,valueAsDate:t,setValueAs:i})=>L(e)?e:r?e===""?NaN:e&&+e:t&&Y(e)?new Date(e):i?i(e):e;const ft={isValid:!1,value:null};var St=e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,ft):ft;function mt(e){const r=e.ref;return qe(r)?r.files:We(r)?St(e.refs).value:Dt(r)?[...r.selectedOptions].map(({value:t})=>t):xe(r)?kt(e.refs).value:Ct(L(r.value)?e.ref.value:r.value,e)}var zr=(e,r,t,i)=>{const a={};for(const n of e){const d=g(r,n);d&&D(a,n,d._f)}return{criteriaMode:t,names:[...e],fields:a,shouldUseNativeValidation:i}},Fe=e=>e instanceof RegExp,ge=e=>L(e)?e:Fe(e)?e.source:I(e)?Fe(e.value)?e.value.source:e.value:e,gt=e=>({isOnSubmit:!e||e===te.onSubmit,isOnBlur:e===te.onBlur,isOnChange:e===te.onChange,isOnAll:e===te.all,isOnTouch:e===te.onTouched});const ht="AsyncFunction";var Br=e=>!!e&&!!e.validate&&!!(re(e.validate)&&e.validate.constructor.name===ht||I(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===ht)),Hr=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),yt=(e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(i=>e.startsWith(i)&&/^\.\w+/.test(e.slice(i.length))));const ye=(e,r,t,i)=>{for(const a of t||Object.keys(e)){const n=g(e,a);if(n){const{_f:d,...c}=n;if(d){if(d.refs&&d.refs[0]&&r(d.refs[0],a)&&!i)return!0;if(d.ref&&r(d.ref,d.name)&&!i)return!0;if(ye(c,r))break}else if(I(c)&&ye(c,r))break}}};function xt(e,r,t){const i=g(e,t);if(i||je(t))return{error:i,name:t};const a=t.split(".");for(;a.length;){const n=a.join("."),d=g(r,n),c=g(e,n);if(d&&!Array.isArray(d)&&t!==n)return{name:t};if(c&&c.type)return{name:n,error:c};if(c&&c.root&&c.root.type)return{name:`${n}.root`,error:c.root};a.pop()}return{name:t}}var $r=(e,r,t,i)=>{t(e);const{name:a,...n}=e;return G(n)||Object.keys(n).length>=Object.keys(r).length||Object.keys(n).find(d=>r[d]===(!i||te.all))},qr=(e,r,t)=>!e||!r||e===r||he(e).some(i=>i&&(t?i===r:i.startsWith(r)||r.startsWith(i))),Wr=(e,r,t,i,a)=>a.isOnAll?!1:!t&&a.isOnTouch?!(r||e):(t?i.isOnBlur:a.isOnBlur)?!e:(t?i.isOnChange:a.isOnChange)?e:!0,Gr=(e,r)=>!ze(g(e,r)).length&&T(e,r),Qr=(e,r,t)=>{const i=he(g(e,t));return D(i,"root",r[t]),D(e,t,i),e};function bt(e,r,t="validate"){if(Y(e)||Array.isArray(e)&&e.every(Y)||K(e)&&!e)return{type:t,message:Y(e)?e:"",ref:r}}var ce=e=>I(e)&&!Fe(e)?e:{value:e,message:""},vt=async(e,r,t,i,a,n)=>{const{ref:d,refs:c,required:_,maxLength:A,minLength:v,min:F,max:b,pattern:R,validate:z,name:E,valueAsNumber:M,mount:Z}=e._f,p=g(t,E);if(!Z||r.has(E))return{};const k=c?c[0]:d,U=V=>{a&&k.reportValidity&&(k.setCustomValidity(K(V)?"":V||""),k.reportValidity())},C={},J=We(d),X=xe(d),ie=J||X,q=(M||qe(d))&&L(d.value)&&L(p)||we(d)&&d.value===""||p===""||Array.isArray(p)&&!p.length,x=jt.bind(null,E,i,C),B=(V,j,O,H=ae.maxLength,W=ae.minLength)=>{const se=V?j:O;C[E]={type:V?H:W,message:se,ref:d,...x(V?H:W,se)}};if(n?!Array.isArray(p)||!p.length:_&&(!ie&&(q||$(p))||K(p)&&!p||X&&!kt(c).isValid||J&&!St(c).isValid)){const{value:V,message:j}=Y(_)?{value:!!_,message:_}:ce(_);if(V&&(C[E]={type:ae.required,message:j,ref:k,...x(ae.required,j)},!i))return U(j),C}if(!q&&(!$(F)||!$(b))){let V,j;const O=ce(b),H=ce(F);if(!$(p)&&!isNaN(p)){const W=d.valueAsNumber||p&&+p;$(O.value)||(V=W>O.value),$(H.value)||(j=W<H.value)}else{const W=d.valueAsDate||new Date(p),se=be=>new Date(new Date().toDateString()+" "+be),me=d.type=="time",de=d.type=="week";Y(O.value)&&p&&(V=me?se(p)>se(O.value):de?p>O.value:W>new Date(O.value)),Y(H.value)&&p&&(j=me?se(p)<se(H.value):de?p<H.value:W<new Date(H.value))}if((V||j)&&(B(!!V,O.message,H.message,ae.max,ae.min),!i))return U(C[E].message),C}if((A||v)&&!q&&(Y(p)||n&&Array.isArray(p))){const V=ce(A),j=ce(v),O=!$(V.value)&&p.length>+V.value,H=!$(j.value)&&p.length<+j.value;if((O||H)&&(B(O,V.message,j.message),!i))return U(C[E].message),C}if(R&&!q&&Y(p)){const{value:V,message:j}=ce(R);if(Fe(V)&&!p.match(V)&&(C[E]={type:ae.pattern,message:j,ref:d,...x(ae.pattern,j)},!i))return U(j),C}if(z){if(re(z)){const V=await z(p,t),j=bt(V,k);if(j&&(C[E]={...j,...x(ae.validate,j.message)},!i))return U(j.message),C}else if(I(z)){let V={};for(const j in z){if(!G(V)&&!i)break;const O=bt(await z[j](p,t),k,j);O&&(V={...O,...x(j,O.message)},U(O.message),i&&(C[E]=V))}if(!G(V)&&(C[E]={ref:k,...V},!i))return C}}return U(!0),C};const Kr={mode:te.onSubmit,reValidateMode:te.onChange,shouldFocusError:!0};function Yr(e={}){let r={...Kr,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:re(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},i={},a=I(r.defaultValues)||I(r.values)?P(r.defaultValues||r.values)||{}:{},n=r.shouldUnregister?{}:P(a),d={action:!1,mount:!1,watch:!1},c={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},_,A=0;const v={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let F={...v};const b={array:dt(),state:dt()},R=r.criteriaMode===te.all,z=s=>o=>{clearTimeout(A),A=setTimeout(s,o)},E=async s=>{if(!r.disabled&&(v.isValid||F.isValid||s)){const o=r.resolver?G((await X()).errors):await q(i,!0);o!==t.isValid&&b.state.next({isValid:o})}},M=(s,o)=>{!r.disabled&&(v.isValidating||v.validatingFields||F.isValidating||F.validatingFields)&&((s||Array.from(c.mount)).forEach(l=>{l&&(o?D(t.validatingFields,l,o):T(t.validatingFields,l))}),b.state.next({validatingFields:t.validatingFields,isValidating:!G(t.validatingFields)}))},Z=(s,o=[],l,h,m=!0,f=!0)=>{if(h&&l&&!r.disabled){if(d.action=!0,f&&Array.isArray(g(i,s))){const y=l(g(i,s),h.argA,h.argB);m&&D(i,s,y)}if(f&&Array.isArray(g(t.errors,s))){const y=l(g(t.errors,s),h.argA,h.argB);m&&D(t.errors,s,y),Gr(t.errors,s)}if((v.touchedFields||F.touchedFields)&&f&&Array.isArray(g(t.touchedFields,s))){const y=l(g(t.touchedFields,s),h.argA,h.argB);m&&D(t.touchedFields,s,y)}(v.dirtyFields||F.dirtyFields)&&(t.dirtyFields=fe(a,n)),b.state.next({name:s,isDirty:B(s,o),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else D(n,s,o)},p=(s,o)=>{D(t.errors,s,o),b.state.next({errors:t.errors})},k=s=>{t.errors=s,b.state.next({errors:t.errors,isValid:!1})},U=(s,o,l,h)=>{const m=g(i,s);if(m){const f=g(n,s,L(l)?g(a,s):l);L(f)||h&&h.defaultChecked||o?D(n,s,o?f:mt(m._f)):O(s,f),d.mount&&E()}},C=(s,o,l,h,m)=>{let f=!1,y=!1;const N={name:s};if(!r.disabled){if(!l||h){(v.isDirty||F.isDirty)&&(y=t.isDirty,t.isDirty=N.isDirty=B(),f=y!==N.isDirty);const S=ne(g(a,s),o);y=!!g(t.dirtyFields,s),S?T(t.dirtyFields,s):D(t.dirtyFields,s,!0),N.dirtyFields=t.dirtyFields,f=f||(v.dirtyFields||F.dirtyFields)&&y!==!S}if(l){const S=g(t.touchedFields,s);S||(D(t.touchedFields,s,l),N.touchedFields=t.touchedFields,f=f||(v.touchedFields||F.touchedFields)&&S!==l)}f&&m&&b.state.next(N)}return f?N:{}},J=(s,o,l,h)=>{const m=g(t.errors,s),f=(v.isValid||F.isValid)&&K(o)&&t.isValid!==o;if(r.delayError&&l?(_=z(()=>p(s,l)),_(r.delayError)):(clearTimeout(A),_=null,l?D(t.errors,s,l):T(t.errors,s)),(l?!ne(m,l):m)||!G(h)||f){const y={...h,...f&&K(o)?{isValid:o}:{},errors:t.errors,name:s};t={...t,...y},b.state.next(y)}},X=async s=>{M(s,!0);const o=await r.resolver(n,r.context,zr(s||c.mount,i,r.criteriaMode,r.shouldUseNativeValidation));return M(s),o},ie=async s=>{const{errors:o}=await X(s);if(s)for(const l of s){const h=g(o,l);h?D(t.errors,l,h):T(t.errors,l)}else t.errors=o;return o},q=async(s,o,l={valid:!0})=>{for(const h in s){const m=s[h];if(m){const{_f:f,...y}=m;if(f){const N=c.array.has(f.name),S=m._f&&Br(m._f);S&&v.validatingFields&&M([f.name],!0);const ee=await vt(m,c.disabled,n,R,r.shouldUseNativeValidation&&!o,N);if(S&&v.validatingFields&&M([f.name]),ee[f.name]&&(l.valid=!1,o))break;!o&&(g(ee,f.name)?N?Qr(t.errors,ee,f.name):D(t.errors,f.name,ee[f.name]):T(t.errors,f.name))}!G(y)&&await q(y,o,l)}}return l.valid},x=()=>{for(const s of c.unMount){const o=g(i,s);o&&(o._f.refs?o._f.refs.every(l=>!Oe(l)):!Oe(o._f.ref))&&Ee(s)}c.unMount=new Set},B=(s,o)=>!r.disabled&&(s&&o&&D(n,s,o),!ne(be(),a)),V=(s,o,l)=>At(s,c,{...d.mount?n:L(o)?a:Y(s)?{[s]:o}:o},l,o),j=s=>ze(g(d.mount?n:a,s,r.shouldUnregister?g(a,s,[]):[])),O=(s,o,l={})=>{const h=g(i,s);let m=o;if(h){const f=h._f;f&&(!f.disabled&&D(n,s,Ct(o,f)),m=we(f.ref)&&$(o)?"":o,Dt(f.ref)?[...f.ref.options].forEach(y=>y.selected=m.includes(y.value)):f.refs?xe(f.ref)?f.refs.forEach(y=>{(!y.defaultChecked||!y.disabled)&&(Array.isArray(m)?y.checked=!!m.find(N=>N===y.value):y.checked=m===y.value||!!m)}):f.refs.forEach(y=>y.checked=y.value===m):qe(f.ref)?f.ref.value="":(f.ref.value=m,f.ref.type||b.state.next({name:s,values:P(n)})))}(l.shouldDirty||l.shouldTouch)&&C(s,m,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&de(s)},H=(s,o,l)=>{for(const h in o){if(!o.hasOwnProperty(h))return;const m=o[h],f=s+"."+h,y=g(i,f);(c.array.has(s)||I(m)||y&&!y._f)&&!le(m)?H(f,m,l):O(f,m,l)}},W=(s,o,l={})=>{const h=g(i,s),m=c.array.has(s),f=P(o);D(n,s,f),m?(b.array.next({name:s,values:P(n)}),(v.isDirty||v.dirtyFields||F.isDirty||F.dirtyFields)&&l.shouldDirty&&b.state.next({name:s,dirtyFields:fe(a,n),isDirty:B(s,f)})):h&&!h._f&&!$(f)?H(s,f,l):O(s,f,l),yt(s,c)&&b.state.next({...t,name:s}),b.state.next({name:d.mount?s:void 0,values:P(n)})},se=async s=>{d.mount=!0;const o=s.target;let l=o.name,h=!0;const m=g(i,l),f=S=>{h=Number.isNaN(S)||le(S)&&isNaN(S.getTime())||ne(S,g(n,l,S))},y=gt(r.mode),N=gt(r.reValidateMode);if(m){let S,ee;const ve=o.type?mt(m._f):wt(s),oe=s.type===pe.BLUR||s.type===pe.FOCUS_OUT,Qt=!Hr(m._f)&&!r.resolver&&!g(t.errors,l)&&!m._f.deps||Wr(oe,g(t.touchedFields,l),t.isSubmitted,N,y),Se=yt(l,c,oe);D(n,l,ve),oe?(!o||!o.readOnly)&&(m._f.onBlur&&m._f.onBlur(s),_&&_(0)):m._f.onChange&&m._f.onChange(s);const Me=C(l,ve,oe),Kt=!G(Me)||Se;if(!oe&&b.state.next({name:l,type:s.type,values:P(n)}),Qt)return(v.isValid||F.isValid)&&(r.mode==="onBlur"?oe&&E():oe||E()),Kt&&b.state.next({name:l,...Se?{}:Me});if(!oe&&Se&&b.state.next({...t}),r.resolver){const{errors:tt}=await X([l]);if(f(ve),h){const Yt=xt(t.errors,i,l),rt=xt(tt,i,Yt.name||l);S=rt.error,l=rt.name,ee=G(tt)}}else M([l],!0),S=(await vt(m,c.disabled,n,R,r.shouldUseNativeValidation))[l],M([l]),f(ve),h&&(S?ee=!1:(v.isValid||F.isValid)&&(ee=await q(i,!0)));h&&(m._f.deps&&(!Array.isArray(m._f.deps)||m._f.deps.length>0)&&de(m._f.deps),J(l,ee,S,Me))}},me=(s,o)=>{if(g(t.errors,o)&&s.focus)return s.focus(),1},de=async(s,o={})=>{let l,h;const m=he(s);if(r.resolver){const f=await ie(L(s)?s:m);l=G(f),h=s?!m.some(y=>g(f,y)):l}else s?(h=(await Promise.all(m.map(async f=>{const y=g(i,f);return await q(y&&y._f?{[f]:y}:y)}))).every(Boolean),!(!h&&!t.isValid)&&E()):h=l=await q(i);return b.state.next({...!Y(s)||(v.isValid||F.isValid)&&l!==t.isValid?{}:{name:s},...r.resolver||!s?{isValid:l}:{},errors:t.errors}),o.shouldFocus&&!h&&ye(i,me,s?m:c.mount),h},be=(s,o)=>{let l={...d.mount?n:a};return o&&(l=Nt(o.dirtyFields?t.dirtyFields:t.touchedFields,l)),L(s)?l:Y(s)?g(l,s):s.map(h=>g(l,h))},Ge=(s,o)=>({invalid:!!g((o||t).errors,s),isDirty:!!g((o||t).dirtyFields,s),error:g((o||t).errors,s),isValidating:!!g(t.validatingFields,s),isTouched:!!g((o||t).touchedFields,s)}),zt=s=>{s&&he(s).forEach(o=>T(t.errors,o)),b.state.next({errors:s?t.errors:{}})},Qe=(s,o,l)=>{const h=(g(i,s,{_f:{}})._f||{}).ref,m=g(t.errors,s)||{},{ref:f,message:y,type:N,...S}=m;D(t.errors,s,{...S,...o,ref:h}),b.state.next({name:s,errors:t.errors,isValid:!1}),l&&l.shouldFocus&&h&&h.focus&&h.focus()},Bt=(s,o)=>re(s)?b.state.subscribe({next:l=>"values"in l&&s(V(void 0,o),l)}):V(s,o,!0),Ke=s=>b.state.subscribe({next:o=>{qr(s.name,o.name,s.exact)&&$r(o,s.formState||v,Gt,s.reRenderRoot)&&s.callback({values:{...n},...t,...o,defaultValues:a})}}).unsubscribe,Ht=s=>(d.mount=!0,F={...F,...s.formState},Ke({...s,formState:F})),Ee=(s,o={})=>{for(const l of s?he(s):c.mount)c.mount.delete(l),c.array.delete(l),o.keepValue||(T(i,l),T(n,l)),!o.keepError&&T(t.errors,l),!o.keepDirty&&T(t.dirtyFields,l),!o.keepTouched&&T(t.touchedFields,l),!o.keepIsValidating&&T(t.validatingFields,l),!r.shouldUnregister&&!o.keepDefaultValue&&T(a,l);b.state.next({values:P(n)}),b.state.next({...t,...o.keepDirty?{isDirty:B()}:{}}),!o.keepIsValid&&E()},Ye=({disabled:s,name:o})=>{(K(s)&&d.mount||s||c.disabled.has(o))&&(s?c.disabled.add(o):c.disabled.delete(o))},ke=(s,o={})=>{let l=g(i,s);const h=K(o.disabled)||K(r.disabled);return D(i,s,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:s}},name:s,mount:!0,...o}}),c.mount.add(s),l?Ye({disabled:K(o.disabled)?o.disabled:r.disabled,name:s}):U(s,!0,o.value),{...h?{disabled:o.disabled||r.disabled}:{},...r.progressive?{required:!!o.required,min:ge(o.min),max:ge(o.max),minLength:ge(o.minLength),maxLength:ge(o.maxLength),pattern:ge(o.pattern)}:{},name:s,onChange:se,onBlur:se,ref:m=>{if(m){ke(s,o),l=g(i,s);const f=L(m.value)&&m.querySelectorAll&&m.querySelectorAll("input,select,textarea")[0]||m,y=Tr(f),N=l._f.refs||[];if(y?N.find(S=>S===f):f===l._f.ref)return;D(i,s,{_f:{...l._f,...y?{refs:[...N.filter(Oe),f,...Array.isArray(g(a,s))?[{}]:[]],ref:{type:f.type,name:s}}:{ref:f}}}),U(s,!1,void 0,f)}else l=g(i,s,{}),l._f&&(l._f.mount=!1),(r.shouldUnregister||o.shouldUnregister)&&!(Ft(c.array,s)&&d.action)&&c.unMount.add(s)}}},Ce=()=>r.shouldFocusError&&ye(i,me,c.mount),$t=s=>{K(s)&&(b.state.next({disabled:s}),ye(i,(o,l)=>{const h=g(i,l);h&&(o.disabled=h._f.disabled||s,Array.isArray(h._f.refs)&&h._f.refs.forEach(m=>{m.disabled=h._f.disabled||s}))},0,!1))},Ze=(s,o)=>async l=>{let h;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let m=P(n);if(b.state.next({isSubmitting:!0}),r.resolver){const{errors:f,values:y}=await X();t.errors=f,m=P(y)}else await q(i);if(c.disabled.size)for(const f of c.disabled)T(m,f);if(T(t.errors,"root"),G(t.errors)){b.state.next({errors:{}});try{await s(m,l)}catch(f){h=f}}else o&&await o({...t.errors},l),Ce(),setTimeout(Ce);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:G(t.errors)&&!h,submitCount:t.submitCount+1,errors:t.errors}),h)throw h},qt=(s,o={})=>{g(i,s)&&(L(o.defaultValue)?W(s,P(g(a,s))):(W(s,o.defaultValue),D(a,s,P(o.defaultValue))),o.keepTouched||T(t.touchedFields,s),o.keepDirty||(T(t.dirtyFields,s),t.isDirty=o.defaultValue?B(s,P(g(a,s))):B()),o.keepError||(T(t.errors,s),v.isValid&&E()),b.state.next({...t}))},Je=(s,o={})=>{const l=s?P(s):a,h=P(l),m=G(s),f=m?a:h;if(o.keepDefaultValues||(a=l),!o.keepValues){if(o.keepDirtyValues){const y=new Set([...c.mount,...Object.keys(fe(a,n))]);for(const N of Array.from(y))g(t.dirtyFields,N)?D(f,N,g(n,N)):W(N,g(f,N))}else{if(Pe&&L(s))for(const y of c.mount){const N=g(i,y);if(N&&N._f){const S=Array.isArray(N._f.refs)?N._f.refs[0]:N._f.ref;if(we(S)){const ee=S.closest("form");if(ee){ee.reset();break}}}}if(o.keepFieldsRef)for(const y of c.mount)W(y,g(f,y));else i={}}n=r.shouldUnregister?o.keepDefaultValues?P(a):{}:P(f),b.array.next({values:{...f}}),b.state.next({values:{...f}})}c={mount:o.keepDirtyValues?c.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},d.mount=!v.isValid||!!o.keepIsValid||!!o.keepDirtyValues,d.watch=!!r.shouldUnregister,b.state.next({submitCount:o.keepSubmitCount?t.submitCount:0,isDirty:m?!1:o.keepDirty?t.isDirty:!!(o.keepDefaultValues&&!ne(s,a)),isSubmitted:o.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:m?{}:o.keepDirtyValues?o.keepDefaultValues&&n?fe(a,n):t.dirtyFields:o.keepDefaultValues&&s?fe(a,s):o.keepDirty?t.dirtyFields:{},touchedFields:o.keepTouched?t.touchedFields:{},errors:o.keepErrors?t.errors:{},isSubmitSuccessful:o.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:a})},Xe=(s,o)=>Je(re(s)?s(n):s,o),Wt=(s,o={})=>{const l=g(i,s),h=l&&l._f;if(h){const m=h.refs?h.refs[0]:h.ref;m.focus&&(m.focus(),o.shouldSelect&&re(m.select)&&m.select())}},Gt=s=>{t={...t,...s}},et={control:{register:ke,unregister:Ee,getFieldState:Ge,handleSubmit:Ze,setError:Qe,_subscribe:Ke,_runSchema:X,_focusError:Ce,_getWatch:V,_getDirty:B,_setValid:E,_setFieldArray:Z,_setDisabledField:Ye,_setErrors:k,_getFieldArray:j,_reset:Je,_resetDefaultValues:()=>re(r.defaultValues)&&r.defaultValues().then(s=>{Xe(s,r.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:x,_disableForm:$t,_subjects:b,_proxyFormState:v,get _fields(){return i},get _formValues(){return n},get _state(){return d},set _state(s){d=s},get _defaultValues(){return a},get _names(){return c},set _names(s){c=s},get _formState(){return t},get _options(){return r},set _options(s){r={...r,...s}}},subscribe:Ht,trigger:de,register:ke,handleSubmit:Ze,watch:Bt,setValue:W,getValues:be,reset:Xe,resetField:qt,clearErrors:zt,unregister:Ee,setError:Qe,setFocus:Wt,getFieldState:Ge};return{...et,formControl:et}}function Zr(e={}){const r=w.useRef(void 0),t=w.useRef(void 0),[i,a]=w.useState({isDirty:!1,isValidating:!1,isLoading:re(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:re(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:i},e.defaultValues&&!re(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:d,...c}=Yr(e);r.current={...c,formState:i}}const n=r.current.control;return n._options=e,$e(()=>{const d=n._subscribe({formState:n._proxyFormState,callback:()=>a({...n._formState}),reRenderRoot:!0});return a(c=>({...c,isReady:!0})),n._formState.isReady=!0,d},[n]),w.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),w.useEffect(()=>{e.mode&&(n._options.mode=e.mode),e.reValidateMode&&(n._options.reValidateMode=e.reValidateMode)},[n,e.mode,e.reValidateMode]),w.useEffect(()=>{e.errors&&(n._setErrors(e.errors),n._focusError())},[n,e.errors]),w.useEffect(()=>{e.shouldUnregister&&n._subjects.state.next({values:n._getWatch()})},[n,e.shouldUnregister]),w.useEffect(()=>{if(n._proxyFormState.isDirty){const d=n._getDirty();d!==i.isDirty&&n._subjects.state.next({isDirty:d})}},[n,i.isDirty]),w.useEffect(()=>{e.values&&!ne(e.values,t.current)?(n._reset(e.values,{keepFieldsRef:!0,...n._options.resetOptions}),t.current=e.values,a(d=>({...d}))):n._resetDefaultValues()},[n,e.values]),w.useEffect(()=>{n._state.mount||(n._setValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),r.current.formState=Vt(i,n),r.current}const _t=(e,r,t)=>{if(e&&"reportValidity"in e){const i=g(t,r);e.setCustomValidity(i&&i.message||""),e.reportValidity()}},Mt=(e,r)=>{for(const t in r.fields){const i=r.fields[t];i&&i.ref&&"reportValidity"in i.ref?_t(i.ref,t,e):i.refs&&i.refs.forEach(a=>_t(a,t,e))}},Jr=(e,r)=>{r.shouldUseNativeValidation&&Mt(e,r);const t={};for(const i in e){const a=g(r.fields,i),n=Object.assign(e[i]||{},{ref:a&&a.ref});if(Xr(r.names||Object.keys(e),i)){const d=Object.assign({},g(t,i));D(d,"root",n),D(t,i,d)}else D(t,i,n)}return t},Xr=(e,r)=>e.some(t=>t.startsWith(r+"."));var es=function(e,r){for(var t={};e.length;){var i=e[0],a=i.code,n=i.message,d=i.path.join(".");if(!t[d])if("unionErrors"in i){var c=i.unionErrors[0].errors[0];t[d]={message:c.message,type:c.code}}else t[d]={message:n,type:a};if("unionErrors"in i&&i.unionErrors.forEach(function(v){return v.errors.forEach(function(F){return e.push(F)})}),r){var _=t[d].types,A=_&&_[i.code];t[d]=jt(d,r,t,a,A?[].concat(A,i.message):i.message)}e.shift()}return t},ts=function(e,r,t){return t===void 0&&(t={}),function(i,a,n){try{return Promise.resolve((function(d,c){try{var _=Promise.resolve(e[t.mode==="sync"?"parse":"parseAsync"](i,r)).then(function(A){return n.shouldUseNativeValidation&&Mt({},n),{errors:{},values:t.raw?i:A}})}catch(A){return c(A)}return _&&_.then?_.then(void 0,c):_})(0,function(d){if((function(c){return Array.isArray(c==null?void 0:c.errors)})(d))return{values:{},errors:Jr(es(d.errors,!n.shouldUseNativeValidation&&n.criteriaMode==="all"),n)};throw d}))}catch(d){return Promise.reject(d)}}};const rs=Sr,Ot=Q.createContext({}),ss=({...e})=>u.jsx(Ot.Provider,{value:{name:e.name},children:u.jsx(Rr,{...e})}),De=()=>{const e=Q.useContext(Ot),r=Q.useContext(Lt),{getFieldState:t,formState:i}=Ne(),a=t(e.name,i);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:n}=r;return{id:n,name:e.name,formItemId:`${n}-form-item`,formDescriptionId:`${n}-form-item-description`,formMessageId:`${n}-form-item-message`,...a}},Lt=Q.createContext({}),Rt=Q.forwardRef(({className:e,...r},t)=>{const i=Q.useId();return u.jsx(Lt.Provider,{value:{id:i},children:u.jsx("div",{ref:t,className:Ve("space-y-2",e),...r})})});Rt.displayName="FormItem";const Tt=Q.forwardRef(({className:e,...r},t)=>{const{error:i,formItemId:a}=De();return u.jsx(ar,{ref:t,className:Ve(i&&"text-red-500 dark:text-red-900",e),htmlFor:a,...r})});Tt.displayName="FormLabel";const It=Q.forwardRef(({...e},r)=>{const{error:t,formItemId:i,formDescriptionId:a,formMessageId:n}=De();return u.jsx(Jt,{ref:r,id:i,"aria-describedby":t?`${a} ${n}`:`${a}`,"aria-invalid":!!t,...e})});It.displayName="FormControl";const Ut=Q.forwardRef(({className:e,...r},t)=>{const{formDescriptionId:i}=De();return u.jsx("p",{ref:t,id:i,className:Ve("text-[0.8rem] text-slate-500 dark:text-slate-400",e),...r})});Ut.displayName="FormDescription";const Pt=Q.forwardRef(({className:e,children:r,...t},i)=>{const{error:a,formMessageId:n}=De(),d=a?String(a==null?void 0:a.message):r;return d?u.jsx("p",{ref:i,id:n,className:Ve("text-[0.8rem] font-medium text-red-500 dark:text-red-900",e),...t,children:d}):null});Pt.displayName="FormMessage";const is=({onSuccess:e}={})=>{const r=Ue(),t=Ae(a=>a.session),i=Te();return Ie(["updateOrg"],async({orgId:a,name:n})=>{if(!t)throw new Error("No session");const{data:{org:d}}=await r.post("/orgs/update",{org_id:a,name:n});if(!d)throw new Error("Failed to update organization");return d},{onSuccess:a=>{i.invalidateQueries(["orgs"]),e==null||e(a)},onError:a=>{console.error("Error updating organization:",a)}})},as=({onSuccess:e,onError:r}={})=>{const t=Ue(),i=Ae(n=>n.session),a=Te();return Ie(["addOrgMember"],async({orgId:n,accountId:d,githubUsername:c})=>{if(!i)throw new Error("No session");const _={org_id:n};d&&(_.account_id=d),c&&(_.github_username=c),await t.post("/orgs/add_member",_)},{onSuccess:()=>{a.invalidateQueries(["orgs","members"]),e==null||e()},onError:n=>{console.error("Error adding organization member:",n),r==null||r(n)}})},ns=({onSuccess:e}={})=>{const r=Ue(),t=Ae(a=>a.session),i=Te();return Ie(["removeOrgMember"],async({orgId:a,accountId:n})=>{if(!t)throw new Error("No session");await r.post("/orgs/remove_member",{org_id:a,account_id:n})},{onSuccess:()=>{i.invalidateQueries(["orgs","members"]),e==null||e()},onError:a=>{console.error("Error removing organization member:",a)}})},os=rr({name:sr().min(1,"Organization name is required").max(50,"Organization name must be 50 characters or less").regex(/^[a-zA-Z0-9_-]+$/,"Organization name can only contain letters, numbers, underscores, and hyphens")});function Ns(){var q;const{orgname:e}=Xt(),[,r]=er(),{toast:t}=dr(),i=Ae(x=>x.session),{organization:a,isLoading:n,error:d}=Vr({orgName:e}),[c,_]=Q.useState({member:{},show:!1}),[A,v]=Q.useState(""),[F,b]=Q.useState(""),R=Zr({resolver:ts(os),defaultValues:{name:""}}),{data:z=[],isLoading:E}=vr({orgId:(a==null?void 0:a.org_id)||""}),M=is({onSuccess:x=>{t({title:"Organization updated",description:"Organization settings have been updated successfully."}),R.reset({name:x.name||""}),x.name!==e&&r(`/${x.name}/settings`)}}),Z=as({onSuccess:()=>{t({title:"Member added",description:"Member has been added to the organization successfully."}),v(""),b("")},onError:x=>{var V,j;const B=(j=(V=x==null?void 0:x.data)==null?void 0:V.error)==null?void 0:j.message;b(B),t({title:"Failed to add member",description:B||"An error occurred while adding the member.",variant:"destructive"})}}),p=ns({onSuccess:()=>{t({title:"Member removed",description:"Member has been removed from the organization."}),_({member:{},show:!1})}});if(Q.useEffect(()=>{a&&R.reset({name:a.name||""})},[a,R]),!e)return u.jsx(lt,{});if(n)return u.jsx(ir,{});if(d||!a)return u.jsx(lt,{heading:"Organization Not Found"});const k=a!=null&&a.name?`${a.name} Settings - tscircuit`:e?`${e} Settings - tscircuit`:"Organization Settings - tscircuit",U=((q=a.user_permissions)==null?void 0:q.can_manage_org)||a.owner_account_id===(i==null?void 0:i.account_id);if(a.is_personal_org)return u.jsx(st,{to:"/settings"});if(!U)return u.jsxs("div",{className:"min-h-screen bg-white",children:[u.jsx(it,{children:u.jsx("title",{children:k})}),u.jsx(nt,{}),u.jsx(st,{to:"/dashboard"}),u.jsx("main",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-20",children:u.jsxs("div",{className:"text-center",children:[u.jsx("div",{className:"mx-auto h-24 w-24 rounded-full bg-red-100 flex items-center justify-center mb-6",children:u.jsx(Ar,{className:"h-12 w-12 text-red-600"})}),u.jsx("h1",{className:"text-2xl font-semibold text-gray-900 mb-3",children:"Access denied"}),u.jsx("p",{className:"text-gray-600 mb-8 max-w-md mx-auto",children:"You don't have permission to manage this organization's settings. Only organization owners and members with admin access can view this page."}),u.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[u.jsxs(ue,{variant:"outline",onClick:()=>r(`/${e}`),children:[u.jsx(Er,{className:"h-4 w-4 mr-2"}),"Back to ",e]}),u.jsx(ue,{onClick:()=>r("/dashboard"),children:"Go to Dashboard"})]})]})}),u.jsx(ot,{})]});const C=x=>{a&&M.mutate({orgId:a.org_id,name:x.name})},J=()=>{if(!A.trim()||!a)return;b("");const x=A.trim();if(x.length<1){b("Please enter a GitHub username.");return}if(x.length>39){b("GitHub usernames cannot be longer than 39 characters.");return}if(!/^[a-zA-Z0-9-]+$/.test(x)){b("GitHub usernames can only contain letters, numbers, and hyphens.");return}if(x.startsWith("-")||x.endsWith("-")){b("GitHub usernames cannot start or end with a hyphen.");return}Z.mutate({orgId:a.org_id,githubUsername:x})},X=x=>{if(a){if(x.account_id===a.owner_account_id){t({title:"Cannot remove owner",description:"The organization owner cannot be removed.",variant:"destructive"});return}_({member:x,show:!0})}},ie=()=>{a&&p.mutate({orgId:a.org_id,accountId:c.member.account_id})};return u.jsxs("div",{className:"min-h-screen bg-white",children:[u.jsx(it,{children:u.jsx("title",{children:k})}),u.jsx(nt,{}),u.jsxs("main",{className:"w-full px-4 sm:px-6 lg:px-8 xl:px-12 2xl:px-16",children:[u.jsx(_r,{organization:a,showActions:!1}),u.jsx("div",{className:"py-8",children:u.jsxs("div",{className:"max-w-7xl mx-auto space-y-8",children:[u.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl shadow-sm",children:[u.jsxs("div",{className:"px-6 py-5 border-b border-gray-200 bg-gray-50",children:[u.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Organization profile"}),u.jsx("p",{className:"text-sm text-gray-600 mt-2",children:"Update your organization's basic information and settings."})]}),u.jsx("div",{className:"p-6 lg:p-8",children:u.jsx(rs,{...R,children:u.jsxs("form",{onSubmit:R.handleSubmit(C),className:"space-y-6",children:[u.jsx(ss,{control:R.control,name:"name",render:({field:x})=>u.jsxs(Rt,{className:"grid grid-cols-1 lg:grid-cols-5 gap-6 items-start",children:[u.jsxs("div",{className:"lg:col-span-2",children:[u.jsx(Tt,{className:"text-sm font-semibold text-gray-900",children:"Organization name"}),u.jsx(Ut,{className:"text-sm text-gray-500 mt-2 leading-relaxed",children:"This is your organization's display name and URL identifier. Choose carefully as this affects your organization's web address."})]}),u.jsxs("div",{className:"lg:col-span-3",children:[u.jsx(It,{children:u.jsx(at,{placeholder:"Enter organization name",...x,disabled:M.isLoading,className:"w-full max-w-lg h-11 text-base border-gray-300 focus:border-blue-500 focus:ring-blue-500"})}),u.jsx(Pt,{className:"mt-2"})]})]})}),u.jsxs("div",{className:"pt-6 border-t border-gray-200 flex flex-col sm:flex-row gap-3",children:[u.jsxs(ue,{type:"submit",disabled:M.isLoading||!R.formState.isDirty,className:"bg-blue-600 hover:bg-blue-700 text-white px-6 py-2.5 text-sm font-medium shadow-sm",children:[M.isLoading&&u.jsx(_e,{className:"mr-2 h-4 w-4 animate-spin"}),"Update organization"]}),u.jsx(ue,{type:"button",variant:"outline",onClick:()=>R.reset(),disabled:M.isLoading,className:"px-6 py-2.5 text-sm font-medium border-gray-300 hover:bg-gray-50",children:"Reset changes"})]})]})})})]}),u.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl shadow-sm",children:[u.jsx("div",{className:"px-6 py-5 border-b border-gray-200 bg-gray-50",children:u.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[u.jsxs("div",{children:[u.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Organization members"}),u.jsx("p",{className:"text-sm text-gray-600 mt-2",children:"Manage who has access to this organization and their permissions."})]}),u.jsxs(ur,{variant:"secondary",className:"text-sm px-3 py-1 bg-white border border-gray-200 self-start",children:[z.length," member",z.length>1?"s":""]})]})}),u.jsxs("div",{className:"p-6 lg:p-8",children:[u.jsxs("div",{className:"mb-8 p-6 bg-gray-50 rounded-xl",children:[u.jsx("h3",{className:"font-semibold text-gray-900 mb-4 flex items-center gap-2",children:"Add a member"}),u.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-5 gap-4 items-end",children:[u.jsxs("div",{className:"lg:col-span-4",children:[u.jsx(at,{id:"member-input",placeholder:"Enter GitHub username",value:A,onChange:x=>{v(x.target.value),F&&b("")},disabled:Z.isLoading,className:`w-full h-11 text-base bg-white focus:border-blue-500 focus:ring-blue-500 ${F?"border-red-300 focus:border-red-500 focus:ring-red-500":"border-gray-300"}`,onKeyDown:x=>{x.key==="Enter"&&!Z.isLoading&&J()}}),F&&u.jsx("p",{className:"mt-2 text-sm text-red-600",children:F})]}),u.jsx("div",{className:"lg:col-span-1",children:u.jsxs(ue,{onClick:J,disabled:!A.trim()||Z.isLoading,className:"w-full h-11 bg-blue-600 hover:bg-blue-700 text-white px-6 text-sm font-medium shadow-sm",children:[Z.isLoading?u.jsx(_e,{className:"h-4 w-4 animate-spin mr-2"}):u.jsx(jr,{className:"h-4 w-4 mr-2"}),"Add member"]})})]})]}),u.jsx("div",{className:"space-y-0 border border-gray-200 rounded-xl divide-y divide-gray-200 overflow-hidden",children:E?u.jsx("div",{className:"flex items-center justify-center py-16",children:u.jsx(_e,{className:"h-8 w-8 animate-spin text-blue-500"})}):z.length===0?u.jsxs("div",{className:"text-center py-16 text-gray-500",children:[u.jsx(Nr,{className:"h-12 w-12 mx-auto mb-4 text-gray-300"}),u.jsx("p",{className:"text-lg font-medium",children:"No members found"}),u.jsx("p",{className:"text-sm mt-1",children:"Add your first team member to get started."})]}):z.map(x=>{const B=pr(a,x.account_id);return u.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between p-5 hover:bg-gray-50 transition-all duration-200 gap-4 sm:gap-0",children:[u.jsxs(tr,{href:`/${x.github_username||x.account_id}`,className:"flex items-center gap-4 group cursor-pointer flex-1 min-w-0",children:[u.jsxs(nr,{className:"h-12 w-12",children:[u.jsx(or,{src:`https://github.com/${x.github_username}.png`,alt:`${x.github_username} avatar`}),u.jsx(lr,{className:"text-sm font-medium",children:(x.github_username||x.account_id||"").slice(0,2).toUpperCase()})]}),u.jsxs("div",{className:"min-w-0 flex-1",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("span",{className:"font-semibold text-gray-900 text-base group-hover:text-blue-600 transition-colors truncate",children:x.github_username||x.account_id}),B!=="member"&&u.jsx(wr,{role:B})]}),u.jsx("p",{className:"text-sm text-gray-500 truncate",children:Fr(B)})]})]}),x.account_id!==a.owner_account_id&&x.account_id!==(i==null?void 0:i.account_id)&&u.jsx(ue,{variant:"ghost",size:"sm",onClick:()=>X(x),disabled:p.isLoading,className:"text-red-600 hover:text-red-700 hover:bg-red-50 border border-red-200 hover:border-red-300 self-start sm:self-center px-4 py-2",children:"Remove"})]},x.account_id)})})]})]})]})})]}),u.jsx(ot,{}),u.jsx(cr,{open:c.show,onOpenChange:x=>_({...c,show:x}),children:u.jsxs(fr,{children:[u.jsxs(mr,{children:[u.jsx(gr,{children:"Remove member"}),u.jsxs(hr,{children:["Are you sure you want to remove"," ",u.jsx("strong",{children:c.member.github_username||c.member.account_id})," ","from this organization? This action cannot be undone."]})]}),u.jsxs(yr,{children:[u.jsx(xr,{children:"Cancel"}),u.jsxs(br,{onClick:ie,disabled:p.isLoading,className:"bg-red-600 hover:bg-red-700",children:[p.isLoading&&u.jsx(_e,{className:"mr-2 h-4 w-4 animate-spin"}),"Remove member"]})]})]})})]})}export{Ns as default};
@@ -1 +0,0 @@
1
- import{j as e}from"./index-BQPj88OW.js";import{C as a}from"./CodeAndPreview-Dycd0s15.js";import{H as o}from"./Header-CI4GZVOv.js";import{H as m}from"./main-DPEM9abA.js";import{N as n}from"./NotFound-DaXtEPsC.js";import{C as c}from"./circle-alert-Du9-4of0.js";import{u as d}from"./DownloadButtonAndMenu-OIUhbKkj.js";import"./Analytics-DIw7l2gi.js";import"./use-packages-base-api-url-DA1hucM7.js";import"./use-package-files-CmmWVuGn.js";import"./select-BN8AF1J7.js";import"./tooltip-C1pwvC0K.js";import"./triangle-alert-BMIBEO1D.js";import"./index-DvNLZBaq.js";import"./index-B17tE1vy.js";import"./trash-2-BW3eClHz.js";import"./plus-KkE_6Dq2.js";import"./hash-DfKYpqTm.js";import"./badge-Bk-k6kyg.js";import"./refresh-cw-aWASTRku.js";import"./FileSaver.min-BDsOlqKl.js";import"./use-list-user-orgs-CgJIT7N4.js";import"./use-delete-package-DLKtoTOj.js";import"./label-CTudXc4q.js";import"./pen-D54fxNRf.js";import"./eye-B_NMTTT7.js";import"./useQueries-BJ7Ue7HV.js";import"./use-package-by-package-name-1s1Pcarw.js";function l({error:t,description:r}){return e.jsx("div",{className:"flex items-center justify-center p-4",children:e.jsx("div",{className:"max-w-lg w-full mx-auto p-6 sm:p-8 bg-red-100/80 rounded-xl shadow-lg border border-red-500",children:e.jsxs("div",{className:"flex flex-col items-center text-center",children:[e.jsx(c,{className:"h-10 w-10 text-red-700 mb-4"}),e.jsx("h2",{className:"text-xl sm:text-2xl font-bold text-red-700 mb-3",children:"Something strange happened"}),e.jsxs("p",{className:"text-red-600 font-medium mb-6 text-sm sm:text-base",children:[r||"An unexpected error occurred while processing your request."," ",e.jsx("br",{}),"Please try again or contact support if the problem persists."]}),(t==null?void 0:t.message)&&e.jsxs("details",{className:"w-full text-left bg-red-50 p-3 rounded-md border border-red-200",children:[e.jsx("summary",{className:"text-sm font-medium text-red-800 cursor-pointer hover:text-red-900",children:"Show Error Details"}),e.jsx("pre",{className:"mt-2 text-xs text-red-700 bg-transparent p-0 rounded overflow-auto whitespace-pre-wrap break-words",children:t.message})]})]})})})}const U=()=>{const{packageInfo:t,error:r}=d(),i=new RegExp(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/),s=(t==null?void 0:t.latest_pcb_preview_image_url)??(t==null?void 0:t.latest_sch_preview_image_url)??(t==null?void 0:t.latest_cad_preview_image_url)??void 0;return e.jsxs("div",{className:"flex flex-col h-screen overflow-x-hidden",children:[e.jsxs(m,{children:[e.jsx("title",{children:t?`${t.name} - tscircuit`:"tscircuit editor"}),t&&e.jsxs(e.Fragment,{children:[e.jsx("meta",{property:"og:title",content:`${t.unscoped_name} - tscircuit`}),s&&e.jsxs(e.Fragment,{children:[e.jsx("meta",{property:"og:image",content:s}),e.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),e.jsx("meta",{name:"twitter:image",content:s})]})]})]}),e.jsx(o,{}),e.jsxs("div",{className:"flex-1 overflow-y-auto",children:[!r&&e.jsx(a,{pkg:t}),r&&(r.status===404||!i.test((t==null?void 0:t.package_id)??""))&&e.jsx(n,{heading:"Package not found"}),r&&r.status!==404&&e.jsx("div",{className:"min-h-screen grid place-items-center",children:e.jsx(l,{error:r,description:"There was an error loading the editor page"})})]})]})};export{U as EditorPage};
@@ -1,6 +0,0 @@
1
- import{k as a}from"./index-BQPj88OW.js";/**
2
- * @license lucide-react v0.488.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const e=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],c=a("pen",e);export{c as P};
@@ -1,6 +0,0 @@
1
- import{k as e}from"./index-BQPj88OW.js";/**
2
- * @license lucide-react v0.488.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const o=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],t=e("plus",o);export{t as P};
@@ -1 +0,0 @@
1
- import{w as b,b as N,j as e,n as u,am as y,bz as w,l as v,L as m,bA as _}from"./index-BQPj88OW.js";import{H as k}from"./Header-CI4GZVOv.js";import{NotFoundPage as x}from"./404-CnNkOMw-.js";import{u as P,b as L,g as B}from"./use-package-builds-Bx8rfxi1.js";import{u as S}from"./use-package-by-package-name-1s1Pcarw.js";import{u as $}from"./use-packages-base-api-url-DA1hucM7.js";import"./Analytics-DIw7l2gi.js";import"./Header2-CrMDmo3P.js";import"./Footer-DU-HdqGk.js";import"./NotFound-DaXtEPsC.js";import"./card-CzXDit7x.js";import"./FileSaver.min-BDsOlqKl.js";import"./circle-alert-Du9-4of0.js";import"./circle-check-big-KaRyRsht.js";const C=({status:t})=>{const l=t==="success"?"bg-emerald-600":t==="failed"?"bg-red-600":t==="building"?"bg-blue-600 animate-pulse":"bg-gray-500";return e.jsx("span",{className:u("inline-block w-2 h-2 rounded-full",l)})},F=async t=>{const c=await(await fetch(String(t.fileStaticAssetUrl))).json(),n=JSON.parse(c.package_file.content_text);return console.log(n),n};function M(){const t=b(),l=(t==null?void 0:t.packageReleaseId)||null,c=(t==null?void 0:t.author)||null,n=(t==null?void 0:t.packageName)||null,[o,g]=N.useState(!0),f=$(),{data:s,isLoading:d}=P(l),{data:r,isLoading:h}=S(c&&n?`${c}/${n}`:null),{data:a,isLoading:p}=L((s==null?void 0:s.latest_package_build_id)||null),j=d||h||p;if(!l)return e.jsx(x,{heading:"Package Release Not Found"});if(!s&&!d)return e.jsx(x,{heading:"Package Release Not Found"});const{status:i}=B(a);return e.jsxs(e.Fragment,{children:[e.jsx(k,{}),e.jsx("div",{className:"flex flex-col h-screen overflow-hidden !-mt-1",children:e.jsxs("div",{className:"flex flex-1 overflow-hidden",children:[e.jsxs("aside",{className:u("relative border-r border-gray-200 rounded-r-lg z-[5] h-full transition-all duration-300 ease-in-out bg-white",o?"w-2 md:w-3":"w-80"),children:[e.jsx("button",{onClick:()=>g(!o),className:"absolute top-4 -right-3 z-10 bg-white border border-gray-200 rounded-full p-1 hover:bg-gray-50",children:o?e.jsx(y,{size:20}):e.jsx(w,{size:20})}),!o&&e.jsx("div",{className:"p-4",children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h2",{className:"text-lg font-semibold text-gray-900",children:"Deployment"}),e.jsx(C,{status:i})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2",children:[e.jsx("span",{className:"text-xs text-gray-500 uppercase tracking-wide",children:"ID"}),e.jsx(v,{href:`/${r==null?void 0:r.name}/releases/${a==null?void 0:a.package_release_id}`,title:a==null?void 0:a.package_build_id,className:"font-mono text-sm truncate text-gray-900 bg-gray-100 w-full px-2 py-1 rounded",children:a==null?void 0:a.package_build_id})]}),(s==null?void 0:s.commit_message)&&e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2",children:[e.jsx("span",{className:"text-xs text-gray-500 uppercase tracking-wide",children:"Commit"}),e.jsx("a",{title:s==null?void 0:s.commit_message,target:"_blank",rel:"noopener noreferrer",href:`https://github.com/${r==null?void 0:r.github_repo_full_name}/commit/${s==null?void 0:s.commit_message}`,className:"font-mono text-xs text-gray-600 bg-gray-50 px-2 text-right py-1 rounded truncate",children:s==null?void 0:s.commit_message})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2",children:[e.jsx("span",{className:"text-xs text-gray-500 uppercase tracking-wide",children:"Status"}),e.jsx("span",{className:`text-xs font-medium px-2 py-1 w-fit rounded-full capitalize ${i==="success"?"bg-emerald-100 text-emerald-800":i==="error"?"bg-red-100 text-red-800":i==="building"?"bg-blue-100 text-blue-800":"bg-gray-100 text-gray-800"}`,children:i})]})]})]})})]}),e.jsx("main",{className:"flex-1 overflow-y-auto",children:e.jsx("div",{className:"flex flex-col h-full overflow-h-hidden",children:j?e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"flex flex-col items-center gap-3 text-gray-500",children:[e.jsx(m,{className:"w-6 h-6 animate-spin"}),e.jsx("p",{children:"Loading package contents..."})]})}):i==="success"?e.jsx(_,{files:[{filePath:"dist/circuit.json",fileStaticAssetUrl:`${f}/package_files/get?file_path=dist/circuit.json&package_release_id=${a==null?void 0:a.package_release_id}`}],onFetchFile:F}):e.jsx("div",{className:"flex-1 flex items-center justify-center",children:i==="building"?e.jsxs("div",{className:"flex flex-col items-center gap-3 text-gray-500",children:[e.jsx(m,{className:"w-6 h-6 animate-spin"}),e.jsx("p",{children:"Building…"})]}):i==="error"?e.jsx("div",{className:"text-center",children:e.jsx("p",{className:"text-red-600 font-medium mb-2",children:"Build Failed"})}):e.jsxs("div",{className:"text-center p-4",children:[e.jsxs("p",{className:"text-gray-600 font-medium mb-2",children:["Build Status: ",i]}),e.jsx("p",{className:"text-sm text-gray-500 max-w-lg",children:"Please wait while we process this build status. Try refreshing the page in a few moments."})]})})})})]})})]})}export{M as default};
@@ -1 +0,0 @@
1
- import{j as e,n as f,s as D,b as c,u as I,m as J,L as _,l as p,B as b}from"./index-BQPj88OW.js";import{u as S,b as P,c as T,d as O}from"./Analytics-DIw7l2gi.js";import{H as E}from"./Header-CI4GZVOv.js";import{F as H}from"./Footer-DU-HdqGk.js";import{C as o,b as r,c as i,a as h}from"./card-CzXDit7x.js";import"./use-packages-base-api-url-DA1hucM7.js";const Q={board:"bg-blue-500",package:"bg-green-500",footprint:"bg-purple-500",model:"bg-indigo-500"},d=({type:t,className:n})=>t?e.jsx("span",{className:f("text-white px-2 py-1 rounded text-xs font-semibold",Q[t],n),children:t.toUpperCase()}):null,M=()=>{const t=S(),n=D(),[N,g]=c.useState(!1),a=I(s=>s.session),m=a==null?void 0:a.github_username,j=!!m,{Dialog:C,openDialog:w}=P(),{importComponent:u}=T(),v=c.useMemo(()=>a!=null&&a.token?{Authorization:`Bearer ${a.token}`}:void 0,[a==null?void 0:a.token]),y=c.useCallback(async s=>{await u(s)},[u]);c.useEffect(()=>{n.removeQueries("userPackages")},[n]);const{data:x,isLoading:k}=J(["userPackages",m],async()=>(await t.post("/packages/list",{owner_github_username:m})).data.packages,{enabled:j}),B=[{name:"Blank Circuit Board",type:"board"},{name:"Blank Circuit Module",type:"package"}],L=[{name:"Blinking LED Board",type:"board"},{name:"USB-C LED Flashlight",type:"board"}];return e.jsxs("div",{className:"min-h-screen",children:[e.jsx(E,{}),e.jsxs("div",{className:"container mx-auto px-6 py-12",children:[j&&e.jsxs("div",{className:"mb-16 hidden md:block",children:[e.jsx("div",{className:"mb-8",children:e.jsx("h2",{className:"text-2xl font-semibold text-slate-900",children:"Recent Packages"})}),k?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(_,{className:"w-10 h-10 animate-spin text-blue-500 mb-4"})}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:x==null?void 0:x.sort((s,l)=>new Date(l.created_at).getTime()-new Date(s.created_at).getTime()).slice(0,4).map(s=>e.jsx(p,{href:`/editor?package_id=${s.package_id}`,children:e.jsxs(o,{className:"hover:shadow-md border bg-white shadow-sm transition-shadow flex flex-col h-full rounded-md",children:[e.jsx(r,{children:e.jsx(i,{className:"text-lg font-semibold text-slate-900",children:s.unscoped_name})}),e.jsx(h,{className:"-mt-4",children:e.jsxs("p",{className:"text-sm text-slate-500",children:["Last edited"," ",new Date(s.updated_at).toLocaleDateString()]})})]})},s.package_id))})]}),e.jsxs("div",{className:"mb-16",children:[e.jsx("div",{className:"mb-8",children:e.jsx("h2",{className:"text-2xl font-semibold text-slate-900",children:"Start Blank"})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:B.map((s,l)=>e.jsx(p,{href:s.disabled?"#":`/editor?template=${s.name.toLowerCase().replace(/ /g,"-")}`,children:e.jsx(o,{className:f("hover:shadow-md border bg-white transition-shadow h-full flex flex-col rounded-md",s.disabled&&"opacity-50 cursor-not-allowed"),children:e.jsx(r,{className:"p-6 flex-grow flex flex-col justify-between",children:e.jsxs("div",{children:[e.jsx(i,{className:"text-lg font-semibold text-slate-900 mb-3",children:s.name}),e.jsx("div",{className:"flex justify-between items-center",children:e.jsx(d,{type:s.type})})]})})})},l))})]}),e.jsxs("div",{className:"mb-16",children:[e.jsx("div",{className:"mb-8",children:e.jsx("h2",{className:"text-2xl font-semibold text-slate-900",children:"Import Components"})}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[e.jsxs(o,{className:"hover:shadow-md border bg-white transition-shadow flex flex-col rounded-md",children:[e.jsxs(r,{className:"p-6 pb-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx(i,{className:"text-lg font-semibold text-slate-900",children:"JLCPCB Component"}),e.jsx(d,{type:"package"})]}),e.jsx("p",{className:"text-sm text-slate-500",children:"Import components from JLCPCB library"})]}),e.jsx(h,{className:"p-6 pt-0 mt-auto",children:e.jsx(b,{className:"w-full text-white",onClick:()=>w(),children:"Import JLCPCB"})})]}),e.jsxs(o,{className:"hover:shadow-md border bg-white transition-shadow flex flex-col rounded-md",children:[e.jsxs(r,{className:"p-6 pb-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx(i,{className:"text-lg font-semibold text-slate-900",children:"Circuit JSON"}),e.jsx(d,{type:"package"})]}),e.jsx("p",{className:"text-sm text-slate-500",children:"Import from Circuit JSON format"})]}),e.jsx(h,{className:"p-6 pt-0 mt-auto",children:e.jsx(b,{className:"w-full text-white",onClick:()=>g(!0),children:"Import JSON"})})]})]})]}),e.jsx(C,{onJlcpcbComponentTsxLoaded:y,jlcpcbProxyRequestHeaders:v}),e.jsx(O,{open:N,onOpenChange:g}),e.jsxs("div",{className:"mb-16",children:[e.jsx("div",{className:"mb-8",children:e.jsx("h2",{className:"text-2xl font-semibold text-slate-900",children:"Popular Templates"})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:L.map((s,l)=>e.jsx(p,{href:`/editor?template=${s.name.toLowerCase().replace(/ /g,"-")}`,children:e.jsx(o,{className:"hover:shadow-md border bg-white transition-shadow rounded-md",children:e.jsx(r,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between ",children:[e.jsx(i,{className:"text-lg font-semibold text-slate-900",children:s.name}),e.jsx(d,{type:s.type})]})})})},l))})]})]}),e.jsx(H,{})]})};export{M as QuickstartPage};
@@ -1,6 +0,0 @@
1
- import{k as e}from"./index-BQPj88OW.js";/**
2
- * @license lucide-react v0.488.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const t=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],c=e("refresh-cw",t);export{c as R};
@@ -1 +0,0 @@
1
- import{w as x,h as u,j as e}from"./index-BQPj88OW.js";import{NotFoundPage as n}from"./404-CnNkOMw-.js";import{u as g}from"./use-package-by-package-name-1s1Pcarw.js";import{u as p}from"./use-package-release-by-id-or-version-BuuXcSZq.js";import{d as h}from"./use-package-builds-Bx8rfxi1.js";import{B as j}from"./BuildsList-CeqVVhbz.js";import{H as f}from"./Header-CI4GZVOv.js";import{P as N}from"./PackageBreadcrumb-DpOpPbGc.js";import"./Header2-CrMDmo3P.js";import"./Analytics-DIw7l2gi.js";import"./use-packages-base-api-url-DA1hucM7.js";import"./Footer-DU-HdqGk.js";import"./NotFound-DaXtEPsC.js";import"./card-CzXDit7x.js";import"./FileSaver.min-BDsOlqKl.js";import"./circle-alert-Du9-4of0.js";import"./circle-check-big-KaRyRsht.js";import"./badge-Bk-k6kyg.js";import"./skeleton-DLAS40-y.js";import"./formatTimeAgo-CawXna5h.js";import"./useQueries-BJ7Ue7HV.js";function G(){const s=x(),r=s!=null&&s.author&&(s!=null&&s.packageName)?`${s.author}/${s.packageName}`:null;u();const{data:i,isLoading:d,error:o}=g(r),{data:t,isLoading:m,error:l}=p((s==null?void 0:s.releaseId)??null,r),{data:a,isLoading:c,error:k}=h((s==null?void 0:s.releaseId)??null);return d||m||c?null:(o==null?void 0:o.status)===404||!i?e.jsx(n,{heading:"Package Not Found"}):(l==null?void 0:l.status)===404||!t?e.jsx(n,{heading:"Release Not Found"}):e.jsxs(e.Fragment,{children:[e.jsx(f,{}),e.jsxs("div",{className:"min-h-screen bg-white",children:[e.jsx("div",{className:"bg-gray-50 border-b py-10",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsx(N,{author:(s==null?void 0:s.author)||"",packageName:r||"",unscopedName:i.unscoped_name,currentPage:"builds",releaseVersion:t.version||`v${t.package_release_id.slice(-6)}`}),e.jsx("div",{className:"flex items-center gap-4",children:e.jsxs("div",{children:[e.jsxs("h1",{className:"text-3xl font-bold text-gray-900",children:[i.name," - Release Builds"]}),e.jsxs("p",{className:"text-gray-600 mt-2",children:["All builds for release ",t.package_release_id]})]})})]})}),e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h2",{className:"text-2xl font-bold text-gray-900",children:"All Builds"}),e.jsxs("p",{className:"text-sm text-gray-600",children:[a==null?void 0:a.length," build",(a==null?void 0:a.length)!==1?"s":""," found"]})]}),i&&e.jsx(j,{pkg:i})]})})]})]})}export{G as default};
@@ -1,6 +0,0 @@
1
- import{k as I,b as M,j as e,B as P,bs as J,am as v,L as f,s as A,v as E,w as H,u as Q}from"./index-BQPj88OW.js";import{NotFoundPage as L}from"./404-CnNkOMw-.js";import{u as U}from"./use-package-by-package-name-1s1Pcarw.js";import{u as V}from"./use-package-release-by-id-or-version-BuuXcSZq.js";import{g as S,S as q,b as z}from"./use-package-builds-Bx8rfxi1.js";import{B as p}from"./badge-Bk-k6kyg.js";import{R as K,a as W,b as X}from"./index-B17tE1vy.js";import{f as F,G}from"./formatTimeAgo-CawXna5h.js";import{H as Y}from"./hash-DfKYpqTm.js";import{G as Z,P as R}from"./PackageBreadcrumb-DpOpPbGc.js";import{U as B,n as N,u as k,l as ee}from"./Analytics-DIw7l2gi.js";import{C as w}from"./circle-alert-Du9-4of0.js";import{C as y}from"./circle-check-big-KaRyRsht.js";import{H as T}from"./Header-CI4GZVOv.js";import{u as se}from"./use-package-release-images-BMaZtvmk.js";import{S as g}from"./skeleton-DLAS40-y.js";import{R as re}from"./refresh-cw-aWASTRku.js";import"./Header2-CrMDmo3P.js";import"./Footer-DU-HdqGk.js";import"./NotFound-DaXtEPsC.js";import"./card-CzXDit7x.js";import"./FileSaver.min-BDsOlqKl.js";import"./use-packages-base-api-url-DA1hucM7.js";import"./useQueries-BJ7Ue7HV.js";/**
2
- * @license lucide-react v0.488.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const te=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],ie=I("calendar",te),C=K,$=W,D=X,ne=({packageBuild:s,pkg:o,isLoadingBuild:l,packageRelease:r})=>{const{status:a,label:d}=S(s??null),[i,j]=M.useState({transpilation:!1,circuitJson:!1,imageGeneration:!1});if(l)return e.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-6 space-y-6 focus:outline-none",children:e.jsxs("div",{className:"bg-white border border-gray-200 rounded-lg",children:[e.jsx("div",{className:"px-6 py-6 border-b border-gray-200",children:e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"w-6 h-6 rounded-full bg-gray-200 animate-pulse"}),e.jsxs("div",{className:"flex-1 space-y-2",children:[e.jsx("div",{className:"h-7 w-32 bg-gray-200 rounded animate-pulse"}),e.jsx("div",{className:"h-4 w-24 bg-gray-200 rounded animate-pulse"})]})]}),e.jsx("div",{className:"w-24 h-9 bg-gray-200 rounded animate-pulse"})]})}),e.jsxs("div",{className:"px-6 py-4",children:[e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",children:Array(4).fill(0).map((t,n)=>e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-4 h-4 rounded bg-gray-200 animate-pulse"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"h-4 w-20 bg-gray-200 rounded animate-pulse"}),e.jsx("div",{className:"h-5 w-24 bg-gray-200 rounded animate-pulse"})]})]},n))}),e.jsxs("div",{className:"mt-6 p-4 bg-gray-50 rounded-lg",children:[e.jsx("div",{className:"h-4 w-32 bg-gray-200 rounded animate-pulse mb-2"}),e.jsx("div",{className:"h-5 w-full bg-gray-200 rounded animate-pulse"})]})]})]})});if(!s)return e.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-6",children:e.jsx("div",{className:"bg-white border border-gray-200 rounded-lg p-6 text-center",children:e.jsx("p",{className:"text-sm text-gray-600",children:"No build information available."})})});const x=t=>{navigator.clipboard.writeText(t)},_=(()=>{const t=s!=null&&s.transpilation_started_at?Math.floor((new Date(s.transpilation_completed_at||new Date).getTime()-new Date(s.transpilation_started_at).getTime())/1e3):0,n=s!=null&&s.circuit_json_build_started_at?Math.floor((new Date(s.circuit_json_build_completed_at||new Date).getTime()-new Date(s.circuit_json_build_started_at).getTime())/1e3):0,h=s!=null&&s.image_generation_started_at?Math.floor((new Date(s.image_generation_completed_at||new Date).getTime()-new Date(s.image_generation_started_at).getTime())/1e3):0;return!(s!=null&&s.transpilation_started_at)&&!(s!=null&&s.circuit_json_build_started_at)&&!(s!=null&&s.image_generation_started_at)?null:t+n+h})(),b=t=>{j(n=>({...n,[t]:!n[t]}))},u=(t,n,h)=>t?"error":n?"success":h?"building":"queued",c=(t,n)=>t&&n?`${Math.floor((new Date(n).getTime()-new Date(t).getTime())/1e3)}s`:null;return e.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-6 space-y-6 focus:outline-none",children:[e.jsxs("div",{className:"bg-white border border-gray-200 rounded-lg",children:[e.jsx("div",{className:"px-6 py-6 border-b border-gray-200",children:e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(q,{status:a}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center sm:gap-3",children:e.jsxs("h1",{className:"text-xl sm:text-2xl font-semibold text-gray-900",children:["Build ",d]})}),e.jsx("p",{className:"text-sm text-gray-600 mt-1",children:e.jsxs("time",{dateTime:s.created_at,children:["Built ",F(s.created_at)]})})]})]}),e.jsx("div",{className:"flex items-center gap-3 flex-shrink-0",children:a!=="error"&&e.jsxs(P,{size:"sm",className:"flex items-center gap-2 min-w-[80px] h-9",onClick:()=>window.open(`/${o.name}/releases/${s.package_release_id}/preview`,"_blank"),children:[e.jsx(J,{className:"w-3 h-3"}),"Preview"]})})]})}),e.jsxs("div",{className:"px-6 py-4 select-none",children:[e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",children:[e.jsxs("div",{className:"flex items-center gap-3 group",children:[e.jsx(Y,{className:"w-4 h-4 text-gray-500 group-hover:text-blue-500 transition-colors"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-gray-500 uppercase tracking-wide",children:"Build ID"}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx("button",{onClick:()=>x(s.package_build_id),className:"group-hover:text-blue-500 text-xs rounded text-left transition-colors",children:s.package_build_id})})]})]}),e.jsxs("div",{className:"flex items-center gap-3 group",children:[r!=null&&r.is_pr_preview?e.jsx(G,{className:"w-4 h-4 text-gray-500 group-hover:text-blue-500 transition-colors"}):e.jsx(Z,{className:"w-4 h-4 text-gray-500 group-hover:text-blue-500 transition-colors"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-gray-500 uppercase tracking-wide",children:r!=null&&r.is_pr_preview?"PR":"Branch"}),e.jsx("a",{href:r!=null&&r.is_pr_preview?`https://github.com/${o.github_repo_full_name}/pull/${r==null?void 0:r.github_pr_number}`:`https://github.com/${o.github_repo_full_name}/tree/${(r==null?void 0:r.branch_name)||"main"}`,target:"_blank",rel:"noopener noreferrer",className:"inline-block",children:e.jsx(p,{variant:"outline",className:"text-xs mt-1 hover:bg-gray-100 cursor-pointer transition-colors",children:r!=null&&r.is_pr_preview?`#${r.github_pr_number}`:(r==null?void 0:r.branch_name)||"main"})})]})]}),e.jsxs("div",{className:"flex items-center gap-3 group",children:[e.jsx(B,{className:"w-4 h-4 text-gray-500 group-hover:text-blue-500 transition-colors"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-gray-500 uppercase tracking-wide",children:"Author"}),e.jsx("a",{href:`https://github.com/${o.owner_github_username}`,target:"_blank",rel:"noopener noreferrer",className:"text-sm font-medium hover:text-blue-500 transition-colors",children:o.owner_github_username||"Unknown"})]})]}),e.jsxs("div",{className:"flex items-center gap-3 group",children:[e.jsx(N,{className:"w-4 h-4 text-gray-500 group-hover:text-blue-500 transition-colors"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-gray-500 uppercase tracking-wide",children:"Duration"}),e.jsxs("p",{className:"text-sm font-medium hover:text-blue-500 transition-colors cursor-help",title:`Build started at ${s.build_started_at}`,children:[_||0,"s"]})]})]})]}),(r==null?void 0:r.commit_message)&&e.jsxs("div",{className:"mt-6 p-4 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors group",children:[e.jsx("p",{className:"text-xs text-gray-500 uppercase tracking-wide mb-2",children:"Commit Message"}),e.jsx("p",{className:"text-sm text-gray-900 group-hover:text-gray-700 transition-colors",children:r==null?void 0:r.commit_message})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h2",{className:"text-lg font-semibold text-gray-900",children:"Latest Build Logs"}),e.jsx("a",{href:`/${o.name.split("/")[0]}/${o.name.split("/")[1]}/releases/${r.package_release_id}/builds`,className:"text-sm text-blue-600 hover:text-blue-800 transition-colors",children:"(previous builds)"})]}),e.jsxs(C,{open:i.transpilation,onOpenChange:()=>b("transpilation"),children:[e.jsx($,{asChild:!0,children:e.jsxs("div",{className:"flex items-center justify-between p-4 bg-white border border-gray-200 rounded-lg cursor-pointer hover:bg-gray-50",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(v,{className:`w-4 h-4 transition-transform ${i.transpilation?"rotate-90":""}`}),s.transpilation_error?e.jsx(w,{className:"w-5 h-5 text-red-500"}):s.transpilation_completed_at?e.jsx(y,{className:"w-5 h-5 text-green-500"}):s.transpilation_in_progress?e.jsx(f,{className:"w-5 h-5 text-blue-500 animate-spin"}):e.jsx(N,{className:"w-5 h-5 text-gray-400"}),e.jsx("span",{className:"font-medium",children:"Transpilation"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[c(s.transpilation_started_at,s.transpilation_completed_at)&&e.jsx("span",{className:"text-sm text-gray-600",children:c(s.transpilation_started_at,s.transpilation_completed_at)}),e.jsx(p,{variant:u(s.transpilation_error,s.transpilation_completed_at,s.transpilation_in_progress)==="success"?"default":u(s.transpilation_error,s.transpilation_completed_at,s.transpilation_in_progress)==="error"?"destructive":"secondary",className:"text-xs",children:s.transpilation_error?"Failed":s.transpilation_completed_at?"Completed":s.transpilation_in_progress?"Running":"Queued"})]})]})}),e.jsx(D,{children:e.jsx("div",{className:"bg-white border-x border-b border-gray-200 rounded-b-lg p-4",children:e.jsx("div",{className:"font-mono text-xs space-y-1",children:s.transpilation_error?e.jsx("div",{className:"text-red-600 whitespace-pre-wrap",children:s.transpilation_error}):s.transpilation_logs&&s.transpilation_logs.length>0?s.transpilation_logs.map((t,n)=>e.jsx("div",{className:"text-gray-600 whitespace-pre-wrap",children:t.msg||t.message||JSON.stringify(t)},n)):e.jsx("div",{className:"text-gray-500",children:"No logs available"})})})})]}),e.jsxs(C,{open:i.circuitJson,onOpenChange:()=>b("circuitJson"),children:[e.jsx($,{asChild:!0,children:e.jsxs("div",{className:"flex items-center justify-between p-4 bg-white border border-gray-200 rounded-lg cursor-pointer hover:bg-gray-50",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(v,{className:`w-4 h-4 transition-transform ${i.circuitJson?"rotate-90":""}`}),s.circuit_json_build_error?e.jsx(w,{className:"w-5 h-5 text-red-500"}):s.circuit_json_build_completed_at?e.jsx(y,{className:"w-5 h-5 text-green-500"}):s.circuit_json_build_in_progress?e.jsx(f,{className:"w-5 h-5 text-blue-500 animate-spin"}):e.jsx(N,{className:"w-5 h-5 text-gray-400"}),e.jsx("span",{className:"font-medium",children:"Circuit JSON Build"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[c(s.circuit_json_build_started_at,s.circuit_json_build_completed_at)&&e.jsx("span",{className:"text-sm text-gray-600",children:c(s.circuit_json_build_started_at,s.circuit_json_build_completed_at)}),e.jsx(p,{variant:u(s.circuit_json_build_error,s.circuit_json_build_completed_at,s.circuit_json_build_in_progress)==="success"?"default":u(s.circuit_json_build_error,s.circuit_json_build_completed_at,s.circuit_json_build_in_progress)==="error"?"destructive":"secondary",className:"text-xs",children:s.circuit_json_build_error?"Failed":s.circuit_json_build_completed_at?"Completed":s.circuit_json_build_in_progress?"Running":"Queued"})]})]})}),e.jsx(D,{children:e.jsx("div",{className:"bg-white border-x border-b border-gray-200 rounded-b-lg p-4",children:e.jsx("div",{className:"font-mono text-xs space-y-1",children:s.circuit_json_build_error?e.jsx("div",{className:"text-red-600 whitespace-pre-wrap",children:s.circuit_json_build_error}):s.circuit_json_build_logs&&s.circuit_json_build_logs.length>0?s.circuit_json_build_logs.map((t,n)=>e.jsx("div",{className:"text-gray-600 whitespace-pre-wrap",children:t.msg||t.message||JSON.stringify(t)},n)):e.jsx("div",{className:"text-gray-500",children:"No logs available"})})})})]}),e.jsxs(C,{open:i.imageGeneration,onOpenChange:()=>b("imageGeneration"),children:[e.jsx($,{asChild:!0,children:e.jsxs("div",{className:"flex items-center justify-between p-4 bg-white border border-gray-200 rounded-lg cursor-pointer hover:bg-gray-50",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(v,{className:`w-4 h-4 transition-transform ${i.imageGeneration?"rotate-90":""}`}),s.image_generation_error?e.jsx(w,{className:"w-5 h-5 text-red-500"}):s.image_generation_completed_at?e.jsx(y,{className:"w-5 h-5 text-green-500"}):s.image_generation_in_progress?e.jsx(f,{className:"w-5 h-5 text-blue-500 animate-spin"}):e.jsx(N,{className:"w-5 h-5 text-gray-400"}),e.jsx("span",{className:"font-medium",children:"Image Generation"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[c(s.image_generation_started_at,s.image_generation_completed_at)&&e.jsx("span",{className:"text-sm text-gray-600",children:c(s.image_generation_started_at,s.image_generation_completed_at)}),e.jsx(p,{variant:u(s.image_generation_error,s.image_generation_completed_at,s.image_generation_in_progress)==="success"?"default":u(s.image_generation_error,s.image_generation_completed_at,s.image_generation_in_progress)==="error"?"destructive":"secondary",className:"text-xs",children:s.image_generation_error?"Failed":s.image_generation_completed_at?"Completed":s.image_generation_in_progress?"Running":"Queued"})]})]})}),e.jsx(D,{children:e.jsx("div",{className:"bg-white border-x border-b border-gray-200 rounded-b-lg p-4",children:e.jsx("div",{className:"font-mono text-xs space-y-1",children:s.image_generation_error?e.jsx("div",{className:"text-red-600 whitespace-pre-wrap",children:s.image_generation_error}):s.image_generation_logs&&s.image_generation_logs.length>0?s.image_generation_logs.map((t,n)=>e.jsx("div",{className:"text-gray-600 whitespace-pre-wrap",children:t.msg||t.message||JSON.stringify(t)},n)):e.jsx("div",{className:"text-gray-500",children:"No logs available"})})})})]})]})]})},ae=({onSuccess:s}={})=>{const o=k(),{toast:l}=ee(),r=A();return E(async({package_release_id:a})=>{const{data:d}=await o.post("/package_releases/rebuild",{package_release_id:a});return d.package_release},{onSuccess:a=>{l({title:"Rebuild triggered",description:"The package build has been queued for rebuild."}),r.invalidateQueries(["packageRelease"]),s==null||s(a)},onError:a=>{var d,i,j,x,_;l({title:"Error",description:((j=(i=(d=a==null?void 0:a.response)==null?void 0:d.data)==null?void 0:i.error)==null?void 0:j.message)||((_=(x=a==null?void 0:a.data)==null?void 0:x.error)==null?void 0:_.message)||"Failed to rebuild package.",variant:"destructive"})}})};function Se(){const s=H(),o=s!=null&&s.author&&(s!=null&&s.packageName)?`${s.author}/${s.packageName}`:null,{data:l,isLoading:r,error:a}=U(o),d=(s==null?void 0:s.releaseId)??(s==null?void 0:s.packageReleaseId)??null,{data:i,isLoading:j,error:x}=V(d,o,{include_logs:!0}),{data:_,isLoading:b,error:u}=z((i==null?void 0:i.latest_package_build_id)??null,{include_logs:!0}),{availableViews:c}=se({packageReleaseId:i==null?void 0:i.package_release_id}),t=Q(m=>m.session),{mutate:n,isLoading:h}=ae(),{status:O}=S(_??null);return r||j?e.jsxs(e.Fragment,{children:[e.jsx(T,{}),e.jsxs("div",{className:"min-h-screen bg-white",children:[e.jsx("div",{className:"bg-gray-50 border-b py-6",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsx(g,{className:"h-6 w-64 mb-4"}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(g,{className:"h-4 w-20"}),e.jsx(g,{className:"h-4 w-32"})]})]})}),e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6",children:e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[1,2,3].map(m=>e.jsx(g,{className:"h-48 rounded-lg"},m))})}),e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6",children:e.jsx(g,{className:"h-64 w-full"})})]})]}):(a==null?void 0:a.status)===404||!l?e.jsx(L,{heading:"Package Not Found"}):(x==null?void 0:x.status)===404||!i?e.jsx(L,{heading:"Release Not Found"}):e.jsxs(e.Fragment,{children:[e.jsx(T,{}),e.jsxs("div",{className:"min-h-screen bg-white",children:[e.jsx("div",{className:"bg-gray-50 border-b py-6",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsx(R,{author:l.owner_github_username||"",packageName:l.name,unscopedName:l.unscoped_name,releaseVersion:i.version||`v${i.package_release_id.slice(-6)}`}),e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 mt-4",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-gray-600",children:[i.is_pr_preview&&e.jsxs("a",{href:`https://github.com/${l.github_repo_full_name}/pull/${i.github_pr_number}`,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 hover:text-gray-800 transition-colors",children:[e.jsx(G,{className:"w-4 h-4"}),e.jsxs(p,{variant:"outline",className:"text-xs",children:["PR #",i.github_pr_number]})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(ie,{className:"w-4 h-4"}),e.jsxs("span",{children:["Created ",F(i.created_at)]})]})]}),(t==null?void 0:t.github_username)===l.owner_github_username&&e.jsxs(P,{variant:"outline",size:"sm",className:"border-gray-300 bg-white hover:bg-gray-50 flex-shrink-0",disabled:h||!i,onClick:()=>i&&n({package_release_id:i.package_release_id}),children:[e.jsx(re,{className:`w-4 h-4 mr-2 ${h?"animate-spin":""}`}),h?"Rebuilding...":"Rebuild"]})]})]})}),!!_&&O!="error"&&e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6",children:e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:c.length>0?c.map(m=>e.jsx("div",{className:"flex items-center justify-center border rounded-lg bg-gray-50 overflow-hidden h-48",children:m.isLoading?e.jsx(g,{className:"w-full h-full"}):e.jsx("img",{src:m.imageUrl,alt:`${m.label} preview`,className:`w-full h-full object-contain ${m.label.toLowerCase()=="pcb"?"bg-black":m.label.toLowerCase()=="schematic"?"bg-[#F5F1ED]":"bg-gray-100"}`})},m.id)):[1,2,3].map(m=>e.jsx(g,{className:"h-48 rounded-lg"},m))})}),e.jsx(ne,{packageBuild:_??null,isLoadingBuild:b,pkg:l,packageRelease:i})]})]})}export{Se as default};
@@ -1 +0,0 @@
1
- import{j as e,l as u,B as m,G as p,br as f,w as g}from"./index-BQPj88OW.js";import{NotFoundPage as x}from"./404-CnNkOMw-.js";import{g as j,a as w,b}from"./use-package-builds-Bx8rfxi1.js";import{u as N}from"./use-package-by-package-name-1s1Pcarw.js";import{B as _}from"./badge-Bk-k6kyg.js";import{l as v,n as y,D as P,h as k,i as L,j as d}from"./Analytics-DIw7l2gi.js";import{B as C}from"./BuildsList-CeqVVhbz.js";import{H as D}from"./Header-CI4GZVOv.js";import{G as $,f as F}from"./formatTimeAgo-CawXna5h.js";import{P as Z}from"./PackageBreadcrumb-DpOpPbGc.js";import{u as I}from"./use-download-zip-CAOKjGXW.js";import{a as T}from"./use-package-files-CmmWVuGn.js";import{E as G}from"./eye-B_NMTTT7.js";import"./Header2-CrMDmo3P.js";import"./Footer-DU-HdqGk.js";import"./NotFound-DaXtEPsC.js";import"./card-CzXDit7x.js";import"./FileSaver.min-BDsOlqKl.js";import"./circle-alert-Du9-4of0.js";import"./circle-check-big-KaRyRsht.js";import"./use-packages-base-api-url-DA1hucM7.js";import"./skeleton-DLAS40-y.js";import"./useQueries-BJ7Ue7HV.js";const M=({latestRelease:a,latestBuild:r,pkg:s})=>{const{status:i,label:l}=j(r),{toastLibrary:n}=v(),{downloadZip:c}=I(),{data:o}=T(a.package_release_id),t=()=>{s&&o&&n.promise(c(s,o??[]),{loading:"Downloading ZIP...",success:"ZIP downloaded successfully!",error:"Failed to download ZIP"})};return e.jsxs(e.Fragment,{children:[e.jsx(D,{}),e.jsxs("div",{className:"min-h-screen bg-white",children:[e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 pt-4",children:e.jsx(Z,{author:s.name.split("/")[0],packageName:s.name,unscopedName:s.unscoped_name,currentPage:"releases"})}),e.jsx("div",{className:"bg-gray-50 border-b md:py-10",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6",children:e.jsxs("div",{className:"flex flex-col md:justify-between md:flex-row lg:items-center lg:justify-between gap-6",children:[e.jsxs("div",{className:"flex flex-col md:flex-row md:items-center gap-4",children:[e.jsx("div",{className:"w-12 hidden md:block h-12 rounded-lg overflow-hidden flex-shrink-0",children:e.jsx("img",{src:"https://github.com/tscircuit.png",alt:"tscircuit logo",className:"w-full h-full object-cover"})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-3",children:[e.jsx(u,{href:"/"+s.name,className:"text-2xl font-bold text-gray-900 truncate",children:s.name}),e.jsxs(_,{variant:i==="success"?"default":i==="error"?"destructive":"secondary",className:"flex items-center gap-1 w-fit",children:[e.jsx("div",{className:`w-2 h-2 rounded-full ${i==="success"?"bg-green-500":i==="error"?"bg-red-500":i==="building"?"bg-blue-500 animate-pulse":"bg-gray-500"}`}),l]})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-2 sm:gap-4 mt-2 text-sm text-gray-600",children:[e.jsxs("div",{className:`flex items-center gap-1 ${s.github_repo_full_name?"cursor-pointer":""}`,onClick:()=>s.github_repo_full_name&&(window==null?void 0:window.open(`https://github.com/${s.github_repo_full_name}/tree/${(a==null?void 0:a.branch_name)||"main"}`,"_blank")),children:[e.jsx($,{className:"w-4 h-4 flex-shrink-0"}),e.jsx("span",{className:"truncate",children:(a==null?void 0:a.branch_name)||"main"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(y,{className:"w-4 h-4 flex-shrink-0"}),e.jsx("span",{children:r!=null&&r.created_at?e.jsxs("time",{dateTime:r.created_at,children:["Last built ",F(r.created_at)]}):"No builds yet"})]})]})]})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row items-stretch sm:items-center gap-2",children:[s.github_repo_full_name&&e.jsxs(m,{variant:"outline",size:"sm",className:"flex items-center gap-2 justify-center min-w-[120px] h-9",onClick:()=>window.open(`https://github.com/${s.github_repo_full_name}`,"_blank"),children:[e.jsx(p,{className:"w-4 h-4"}),e.jsx("span",{className:"hidden sm:inline",children:"Repository"}),e.jsx("span",{className:"sm:hidden",children:"Repository"})]}),r&&i!=="error"&&e.jsxs(m,{variant:"outline",size:"sm",className:"flex items-center gap-2 justify-center min-w-[120px] h-9",onClick:()=>window.open(`/${s.name}/releases/${r==null?void 0:r.package_release_id}/preview`,"_blank"),children:[e.jsx(G,{className:"w-4 h-4"}),e.jsx("span",{className:"hidden sm:inline",children:"Preview"}),e.jsx("span",{className:"sm:hidden",children:"Preview"})]}),e.jsxs(P,{children:[e.jsx(k,{asChild:!0,children:e.jsx(m,{variant:"outline",size:"sm",className:"w-full h-9 sm:w-9 p-0",children:e.jsx(f,{className:"w-4 h-4"})})}),e.jsxs(L,{align:"end",className:"ml-2",children:[s.github_repo_full_name&&e.jsx(d,{asChild:!0,children:e.jsx("a",{href:`https://github.com/${s.github_repo_full_name}`,target:"_blank",rel:"noopener noreferrer",children:"View Source"})}),e.jsx(d,{asChild:!0,onClick:t,children:e.jsx("span",{children:"Download Zip"})}),e.jsx(d,{onClick:()=>{navigator.share?navigator.share({title:s.unscoped_name,url:window.location.href}):navigator.clipboard.writeText(window.location.href)},children:"Share Project"})]})]})]})]})})}),e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:e.jsx("div",{className:"space-y-6",children:e.jsx(C,{pkg:s})})})]})]})};function le(){const a=g(),r=a!=null&&a.author&&(a!=null&&a.packageName)?`${a.author}/${a.packageName}`:null,{data:s,isLoading:i,error:l}=N(r),{data:n,isLoading:c,error:o}=w((s==null?void 0:s.package_id)??null),{data:t,isLoading:h,error:z}=b((n==null?void 0:n.latest_package_build_id)??null);return i||c||h?null:(l==null?void 0:l.status)===404||!s?e.jsx(x,{heading:"Package Not Found"}):(o==null?void 0:o.status)===404||!n?e.jsx(x,{heading:"No Releases Found"}):e.jsx(M,{latestRelease:n,latestBuild:t??null,pkg:s})}export{le as default};
@@ -1,16 +0,0 @@
1
- import{k as l,u as k,h as v,j as e,n as j,B as h,P as u,l as w,m as y}from"./index-BQPj88OW.js";import{u as _}from"./use-organization-XwYYTFck.js";import{G as g,U as p}from"./GithubAvatarWithFallback-CQhrBiKP.js";import{S as f}from"./settings-B2bMEtS4.js";import{u as M,U as b}from"./Analytics-DIw7l2gi.js";/**
2
- * @license lucide-react v0.488.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const C=[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]],O=l("building-2",C);/**
7
- * @license lucide-react v0.488.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */const S=[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]],L=l("crown",S);/**
12
- * @license lucide-react v0.488.0 - ISC
13
- *
14
- * This source code is licensed under the ISC license.
15
- * See the LICENSE file in the root directory of this source tree.
16
- */const z=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],R=l("shield",z),P=({organization:s,className:a,showActions:r=!0})=>{var o;const t=k(N=>N.session),[,c]=v(),i=((o=s.user_permissions)==null?void 0:o.can_manage_org)||s.owner_account_id===(t==null?void 0:t.account_id),{membersCount:m,packagesCount:d,isLoading:n}=_({orgId:s.org_id,orgName:s.name}),x=()=>{c(`/${s.name}/settings`)};return e.jsx("div",{className:j("bg-white border-b border-gray-200",a),children:e.jsxs("div",{className:"container mx-auto px-6 py-6",children:[e.jsx("div",{className:"block sm:hidden",children:e.jsxs("div",{className:"flex flex-col items-center text-center space-y-4",children:[e.jsx(g,{username:s.github_handle,fallback:s.name,className:"shadow-sm size-16 md:size-20 lg:size-24",fallbackClassName:"font-bold text-xl md:text-2xl lg:text-3xl",size:300}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-col items-center gap-3 mb-3",children:[e.jsx("h1",{className:"font-bold text-gray-900 text-xl",children:s.name}),i&&r&&e.jsxs(h,{variant:"outline",size:"sm",onClick:x,children:[e.jsx(f,{className:"mr-2 h-4 w-4"}),"Settings"]})]}),e.jsxs("div",{className:"grid grid-cols-2 md:flex flex-wrap justify-center gap-4 text-sm",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-gray-600",children:[e.jsx(p,{className:"h-3.5 w-3.5"}),e.jsx("span",{className:"font-medium",children:n?"...":m}),e.jsx("span",{children:"members"})]}),e.jsxs("div",{className:"flex items-center gap-1.5 text-gray-600",children:[e.jsx(u,{className:"h-3.5 w-3.5"}),e.jsx("span",{className:"font-medium",children:n?"...":d}),e.jsx("span",{children:"packages"})]})]})]})]})}),e.jsx("div",{className:"hidden sm:block",children:e.jsxs("div",{className:"flex items-center gap-6",children:[e.jsx(g,{username:s.github_handle,fallback:s.name,className:"flex-shrink-0 shadow-sm size-16 md:size-20 lg:size-24",fallbackClassName:"font-bold text-xl md:text-2xl lg:text-3xl"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx(w,{href:`/${s.name}`,className:"font-bold text-gray-900 text-2xl md:text-3xl truncate",children:s.name}),i&&r&&e.jsxs(h,{variant:"outline",onClick:x,children:[e.jsx(f,{className:"mr-2 h-4 w-4"}),"Settings"]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-6 text-sm text-gray-600",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(p,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium text-gray-900",children:n?"...":m}),e.jsx("span",{children:"members"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(u,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium text-gray-900",children:n?"...":d}),e.jsx("span",{children:"packages"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(O,{className:"h-4 w-4"}),e.jsx("span",{children:"Organization"})]})]})]})]})})]})})},A=({orgId:s,orgName:a})=>{const r=M();return y(["orgs","members",s||a],async()=>{if(!s&&!a)throw new Error("Organization ID or name is required");const t=s?{org_id:s}:{name:a},{data:c}=await r.get("/orgs/list_members",{params:t});return c.members},{enabled:!!(s||a),retry:!1,refetchOnWindowFocus:!1,refetchOnMount:!1,keepPreviousData:!0})},B=s=>s.charAt(0).toUpperCase()+s.slice(1),E=(s,a)=>{const r=String(a).trim()===String(s.owner_account_id).trim(),t=Object.values(s.user_permissions??{}).some(Boolean);return r?"owner":t?"manager":"member"},U=s=>{switch(s){case"owner":return e.jsx(L,{className:"size-3"});case"manager":return e.jsx(R,{className:"size-3"});case"member":return e.jsx(b,{className:"size-3"});default:return e.jsx(b,{className:"size-3"})}},$=s=>{switch(s){case"owner":return"bg-amber-100 text-amber-800 border-amber-200";case"manager":return"bg-blue-50 text-blue-700 border border-blue-200";default:return"bg-gray-100 text-gray-800 border-gray-200"}},V=s=>{switch(s){case"owner":return"Full access to organization settings";case"manager":return"Limited administrative privileges";case"member":return"Standard member access"}},W=({role:s,className:a})=>e.jsxs("div",{className:j("select-none inline-flex items-center gap-1 py-0.5 px-1.5 rounded text-xs font-medium flex-shrink-0",$(s),a),children:[U(s),e.jsx("span",{className:"leading-none",children:B(s)})]});export{O as B,P as O,W as R,V as a,E as g,A as u};
@@ -1 +0,0 @@
1
- import{j as e,l as $,t as A,u as M,b as o,m as k,q as D}from"./index-BQPj88OW.js";import{U,u as F,f as P,I as O}from"./Analytics-DIw7l2gi.js";import{H as R}from"./Header-CI4GZVOv.js";import{F as z}from"./Footer-DU-HdqGk.js";import{P as I,L as Q}from"./PackageSearchResults-BI3Rtmr2.js";import{u as V}from"./use-packages-base-api-url-DA1hucM7.js";import{S as H,a as W,b as G,c as J,d as N}from"./select-BN8AF1J7.js";import{T as K,a as X,b as T,c as L}from"./tabs-Ce0NFuwd.js";import"./PackageCard-ejE2dLlA.js";import"./tooltip-C1pwvC0K.js";import"./layers-BJ1iwaVM.js";import"./timeAgo-VY0F2EV9.js";import"./trash-2-BW3eClHz.js";const Y=({account:l,withLink:u=!0,className:m="",onClick:i})=>{const x=()=>{i?i(l):u||(window.location.href=`/${l.github_username}`)},a=e.jsx("div",{className:`border p-4 rounded-md hover:shadow-md transition-shadow flex flex-col gap-4 cursor-pointer ${m}`,onClick:u?void 0:x,children:e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsxs("div",{className:"w-16 h-16 flex-shrink-0 rounded-md overflow-hidden bg-gray-50 border flex items-center justify-center",children:[e.jsx("img",{src:`https://github.com/${l.github_username}.png?size=69`,alt:`${l.github_username} avatar`,className:"object-cover h-full w-full transition-transform duration-300 hover:scale-110",onError:p=>{var j,n;const c=p.target;c.style.display="none",(j=c.nextElementSibling)==null||j.classList.remove("hidden"),(n=c.nextElementSibling)==null||n.classList.add("flex")}}),e.jsx("div",{className:"hidden items-center justify-center h-full w-full",children:e.jsx(U,{className:"w-6 h-6 text-gray-300"})})]}),e.jsxs("div",{className:"flex-1 min-w-0 flex flex-col justify-center my-auto",children:[e.jsx("div",{className:"flex justify-between items-start",children:e.jsx("h2",{className:"text-md font-semibold truncate pr-[30px]",children:e.jsx("span",{className:"text-gray-900",children:l.github_username})})}),e.jsxs("p",{className:"text-sm text-gray-500 truncate max-w-xs",children:["@",l.github_username]})]})]})});return u?e.jsx($,{href:`/${l.github_username}`,onClick:i?()=>i(l):void 0,children:a},l.github_username):a},de=()=>{const l=F(),u=V(),[m,i]=A(),x=M(s=>{var t;return(t=s.session)==null?void 0:t.github_username}),[a,p]=o.useState(m.get("q")||""),[c,j]=o.useState(m.get("category")||"all"),[n,C]=o.useState(m.get("sort")||"stars"),[g,S]=o.useState(m.get("tab")||"packages");o.useEffect(()=>{const s=new URLSearchParams;a&&s.set("q",a),c!=="all"&&s.set("category",c),n!=="stars"&&s.set("sort",n),g!=="packages"&&s.set("tab",g),i(s)},[a,c,n,g,i]);const{data:d,isLoading:E,error:q}=k(["packageSearch",a,c],async()=>{const s=new URLSearchParams;return a&&s.append("q",a),c!=="all"&&s.append("category",c),(await l.post("/packages/search",{query:a})).data.packages},{enabled:!!a,keepPreviousData:!0,refetchOnWindowFocus:!1}),{data:_=[],isLoading:b}=k(["accountSearch",a],async()=>{if(!a)return[];try{const{data:s}=await l.post("/accounts/search",{query:a,limit:20});return s.accounts||[]}catch(s){return console.warn("Failed to fetch accounts:",s),[]}},{enabled:!!a&&!!x,retry:!1,refetchOnWindowFocus:!1}),w=o.useMemo(()=>!a||!(d!=null&&d.length)?[]:d.map(s=>{const{score:t,matches:f}=P(a,s.name);return{...s,score:t,matches:f}}).filter(s=>s.score>=0).sort((s,t)=>t.score-s.score),[d,a]),v=w==null?void 0:w.sort((s,t)=>n==="stars"?(t.star_count||0)-(s.star_count||0):n==="newest"?new Date(t.updated_at).getTime()-new Date(s.updated_at).getTime():n==="oldest"?new Date(s.updated_at).getTime()-new Date(t.updated_at).getTime():0),h=o.useMemo(()=>{if(!a)return[];const s=_.map(r=>{const{score:y,matches:B}=P(a,r.github_username);return{...r,score:y,matches:B}}).filter(r=>r.score>=0),t=[],f=new Set(s.map(r=>r.github_username));return v.forEach(r=>{r.owner_github_username&&!f.has(r.owner_github_username)&&(t.push({github_username:r.owner_github_username,score:1,matches:[]}),f.add(r.owner_github_username))}),[...s,...t].sort((r,y)=>y.score-r.score)},[_,a,v]);return o.useEffect(()=>{h.length==0&&!b&&S("packages")},[h,b]),e.jsxs("div",{className:"min-h-screen flex flex-col",children:[e.jsx(R,{}),e.jsx("main",{className:"flex-grow pb-12 min-h-[80vh] w-full min-w-full",children:e.jsx("div",{className:"container mx-auto px-4 sm:px-6 lg:px-8 py-6 sm:py-8",children:e.jsxs("div",{className:"max-w-7xl mx-auto",children:[e.jsxs("div",{className:"mb-4 sm:mb-6",children:[e.jsx("div",{className:"flex items-center gap-2 mb-3",children:e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold text-gray-900",children:"Search"})}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 sm:gap-4 mb-4",children:[e.jsxs("div",{className:"relative flex-grow",children:[e.jsx(D,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 h-4 w-4"}),e.jsx(O,{type:"search",placeholder:"Search packages and users...",className:"pl-10",value:a,spellCheck:!1,autoComplete:"off",onChange:s=>p(s.target.value),"aria-label":"Search packages and users",role:"searchbox"})]}),e.jsxs(H,{value:n,onValueChange:C,children:[e.jsx(W,{className:"w-full sm:w-[140px]",children:e.jsx(G,{placeholder:"Sort By"})}),e.jsxs(J,{children:[e.jsx(N,{value:"stars",children:"Most Starred"}),e.jsx(N,{value:"newest",children:"Newest"}),e.jsx(N,{value:"oldest",children:"Oldest"})]})]})]})]}),e.jsxs(K,{value:g,onValueChange:S,className:"w-full",children:[x&&h.length>0&&e.jsxs(X,{className:"grid grid-cols-2 mb-6 select-none w-full max-w-md mx-auto",children:[e.jsx(T,{value:"packages",className:"flex items-center gap-2",children:"Packages"}),e.jsx(T,{value:"users",className:"flex items-center gap-2",children:"Users"})]}),e.jsx(L,{value:"packages",className:"w-full",children:e.jsx(I,{isLoading:E,error:q,filteredPackages:v,apiBaseUrl:u,emptyStateMessage:a?`No packages match your search for "${a}".`:"Please enter a search query to find packages."})}),e.jsx(L,{value:"users",className:"w-full",children:b?e.jsx("div",{children:e.jsx(Q,{})}):h.length>0?e.jsx("div",{className:"grid grid-cols-1 w-full sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-2 xl:grid-cols-3 gap-3 sm:gap-4",children:h.map((s,t)=>e.jsx(Y,{account:s,className:"w-full"},t))}):e.jsxs("div",{className:"text-center py-12 px-4",children:[e.jsx("div",{className:"bg-slate-50 inline-flex rounded-full p-4 mb-4",children:e.jsx(U,{className:"w-8 h-8 text-slate-400"})}),e.jsx("h3",{className:"text-xl font-medium text-slate-900 mb-2",children:"No Matching Users"}),e.jsx("p",{className:"text-slate-500 max-w-md mx-auto mb-6",children:a?`No users match your search for "${a}".`:"Please enter a search query to find users."})]})})]})]})})}),e.jsx(z,{})]})};export{de as SearchPage,de as default};