create-croissant 0.1.0 → 0.1.2

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 (601) hide show
  1. package/dist/index.js +3 -3
  2. package/package.json +16 -8
  3. package/template/.prettierignore +10 -0
  4. package/template/.prettierrc +11 -0
  5. package/template/README.md +88 -0
  6. package/template/apps/web/.env.example +4 -0
  7. package/template/apps/web/components.json +23 -0
  8. package/template/apps/web/drizzle.config.ts +11 -0
  9. package/template/apps/web/eslint.config.js +10 -0
  10. package/template/apps/web/node_modules/@better-auth/core/LICENSE.md +20 -0
  11. package/template/apps/web/node_modules/@better-auth/core/README.md +17 -0
  12. package/template/apps/web/node_modules/@better-auth/core/dist/api/index.d.mts +278 -0
  13. package/template/apps/web/node_modules/@better-auth/core/dist/api/index.mjs +56 -0
  14. package/template/apps/web/node_modules/@better-auth/core/dist/async_hooks/index.d.mts +6 -0
  15. package/template/apps/web/node_modules/@better-auth/core/dist/async_hooks/index.mjs +20 -0
  16. package/template/apps/web/node_modules/@better-auth/core/dist/async_hooks/pure.index.d.mts +6 -0
  17. package/template/apps/web/node_modules/@better-auth/core/dist/async_hooks/pure.index.mjs +33 -0
  18. package/template/apps/web/node_modules/@better-auth/core/dist/context/endpoint-context.d.mts +18 -0
  19. package/template/apps/web/node_modules/@better-auth/core/dist/context/endpoint-context.mjs +29 -0
  20. package/template/apps/web/node_modules/@better-auth/core/dist/context/global.d.mts +6 -0
  21. package/template/apps/web/node_modules/@better-auth/core/dist/context/global.mjs +36 -0
  22. package/template/apps/web/node_modules/@better-auth/core/dist/context/index.d.mts +5 -0
  23. package/template/apps/web/node_modules/@better-auth/core/dist/context/index.mjs +5 -0
  24. package/template/apps/web/node_modules/@better-auth/core/dist/context/request-state.d.mts +27 -0
  25. package/template/apps/web/node_modules/@better-auth/core/dist/context/request-state.mjs +47 -0
  26. package/template/apps/web/node_modules/@better-auth/core/dist/context/transaction.d.mts +24 -0
  27. package/template/apps/web/node_modules/@better-auth/core/dist/context/transaction.mjs +93 -0
  28. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/factory.d.mts +17 -0
  29. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/factory.mjs +754 -0
  30. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-default-field-name.d.mts +18 -0
  31. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-default-field-name.mjs +36 -0
  32. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-default-model-name.d.mts +12 -0
  33. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-default-model-name.mjs +30 -0
  34. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-field-attributes.d.mts +26 -0
  35. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-field-attributes.mjs +37 -0
  36. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-field-name.d.mts +18 -0
  37. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-field-name.mjs +31 -0
  38. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-id-field.d.mts +36 -0
  39. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-id-field.mjs +64 -0
  40. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-model-name.d.mts +12 -0
  41. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-model-name.mjs +21 -0
  42. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/index.d.mts +525 -0
  43. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/index.mjs +24 -0
  44. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/types.d.mts +105 -0
  45. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/utils.d.mts +7 -0
  46. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/utils.mjs +37 -0
  47. package/template/apps/web/node_modules/@better-auth/core/dist/db/get-tables.d.mts +6 -0
  48. package/template/apps/web/node_modules/@better-auth/core/dist/db/get-tables.mjs +265 -0
  49. package/template/apps/web/node_modules/@better-auth/core/dist/db/index.d.mts +10 -0
  50. package/template/apps/web/node_modules/@better-auth/core/dist/db/index.mjs +8 -0
  51. package/template/apps/web/node_modules/@better-auth/core/dist/db/plugin.d.mts +12 -0
  52. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/account.d.mts +28 -0
  53. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/account.mjs +17 -0
  54. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/rate-limit.d.mts +18 -0
  55. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/rate-limit.mjs +9 -0
  56. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/session.d.mts +23 -0
  57. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/session.mjs +12 -0
  58. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/shared.d.mts +10 -0
  59. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/shared.mjs +9 -0
  60. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/user.d.mts +22 -0
  61. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/user.mjs +11 -0
  62. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/verification.d.mts +21 -0
  63. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/verification.mjs +10 -0
  64. package/template/apps/web/node_modules/@better-auth/core/dist/db/type.d.mts +167 -0
  65. package/template/apps/web/node_modules/@better-auth/core/dist/env/color-depth.d.mts +4 -0
  66. package/template/apps/web/node_modules/@better-auth/core/dist/env/color-depth.mjs +86 -0
  67. package/template/apps/web/node_modules/@better-auth/core/dist/env/env-impl.d.mts +32 -0
  68. package/template/apps/web/node_modules/@better-auth/core/dist/env/env-impl.mjs +81 -0
  69. package/template/apps/web/node_modules/@better-auth/core/dist/env/index.d.mts +4 -0
  70. package/template/apps/web/node_modules/@better-auth/core/dist/env/index.mjs +4 -0
  71. package/template/apps/web/node_modules/@better-auth/core/dist/env/logger.d.mts +48 -0
  72. package/template/apps/web/node_modules/@better-auth/core/dist/env/logger.mjs +79 -0
  73. package/template/apps/web/node_modules/@better-auth/core/dist/error/codes.d.mts +68 -0
  74. package/template/apps/web/node_modules/@better-auth/core/dist/error/codes.mjs +54 -0
  75. package/template/apps/web/node_modules/@better-auth/core/dist/error/index.d.mts +19 -0
  76. package/template/apps/web/node_modules/@better-auth/core/dist/error/index.mjs +27 -0
  77. package/template/apps/web/node_modules/@better-auth/core/dist/index.d.mts +9 -0
  78. package/template/apps/web/node_modules/@better-auth/core/dist/index.mjs +1 -0
  79. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/api.mjs +12 -0
  80. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/attributes.d.mts +11 -0
  81. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/attributes.mjs +10 -0
  82. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/index.d.mts +3 -0
  83. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/index.mjs +3 -0
  84. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/noop.mjs +42 -0
  85. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/pure.index.d.mts +7 -0
  86. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/pure.index.mjs +7 -0
  87. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/tracer.d.mts +13 -0
  88. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/tracer.mjs +53 -0
  89. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/client-credentials-token.d.mts +56 -0
  90. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/client-credentials-token.mjs +64 -0
  91. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/create-authorization-url.d.mts +44 -0
  92. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/create-authorization-url.mjs +41 -0
  93. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/index.d.mts +8 -0
  94. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/index.mjs +7 -0
  95. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/oauth-provider.d.mts +192 -0
  96. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/refresh-access-token.d.mts +54 -0
  97. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/refresh-access-token.mjs +73 -0
  98. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/utils.d.mts +16 -0
  99. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/utils.mjs +37 -0
  100. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/validate-authorization-code.d.mts +85 -0
  101. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/validate-authorization-code.mjs +79 -0
  102. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/verify.d.mts +42 -0
  103. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/verify.mjs +92 -0
  104. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/apple.d.mts +126 -0
  105. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/apple.mjs +107 -0
  106. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/atlassian.d.mts +70 -0
  107. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/atlassian.mjs +80 -0
  108. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/cognito.d.mts +85 -0
  109. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/cognito.mjs +162 -0
  110. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/discord.d.mts +124 -0
  111. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/discord.mjs +62 -0
  112. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/dropbox.d.mts +69 -0
  113. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/dropbox.mjs +72 -0
  114. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/facebook.d.mts +79 -0
  115. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/facebook.mjs +124 -0
  116. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/figma.d.mts +61 -0
  117. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/figma.mjs +83 -0
  118. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/github.d.mts +102 -0
  119. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/github.mjs +92 -0
  120. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/gitlab.d.mts +123 -0
  121. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/gitlab.mjs +79 -0
  122. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/google.d.mts +97 -0
  123. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/google.mjs +109 -0
  124. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/huggingface.d.mts +83 -0
  125. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/huggingface.mjs +73 -0
  126. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/index.d.mts +1834 -0
  127. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/index.mjs +78 -0
  128. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/kakao.d.mts +161 -0
  129. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/kakao.mjs +70 -0
  130. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/kick.d.mts +73 -0
  131. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/kick.mjs +68 -0
  132. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/line.d.mts +105 -0
  133. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/line.mjs +110 -0
  134. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/linear.d.mts +68 -0
  135. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/linear.mjs +85 -0
  136. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/linkedin.d.mts +67 -0
  137. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/linkedin.mjs +73 -0
  138. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/microsoft-entra-id.d.mts +174 -0
  139. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/microsoft-entra-id.mjs +140 -0
  140. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/naver.d.mts +92 -0
  141. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/naver.mjs +65 -0
  142. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/notion.d.mts +64 -0
  143. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/notion.mjs +72 -0
  144. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/paybin.d.mts +71 -0
  145. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/paybin.mjs +81 -0
  146. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/paypal.d.mts +129 -0
  147. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/paypal.mjs +140 -0
  148. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/polar.d.mts +74 -0
  149. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/polar.mjs +71 -0
  150. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/railway.d.mts +65 -0
  151. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/railway.mjs +74 -0
  152. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/reddit.d.mts +62 -0
  153. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/reddit.mjs +80 -0
  154. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/roblox.d.mts +70 -0
  155. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/roblox.mjs +57 -0
  156. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/salesforce.d.mts +79 -0
  157. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/salesforce.mjs +87 -0
  158. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/slack.d.mts +83 -0
  159. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/slack.mjs +66 -0
  160. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/spotify.d.mts +63 -0
  161. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/spotify.mjs +69 -0
  162. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/tiktok.d.mts +168 -0
  163. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/tiktok.mjs +60 -0
  164. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/twitch.d.mts +79 -0
  165. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/twitch.mjs +75 -0
  166. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/twitter.d.mts +126 -0
  167. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/twitter.mjs +85 -0
  168. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/vercel.d.mts +62 -0
  169. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/vercel.mjs +58 -0
  170. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/vk.d.mts +70 -0
  171. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/vk.mjs +81 -0
  172. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/wechat.d.mts +113 -0
  173. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/wechat.mjs +81 -0
  174. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/zoom.d.mts +163 -0
  175. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/zoom.mjs +69 -0
  176. package/template/apps/web/node_modules/@better-auth/core/dist/types/context.d.mts +277 -0
  177. package/template/apps/web/node_modules/@better-auth/core/dist/types/cookie.d.mts +15 -0
  178. package/template/apps/web/node_modules/@better-auth/core/dist/types/helper.d.mts +10 -0
  179. package/template/apps/web/node_modules/@better-auth/core/dist/types/index.d.mts +9 -0
  180. package/template/apps/web/node_modules/@better-auth/core/dist/types/init-options.d.mts +1358 -0
  181. package/template/apps/web/node_modules/@better-auth/core/dist/types/plugin-client.d.mts +113 -0
  182. package/template/apps/web/node_modules/@better-auth/core/dist/types/plugin.d.mts +124 -0
  183. package/template/apps/web/node_modules/@better-auth/core/dist/types/secret.d.mts +11 -0
  184. package/template/apps/web/node_modules/@better-auth/core/dist/utils/async.d.mts +22 -0
  185. package/template/apps/web/node_modules/@better-auth/core/dist/utils/async.mjs +32 -0
  186. package/template/apps/web/node_modules/@better-auth/core/dist/utils/db.d.mts +9 -0
  187. package/template/apps/web/node_modules/@better-auth/core/dist/utils/db.mjs +15 -0
  188. package/template/apps/web/node_modules/@better-auth/core/dist/utils/deprecate.d.mts +9 -0
  189. package/template/apps/web/node_modules/@better-auth/core/dist/utils/deprecate.mjs +16 -0
  190. package/template/apps/web/node_modules/@better-auth/core/dist/utils/error-codes.d.mts +13 -0
  191. package/template/apps/web/node_modules/@better-auth/core/dist/utils/error-codes.mjs +10 -0
  192. package/template/apps/web/node_modules/@better-auth/core/dist/utils/fetch-metadata.d.mts +4 -0
  193. package/template/apps/web/node_modules/@better-auth/core/dist/utils/fetch-metadata.mjs +6 -0
  194. package/template/apps/web/node_modules/@better-auth/core/dist/utils/host.d.mts +147 -0
  195. package/template/apps/web/node_modules/@better-auth/core/dist/utils/host.mjs +291 -0
  196. package/template/apps/web/node_modules/@better-auth/core/dist/utils/id.d.mts +4 -0
  197. package/template/apps/web/node_modules/@better-auth/core/dist/utils/id.mjs +7 -0
  198. package/template/apps/web/node_modules/@better-auth/core/dist/utils/ip.d.mts +54 -0
  199. package/template/apps/web/node_modules/@better-auth/core/dist/utils/ip.mjs +116 -0
  200. package/template/apps/web/node_modules/@better-auth/core/dist/utils/is-api-error.d.mts +6 -0
  201. package/template/apps/web/node_modules/@better-auth/core/dist/utils/is-api-error.mjs +8 -0
  202. package/template/apps/web/node_modules/@better-auth/core/dist/utils/json.d.mts +4 -0
  203. package/template/apps/web/node_modules/@better-auth/core/dist/utils/json.mjs +41 -0
  204. package/template/apps/web/node_modules/@better-auth/core/dist/utils/string.d.mts +4 -0
  205. package/template/apps/web/node_modules/@better-auth/core/dist/utils/string.mjs +6 -0
  206. package/template/apps/web/node_modules/@better-auth/core/dist/utils/url.d.mts +20 -0
  207. package/template/apps/web/node_modules/@better-auth/core/dist/utils/url.mjs +31 -0
  208. package/template/apps/web/node_modules/@better-auth/core/package.json +193 -0
  209. package/template/apps/web/node_modules/@better-auth/core/src/api/index.ts +140 -0
  210. package/template/apps/web/node_modules/@better-auth/core/src/async_hooks/index.ts +40 -0
  211. package/template/apps/web/node_modules/@better-auth/core/src/async_hooks/pure.index.ts +46 -0
  212. package/template/apps/web/node_modules/@better-auth/core/src/context/endpoint-context.ts +50 -0
  213. package/template/apps/web/node_modules/@better-auth/core/src/context/global.ts +57 -0
  214. package/template/apps/web/node_modules/@better-auth/core/src/context/index.ts +23 -0
  215. package/template/apps/web/node_modules/@better-auth/core/src/context/request-state.ts +91 -0
  216. package/template/apps/web/node_modules/@better-auth/core/src/context/transaction.ts +136 -0
  217. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/factory.ts +1440 -0
  218. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/get-default-field-name.ts +59 -0
  219. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/get-default-model-name.ts +51 -0
  220. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/get-field-attributes.ts +62 -0
  221. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/get-field-name.ts +43 -0
  222. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/get-id-field.ts +150 -0
  223. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/get-model-name.ts +36 -0
  224. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/index.ts +567 -0
  225. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/types.ts +132 -0
  226. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/utils.ts +61 -0
  227. package/template/apps/web/node_modules/@better-auth/core/src/db/get-tables.ts +296 -0
  228. package/template/apps/web/node_modules/@better-auth/core/src/db/index.ts +43 -0
  229. package/template/apps/web/node_modules/@better-auth/core/src/db/plugin.ts +11 -0
  230. package/template/apps/web/node_modules/@better-auth/core/src/db/schema/account.ts +47 -0
  231. package/template/apps/web/node_modules/@better-auth/core/src/db/schema/rate-limit.ts +36 -0
  232. package/template/apps/web/node_modules/@better-auth/core/src/db/schema/session.ts +29 -0
  233. package/template/apps/web/node_modules/@better-auth/core/src/db/schema/shared.ts +7 -0
  234. package/template/apps/web/node_modules/@better-auth/core/src/db/schema/user.ts +28 -0
  235. package/template/apps/web/node_modules/@better-auth/core/src/db/schema/verification.ts +28 -0
  236. package/template/apps/web/node_modules/@better-auth/core/src/db/type.ts +333 -0
  237. package/template/apps/web/node_modules/@better-auth/core/src/env/color-depth.ts +172 -0
  238. package/template/apps/web/node_modules/@better-auth/core/src/env/env-impl.ts +124 -0
  239. package/template/apps/web/node_modules/@better-auth/core/src/env/index.ts +23 -0
  240. package/template/apps/web/node_modules/@better-auth/core/src/env/logger.ts +145 -0
  241. package/template/apps/web/node_modules/@better-auth/core/src/error/codes.ts +71 -0
  242. package/template/apps/web/node_modules/@better-auth/core/src/error/index.ts +35 -0
  243. package/template/apps/web/node_modules/@better-auth/core/src/index.ts +1 -0
  244. package/template/apps/web/node_modules/@better-auth/core/src/instrumentation/api.ts +17 -0
  245. package/template/apps/web/node_modules/@better-auth/core/src/instrumentation/attributes.ts +22 -0
  246. package/template/apps/web/node_modules/@better-auth/core/src/instrumentation/index.ts +2 -0
  247. package/template/apps/web/node_modules/@better-auth/core/src/instrumentation/noop.ts +74 -0
  248. package/template/apps/web/node_modules/@better-auth/core/src/instrumentation/pure.index.ts +31 -0
  249. package/template/apps/web/node_modules/@better-auth/core/src/instrumentation/tracer.ts +95 -0
  250. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/client-credentials-token.ts +126 -0
  251. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/create-authorization-url.ts +89 -0
  252. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/index.ts +33 -0
  253. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/oauth-provider.ts +222 -0
  254. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/refresh-access-token.ts +157 -0
  255. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/utils.ts +51 -0
  256. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/validate-authorization-code.ts +180 -0
  257. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/verify.ts +221 -0
  258. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/apple.ts +231 -0
  259. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/atlassian.ts +133 -0
  260. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/cognito.ts +281 -0
  261. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/discord.ts +170 -0
  262. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/dropbox.ts +112 -0
  263. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/facebook.ts +215 -0
  264. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/figma.ts +118 -0
  265. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/github.ts +184 -0
  266. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/gitlab.ts +155 -0
  267. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/google.ts +204 -0
  268. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/huggingface.ts +119 -0
  269. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/index.ts +132 -0
  270. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/kakao.ts +179 -0
  271. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/kick.ts +109 -0
  272. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/line.ts +169 -0
  273. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/linear.ts +121 -0
  274. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/linkedin.ts +110 -0
  275. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/microsoft-entra-id.ts +352 -0
  276. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/naver.ts +113 -0
  277. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/notion.ts +108 -0
  278. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/paybin.ts +118 -0
  279. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/paypal.ts +263 -0
  280. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/polar.ts +111 -0
  281. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/railway.ts +100 -0
  282. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/reddit.ts +122 -0
  283. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/roblox.ts +112 -0
  284. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/salesforce.ts +159 -0
  285. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/slack.ts +112 -0
  286. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/spotify.ts +94 -0
  287. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/tiktok.ts +211 -0
  288. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/twitch.ts +112 -0
  289. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/twitter.ts +199 -0
  290. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/vercel.ts +87 -0
  291. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/vk.ts +125 -0
  292. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/wechat.ts +213 -0
  293. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/zoom.ts +230 -0
  294. package/template/apps/web/node_modules/@better-auth/core/src/types/context.ts +415 -0
  295. package/template/apps/web/node_modules/@better-auth/core/src/types/cookie.ts +10 -0
  296. package/template/apps/web/node_modules/@better-auth/core/src/types/helper.ts +27 -0
  297. package/template/apps/web/node_modules/@better-auth/core/src/types/index.ts +40 -0
  298. package/template/apps/web/node_modules/@better-auth/core/src/types/init-options.ts +1610 -0
  299. package/template/apps/web/node_modules/@better-auth/core/src/types/plugin-client.ts +129 -0
  300. package/template/apps/web/node_modules/@better-auth/core/src/types/plugin.ts +163 -0
  301. package/template/apps/web/node_modules/@better-auth/core/src/types/secret.ts +8 -0
  302. package/template/apps/web/node_modules/@better-auth/core/src/utils/async.ts +53 -0
  303. package/template/apps/web/node_modules/@better-auth/core/src/utils/db.ts +20 -0
  304. package/template/apps/web/node_modules/@better-auth/core/src/utils/deprecate.ts +21 -0
  305. package/template/apps/web/node_modules/@better-auth/core/src/utils/error-codes.ts +68 -0
  306. package/template/apps/web/node_modules/@better-auth/core/src/utils/fetch-metadata.ts +3 -0
  307. package/template/apps/web/node_modules/@better-auth/core/src/utils/host.ts +401 -0
  308. package/template/apps/web/node_modules/@better-auth/core/src/utils/id.ts +5 -0
  309. package/template/apps/web/node_modules/@better-auth/core/src/utils/ip.ts +211 -0
  310. package/template/apps/web/node_modules/@better-auth/core/src/utils/is-api-error.ts +10 -0
  311. package/template/apps/web/node_modules/@better-auth/core/src/utils/json.ts +56 -0
  312. package/template/apps/web/node_modules/@better-auth/core/src/utils/string.ts +3 -0
  313. package/template/apps/web/node_modules/@better-auth/core/src/utils/url.ts +43 -0
  314. package/template/apps/web/node_modules/@better-auth/drizzle-adapter/LICENSE.md +20 -0
  315. package/template/apps/web/node_modules/@better-auth/drizzle-adapter/README.md +17 -0
  316. package/template/apps/web/node_modules/@better-auth/drizzle-adapter/dist/index.d.mts +47 -0
  317. package/template/apps/web/node_modules/@better-auth/drizzle-adapter/dist/index.mjs +458 -0
  318. package/template/apps/web/node_modules/@better-auth/drizzle-adapter/package.json +62 -0
  319. package/template/apps/web/node_modules/@better-auth/utils/README.md +384 -0
  320. package/template/apps/web/node_modules/@better-auth/utils/dist/base32.cjs +104 -0
  321. package/template/apps/web/node_modules/@better-auth/utils/dist/base32.d.cts +44 -0
  322. package/template/apps/web/node_modules/@better-auth/utils/dist/base32.d.mts +44 -0
  323. package/template/apps/web/node_modules/@better-auth/utils/dist/base32.d.ts +44 -0
  324. package/template/apps/web/node_modules/@better-auth/utils/dist/base32.mjs +101 -0
  325. package/template/apps/web/node_modules/@better-auth/utils/dist/base64.cjs +80 -0
  326. package/template/apps/web/node_modules/@better-auth/utils/dist/base64.d.cts +16 -0
  327. package/template/apps/web/node_modules/@better-auth/utils/dist/base64.d.mts +16 -0
  328. package/template/apps/web/node_modules/@better-auth/utils/dist/base64.d.ts +16 -0
  329. package/template/apps/web/node_modules/@better-auth/utils/dist/base64.mjs +77 -0
  330. package/template/apps/web/node_modules/@better-auth/utils/dist/binary.cjs +16 -0
  331. package/template/apps/web/node_modules/@better-auth/utils/dist/binary.d.cts +8 -0
  332. package/template/apps/web/node_modules/@better-auth/utils/dist/binary.d.mts +8 -0
  333. package/template/apps/web/node_modules/@better-auth/utils/dist/binary.d.ts +8 -0
  334. package/template/apps/web/node_modules/@better-auth/utils/dist/binary.mjs +14 -0
  335. package/template/apps/web/node_modules/@better-auth/utils/dist/ecdsa.cjs +90 -0
  336. package/template/apps/web/node_modules/@better-auth/utils/dist/ecdsa.d.cts +19 -0
  337. package/template/apps/web/node_modules/@better-auth/utils/dist/ecdsa.d.mts +19 -0
  338. package/template/apps/web/node_modules/@better-auth/utils/dist/ecdsa.d.ts +19 -0
  339. package/template/apps/web/node_modules/@better-auth/utils/dist/ecdsa.mjs +88 -0
  340. package/template/apps/web/node_modules/@better-auth/utils/dist/hash.cjs +31 -0
  341. package/template/apps/web/node_modules/@better-auth/utils/dist/hash.d.cts +7 -0
  342. package/template/apps/web/node_modules/@better-auth/utils/dist/hash.d.mts +7 -0
  343. package/template/apps/web/node_modules/@better-auth/utils/dist/hash.d.ts +7 -0
  344. package/template/apps/web/node_modules/@better-auth/utils/dist/hash.mjs +29 -0
  345. package/template/apps/web/node_modules/@better-auth/utils/dist/hex.cjs +40 -0
  346. package/template/apps/web/node_modules/@better-auth/utils/dist/hex.d.cts +8 -0
  347. package/template/apps/web/node_modules/@better-auth/utils/dist/hex.d.mts +8 -0
  348. package/template/apps/web/node_modules/@better-auth/utils/dist/hex.d.ts +8 -0
  349. package/template/apps/web/node_modules/@better-auth/utils/dist/hex.mjs +38 -0
  350. package/template/apps/web/node_modules/@better-auth/utils/dist/hmac.cjs +58 -0
  351. package/template/apps/web/node_modules/@better-auth/utils/dist/hmac.d.cts +9 -0
  352. package/template/apps/web/node_modules/@better-auth/utils/dist/hmac.d.mts +9 -0
  353. package/template/apps/web/node_modules/@better-auth/utils/dist/hmac.d.ts +9 -0
  354. package/template/apps/web/node_modules/@better-auth/utils/dist/hmac.mjs +56 -0
  355. package/template/apps/web/node_modules/@better-auth/utils/dist/index.cjs +10 -0
  356. package/template/apps/web/node_modules/@better-auth/utils/dist/index.d.cts +3 -0
  357. package/template/apps/web/node_modules/@better-auth/utils/dist/index.d.mts +3 -0
  358. package/template/apps/web/node_modules/@better-auth/utils/dist/index.d.ts +3 -0
  359. package/template/apps/web/node_modules/@better-auth/utils/dist/index.mjs +8 -0
  360. package/template/apps/web/node_modules/@better-auth/utils/dist/otp.cjs +90 -0
  361. package/template/apps/web/node_modules/@better-auth/utils/dist/otp.d.cts +13 -0
  362. package/template/apps/web/node_modules/@better-auth/utils/dist/otp.d.mts +13 -0
  363. package/template/apps/web/node_modules/@better-auth/utils/dist/otp.d.ts +13 -0
  364. package/template/apps/web/node_modules/@better-auth/utils/dist/otp.mjs +88 -0
  365. package/template/apps/web/node_modules/@better-auth/utils/dist/password.cjs +36 -0
  366. package/template/apps/web/node_modules/@better-auth/utils/dist/password.d.cts +4 -0
  367. package/template/apps/web/node_modules/@better-auth/utils/dist/password.d.mts +4 -0
  368. package/template/apps/web/node_modules/@better-auth/utils/dist/password.d.ts +4 -0
  369. package/template/apps/web/node_modules/@better-auth/utils/dist/password.mjs +33 -0
  370. package/template/apps/web/node_modules/@better-auth/utils/dist/password.node.cjs +47 -0
  371. package/template/apps/web/node_modules/@better-auth/utils/dist/password.node.d.cts +4 -0
  372. package/template/apps/web/node_modules/@better-auth/utils/dist/password.node.d.mts +4 -0
  373. package/template/apps/web/node_modules/@better-auth/utils/dist/password.node.d.ts +4 -0
  374. package/template/apps/web/node_modules/@better-auth/utils/dist/password.node.mjs +44 -0
  375. package/template/apps/web/node_modules/@better-auth/utils/dist/random.cjs +55 -0
  376. package/template/apps/web/node_modules/@better-auth/utils/dist/random.d.cts +4 -0
  377. package/template/apps/web/node_modules/@better-auth/utils/dist/random.d.mts +4 -0
  378. package/template/apps/web/node_modules/@better-auth/utils/dist/random.d.ts +4 -0
  379. package/template/apps/web/node_modules/@better-auth/utils/dist/random.mjs +53 -0
  380. package/template/apps/web/node_modules/@better-auth/utils/dist/rsa.cjs +76 -0
  381. package/template/apps/web/node_modules/@better-auth/utils/dist/rsa.d.cts +16 -0
  382. package/template/apps/web/node_modules/@better-auth/utils/dist/rsa.d.mts +16 -0
  383. package/template/apps/web/node_modules/@better-auth/utils/dist/rsa.d.ts +16 -0
  384. package/template/apps/web/node_modules/@better-auth/utils/dist/rsa.mjs +74 -0
  385. package/template/apps/web/node_modules/@better-auth/utils/dist/shared/utils.ecd028f7.d.cts +22 -0
  386. package/template/apps/web/node_modules/@better-auth/utils/dist/shared/utils.ecd028f7.d.mts +22 -0
  387. package/template/apps/web/node_modules/@better-auth/utils/dist/shared/utils.ecd028f7.d.ts +22 -0
  388. package/template/apps/web/node_modules/@better-auth/utils/package.json +95 -0
  389. package/template/apps/web/node_modules/better-call/LICENSE +21 -0
  390. package/template/apps/web/node_modules/better-call/dist/_virtual/_rolldown/runtime.cjs +29 -0
  391. package/template/apps/web/node_modules/better-call/dist/adapters/node/request.cjs +181 -0
  392. package/template/apps/web/node_modules/better-call/dist/adapters/node/request.cjs.map +1 -0
  393. package/template/apps/web/node_modules/better-call/dist/adapters/node/request.d.cts +16 -0
  394. package/template/apps/web/node_modules/better-call/dist/adapters/node/request.d.mts +16 -0
  395. package/template/apps/web/node_modules/better-call/dist/adapters/node/request.mjs +178 -0
  396. package/template/apps/web/node_modules/better-call/dist/adapters/node/request.mjs.map +1 -0
  397. package/template/apps/web/node_modules/better-call/dist/client.cjs +23 -0
  398. package/template/apps/web/node_modules/better-call/dist/client.cjs.map +1 -0
  399. package/template/apps/web/node_modules/better-call/dist/client.d.cts +53 -0
  400. package/template/apps/web/node_modules/better-call/dist/client.d.mts +53 -0
  401. package/template/apps/web/node_modules/better-call/dist/client.mjs +14 -0
  402. package/template/apps/web/node_modules/better-call/dist/client.mjs.map +1 -0
  403. package/template/apps/web/node_modules/better-call/dist/context.cjs +103 -0
  404. package/template/apps/web/node_modules/better-call/dist/context.cjs.map +1 -0
  405. package/template/apps/web/node_modules/better-call/dist/context.d.cts +341 -0
  406. package/template/apps/web/node_modules/better-call/dist/context.d.mts +341 -0
  407. package/template/apps/web/node_modules/better-call/dist/context.mjs +103 -0
  408. package/template/apps/web/node_modules/better-call/dist/context.mjs.map +1 -0
  409. package/template/apps/web/node_modules/better-call/dist/cookies.cjs +87 -0
  410. package/template/apps/web/node_modules/better-call/dist/cookies.cjs.map +1 -0
  411. package/template/apps/web/node_modules/better-call/dist/cookies.d.cts +103 -0
  412. package/template/apps/web/node_modules/better-call/dist/cookies.d.mts +103 -0
  413. package/template/apps/web/node_modules/better-call/dist/cookies.mjs +84 -0
  414. package/template/apps/web/node_modules/better-call/dist/cookies.mjs.map +1 -0
  415. package/template/apps/web/node_modules/better-call/dist/crypto.cjs +39 -0
  416. package/template/apps/web/node_modules/better-call/dist/crypto.cjs.map +1 -0
  417. package/template/apps/web/node_modules/better-call/dist/crypto.mjs +36 -0
  418. package/template/apps/web/node_modules/better-call/dist/crypto.mjs.map +1 -0
  419. package/template/apps/web/node_modules/better-call/dist/endpoint.cjs +70 -0
  420. package/template/apps/web/node_modules/better-call/dist/endpoint.cjs.map +1 -0
  421. package/template/apps/web/node_modules/better-call/dist/endpoint.d.cts +475 -0
  422. package/template/apps/web/node_modules/better-call/dist/endpoint.d.mts +475 -0
  423. package/template/apps/web/node_modules/better-call/dist/endpoint.mjs +70 -0
  424. package/template/apps/web/node_modules/better-call/dist/endpoint.mjs.map +1 -0
  425. package/template/apps/web/node_modules/better-call/dist/error.cjs +141 -0
  426. package/template/apps/web/node_modules/better-call/dist/error.cjs.map +1 -0
  427. package/template/apps/web/node_modules/better-call/dist/error.d.cts +103 -0
  428. package/template/apps/web/node_modules/better-call/dist/error.d.mts +103 -0
  429. package/template/apps/web/node_modules/better-call/dist/error.mjs +133 -0
  430. package/template/apps/web/node_modules/better-call/dist/error.mjs.map +1 -0
  431. package/template/apps/web/node_modules/better-call/dist/helper.d.cts +12 -0
  432. package/template/apps/web/node_modules/better-call/dist/helper.d.mts +12 -0
  433. package/template/apps/web/node_modules/better-call/dist/index.cjs +28 -0
  434. package/template/apps/web/node_modules/better-call/dist/index.d.cts +11 -0
  435. package/template/apps/web/node_modules/better-call/dist/index.d.mts +11 -0
  436. package/template/apps/web/node_modules/better-call/dist/index.mjs +10 -0
  437. package/template/apps/web/node_modules/better-call/dist/middleware.cjs +52 -0
  438. package/template/apps/web/node_modules/better-call/dist/middleware.cjs.map +1 -0
  439. package/template/apps/web/node_modules/better-call/dist/middleware.d.cts +123 -0
  440. package/template/apps/web/node_modules/better-call/dist/middleware.d.mts +123 -0
  441. package/template/apps/web/node_modules/better-call/dist/middleware.mjs +52 -0
  442. package/template/apps/web/node_modules/better-call/dist/middleware.mjs.map +1 -0
  443. package/template/apps/web/node_modules/better-call/dist/node.cjs +18 -0
  444. package/template/apps/web/node_modules/better-call/dist/node.cjs.map +1 -0
  445. package/template/apps/web/node_modules/better-call/dist/node.d.cts +9 -0
  446. package/template/apps/web/node_modules/better-call/dist/node.d.mts +9 -0
  447. package/template/apps/web/node_modules/better-call/dist/node.mjs +15 -0
  448. package/template/apps/web/node_modules/better-call/dist/node.mjs.map +1 -0
  449. package/template/apps/web/node_modules/better-call/dist/openapi.cjs +191 -0
  450. package/template/apps/web/node_modules/better-call/dist/openapi.cjs.map +1 -0
  451. package/template/apps/web/node_modules/better-call/dist/openapi.d.cts +113 -0
  452. package/template/apps/web/node_modules/better-call/dist/openapi.d.mts +113 -0
  453. package/template/apps/web/node_modules/better-call/dist/openapi.mjs +189 -0
  454. package/template/apps/web/node_modules/better-call/dist/openapi.mjs.map +1 -0
  455. package/template/apps/web/node_modules/better-call/dist/router.cjs +118 -0
  456. package/template/apps/web/node_modules/better-call/dist/router.cjs.map +1 -0
  457. package/template/apps/web/node_modules/better-call/dist/router.d.cts +103 -0
  458. package/template/apps/web/node_modules/better-call/dist/router.d.mts +103 -0
  459. package/template/apps/web/node_modules/better-call/dist/router.mjs +117 -0
  460. package/template/apps/web/node_modules/better-call/dist/router.mjs.map +1 -0
  461. package/template/apps/web/node_modules/better-call/dist/standard-schema.d.cts +59 -0
  462. package/template/apps/web/node_modules/better-call/dist/standard-schema.d.mts +59 -0
  463. package/template/apps/web/node_modules/better-call/dist/to-response.cjs +153 -0
  464. package/template/apps/web/node_modules/better-call/dist/to-response.cjs.map +1 -0
  465. package/template/apps/web/node_modules/better-call/dist/to-response.d.cts +12 -0
  466. package/template/apps/web/node_modules/better-call/dist/to-response.d.mts +12 -0
  467. package/template/apps/web/node_modules/better-call/dist/to-response.mjs +153 -0
  468. package/template/apps/web/node_modules/better-call/dist/to-response.mjs.map +1 -0
  469. package/template/apps/web/node_modules/better-call/dist/utils.cjs +86 -0
  470. package/template/apps/web/node_modules/better-call/dist/utils.cjs.map +1 -0
  471. package/template/apps/web/node_modules/better-call/dist/utils.mjs +82 -0
  472. package/template/apps/web/node_modules/better-call/dist/utils.mjs.map +1 -0
  473. package/template/apps/web/node_modules/better-call/dist/validator.cjs +58 -0
  474. package/template/apps/web/node_modules/better-call/dist/validator.cjs.map +1 -0
  475. package/template/apps/web/node_modules/better-call/dist/validator.mjs +57 -0
  476. package/template/apps/web/node_modules/better-call/dist/validator.mjs.map +1 -0
  477. package/template/apps/web/node_modules/better-call/package.json +96 -0
  478. package/template/apps/web/node_modules/set-cookie-parser/LICENSE +21 -0
  479. package/template/apps/web/node_modules/set-cookie-parser/README.md +169 -0
  480. package/template/apps/web/node_modules/set-cookie-parser/dist/.eslintrc.cjs +16 -0
  481. package/template/apps/web/node_modules/set-cookie-parser/dist/set-cookie.cjs +260 -0
  482. package/template/apps/web/node_modules/set-cookie-parser/lib/set-cookie.d.ts +119 -0
  483. package/template/apps/web/node_modules/set-cookie-parser/lib/set-cookie.js +265 -0
  484. package/template/apps/web/node_modules/set-cookie-parser/package.json +61 -0
  485. package/template/apps/web/package.json +44 -0
  486. package/template/apps/web/public/favicon.ico +0 -0
  487. package/template/apps/web/public/manifest.json +25 -0
  488. package/template/apps/web/public/robots.txt +3 -0
  489. package/template/apps/web/src/components/app-sidebar.tsx +139 -0
  490. package/template/apps/web/src/components/login-form.tsx +111 -0
  491. package/template/apps/web/src/components/search-form.tsx +27 -0
  492. package/template/apps/web/src/components/signup-form.tsx +137 -0
  493. package/template/apps/web/src/components/version-switcher.tsx +64 -0
  494. package/template/apps/web/src/hooks/use-mobile.ts +19 -0
  495. package/template/apps/web/src/lib/auth-client.ts +3 -0
  496. package/template/apps/web/src/lib/auth-utils.ts +15 -0
  497. package/template/apps/web/src/lib/orpc.ts +32 -0
  498. package/template/apps/web/src/routeTree.gen.ts +282 -0
  499. package/template/apps/web/src/router.tsx +20 -0
  500. package/template/apps/web/src/routes/__root.tsx +53 -0
  501. package/template/apps/web/src/routes/api/auth/$.ts +15 -0
  502. package/template/apps/web/src/routes/api/rpc.$.ts +34 -0
  503. package/template/apps/web/src/routes/client-orpc-auth.tsx +62 -0
  504. package/template/apps/web/src/routes/client-orpc.tsx +43 -0
  505. package/template/apps/web/src/routes/dashboard.tsx +59 -0
  506. package/template/apps/web/src/routes/index.tsx +57 -0
  507. package/template/apps/web/src/routes/isr.tsx +33 -0
  508. package/template/apps/web/src/routes/login.tsx +16 -0
  509. package/template/apps/web/src/routes/signup.tsx +16 -0
  510. package/template/apps/web/src/routes/ssr-orpc-auth.tsx +53 -0
  511. package/template/apps/web/src/routes/ssr-orpc.tsx +36 -0
  512. package/template/apps/web/tsconfig.json +29 -0
  513. package/template/apps/web/vite.config.ts +19 -0
  514. package/template/docker-compose.yml +16 -0
  515. package/template/package.json +35 -0
  516. package/template/packages/auth/eslint.config.ts +3 -0
  517. package/template/packages/auth/package.json +24 -0
  518. package/template/packages/auth/src/lib/auth.ts +13 -0
  519. package/template/packages/auth/tsconfig.json +17 -0
  520. package/template/packages/auth/tsconfig.lint.json +14 -0
  521. package/template/packages/db/eslint.config.ts +3 -0
  522. package/template/packages/db/package.json +27 -0
  523. package/template/packages/db/src/auth-schema.ts +93 -0
  524. package/template/packages/db/src/index.ts +7 -0
  525. package/template/packages/db/src/planets-schema.ts +13 -0
  526. package/template/packages/db/src/schema.ts +2 -0
  527. package/template/packages/db/tsconfig.json +17 -0
  528. package/template/packages/db/tsconfig.lint.json +14 -0
  529. package/template/packages/orpc/eslint.config.ts +3 -0
  530. package/template/packages/orpc/package.json +21 -0
  531. package/template/packages/orpc/src/lib/router.ts +52 -0
  532. package/template/packages/orpc/tsconfig.json +17 -0
  533. package/template/packages/orpc/tsconfig.lint.json +14 -0
  534. package/template/packages/ui/components.json +23 -0
  535. package/template/packages/ui/eslint.config.ts +3 -0
  536. package/template/packages/ui/package.json +48 -0
  537. package/template/packages/ui/src/components/.gitkeep +0 -0
  538. package/template/packages/ui/src/components/accordion.tsx +72 -0
  539. package/template/packages/ui/src/components/alert-dialog.tsx +187 -0
  540. package/template/packages/ui/src/components/alert.tsx +77 -0
  541. package/template/packages/ui/src/components/aspect-ratio.tsx +22 -0
  542. package/template/packages/ui/src/components/avatar.tsx +107 -0
  543. package/template/packages/ui/src/components/badge.tsx +53 -0
  544. package/template/packages/ui/src/components/breadcrumb.tsx +125 -0
  545. package/template/packages/ui/src/components/button-group.tsx +88 -0
  546. package/template/packages/ui/src/components/button.tsx +59 -0
  547. package/template/packages/ui/src/components/calendar.tsx +229 -0
  548. package/template/packages/ui/src/components/card.tsx +103 -0
  549. package/template/packages/ui/src/components/carousel.tsx +240 -0
  550. package/template/packages/ui/src/components/chart.tsx +371 -0
  551. package/template/packages/ui/src/components/checkbox.tsx +29 -0
  552. package/template/packages/ui/src/components/collapsible.tsx +19 -0
  553. package/template/packages/ui/src/components/combobox.tsx +295 -0
  554. package/template/packages/ui/src/components/command.tsx +196 -0
  555. package/template/packages/ui/src/components/context-menu.tsx +271 -0
  556. package/template/packages/ui/src/components/dialog.tsx +158 -0
  557. package/template/packages/ui/src/components/direction.tsx +4 -0
  558. package/template/packages/ui/src/components/drawer.tsx +134 -0
  559. package/template/packages/ui/src/components/dropdown-menu.tsx +266 -0
  560. package/template/packages/ui/src/components/empty.tsx +105 -0
  561. package/template/packages/ui/src/components/field.tsx +237 -0
  562. package/template/packages/ui/src/components/hover-card.tsx +51 -0
  563. package/template/packages/ui/src/components/input-group.tsx +159 -0
  564. package/template/packages/ui/src/components/input-otp.tsx +85 -0
  565. package/template/packages/ui/src/components/input.tsx +20 -0
  566. package/template/packages/ui/src/components/item.tsx +202 -0
  567. package/template/packages/ui/src/components/kbd.tsx +26 -0
  568. package/template/packages/ui/src/components/label.tsx +20 -0
  569. package/template/packages/ui/src/components/menubar.tsx +280 -0
  570. package/template/packages/ui/src/components/native-select.tsx +61 -0
  571. package/template/packages/ui/src/components/navigation-menu.tsx +168 -0
  572. package/template/packages/ui/src/components/pagination.tsx +130 -0
  573. package/template/packages/ui/src/components/popover.tsx +88 -0
  574. package/template/packages/ui/src/components/progress.tsx +83 -0
  575. package/template/packages/ui/src/components/radio-group.tsx +36 -0
  576. package/template/packages/ui/src/components/resizable.tsx +50 -0
  577. package/template/packages/ui/src/components/scroll-area.tsx +53 -0
  578. package/template/packages/ui/src/components/select.tsx +201 -0
  579. package/template/packages/ui/src/components/separator.tsx +23 -0
  580. package/template/packages/ui/src/components/sheet.tsx +138 -0
  581. package/template/packages/ui/src/components/sidebar.tsx +726 -0
  582. package/template/packages/ui/src/components/skeleton.tsx +13 -0
  583. package/template/packages/ui/src/components/slider.tsx +52 -0
  584. package/template/packages/ui/src/components/sonner.tsx +50 -0
  585. package/template/packages/ui/src/components/spinner.tsx +10 -0
  586. package/template/packages/ui/src/components/switch.tsx +30 -0
  587. package/template/packages/ui/src/components/table.tsx +116 -0
  588. package/template/packages/ui/src/components/tabs.tsx +81 -0
  589. package/template/packages/ui/src/components/textarea.tsx +18 -0
  590. package/template/packages/ui/src/components/toggle-group.tsx +87 -0
  591. package/template/packages/ui/src/components/toggle.tsx +46 -0
  592. package/template/packages/ui/src/components/tooltip.tsx +64 -0
  593. package/template/packages/ui/src/hooks/.gitkeep +0 -0
  594. package/template/packages/ui/src/hooks/use-mobile.ts +19 -0
  595. package/template/packages/ui/src/lib/.gitkeep +0 -0
  596. package/template/packages/ui/src/lib/utils.ts +7 -0
  597. package/template/packages/ui/src/styles/globals.css +130 -0
  598. package/template/packages/ui/tsconfig.json +17 -0
  599. package/template/packages/ui/tsconfig.lint.json +14 -0
  600. package/template/tsconfig.json +9 -0
  601. package/template/turbo.json +24 -0
@@ -0,0 +1,280 @@
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import { Menu as MenuPrimitive } from "@base-ui/react/menu"
5
+ import { Menubar as MenubarPrimitive } from "@base-ui/react/menubar"
6
+
7
+ import { CheckIcon } from "lucide-react"
8
+ import { cn } from "@workspace/ui/lib/utils"
9
+ import {
10
+ DropdownMenu,
11
+ DropdownMenuContent,
12
+ DropdownMenuGroup,
13
+ DropdownMenuItem,
14
+ DropdownMenuLabel,
15
+ DropdownMenuPortal,
16
+ DropdownMenuRadioGroup,
17
+ DropdownMenuSeparator,
18
+ DropdownMenuShortcut,
19
+ DropdownMenuSub,
20
+ DropdownMenuSubContent,
21
+ DropdownMenuSubTrigger,
22
+ DropdownMenuTrigger,
23
+ } from "@workspace/ui/components/dropdown-menu"
24
+
25
+ function Menubar({ className, ...props }: MenubarPrimitive.Props) {
26
+ return (
27
+ <MenubarPrimitive
28
+ data-slot="menubar"
29
+ className={cn(
30
+ "flex h-8 items-center gap-0.5 rounded-lg border p-[3px]",
31
+ className
32
+ )}
33
+ {...props}
34
+ />
35
+ )
36
+ }
37
+
38
+ function MenubarMenu({ ...props }: React.ComponentProps<typeof DropdownMenu>) {
39
+ return <DropdownMenu data-slot="menubar-menu" {...props} />
40
+ }
41
+
42
+ function MenubarGroup({
43
+ ...props
44
+ }: React.ComponentProps<typeof DropdownMenuGroup>) {
45
+ return <DropdownMenuGroup data-slot="menubar-group" {...props} />
46
+ }
47
+
48
+ function MenubarPortal({
49
+ ...props
50
+ }: React.ComponentProps<typeof DropdownMenuPortal>) {
51
+ return <DropdownMenuPortal data-slot="menubar-portal" {...props} />
52
+ }
53
+
54
+ function MenubarTrigger({
55
+ className,
56
+ ...props
57
+ }: React.ComponentProps<typeof DropdownMenuTrigger>) {
58
+ return (
59
+ <DropdownMenuTrigger
60
+ data-slot="menubar-trigger"
61
+ className={cn(
62
+ "flex items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted",
63
+ className
64
+ )}
65
+ {...props}
66
+ />
67
+ )
68
+ }
69
+
70
+ function MenubarContent({
71
+ className,
72
+ align = "start",
73
+ alignOffset = -4,
74
+ sideOffset = 8,
75
+ ...props
76
+ }: React.ComponentProps<typeof DropdownMenuContent>) {
77
+ return (
78
+ <DropdownMenuContent
79
+ data-slot="menubar-content"
80
+ align={align}
81
+ alignOffset={alignOffset}
82
+ sideOffset={sideOffset}
83
+ className={cn("min-w-36 rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", className )}
84
+ {...props}
85
+ />
86
+ )
87
+ }
88
+
89
+ function MenubarItem({
90
+ className,
91
+ inset,
92
+ variant = "default",
93
+ ...props
94
+ }: React.ComponentProps<typeof DropdownMenuItem>) {
95
+ return (
96
+ <DropdownMenuItem
97
+ data-slot="menubar-item"
98
+ data-inset={inset}
99
+ data-variant={variant}
100
+ className={cn(
101
+ "group/menubar-item gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive!",
102
+ className
103
+ )}
104
+ {...props}
105
+ />
106
+ )
107
+ }
108
+
109
+ function MenubarCheckboxItem({
110
+ className,
111
+ children,
112
+ checked,
113
+ inset,
114
+ ...props
115
+ }: MenuPrimitive.CheckboxItem.Props & {
116
+ inset?: boolean
117
+ }) {
118
+ return (
119
+ <MenuPrimitive.CheckboxItem
120
+ data-slot="menubar-checkbox-item"
121
+ data-inset={inset}
122
+ className={cn(
123
+ "relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
124
+ className
125
+ )}
126
+ checked={checked}
127
+ {...props}
128
+ >
129
+ <span className="pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4">
130
+ <MenuPrimitive.CheckboxItemIndicator>
131
+ <CheckIcon
132
+ />
133
+ </MenuPrimitive.CheckboxItemIndicator>
134
+ </span>
135
+ {children}
136
+ </MenuPrimitive.CheckboxItem>
137
+ )
138
+ }
139
+
140
+ function MenubarRadioGroup({
141
+ ...props
142
+ }: React.ComponentProps<typeof DropdownMenuRadioGroup>) {
143
+ return <DropdownMenuRadioGroup data-slot="menubar-radio-group" {...props} />
144
+ }
145
+
146
+ function MenubarRadioItem({
147
+ className,
148
+ children,
149
+ inset,
150
+ ...props
151
+ }: MenuPrimitive.RadioItem.Props & {
152
+ inset?: boolean
153
+ }) {
154
+ return (
155
+ <MenuPrimitive.RadioItem
156
+ data-slot="menubar-radio-item"
157
+ data-inset={inset}
158
+ className={cn(
159
+ "relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
160
+ className
161
+ )}
162
+ {...props}
163
+ >
164
+ <span className="pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4">
165
+ <MenuPrimitive.RadioItemIndicator>
166
+ <CheckIcon
167
+ />
168
+ </MenuPrimitive.RadioItemIndicator>
169
+ </span>
170
+ {children}
171
+ </MenuPrimitive.RadioItem>
172
+ )
173
+ }
174
+
175
+ function MenubarLabel({
176
+ className,
177
+ inset,
178
+ ...props
179
+ }: React.ComponentProps<typeof DropdownMenuLabel> & {
180
+ inset?: boolean
181
+ }) {
182
+ return (
183
+ <DropdownMenuLabel
184
+ data-slot="menubar-label"
185
+ data-inset={inset}
186
+ className={cn(
187
+ "px-1.5 py-1 text-sm font-medium data-inset:pl-7",
188
+ className
189
+ )}
190
+ {...props}
191
+ />
192
+ )
193
+ }
194
+
195
+ function MenubarSeparator({
196
+ className,
197
+ ...props
198
+ }: React.ComponentProps<typeof DropdownMenuSeparator>) {
199
+ return (
200
+ <DropdownMenuSeparator
201
+ data-slot="menubar-separator"
202
+ className={cn("-mx-1 my-1 h-px bg-border", className)}
203
+ {...props}
204
+ />
205
+ )
206
+ }
207
+
208
+ function MenubarShortcut({
209
+ className,
210
+ ...props
211
+ }: React.ComponentProps<typeof DropdownMenuShortcut>) {
212
+ return (
213
+ <DropdownMenuShortcut
214
+ data-slot="menubar-shortcut"
215
+ className={cn(
216
+ "ml-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground",
217
+ className
218
+ )}
219
+ {...props}
220
+ />
221
+ )
222
+ }
223
+
224
+ function MenubarSub({
225
+ ...props
226
+ }: React.ComponentProps<typeof DropdownMenuSub>) {
227
+ return <DropdownMenuSub data-slot="menubar-sub" {...props} />
228
+ }
229
+
230
+ function MenubarSubTrigger({
231
+ className,
232
+ inset,
233
+ ...props
234
+ }: React.ComponentProps<typeof DropdownMenuSubTrigger> & {
235
+ inset?: boolean
236
+ }) {
237
+ return (
238
+ <DropdownMenuSubTrigger
239
+ data-slot="menubar-sub-trigger"
240
+ data-inset={inset}
241
+ className={cn(
242
+ "gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4",
243
+ className
244
+ )}
245
+ {...props}
246
+ />
247
+ )
248
+ }
249
+
250
+ function MenubarSubContent({
251
+ className,
252
+ ...props
253
+ }: React.ComponentProps<typeof DropdownMenuSubContent>) {
254
+ return (
255
+ <DropdownMenuSubContent
256
+ data-slot="menubar-sub-content"
257
+ className={cn("min-w-32 rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className )}
258
+ {...props}
259
+ />
260
+ )
261
+ }
262
+
263
+ export {
264
+ Menubar,
265
+ MenubarPortal,
266
+ MenubarMenu,
267
+ MenubarTrigger,
268
+ MenubarContent,
269
+ MenubarGroup,
270
+ MenubarSeparator,
271
+ MenubarLabel,
272
+ MenubarItem,
273
+ MenubarShortcut,
274
+ MenubarCheckboxItem,
275
+ MenubarRadioGroup,
276
+ MenubarRadioItem,
277
+ MenubarSub,
278
+ MenubarSubTrigger,
279
+ MenubarSubContent,
280
+ }
@@ -0,0 +1,61 @@
1
+ import * as React from "react"
2
+
3
+ import { ChevronDownIcon } from "lucide-react"
4
+ import { cn } from "@workspace/ui/lib/utils"
5
+
6
+ type NativeSelectProps = Omit<React.ComponentProps<"select">, "size"> & {
7
+ size?: "sm" | "default"
8
+ }
9
+
10
+ function NativeSelect({
11
+ className,
12
+ size = "default",
13
+ ...props
14
+ }: NativeSelectProps) {
15
+ return (
16
+ <div
17
+ className={cn(
18
+ "group/native-select relative w-fit has-[select:disabled]:opacity-50",
19
+ className
20
+ )}
21
+ data-slot="native-select-wrapper"
22
+ data-size={size}
23
+ >
24
+ <select
25
+ data-slot="native-select"
26
+ data-size={size}
27
+ className="h-8 w-full min-w-0 appearance-none rounded-lg border border-input bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40"
28
+ {...props}
29
+ />
30
+ <ChevronDownIcon className="pointer-events-none absolute top-1/2 right-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none" aria-hidden="true" data-slot="native-select-icon" />
31
+ </div>
32
+ )
33
+ }
34
+
35
+ function NativeSelectOption({
36
+ className,
37
+ ...props
38
+ }: React.ComponentProps<"option">) {
39
+ return (
40
+ <option
41
+ data-slot="native-select-option"
42
+ className={cn("bg-[Canvas] text-[CanvasText]", className)}
43
+ {...props}
44
+ />
45
+ )
46
+ }
47
+
48
+ function NativeSelectOptGroup({
49
+ className,
50
+ ...props
51
+ }: React.ComponentProps<"optgroup">) {
52
+ return (
53
+ <optgroup
54
+ data-slot="native-select-optgroup"
55
+ className={cn("bg-[Canvas] text-[CanvasText]", className)}
56
+ {...props}
57
+ />
58
+ )
59
+ }
60
+
61
+ export { NativeSelect, NativeSelectOptGroup, NativeSelectOption }
@@ -0,0 +1,168 @@
1
+ import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react/navigation-menu"
2
+ import { cva } from "class-variance-authority"
3
+
4
+ import { ChevronDownIcon } from "lucide-react"
5
+ import { cn } from "@workspace/ui/lib/utils"
6
+
7
+ function NavigationMenu({
8
+ align = "start",
9
+ className,
10
+ children,
11
+ ...props
12
+ }: NavigationMenuPrimitive.Root.Props &
13
+ Pick<NavigationMenuPrimitive.Positioner.Props, "align">) {
14
+ return (
15
+ <NavigationMenuPrimitive.Root
16
+ data-slot="navigation-menu"
17
+ className={cn(
18
+ "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
19
+ className
20
+ )}
21
+ {...props}
22
+ >
23
+ {children}
24
+ <NavigationMenuPositioner align={align} />
25
+ </NavigationMenuPrimitive.Root>
26
+ )
27
+ }
28
+
29
+ function NavigationMenuList({
30
+ className,
31
+ ...props
32
+ }: React.ComponentPropsWithRef<typeof NavigationMenuPrimitive.List>) {
33
+ return (
34
+ <NavigationMenuPrimitive.List
35
+ data-slot="navigation-menu-list"
36
+ className={cn(
37
+ "group flex flex-1 list-none items-center justify-center gap-0",
38
+ className
39
+ )}
40
+ {...props}
41
+ />
42
+ )
43
+ }
44
+
45
+ function NavigationMenuItem({
46
+ className,
47
+ ...props
48
+ }: React.ComponentPropsWithRef<typeof NavigationMenuPrimitive.Item>) {
49
+ return (
50
+ <NavigationMenuPrimitive.Item
51
+ data-slot="navigation-menu-item"
52
+ className={cn("relative", className)}
53
+ {...props}
54
+ />
55
+ )
56
+ }
57
+
58
+ const navigationMenuTriggerStyle = cva(
59
+ "group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-lg px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted"
60
+ )
61
+
62
+ function NavigationMenuTrigger({
63
+ className,
64
+ children,
65
+ ...props
66
+ }: NavigationMenuPrimitive.Trigger.Props) {
67
+ return (
68
+ <NavigationMenuPrimitive.Trigger
69
+ data-slot="navigation-menu-trigger"
70
+ className={cn(navigationMenuTriggerStyle(), "group", className)}
71
+ {...props}
72
+ >
73
+ {children}{" "}
74
+ <ChevronDownIcon className="relative top-px ml-1 size-3 transition duration-300 group-data-popup-open/navigation-menu-trigger:rotate-180 group-data-open/navigation-menu-trigger:rotate-180" aria-hidden="true" />
75
+ </NavigationMenuPrimitive.Trigger>
76
+ )
77
+ }
78
+
79
+ function NavigationMenuContent({
80
+ className,
81
+ ...props
82
+ }: NavigationMenuPrimitive.Content.Props) {
83
+ return (
84
+ <NavigationMenuPrimitive.Content
85
+ data-slot="navigation-menu-content"
86
+ className={cn(
87
+ "data-ending-style:data-activation-direction=left:translate-x-[50%] data-ending-style:data-activation-direction=right:translate-x-[-50%] data-starting-style:data-activation-direction=left:translate-x-[-50%] data-starting-style:data-activation-direction=right:translate-x-[50%] h-full w-auto p-1 transition-[opacity,transform,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1 group-data-[viewport=false]/navigation-menu:ring-foreground/10 group-data-[viewport=false]/navigation-menu:duration-300 data-ending-style:opacity-0 data-starting-style:opacity-0 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none group-data-[viewport=false]/navigation-menu:data-open:animate-in group-data-[viewport=false]/navigation-menu:data-open:fade-in-0 group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-closed:animate-out group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0 group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95",
88
+ className
89
+ )}
90
+ {...props}
91
+ />
92
+ )
93
+ }
94
+
95
+ function NavigationMenuPositioner({
96
+ className,
97
+ side = "bottom",
98
+ sideOffset = 8,
99
+ align = "start",
100
+ alignOffset = 0,
101
+ ...props
102
+ }: NavigationMenuPrimitive.Positioner.Props) {
103
+ return (
104
+ <NavigationMenuPrimitive.Portal>
105
+ <NavigationMenuPrimitive.Positioner
106
+ side={side}
107
+ sideOffset={sideOffset}
108
+ align={align}
109
+ alignOffset={alignOffset}
110
+ className={cn(
111
+ "isolate z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0",
112
+ className
113
+ )}
114
+ {...props}
115
+ >
116
+ <NavigationMenuPrimitive.Popup className="data-[ending-style]:easing-[ease] xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded-lg bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 transition-[opacity,transform,width,height,scale,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:scale-90 data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:scale-90 data-starting-style:opacity-0">
117
+ <NavigationMenuPrimitive.Viewport className="relative size-full overflow-hidden" />
118
+ </NavigationMenuPrimitive.Popup>
119
+ </NavigationMenuPrimitive.Positioner>
120
+ </NavigationMenuPrimitive.Portal>
121
+ )
122
+ }
123
+
124
+ function NavigationMenuLink({
125
+ className,
126
+ ...props
127
+ }: NavigationMenuPrimitive.Link.Props) {
128
+ return (
129
+ <NavigationMenuPrimitive.Link
130
+ data-slot="navigation-menu-link"
131
+ className={cn(
132
+ "flex items-center gap-2 rounded-lg p-2 text-sm transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4",
133
+ className
134
+ )}
135
+ {...props}
136
+ />
137
+ )
138
+ }
139
+
140
+ function NavigationMenuIndicator({
141
+ className,
142
+ ...props
143
+ }: React.ComponentPropsWithRef<typeof NavigationMenuPrimitive.Icon>) {
144
+ return (
145
+ <NavigationMenuPrimitive.Icon
146
+ data-slot="navigation-menu-indicator"
147
+ className={cn(
148
+ "top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in",
149
+ className
150
+ )}
151
+ {...props}
152
+ >
153
+ <div className="relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" />
154
+ </NavigationMenuPrimitive.Icon>
155
+ )
156
+ }
157
+
158
+ export {
159
+ NavigationMenu,
160
+ NavigationMenuContent,
161
+ NavigationMenuIndicator,
162
+ NavigationMenuItem,
163
+ NavigationMenuLink,
164
+ NavigationMenuList,
165
+ NavigationMenuTrigger,
166
+ navigationMenuTriggerStyle,
167
+ NavigationMenuPositioner,
168
+ }
@@ -0,0 +1,130 @@
1
+ import * as React from "react"
2
+
3
+ import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from "lucide-react"
4
+ import { cn } from "@workspace/ui/lib/utils"
5
+ import { Button } from "@workspace/ui/components/button"
6
+
7
+ function Pagination({ className, ...props }: React.ComponentProps<"nav">) {
8
+ return (
9
+ <nav
10
+ role="navigation"
11
+ aria-label="pagination"
12
+ data-slot="pagination"
13
+ className={cn("mx-auto flex w-full justify-center", className)}
14
+ {...props}
15
+ />
16
+ )
17
+ }
18
+
19
+ function PaginationContent({
20
+ className,
21
+ ...props
22
+ }: React.ComponentProps<"ul">) {
23
+ return (
24
+ <ul
25
+ data-slot="pagination-content"
26
+ className={cn("flex items-center gap-0.5", className)}
27
+ {...props}
28
+ />
29
+ )
30
+ }
31
+
32
+ function PaginationItem({ ...props }: React.ComponentProps<"li">) {
33
+ return <li data-slot="pagination-item" {...props} />
34
+ }
35
+
36
+ type PaginationLinkProps = {
37
+ isActive?: boolean
38
+ } & Pick<React.ComponentProps<typeof Button>, "size"> &
39
+ React.ComponentProps<"a">
40
+
41
+ function PaginationLink({
42
+ className,
43
+ isActive,
44
+ size = "icon",
45
+ ...props
46
+ }: PaginationLinkProps) {
47
+ return (
48
+ <Button
49
+ variant={isActive ? "outline" : "ghost"}
50
+ size={size}
51
+ className={cn(className)}
52
+ nativeButton={false}
53
+ render={
54
+ <a
55
+ aria-current={isActive ? "page" : undefined}
56
+ data-slot="pagination-link"
57
+ data-active={isActive}
58
+ {...props}
59
+ />
60
+ }
61
+ />
62
+ )
63
+ }
64
+
65
+ function PaginationPrevious({
66
+ className,
67
+ text = "Previous",
68
+ ...props
69
+ }: React.ComponentProps<typeof PaginationLink> & { text?: string }) {
70
+ return (
71
+ <PaginationLink
72
+ aria-label="Go to previous page"
73
+ size="default"
74
+ className={cn("pl-1.5!", className)}
75
+ {...props}
76
+ >
77
+ <ChevronLeftIcon data-icon="inline-start" />
78
+ <span className="hidden sm:block">{text}</span>
79
+ </PaginationLink>
80
+ )
81
+ }
82
+
83
+ function PaginationNext({
84
+ className,
85
+ text = "Next",
86
+ ...props
87
+ }: React.ComponentProps<typeof PaginationLink> & { text?: string }) {
88
+ return (
89
+ <PaginationLink
90
+ aria-label="Go to next page"
91
+ size="default"
92
+ className={cn("pr-1.5!", className)}
93
+ {...props}
94
+ >
95
+ <span className="hidden sm:block">{text}</span>
96
+ <ChevronRightIcon data-icon="inline-end" />
97
+ </PaginationLink>
98
+ )
99
+ }
100
+
101
+ function PaginationEllipsis({
102
+ className,
103
+ ...props
104
+ }: React.ComponentProps<"span">) {
105
+ return (
106
+ <span
107
+ aria-hidden
108
+ data-slot="pagination-ellipsis"
109
+ className={cn(
110
+ "flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
111
+ className
112
+ )}
113
+ {...props}
114
+ >
115
+ <MoreHorizontalIcon
116
+ />
117
+ <span className="sr-only">More pages</span>
118
+ </span>
119
+ )
120
+ }
121
+
122
+ export {
123
+ Pagination,
124
+ PaginationContent,
125
+ PaginationEllipsis,
126
+ PaginationItem,
127
+ PaginationLink,
128
+ PaginationNext,
129
+ PaginationPrevious,
130
+ }