@snow-labs/brutal-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/chunk-3HN3QP23.js +44 -0
  2. package/dist/chunk-3HN3QP23.js.map +1 -0
  3. package/dist/chunk-4A3EQV6F.js +76 -0
  4. package/dist/chunk-4A3EQV6F.js.map +1 -0
  5. package/dist/chunk-53KZXLG4.js +100 -0
  6. package/dist/chunk-53KZXLG4.js.map +1 -0
  7. package/dist/chunk-5JCN6EQG.js +60 -0
  8. package/dist/chunk-5JCN6EQG.js.map +1 -0
  9. package/dist/chunk-5JEBZUEI.js +20 -0
  10. package/dist/chunk-5JEBZUEI.js.map +1 -0
  11. package/dist/chunk-6APJMAO7.js +44 -0
  12. package/dist/chunk-6APJMAO7.js.map +1 -0
  13. package/dist/chunk-6UKMYVHC.js +187 -0
  14. package/dist/chunk-6UKMYVHC.js.map +1 -0
  15. package/dist/chunk-7FVJ36BQ.js +239 -0
  16. package/dist/chunk-7FVJ36BQ.js.map +1 -0
  17. package/dist/chunk-7I7XYB7H.js +44 -0
  18. package/dist/chunk-7I7XYB7H.js.map +1 -0
  19. package/dist/chunk-A5KONGTJ.js +49 -0
  20. package/dist/chunk-A5KONGTJ.js.map +1 -0
  21. package/dist/chunk-AHUC5AID.js +40 -0
  22. package/dist/chunk-AHUC5AID.js.map +1 -0
  23. package/dist/chunk-B6UM5GHF.js +20 -0
  24. package/dist/chunk-B6UM5GHF.js.map +1 -0
  25. package/dist/chunk-BAUUM52T.js +234 -0
  26. package/dist/chunk-BAUUM52T.js.map +1 -0
  27. package/dist/chunk-BDWCMMEI.js +82 -0
  28. package/dist/chunk-BDWCMMEI.js.map +1 -0
  29. package/dist/chunk-BSVJVM2L.js +52 -0
  30. package/dist/chunk-BSVJVM2L.js.map +1 -0
  31. package/dist/chunk-CPVH3LD5.js +86 -0
  32. package/dist/chunk-CPVH3LD5.js.map +1 -0
  33. package/dist/chunk-CY2FOBOD.js +65 -0
  34. package/dist/chunk-CY2FOBOD.js.map +1 -0
  35. package/dist/chunk-DJTTNICL.js +40 -0
  36. package/dist/chunk-DJTTNICL.js.map +1 -0
  37. package/dist/chunk-F2E32OOJ.js +38 -0
  38. package/dist/chunk-F2E32OOJ.js.map +1 -0
  39. package/dist/chunk-F7YWBVP6.js +141 -0
  40. package/dist/chunk-F7YWBVP6.js.map +1 -0
  41. package/dist/chunk-G7JMADLU.js +167 -0
  42. package/dist/chunk-G7JMADLU.js.map +1 -0
  43. package/dist/chunk-GKCLNHVQ.js +124 -0
  44. package/dist/chunk-GKCLNHVQ.js.map +1 -0
  45. package/dist/chunk-GQBWKH72.js +33 -0
  46. package/dist/chunk-GQBWKH72.js.map +1 -0
  47. package/dist/chunk-H6SOU4UG.js +10 -0
  48. package/dist/chunk-H6SOU4UG.js.map +1 -0
  49. package/dist/chunk-HKJJHYFX.js +115 -0
  50. package/dist/chunk-HKJJHYFX.js.map +1 -0
  51. package/dist/chunk-IQ5WXHRB.js +16 -0
  52. package/dist/chunk-IQ5WXHRB.js.map +1 -0
  53. package/dist/chunk-ISZQ5TSG.js +26 -0
  54. package/dist/chunk-ISZQ5TSG.js.map +1 -0
  55. package/dist/chunk-JSYGVDO6.js +41 -0
  56. package/dist/chunk-JSYGVDO6.js.map +1 -0
  57. package/dist/chunk-KY6GKED2.js +229 -0
  58. package/dist/chunk-KY6GKED2.js.map +1 -0
  59. package/dist/chunk-L5OPCX6F.js +33 -0
  60. package/dist/chunk-L5OPCX6F.js.map +1 -0
  61. package/dist/chunk-LLMBKOKT.js +44 -0
  62. package/dist/chunk-LLMBKOKT.js.map +1 -0
  63. package/dist/chunk-MKBO4S2O.js +48 -0
  64. package/dist/chunk-MKBO4S2O.js.map +1 -0
  65. package/dist/chunk-NMQRI5G5.js +48 -0
  66. package/dist/chunk-NMQRI5G5.js.map +1 -0
  67. package/dist/chunk-OCSYB6YE.js +78 -0
  68. package/dist/chunk-OCSYB6YE.js.map +1 -0
  69. package/dist/chunk-OILW3ESA.js +62 -0
  70. package/dist/chunk-OILW3ESA.js.map +1 -0
  71. package/dist/chunk-PCVJLIUU.js +125 -0
  72. package/dist/chunk-PCVJLIUU.js.map +1 -0
  73. package/dist/chunk-RXSDAOF7.js +45 -0
  74. package/dist/chunk-RXSDAOF7.js.map +1 -0
  75. package/dist/chunk-RZD2P2BD.js +77 -0
  76. package/dist/chunk-RZD2P2BD.js.map +1 -0
  77. package/dist/chunk-UL52C2UU.js +22 -0
  78. package/dist/chunk-UL52C2UU.js.map +1 -0
  79. package/dist/chunk-USFQYYSE.js +118 -0
  80. package/dist/chunk-USFQYYSE.js.map +1 -0
  81. package/dist/chunk-UW3CSNPH.js +77 -0
  82. package/dist/chunk-UW3CSNPH.js.map +1 -0
  83. package/dist/chunk-V2ORCFEN.js +156 -0
  84. package/dist/chunk-V2ORCFEN.js.map +1 -0
  85. package/dist/chunk-WQO7NSII.js +141 -0
  86. package/dist/chunk-WQO7NSII.js.map +1 -0
  87. package/dist/chunk-WXHK2EIV.js +75 -0
  88. package/dist/chunk-WXHK2EIV.js.map +1 -0
  89. package/dist/chunk-Y6W3YC3K.js +17 -0
  90. package/dist/chunk-Y6W3YC3K.js.map +1 -0
  91. package/dist/chunk-ZRVEDPQA.js +59 -0
  92. package/dist/chunk-ZRVEDPQA.js.map +1 -0
  93. package/dist/components/brutal/cta-section.d.ts +16 -0
  94. package/dist/components/brutal/cta-section.js +6 -0
  95. package/dist/components/brutal/cta-section.js.map +1 -0
  96. package/dist/components/brutal/feature-grid.d.ts +19 -0
  97. package/dist/components/brutal/feature-grid.js +6 -0
  98. package/dist/components/brutal/feature-grid.js.map +1 -0
  99. package/dist/components/brutal/footer.d.ts +20 -0
  100. package/dist/components/brutal/footer.js +4 -0
  101. package/dist/components/brutal/footer.js.map +1 -0
  102. package/dist/components/brutal/hero.d.ts +17 -0
  103. package/dist/components/brutal/hero.js +6 -0
  104. package/dist/components/brutal/hero.js.map +1 -0
  105. package/dist/components/brutal/index.d.ts +10 -0
  106. package/dist/components/brutal/index.js +14 -0
  107. package/dist/components/brutal/index.js.map +1 -0
  108. package/dist/components/brutal/integration-grid.d.ts +18 -0
  109. package/dist/components/brutal/integration-grid.js +5 -0
  110. package/dist/components/brutal/integration-grid.js.map +1 -0
  111. package/dist/components/brutal/nav.d.ts +17 -0
  112. package/dist/components/brutal/nav.js +5 -0
  113. package/dist/components/brutal/nav.js.map +1 -0
  114. package/dist/components/brutal/section.d.ts +16 -0
  115. package/dist/components/brutal/section.js +4 -0
  116. package/dist/components/brutal/section.js.map +1 -0
  117. package/dist/components/brutal/testimonials.d.ts +18 -0
  118. package/dist/components/brutal/testimonials.js +5 -0
  119. package/dist/components/brutal/testimonials.js.map +1 -0
  120. package/dist/components/brutal/wave-divider.d.ts +12 -0
  121. package/dist/components/brutal/wave-divider.js +3 -0
  122. package/dist/components/brutal/wave-divider.js.map +1 -0
  123. package/dist/components/ui/accordion.d.ts +9 -0
  124. package/dist/components/ui/accordion.js +4 -0
  125. package/dist/components/ui/accordion.js.map +1 -0
  126. package/dist/components/ui/alert.d.ts +14 -0
  127. package/dist/components/ui/alert.js +4 -0
  128. package/dist/components/ui/alert.js.map +1 -0
  129. package/dist/components/ui/avatar.d.ts +14 -0
  130. package/dist/components/ui/avatar.js +4 -0
  131. package/dist/components/ui/avatar.js.map +1 -0
  132. package/dist/components/ui/badge.d.ts +11 -0
  133. package/dist/components/ui/badge.js +4 -0
  134. package/dist/components/ui/badge.js.map +1 -0
  135. package/dist/components/ui/breadcrumb.d.ts +13 -0
  136. package/dist/components/ui/breadcrumb.js +4 -0
  137. package/dist/components/ui/breadcrumb.js.map +1 -0
  138. package/dist/components/ui/button.d.ts +12 -0
  139. package/dist/components/ui/button.js +4 -0
  140. package/dist/components/ui/button.js.map +1 -0
  141. package/dist/components/ui/card.d.ts +12 -0
  142. package/dist/components/ui/card.js +4 -0
  143. package/dist/components/ui/card.js.map +1 -0
  144. package/dist/components/ui/checkbox.d.ts +6 -0
  145. package/dist/components/ui/checkbox.js +4 -0
  146. package/dist/components/ui/checkbox.js.map +1 -0
  147. package/dist/components/ui/collapsible.d.ts +8 -0
  148. package/dist/components/ui/collapsible.js +3 -0
  149. package/dist/components/ui/collapsible.js.map +1 -0
  150. package/dist/components/ui/command.d.ts +23 -0
  151. package/dist/components/ui/command.js +9 -0
  152. package/dist/components/ui/command.js.map +1 -0
  153. package/dist/components/ui/context-menu.d.ts +32 -0
  154. package/dist/components/ui/context-menu.js +4 -0
  155. package/dist/components/ui/context-menu.js.map +1 -0
  156. package/dist/components/ui/dialog.d.ts +20 -0
  157. package/dist/components/ui/dialog.js +5 -0
  158. package/dist/components/ui/dialog.js.map +1 -0
  159. package/dist/components/ui/drawer.d.ts +16 -0
  160. package/dist/components/ui/drawer.js +4 -0
  161. package/dist/components/ui/drawer.js.map +1 -0
  162. package/dist/components/ui/dropdown-menu.d.ts +32 -0
  163. package/dist/components/ui/dropdown-menu.js +4 -0
  164. package/dist/components/ui/dropdown-menu.js.map +1 -0
  165. package/dist/components/ui/hover-card.d.ts +8 -0
  166. package/dist/components/ui/hover-card.js +4 -0
  167. package/dist/components/ui/hover-card.js.map +1 -0
  168. package/dist/components/ui/input-group.d.ts +23 -0
  169. package/dist/components/ui/input-group.js +7 -0
  170. package/dist/components/ui/input-group.js.map +1 -0
  171. package/dist/components/ui/input.d.ts +6 -0
  172. package/dist/components/ui/input.js +4 -0
  173. package/dist/components/ui/input.js.map +1 -0
  174. package/dist/components/ui/label.d.ts +6 -0
  175. package/dist/components/ui/label.js +4 -0
  176. package/dist/components/ui/label.js.map +1 -0
  177. package/dist/components/ui/menubar.d.ts +32 -0
  178. package/dist/components/ui/menubar.js +5 -0
  179. package/dist/components/ui/menubar.js.map +1 -0
  180. package/dist/components/ui/navigation-menu.d.ts +15 -0
  181. package/dist/components/ui/navigation-menu.js +4 -0
  182. package/dist/components/ui/navigation-menu.js.map +1 -0
  183. package/dist/components/ui/pagination.d.ts +23 -0
  184. package/dist/components/ui/pagination.js +5 -0
  185. package/dist/components/ui/pagination.js.map +1 -0
  186. package/dist/components/ui/popover.d.ts +12 -0
  187. package/dist/components/ui/popover.js +4 -0
  188. package/dist/components/ui/popover.js.map +1 -0
  189. package/dist/components/ui/progress.d.ts +10 -0
  190. package/dist/components/ui/progress.js +4 -0
  191. package/dist/components/ui/progress.js.map +1 -0
  192. package/dist/components/ui/radio-group.d.ts +8 -0
  193. package/dist/components/ui/radio-group.js +4 -0
  194. package/dist/components/ui/radio-group.js.map +1 -0
  195. package/dist/components/ui/scroll-area.d.ts +7 -0
  196. package/dist/components/ui/scroll-area.js +4 -0
  197. package/dist/components/ui/scroll-area.js.map +1 -0
  198. package/dist/components/ui/select.d.ts +18 -0
  199. package/dist/components/ui/select.js +4 -0
  200. package/dist/components/ui/select.js.map +1 -0
  201. package/dist/components/ui/separator.d.ts +6 -0
  202. package/dist/components/ui/separator.js +4 -0
  203. package/dist/components/ui/separator.js.map +1 -0
  204. package/dist/components/ui/sheet.d.ts +17 -0
  205. package/dist/components/ui/sheet.js +5 -0
  206. package/dist/components/ui/sheet.js.map +1 -0
  207. package/dist/components/ui/skeleton.d.ts +5 -0
  208. package/dist/components/ui/skeleton.js +4 -0
  209. package/dist/components/ui/skeleton.js.map +1 -0
  210. package/dist/components/ui/slider.d.ts +6 -0
  211. package/dist/components/ui/slider.js +4 -0
  212. package/dist/components/ui/slider.js.map +1 -0
  213. package/dist/components/ui/switch.d.ts +8 -0
  214. package/dist/components/ui/switch.js +4 -0
  215. package/dist/components/ui/switch.js.map +1 -0
  216. package/dist/components/ui/tabs.d.ts +14 -0
  217. package/dist/components/ui/tabs.js +4 -0
  218. package/dist/components/ui/tabs.js.map +1 -0
  219. package/dist/components/ui/textarea.d.ts +6 -0
  220. package/dist/components/ui/textarea.js +4 -0
  221. package/dist/components/ui/textarea.js.map +1 -0
  222. package/dist/components/ui/toggle-group.d.ts +14 -0
  223. package/dist/components/ui/toggle-group.js +5 -0
  224. package/dist/components/ui/toggle-group.js.map +1 -0
  225. package/dist/components/ui/toggle.d.ts +12 -0
  226. package/dist/components/ui/toggle.js +4 -0
  227. package/dist/components/ui/toggle.js.map +1 -0
  228. package/dist/components/ui/tooltip.d.ts +9 -0
  229. package/dist/components/ui/tooltip.js +4 -0
  230. package/dist/components/ui/tooltip.js.map +1 -0
  231. package/dist/index.d.ts +78 -0
  232. package/dist/index.js +48 -0
  233. package/dist/index.js.map +1 -0
  234. package/dist/lib/utils.d.ts +5 -0
  235. package/dist/lib/utils.js +3 -0
  236. package/dist/lib/utils.js.map +1 -0
  237. package/dist/theme.css +346 -0
  238. package/package.json +74 -0
@@ -0,0 +1,44 @@
1
+ import { Button } from './chunk-CY2FOBOD.js';
2
+ import { BrutalSection } from './chunk-BSVJVM2L.js';
3
+ import { cn } from './chunk-H6SOU4UG.js';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ function BrutalHero({
7
+ badge,
8
+ headline,
9
+ description,
10
+ ctaText,
11
+ ctaHref = "#",
12
+ ctaVariant = "cta",
13
+ visual,
14
+ color = "brand",
15
+ proof,
16
+ className
17
+ }) {
18
+ return /* @__PURE__ */ jsx(BrutalSection, { color, padding: "lg", className, children: /* @__PURE__ */ jsxs(
19
+ "div",
20
+ {
21
+ className: cn(
22
+ "grid items-center gap-12",
23
+ visual ? "lg:grid-cols-2 lg:gap-16" : "max-w-3xl"
24
+ ),
25
+ children: [
26
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
27
+ badge && /* @__PURE__ */ jsx("div", { className: "inline-flex w-fit border-brutal border-foreground bg-background px-3 py-1 font-mono text-xs font-bold uppercase tracking-widest shadow-brutal-sm", children: badge }),
28
+ /* @__PURE__ */ jsx("h1", { className: "brutal-display text-balance", children: headline }),
29
+ /* @__PURE__ */ jsx("p", { className: "brutal-body-lg max-w-lg opacity-80", children: description }),
30
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Button, { variant: ctaVariant, size: "xl", render: /* @__PURE__ */ jsx("a", { href: ctaHref }), children: ctaText }) }),
31
+ proof && /* @__PURE__ */ jsxs("p", { className: "flex items-center gap-2 text-sm font-medium opacity-70", children: [
32
+ /* @__PURE__ */ jsx("span", { className: "inline-flex size-5 items-center justify-center border border-current text-xs", children: "\u2713" }),
33
+ proof
34
+ ] })
35
+ ] }),
36
+ visual && /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center", children: visual })
37
+ ]
38
+ }
39
+ ) });
40
+ }
41
+
42
+ export { BrutalHero };
43
+ //# sourceMappingURL=chunk-3HN3QP23.js.map
44
+ //# sourceMappingURL=chunk-3HN3QP23.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/brutal/hero.tsx"],"names":[],"mappings":";;;;;AAiBO,SAAS,UAAA,CAAW;AAAA,EACzB,KAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA,GAAU,GAAA;AAAA,EACV,UAAA,GAAa,KAAA;AAAA,EACb,MAAA;AAAA,EACA,KAAA,GAAQ,OAAA;AAAA,EACR,KAAA;AAAA,EACA;AACF,CAAA,EAAoB;AAClB,EAAA,uBACE,GAAA,CAAC,aAAA,EAAA,EAAc,KAAA,EAAc,OAAA,EAAQ,MAAK,SAAA,EACxC,QAAA,kBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,0BAAA;AAAA,QACA,SAAS,0BAAA,GAA6B;AAAA,OACxC;AAAA,MAGA,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,qBAAA,EACZ,QAAA,EAAA;AAAA,UAAA,KAAA,oBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kJAAA,EACZ,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,0BAGF,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,6BAAA,EAA+B,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,0BAEtD,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oCAAA,EAAsC,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,0BAE/D,GAAA,CAAC,KAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,SAAS,UAAA,EAAY,IAAA,EAAK,IAAA,EAAK,MAAA,sBAAS,GAAA,EAAA,EAAE,IAAA,EAAM,OAAA,EAAS,CAAA,EAC9D,mBACH,CAAA,EACF,CAAA;AAAA,UAEC,KAAA,oBACC,IAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,wDAAA,EACX,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,8EAAA,EAA+E,QAAA,EAAA,QAAA,EAE/F,CAAA;AAAA,YACC;AAAA,WAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QAGC,MAAA,oBAAU,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,oCAAoC,QAAA,EAAA,MAAA,EAAO;AAAA;AAAA;AAAA,GACvE,EACF,CAAA;AAEJ","file":"chunk-3HN3QP23.js","sourcesContent":["import { cn } from \"../../lib/utils\";\nimport { Button } from \"../ui/button\";\nimport { BrutalSection } from \"./section\";\n\ninterface BrutalHeroProps {\n badge?: string;\n headline: string;\n description: string;\n ctaText: string;\n ctaHref?: string;\n ctaVariant?: \"cta\" | \"brand\" | \"default\";\n visual?: React.ReactNode;\n color?: \"white\" | \"brand\" | \"brand-muted\" | \"gray\";\n proof?: string;\n className?: string;\n}\n\nexport function BrutalHero({\n badge,\n headline,\n description,\n ctaText,\n ctaHref = \"#\",\n ctaVariant = \"cta\",\n visual,\n color = \"brand\",\n proof,\n className,\n}: BrutalHeroProps) {\n return (\n <BrutalSection color={color} padding=\"lg\" className={className}>\n <div\n className={cn(\n \"grid items-center gap-12\",\n visual ? \"lg:grid-cols-2 lg:gap-16\" : \"max-w-3xl\"\n )}\n >\n {/* Text side */}\n <div className=\"flex flex-col gap-6\">\n {badge && (\n <div className=\"inline-flex w-fit border-brutal border-foreground bg-background px-3 py-1 font-mono text-xs font-bold uppercase tracking-widest shadow-brutal-sm\">\n {badge}\n </div>\n )}\n\n <h1 className=\"brutal-display text-balance\">{headline}</h1>\n\n <p className=\"brutal-body-lg max-w-lg opacity-80\">{description}</p>\n\n <div>\n <Button variant={ctaVariant} size=\"xl\" render={<a href={ctaHref} />}>\n {ctaText}\n </Button>\n </div>\n\n {proof && (\n <p className=\"flex items-center gap-2 text-sm font-medium opacity-70\">\n <span className=\"inline-flex size-5 items-center justify-center border border-current text-xs\">\n ✓\n </span>\n {proof}\n </p>\n )}\n </div>\n\n {/* Visual side */}\n {visual && <div className=\"flex items-center justify-center\">{visual}</div>}\n </div>\n </BrutalSection>\n );\n}\n"]}
@@ -0,0 +1,76 @@
1
+ import { cn } from './chunk-H6SOU4UG.js';
2
+ import { cva } from 'class-variance-authority';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ var alertVariants = cva(
6
+ "group/alert relative grid w-full gap-0.5 rounded-lg border-brutal border-foreground shadow-brutal-sm px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4",
7
+ {
8
+ variants: {
9
+ variant: {
10
+ default: "bg-card text-card-foreground",
11
+ destructive: "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"
12
+ }
13
+ },
14
+ defaultVariants: {
15
+ variant: "default"
16
+ }
17
+ }
18
+ );
19
+ function Alert({
20
+ className,
21
+ variant,
22
+ ...props
23
+ }) {
24
+ return /* @__PURE__ */ jsx(
25
+ "div",
26
+ {
27
+ "data-slot": "alert",
28
+ role: "alert",
29
+ className: cn(alertVariants({ variant }), className),
30
+ ...props
31
+ }
32
+ );
33
+ }
34
+ function AlertTitle({ className, ...props }) {
35
+ return /* @__PURE__ */ jsx(
36
+ "div",
37
+ {
38
+ "data-slot": "alert-title",
39
+ className: cn(
40
+ "font-bold group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground",
41
+ className
42
+ ),
43
+ ...props
44
+ }
45
+ );
46
+ }
47
+ function AlertDescription({
48
+ className,
49
+ ...props
50
+ }) {
51
+ return /* @__PURE__ */ jsx(
52
+ "div",
53
+ {
54
+ "data-slot": "alert-description",
55
+ className: cn(
56
+ "text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",
57
+ className
58
+ ),
59
+ ...props
60
+ }
61
+ );
62
+ }
63
+ function AlertAction({ className, ...props }) {
64
+ return /* @__PURE__ */ jsx(
65
+ "div",
66
+ {
67
+ "data-slot": "alert-action",
68
+ className: cn("absolute top-2 right-2", className),
69
+ ...props
70
+ }
71
+ );
72
+ }
73
+
74
+ export { Alert, AlertAction, AlertDescription, AlertTitle };
75
+ //# sourceMappingURL=chunk-4A3EQV6F.js.map
76
+ //# sourceMappingURL=chunk-4A3EQV6F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/alert.tsx"],"names":[],"mappings":";;;;AAKA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,qWAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,8BAAA;AAAA,QACT,WAAA,EACE;AAAA;AACJ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;AAEA,SAAS,KAAA,CAAM;AAAA,EACb,SAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqE;AACnE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,IAAA,EAAK,OAAA;AAAA,MACL,WAAW,EAAA,CAAG,aAAA,CAAc,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MAClD,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,UAAA,CAAW,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACxE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,mHAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAgC;AAC9B,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,4JAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACzE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,wBAAA,EAA0B,SAAS,CAAA;AAAA,MAChD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-4A3EQV6F.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst alertVariants = cva(\n \"group/alert relative grid w-full gap-0.5 rounded-lg border-brutal border-foreground shadow-brutal-sm px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"font-bold group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-action\"\n className={cn(\"absolute top-2 right-2\", className)}\n {...props}\n />\n )\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertAction }\n"]}
@@ -0,0 +1,100 @@
1
+ import { cn } from './chunk-H6SOU4UG.js';
2
+ import { Avatar as Avatar$1 } from '@base-ui/react/avatar';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ function Avatar({
6
+ className,
7
+ size = "default",
8
+ ...props
9
+ }) {
10
+ return /* @__PURE__ */ jsx(
11
+ Avatar$1.Root,
12
+ {
13
+ "data-slot": "avatar",
14
+ "data-size": size,
15
+ className: cn(
16
+ "group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten",
17
+ className
18
+ ),
19
+ ...props
20
+ }
21
+ );
22
+ }
23
+ function AvatarImage({ className, ...props }) {
24
+ return /* @__PURE__ */ jsx(
25
+ Avatar$1.Image,
26
+ {
27
+ "data-slot": "avatar-image",
28
+ className: cn(
29
+ "aspect-square size-full rounded-full object-cover",
30
+ className
31
+ ),
32
+ ...props
33
+ }
34
+ );
35
+ }
36
+ function AvatarFallback({
37
+ className,
38
+ ...props
39
+ }) {
40
+ return /* @__PURE__ */ jsx(
41
+ Avatar$1.Fallback,
42
+ {
43
+ "data-slot": "avatar-fallback",
44
+ className: cn(
45
+ "flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",
46
+ className
47
+ ),
48
+ ...props
49
+ }
50
+ );
51
+ }
52
+ function AvatarBadge({ className, ...props }) {
53
+ return /* @__PURE__ */ jsx(
54
+ "span",
55
+ {
56
+ "data-slot": "avatar-badge",
57
+ className: cn(
58
+ "absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none",
59
+ "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
60
+ "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
61
+ "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
62
+ className
63
+ ),
64
+ ...props
65
+ }
66
+ );
67
+ }
68
+ function AvatarGroup({ className, ...props }) {
69
+ return /* @__PURE__ */ jsx(
70
+ "div",
71
+ {
72
+ "data-slot": "avatar-group",
73
+ className: cn(
74
+ "group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",
75
+ className
76
+ ),
77
+ ...props
78
+ }
79
+ );
80
+ }
81
+ function AvatarGroupCount({
82
+ className,
83
+ ...props
84
+ }) {
85
+ return /* @__PURE__ */ jsx(
86
+ "div",
87
+ {
88
+ "data-slot": "avatar-group-count",
89
+ className: cn(
90
+ "relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",
91
+ className
92
+ ),
93
+ ...props
94
+ }
95
+ );
96
+ }
97
+
98
+ export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage };
99
+ //# sourceMappingURL=chunk-53KZXLG4.js.map
100
+ //# sourceMappingURL=chunk-53KZXLG4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/avatar.tsx"],"names":["AvatarPrimitive"],"mappings":";;;;AAOA,SAAS,MAAA,CAAO;AAAA,EACd,SAAA;AAAA,EACA,IAAA,GAAO,SAAA;AAAA,EACP,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACE,GAAA;AAAA,IAACA,QAAA,CAAgB,IAAA;AAAA,IAAhB;AAAA,MACC,WAAA,EAAU,QAAA;AAAA,MACV,WAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAW,EAAA;AAAA,QACT,uPAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACzE,EAAA,uBACE,GAAA;AAAA,IAACA,QAAA,CAAgB,KAAA;AAAA,IAAhB;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,mDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAmC;AACjC,EAAA,uBACE,GAAA;AAAA,IAACA,QAAA,CAAgB,QAAA;AAAA,IAAhB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,oIAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAiC;AAC1E,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,0KAAA;AAAA,QACA,+EAAA;AAAA,QACA,2FAAA;AAAA,QACA,+EAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACzE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,qGAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAgC;AAC9B,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,oBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,0VAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-53KZXLG4.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Avatar as AvatarPrimitive } from \"@base-ui/react/avatar\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Avatar({\n className,\n size = \"default\",\n ...props\n}: AvatarPrimitive.Root.Props & {\n size?: \"default\" | \"sm\" | \"lg\"\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(\n \"group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\n \"aspect-square size-full rounded-full object-cover\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: AvatarPrimitive.Fallback.Props) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none\",\n \"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden\",\n \"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroupCount({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n \"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n AvatarGroup,\n AvatarGroupCount,\n AvatarBadge,\n}\n"]}
@@ -0,0 +1,60 @@
1
+ import { cn } from './chunk-H6SOU4UG.js';
2
+ import { ScrollArea as ScrollArea$1 } from '@base-ui/react/scroll-area';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+
5
+ function ScrollArea({
6
+ className,
7
+ children,
8
+ ...props
9
+ }) {
10
+ return /* @__PURE__ */ jsxs(
11
+ ScrollArea$1.Root,
12
+ {
13
+ "data-slot": "scroll-area",
14
+ className: cn("relative", className),
15
+ ...props,
16
+ children: [
17
+ /* @__PURE__ */ jsx(
18
+ ScrollArea$1.Viewport,
19
+ {
20
+ "data-slot": "scroll-area-viewport",
21
+ className: "size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",
22
+ children
23
+ }
24
+ ),
25
+ /* @__PURE__ */ jsx(ScrollBar, {}),
26
+ /* @__PURE__ */ jsx(ScrollArea$1.Corner, {})
27
+ ]
28
+ }
29
+ );
30
+ }
31
+ function ScrollBar({
32
+ className,
33
+ orientation = "vertical",
34
+ ...props
35
+ }) {
36
+ return /* @__PURE__ */ jsx(
37
+ ScrollArea$1.Scrollbar,
38
+ {
39
+ "data-slot": "scroll-area-scrollbar",
40
+ "data-orientation": orientation,
41
+ orientation,
42
+ className: cn(
43
+ "flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent",
44
+ className
45
+ ),
46
+ ...props,
47
+ children: /* @__PURE__ */ jsx(
48
+ ScrollArea$1.Thumb,
49
+ {
50
+ "data-slot": "scroll-area-thumb",
51
+ className: "relative flex-1 rounded-full bg-foreground/20"
52
+ }
53
+ )
54
+ }
55
+ );
56
+ }
57
+
58
+ export { ScrollArea, ScrollBar };
59
+ //# sourceMappingURL=chunk-5JCN6EQG.js.map
60
+ //# sourceMappingURL=chunk-5JCN6EQG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/scroll-area.tsx"],"names":["ScrollAreaPrimitive"],"mappings":";;;;AAOA,SAAS,UAAA,CAAW;AAAA,EAClB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAmC;AACjC,EAAA,uBACE,IAAA;AAAA,IAACA,YAAA,CAAoB,IAAA;AAAA,IAApB;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,UAAA,EAAY,SAAS,CAAA;AAAA,MAClC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAACA,YAAA,CAAoB,QAAA;AAAA,UAApB;AAAA,YACC,WAAA,EAAU,sBAAA;AAAA,YACV,SAAA,EAAU,oJAAA;AAAA,YAET;AAAA;AAAA,SACH;AAAA,4BACC,SAAA,EAAA,EAAU,CAAA;AAAA,wBACX,GAAA,CAACA,YAAA,CAAoB,MAAA,EAApB,EAA2B;AAAA;AAAA;AAAA,GAC9B;AAEJ;AAEA,SAAS,SAAA,CAAU;AAAA,EACjB,SAAA;AAAA,EACA,WAAA,GAAc,UAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAwC;AACtC,EAAA,uBACE,GAAA;AAAA,IAACA,YAAA,CAAoB,SAAA;AAAA,IAApB;AAAA,MACC,WAAA,EAAU,uBAAA;AAAA,MACV,kBAAA,EAAkB,WAAA;AAAA,MAClB,WAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,oQAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAACA,YAAA,CAAoB,KAAA;AAAA,QAApB;AAAA,UACC,WAAA,EAAU,mBAAA;AAAA,UACV,SAAA,EAAU;AAAA;AAAA;AACZ;AAAA,GACF;AAEJ","file":"chunk-5JCN6EQG.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { ScrollArea as ScrollAreaPrimitive } from \"@base-ui/react/scroll-area\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: ScrollAreaPrimitive.Root.Props) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n )\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: ScrollAreaPrimitive.Scrollbar.Props) {\n return (\n <ScrollAreaPrimitive.Scrollbar\n data-slot=\"scroll-area-scrollbar\"\n data-orientation={orientation}\n orientation={orientation}\n className={cn(\n \"flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.Thumb\n data-slot=\"scroll-area-thumb\"\n className=\"relative flex-1 rounded-full bg-foreground/20\"\n />\n </ScrollAreaPrimitive.Scrollbar>\n )\n}\n\nexport { ScrollArea, ScrollBar }\n"]}
@@ -0,0 +1,20 @@
1
+ import { cn } from './chunk-H6SOU4UG.js';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ function Label({ className, ...props }) {
5
+ return /* @__PURE__ */ jsx(
6
+ "label",
7
+ {
8
+ "data-slot": "label",
9
+ className: cn(
10
+ "flex items-center gap-2 text-sm leading-none font-bold select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
11
+ className
12
+ ),
13
+ ...props
14
+ }
15
+ );
16
+ }
17
+
18
+ export { Label };
19
+ //# sourceMappingURL=chunk-5JEBZUEI.js.map
20
+ //# sourceMappingURL=chunk-5JEBZUEI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/label.tsx"],"names":[],"mappings":";;;AAMA,SAAS,KAAA,CAAM,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkC;AACrE,EAAA,uBACE,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,mNAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-5JEBZUEI.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Label({ className, ...props }: React.ComponentProps<\"label\">) {\n return (\n <label\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm leading-none font-bold select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n"]}
@@ -0,0 +1,44 @@
1
+ import { cn } from './chunk-H6SOU4UG.js';
2
+ import { Toggle as Toggle$1 } from '@base-ui/react/toggle';
3
+ import { cva } from 'class-variance-authority';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ var toggleVariants = cva(
7
+ "group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:border-brutal aria-pressed:border-foreground aria-pressed:bg-muted aria-pressed:shadow-brutal-sm data-[state=on]:border-brutal data-[state=on]:border-foreground data-[state=on]:bg-muted data-[state=on]:shadow-brutal-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
8
+ {
9
+ variants: {
10
+ variant: {
11
+ default: "bg-transparent",
12
+ outline: "border-brutal border-foreground bg-transparent shadow-brutal-sm hover:bg-muted"
13
+ },
14
+ size: {
15
+ default: "h-8 min-w-8 px-2",
16
+ sm: "h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-1.5 text-[0.8rem]",
17
+ lg: "h-9 min-w-9 px-2.5"
18
+ }
19
+ },
20
+ defaultVariants: {
21
+ variant: "default",
22
+ size: "default"
23
+ }
24
+ }
25
+ );
26
+ function Toggle({
27
+ className,
28
+ variant = "default",
29
+ size = "default",
30
+ ...props
31
+ }) {
32
+ return /* @__PURE__ */ jsx(
33
+ Toggle$1,
34
+ {
35
+ "data-slot": "toggle",
36
+ className: cn(toggleVariants({ variant, size, className })),
37
+ ...props
38
+ }
39
+ );
40
+ }
41
+
42
+ export { Toggle, toggleVariants };
43
+ //# sourceMappingURL=chunk-6APJMAO7.js.map
44
+ //# sourceMappingURL=chunk-6APJMAO7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/toggle.tsx"],"names":["TogglePrimitive"],"mappings":";;;;;AAOA,IAAM,cAAA,GAAiB,GAAA;AAAA,EACrB,mqBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,gBAAA;AAAA,QACT,OAAA,EAAS;AAAA,OACX;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,kBAAA;AAAA,QACT,EAAA,EAAI,uEAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAEA,SAAS,MAAA,CAAO;AAAA,EACd,SAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,IAAA,GAAO,SAAA;AAAA,EACP,GAAG;AACL,CAAA,EAAgE;AAC9D,EAAA,uBACE,GAAA;AAAA,IAACA,QAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,GAAG,cAAA,CAAe,EAAE,SAAS,IAAA,EAAM,SAAA,EAAW,CAAC,CAAA;AAAA,MACzD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-6APJMAO7.js","sourcesContent":["\"use client\"\n\nimport { Toggle as TogglePrimitive } from \"@base-ui/react/toggle\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst toggleVariants = cva(\n \"group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:border-brutal aria-pressed:border-foreground aria-pressed:bg-muted aria-pressed:shadow-brutal-sm data-[state=on]:border-brutal data-[state=on]:border-foreground data-[state=on]:bg-muted data-[state=on]:shadow-brutal-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline: \"border-brutal border-foreground bg-transparent shadow-brutal-sm hover:bg-muted\",\n },\n size: {\n default: \"h-8 min-w-8 px-2\",\n sm: \"h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-1.5 text-[0.8rem]\",\n lg: \"h-9 min-w-9 px-2.5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Toggle({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: TogglePrimitive.Props & VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n"]}
@@ -0,0 +1,187 @@
1
+ import { cn } from './chunk-H6SOU4UG.js';
2
+ import { Select as Select$1 } from '@base-ui/react/select';
3
+ import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from 'lucide-react';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ var Select = Select$1.Root;
7
+ function SelectGroup({ className, ...props }) {
8
+ return /* @__PURE__ */ jsx(
9
+ Select$1.Group,
10
+ {
11
+ "data-slot": "select-group",
12
+ className: cn("scroll-my-1 p-1", className),
13
+ ...props
14
+ }
15
+ );
16
+ }
17
+ function SelectValue({ className, ...props }) {
18
+ return /* @__PURE__ */ jsx(
19
+ Select$1.Value,
20
+ {
21
+ "data-slot": "select-value",
22
+ className: cn("flex flex-1 text-left", className),
23
+ ...props
24
+ }
25
+ );
26
+ }
27
+ function SelectTrigger({
28
+ className,
29
+ size = "default",
30
+ children,
31
+ ...props
32
+ }) {
33
+ return /* @__PURE__ */ jsxs(
34
+ Select$1.Trigger,
35
+ {
36
+ "data-slot": "select-trigger",
37
+ "data-size": size,
38
+ className: cn(
39
+ "flex w-fit items-center justify-between gap-1.5 rounded-lg border-brutal border-foreground bg-background py-2 pr-2 pl-2.5 text-sm whitespace-nowrap shadow-brutal-sm transition-all outline-none select-none hover:-translate-x-0.5 hover:-translate-y-0.5 hover:shadow-brutal focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
40
+ className
41
+ ),
42
+ ...props,
43
+ children: [
44
+ children,
45
+ /* @__PURE__ */ jsx(
46
+ Select$1.Icon,
47
+ {
48
+ render: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" })
49
+ }
50
+ )
51
+ ]
52
+ }
53
+ );
54
+ }
55
+ function SelectContent({
56
+ className,
57
+ children,
58
+ side = "bottom",
59
+ sideOffset = 4,
60
+ align = "center",
61
+ alignOffset = 0,
62
+ alignItemWithTrigger = true,
63
+ ...props
64
+ }) {
65
+ return /* @__PURE__ */ jsx(Select$1.Portal, { children: /* @__PURE__ */ jsx(
66
+ Select$1.Positioner,
67
+ {
68
+ side,
69
+ sideOffset,
70
+ align,
71
+ alignOffset,
72
+ alignItemWithTrigger,
73
+ className: "isolate z-50",
74
+ children: /* @__PURE__ */ jsxs(
75
+ Select$1.Popup,
76
+ {
77
+ "data-slot": "select-content",
78
+ "data-align-trigger": alignItemWithTrigger,
79
+ className: cn("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg border-brutal border-foreground bg-popover text-popover-foreground shadow-brutal duration-100 data-[align-trigger=true]:animate-none 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 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
80
+ ...props,
81
+ children: [
82
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
83
+ /* @__PURE__ */ jsx(Select$1.List, { children }),
84
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
85
+ ]
86
+ }
87
+ )
88
+ }
89
+ ) });
90
+ }
91
+ function SelectLabel({
92
+ className,
93
+ ...props
94
+ }) {
95
+ return /* @__PURE__ */ jsx(
96
+ Select$1.GroupLabel,
97
+ {
98
+ "data-slot": "select-label",
99
+ className: cn("px-1.5 py-1 text-xs text-muted-foreground", className),
100
+ ...props
101
+ }
102
+ );
103
+ }
104
+ function SelectItem({
105
+ className,
106
+ children,
107
+ ...props
108
+ }) {
109
+ return /* @__PURE__ */ jsxs(
110
+ Select$1.Item,
111
+ {
112
+ "data-slot": "select-item",
113
+ className: cn(
114
+ "relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
115
+ className
116
+ ),
117
+ ...props,
118
+ children: [
119
+ /* @__PURE__ */ jsx(Select$1.ItemText, { className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap", children }),
120
+ /* @__PURE__ */ jsx(
121
+ Select$1.ItemIndicator,
122
+ {
123
+ render: /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }),
124
+ children: /* @__PURE__ */ jsx(CheckIcon, { className: "pointer-events-none" })
125
+ }
126
+ )
127
+ ]
128
+ }
129
+ );
130
+ }
131
+ function SelectSeparator({
132
+ className,
133
+ ...props
134
+ }) {
135
+ return /* @__PURE__ */ jsx(
136
+ Select$1.Separator,
137
+ {
138
+ "data-slot": "select-separator",
139
+ className: cn("pointer-events-none -mx-1 my-1 h-px bg-border", className),
140
+ ...props
141
+ }
142
+ );
143
+ }
144
+ function SelectScrollUpButton({
145
+ className,
146
+ ...props
147
+ }) {
148
+ return /* @__PURE__ */ jsx(
149
+ Select$1.ScrollUpArrow,
150
+ {
151
+ "data-slot": "select-scroll-up-button",
152
+ className: cn(
153
+ "top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
154
+ className
155
+ ),
156
+ ...props,
157
+ children: /* @__PURE__ */ jsx(
158
+ ChevronUpIcon,
159
+ {}
160
+ )
161
+ }
162
+ );
163
+ }
164
+ function SelectScrollDownButton({
165
+ className,
166
+ ...props
167
+ }) {
168
+ return /* @__PURE__ */ jsx(
169
+ Select$1.ScrollDownArrow,
170
+ {
171
+ "data-slot": "select-scroll-down-button",
172
+ className: cn(
173
+ "bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
174
+ className
175
+ ),
176
+ ...props,
177
+ children: /* @__PURE__ */ jsx(
178
+ ChevronDownIcon,
179
+ {}
180
+ )
181
+ }
182
+ );
183
+ }
184
+
185
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
186
+ //# sourceMappingURL=chunk-6UKMYVHC.js.map
187
+ //# sourceMappingURL=chunk-6UKMYVHC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/select.tsx"],"names":["SelectPrimitive"],"mappings":"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","file":"chunk-6UKMYVHC.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\"\n\nimport { cn } from \"../../lib/utils\"\nimport { ChevronDownIcon, CheckIcon, ChevronUpIcon } from \"lucide-react\"\n\nconst Select = SelectPrimitive.Root\n\nfunction SelectGroup({ className, ...props }: SelectPrimitive.Group.Props) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={cn(\"scroll-my-1 p-1\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectValue({ className, ...props }: SelectPrimitive.Value.Props) {\n return (\n <SelectPrimitive.Value\n data-slot=\"select-value\"\n className={cn(\"flex flex-1 text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: SelectPrimitive.Trigger.Props & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"flex w-fit items-center justify-between gap-1.5 rounded-lg border-brutal border-foreground bg-background py-2 pr-2 pl-2.5 text-sm whitespace-nowrap shadow-brutal-sm transition-all outline-none select-none hover:-translate-x-0.5 hover:-translate-y-0.5 hover:shadow-brutal focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon\n render={\n <ChevronDownIcon className=\"pointer-events-none size-4 text-muted-foreground\" />\n }\n />\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n side = \"bottom\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n alignItemWithTrigger = true,\n ...props\n}: SelectPrimitive.Popup.Props &\n Pick<\n SelectPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\" | \"alignItemWithTrigger\"\n >) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n alignItemWithTrigger={alignItemWithTrigger}\n className=\"isolate z-50\"\n >\n <SelectPrimitive.Popup\n data-slot=\"select-content\"\n data-align-trigger={alignItemWithTrigger}\n className={cn(\"relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg border-brutal border-foreground bg-popover text-popover-foreground shadow-brutal duration-100 data-[align-trigger=true]:animate-none 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 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.List>{children}</SelectPrimitive.List>\n <SelectScrollDownButton />\n </SelectPrimitive.Popup>\n </SelectPrimitive.Positioner>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: SelectPrimitive.GroupLabel.Props) {\n return (\n <SelectPrimitive.GroupLabel\n data-slot=\"select-label\"\n className={cn(\"px-1.5 py-1 text-xs text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: SelectPrimitive.Item.Props) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <SelectPrimitive.ItemText className=\"flex flex-1 shrink-0 gap-2 whitespace-nowrap\">\n {children}\n </SelectPrimitive.ItemText>\n <SelectPrimitive.ItemIndicator\n render={\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\" />\n }\n >\n <CheckIcon className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: SelectPrimitive.Separator.Props) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"pointer-events-none -mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpArrow>) {\n return (\n <SelectPrimitive.ScrollUpArrow\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon\n />\n </SelectPrimitive.ScrollUpArrow>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownArrow>) {\n return (\n <SelectPrimitive.ScrollDownArrow\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon\n />\n </SelectPrimitive.ScrollDownArrow>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"]}