@uselets/ui 0.2.0 → 0.4.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 (171) hide show
  1. package/README.md +90 -2
  2. package/dist/components/accordion.d.ts +31 -0
  3. package/dist/components/accordion.js +2 -0
  4. package/dist/components/accordion.js.map +1 -0
  5. package/dist/components/alert-dialog.d.ts +74 -0
  6. package/dist/components/alert-dialog.js +2 -0
  7. package/dist/components/alert-dialog.js.map +1 -0
  8. package/dist/components/alert.d.ts +1 -1
  9. package/dist/components/alert.js +1 -1
  10. package/dist/components/alert.js.map +1 -1
  11. package/dist/components/avatar.d.ts +4 -4
  12. package/dist/components/avatar.js +1 -1
  13. package/dist/components/avatar.js.map +1 -1
  14. package/dist/components/badge.d.ts +22 -0
  15. package/dist/components/badge.js +2 -0
  16. package/dist/components/badge.js.map +1 -0
  17. package/dist/components/breadcrumb.d.ts +47 -0
  18. package/dist/components/breadcrumb.js +2 -0
  19. package/dist/components/breadcrumb.js.map +1 -0
  20. package/dist/components/button-group.d.ts +33 -0
  21. package/dist/components/button-group.js +2 -0
  22. package/dist/components/button-group.js.map +1 -0
  23. package/dist/components/button.d.ts +8 -5
  24. package/dist/components/button.js +1 -1
  25. package/dist/components/button.js.map +1 -1
  26. package/dist/components/calendar.d.ts +34 -0
  27. package/dist/components/calendar.js +2 -0
  28. package/dist/components/calendar.js.map +1 -0
  29. package/dist/components/card.js +1 -1
  30. package/dist/components/card.js.map +1 -1
  31. package/dist/components/carousel.d.ts +62 -0
  32. package/dist/components/carousel.js +2 -0
  33. package/dist/components/carousel.js.map +1 -0
  34. package/dist/components/center.d.ts +21 -0
  35. package/dist/components/center.js +2 -0
  36. package/dist/components/center.js.map +1 -0
  37. package/dist/components/chart.d.ts +263 -0
  38. package/dist/components/chart.js +8 -0
  39. package/dist/components/chart.js.map +1 -0
  40. package/dist/components/checkbox.d.ts +20 -0
  41. package/dist/components/checkbox.js +2 -0
  42. package/dist/components/checkbox.js.map +1 -0
  43. package/dist/components/collapsible.d.ts +20 -0
  44. package/dist/components/collapsible.js +2 -0
  45. package/dist/components/collapsible.js.map +1 -0
  46. package/dist/components/combobox.d.ts +103 -0
  47. package/dist/components/combobox.js +2 -0
  48. package/dist/components/combobox.js.map +1 -0
  49. package/dist/components/command.d.ts +65 -0
  50. package/dist/components/command.js +2 -0
  51. package/dist/components/command.js.map +1 -0
  52. package/dist/components/container.d.ts +19 -0
  53. package/dist/components/container.js +2 -0
  54. package/dist/components/container.js.map +1 -0
  55. package/dist/components/dialog.d.ts +18 -10
  56. package/dist/components/dialog.js +1 -1
  57. package/dist/components/dialog.js.map +1 -1
  58. package/dist/components/drawer.d.ts +1 -1
  59. package/dist/components/drawer.js +1 -1
  60. package/dist/components/drawer.js.map +1 -1
  61. package/dist/components/dropdown-menu.d.ts +36 -42
  62. package/dist/components/dropdown-menu.js +1 -1
  63. package/dist/components/dropdown-menu.js.map +1 -1
  64. package/dist/components/empty.d.ts +1 -1
  65. package/dist/components/empty.js +1 -1
  66. package/dist/components/empty.js.map +1 -1
  67. package/dist/components/field.d.ts +2 -2
  68. package/dist/components/field.js +1 -1
  69. package/dist/components/field.js.map +1 -1
  70. package/dist/components/group.d.ts +21 -0
  71. package/dist/components/group.js +2 -0
  72. package/dist/components/group.js.map +1 -0
  73. package/dist/components/hover-card.d.ts +24 -0
  74. package/dist/components/hover-card.js +2 -0
  75. package/dist/components/hover-card.js.map +1 -0
  76. package/dist/components/input-group.d.ts +51 -0
  77. package/dist/components/input-group.js +2 -0
  78. package/dist/components/input-group.js.map +1 -0
  79. package/dist/components/input-otp.js +1 -1
  80. package/dist/components/input-otp.js.map +1 -1
  81. package/dist/components/input.js +1 -1
  82. package/dist/components/input.js.map +1 -1
  83. package/dist/components/kbd.d.ts +6 -3
  84. package/dist/components/kbd.js +1 -1
  85. package/dist/components/kbd.js.map +1 -1
  86. package/dist/components/label.d.ts +2 -1
  87. package/dist/components/label.js +1 -1
  88. package/dist/components/label.js.map +1 -1
  89. package/dist/components/native-select.js +1 -1
  90. package/dist/components/native-select.js.map +1 -1
  91. package/dist/components/navigation-menu.d.ts +56 -0
  92. package/dist/components/navigation-menu.js +2 -0
  93. package/dist/components/navigation-menu.js.map +1 -0
  94. package/dist/components/pagination.d.ts +53 -0
  95. package/dist/components/pagination.js +2 -0
  96. package/dist/components/pagination.js.map +1 -0
  97. package/dist/components/popover.d.ts +43 -0
  98. package/dist/components/popover.js +2 -0
  99. package/dist/components/popover.js.map +1 -0
  100. package/dist/components/progress.d.ts +15 -0
  101. package/dist/components/progress.js +2 -0
  102. package/dist/components/progress.js.map +1 -0
  103. package/dist/components/radio-group.d.ts +19 -0
  104. package/dist/components/radio-group.js +2 -0
  105. package/dist/components/radio-group.js.map +1 -0
  106. package/dist/components/resizable.d.ts +25 -0
  107. package/dist/components/resizable.js +2 -0
  108. package/dist/components/resizable.js.map +1 -0
  109. package/dist/components/scroll-area.d.ts +21 -0
  110. package/dist/components/scroll-area.js +2 -0
  111. package/dist/components/scroll-area.js.map +1 -0
  112. package/dist/components/select.d.ts +15 -17
  113. package/dist/components/select.js +1 -1
  114. package/dist/components/select.js.map +1 -1
  115. package/dist/components/separator.d.ts +4 -2
  116. package/dist/components/separator.js +1 -1
  117. package/dist/components/separator.js.map +1 -1
  118. package/dist/components/sheet.d.ts +61 -0
  119. package/dist/components/sheet.js +2 -0
  120. package/dist/components/sheet.js.map +1 -0
  121. package/dist/components/sidebar.d.ts +192 -0
  122. package/dist/components/sidebar.js +2 -0
  123. package/dist/components/sidebar.js.map +1 -0
  124. package/dist/components/skeleton.js +1 -1
  125. package/dist/components/skeleton.js.map +1 -1
  126. package/dist/components/slider.d.ts +18 -0
  127. package/dist/components/slider.js +2 -0
  128. package/dist/components/slider.js.map +1 -0
  129. package/dist/components/sonner.js +1 -1
  130. package/dist/components/sonner.js.map +1 -1
  131. package/dist/components/spinner.d.ts +10 -2
  132. package/dist/components/spinner.js +1 -1
  133. package/dist/components/spinner.js.map +1 -1
  134. package/dist/components/stack.d.ts +19 -0
  135. package/dist/components/stack.js +2 -0
  136. package/dist/components/stack.js.map +1 -0
  137. package/dist/components/switch.d.ts +17 -0
  138. package/dist/components/switch.js +2 -0
  139. package/dist/components/switch.js.map +1 -0
  140. package/dist/components/table.d.ts +48 -0
  141. package/dist/components/table.js +2 -0
  142. package/dist/components/table.js.map +1 -0
  143. package/dist/components/tabs.d.ts +36 -0
  144. package/dist/components/tabs.js +2 -0
  145. package/dist/components/tabs.js.map +1 -0
  146. package/dist/components/textarea.d.ts +13 -0
  147. package/dist/components/textarea.js +2 -0
  148. package/dist/components/textarea.js.map +1 -0
  149. package/dist/components/theme.d.ts +5 -2
  150. package/dist/components/theme.js +1 -1
  151. package/dist/components/theme.js.map +1 -1
  152. package/dist/components/toggle-group.d.ts +32 -0
  153. package/dist/components/toggle-group.js +2 -0
  154. package/dist/components/toggle-group.js.map +1 -0
  155. package/dist/components/toggle.d.ts +22 -0
  156. package/dist/components/toggle.js +2 -0
  157. package/dist/components/toggle.js.map +1 -0
  158. package/dist/components/tooltip.d.ts +29 -0
  159. package/dist/components/tooltip.js +2 -0
  160. package/dist/components/tooltip.js.map +1 -0
  161. package/dist/hooks/use-mobile.d.ts +7 -0
  162. package/dist/hooks/use-mobile.js +2 -0
  163. package/dist/hooks/use-mobile.js.map +1 -0
  164. package/dist/index.d.ts +42 -5
  165. package/dist/index.js +1 -1
  166. package/dist/lib/utils.js +1 -1
  167. package/dist/lib/utils.js.map +1 -1
  168. package/dist/styles.css +1436 -3
  169. package/package.json +21 -10
  170. package/dist/styles.css.map +0 -1
  171. package/dist/styles.js +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @uselets/ui
2
2
 
3
- React component library for the Lets design system.
3
+ React component library for the LET'S design system.
4
4
 
5
5
  ## Requirements
6
6
 
@@ -77,8 +77,67 @@ export function Example() {
77
77
 
78
78
  ```tsx
79
79
  import { Button } from '@uselets/ui/button'
80
+ import { useIsMobile } from '@uselets/ui/use-mobile'
80
81
  ```
81
82
 
83
+ ## Theme tokens
84
+
85
+ The package stylesheet (`@uselets/ui/styles.css`) ships with the default LET'S color theme in
86
+ [`globals.css`](./src/styles/globals.css).
87
+
88
+ ### Public palette families
89
+
90
+ The palette follows the Tailwind and shadcn convention of complete `50..950` scales.
91
+
92
+ - `brand`
93
+ - `zinc`
94
+ - `red`
95
+ - `blue`
96
+ - `indigo`
97
+ - `pink`
98
+ - `green`
99
+
100
+ Each family is exposed in two layers:
101
+
102
+ - CSS variables such as `--brand-500` and `--zinc-900`
103
+ - Tailwind v4 theme utilities such as `bg-brand-500`, `text-zinc-900`, `border-red-300`
104
+
105
+ ### Palette preview
106
+
107
+ | Family | Reference token | Preview |
108
+ | --- | --- | --- |
109
+ | `brand` | `brand-500` | <span style="display:inline-block;width:1.25rem;height:1.25rem;border-radius:0.375rem;border:1px solid #d9d9d9;background:#ff5c35;"></span> |
110
+ | `zinc` | `zinc-500` | <span style="display:inline-block;width:1.25rem;height:1.25rem;border-radius:0.375rem;border:1px solid #d9d9d9;background:#989898;"></span> |
111
+ | `red` | `red-500` | <span style="display:inline-block;width:1.25rem;height:1.25rem;border-radius:0.375rem;border:1px solid #d9d9d9;background:#cf1b57;"></span> |
112
+ | `blue` | `blue-500` | <span style="display:inline-block;width:1.25rem;height:1.25rem;border-radius:0.375rem;border:1px solid #d9d9d9;background:#408ec5;"></span> |
113
+ | `indigo` | `indigo-500` | <span style="display:inline-block;width:1.25rem;height:1.25rem;border-radius:0.375rem;border:1px solid #d9d9d9;background:#5c62d6;"></span> |
114
+ | `pink` | `pink-500` | <span style="display:inline-block;width:1.25rem;height:1.25rem;border-radius:0.375rem;border:1px solid #d9d9d9;background:#bd138b;"></span> |
115
+ | `green` | `green-500` | <span style="display:inline-block;width:1.25rem;height:1.25rem;border-radius:0.375rem;border:1px solid #d9d9d9;background:#82c91e;"></span> |
116
+
117
+ ### Semantic tokens
118
+
119
+ Use semantic tokens for application UI instead of hardcoding palette steps in components.
120
+
121
+ - Surfaces and text: `background`, `foreground`, `card`, `popover`
122
+ - Actions and emphasis: `primary`, `secondary`, `accent`, `destructive`
123
+ - Supporting tokens: `border`, `input`, `ring`
124
+ - Sidebar tokens: `sidebar`, `sidebar-primary`, `sidebar-accent`, `sidebar-border`, `sidebar-ring`
125
+ - Data viz tokens: `chart-1` to `chart-5`
126
+
127
+ The theme also exposes the shadcn foreground pair for destructive surfaces:
128
+
129
+ - `--destructive-foreground`
130
+ - `text-destructive-foreground`
131
+
132
+ ### Gradient tokens
133
+
134
+ The palette includes named gradient tokens:
135
+
136
+ - `--gradient-primary`
137
+ - `--gradient-secondary`
138
+
139
+ These gradients are documentation and styling primitives. They are not exposed as Tailwind color families.
140
+
82
141
  ## Components
83
142
 
84
143
  You can import from the package root (`@uselets/ui`) or by subpath (`@uselets/ui/<component>`).
@@ -99,12 +158,29 @@ You can import from the package root (`@uselets/ui`) or by subpath (`@uselets/ui
99
158
  | `kbd` | `Kbd`, `KbdGroup` | Keyboard shortcut presentation primitives. |
100
159
  | `label` | `Label` | Styled `<label>` wrapper. |
101
160
  | `native-select` | `NativeSelect`, `NativeSelectOption`, `NativeSelectOptGroup` | Native `<select>` API with `size: 'sm' \| 'default'` (default: `default`). |
161
+ | `popover` | `Popover`, `PopoverTrigger`, `PopoverContent`, `PopoverAnchor`, `PopoverHeader`, `PopoverTitle`, `PopoverDescription` | `PopoverContent` supports positioning props (`side`, `sideOffset`, `align`, `alignOffset`) and can be used in controlled mode via root props (`open`, `onOpenChange`). |
102
162
  | `select` | `Select`, `SelectTrigger`, `SelectValue`, `SelectContent`, `SelectGroup`, `SelectItem`, `SelectLabel`, `SelectSeparator`, `SelectScrollUpButton`, `SelectScrollDownButton` | `SelectTrigger.size: 'sm' \| 'default'`; `SelectContent` supports positioning props (`side`, `sideOffset`, `align`, `alignOffset`, `alignItemWithTrigger`). |
103
163
  | `separator` | `Separator` | `orientation: 'horizontal' \| 'vertical'` (default: `horizontal`). |
104
164
  | `skeleton` | `Skeleton` | Generic loading placeholder block. |
105
- | `spinner` | `Spinner` | Loader icon (`role="status"`), accepts SVG props (`className`, etc.). |
165
+ | `spinner` | `Spinner` | Loader icon (`role="status"`), accepts SVG props and supports `size: 'sm' \| 'default' \| 'lg'` (default: `default`). |
166
+ | `tooltip` | `TooltipProvider`, `Tooltip`, `TooltipTrigger`, `TooltipContent` | `TooltipProvider.delayDuration` controls global hover delay; `Tooltip` supports controlled mode (`open`, `onOpenChange`); `TooltipContent` supports positioning props like `side`, `align`, and `sideOffset`. |
106
167
  | `sonner` | `Toaster`, `toast` | Toaster wrapper around Sonner with theme integration from `next-themes` and custom icons. |
107
168
 
169
+ ### Additional components
170
+
171
+ The package also exports the following modules through the root entrypoint and subpaths:
172
+
173
+ - Layout and disclosure: `Accordion`, `Carousel`, `Center`, `Collapsible`, `Container`, `Group`, `Resizable`, `ScrollArea`, `Sheet`, `Sidebar`, `Stack`, `Tabs`
174
+ - Inputs and selection: `Calendar`, `Combobox`, `InputGroup`, `RadioGroup`, `Slider`, `Switch`, `Textarea`, `Toggle`, `ToggleGroup`
175
+ - Navigation and feedback: `AlertDialog`, `Breadcrumb`, `NavigationMenu`, `Pagination`, `Progress`
176
+ - Data display and utilities: `Badge`, `ButtonGroup`, `Chart`, `Command`, `HoverCard`, `Table`, `ThemeProvider`, `useTheme`, `ModeToggle`
177
+
178
+ Each module exports its public composition parts and prop types from the same import path, for example `@uselets/ui/accordion` or `@uselets/ui`.
179
+
180
+ Layout primitives follow the same pattern: `Stack`, `Group`, and `Center` support `size: 'xs' | 'sm' | 'md' | 'lg' | 'xl'`; `Group` also supports `wrap`; `Center` supports `direction: 'horizontal' | 'vertical'`; and `Container` supports `size: 'sm' | 'md' | 'lg' | 'full'`.
181
+
182
+ Public hooks follow the same rule and are exported from both the package root and their subpath, for example `@uselets/ui` and `@uselets/ui/use-mobile`.
183
+
108
184
  ### Sonner example
109
185
 
110
186
  ```tsx
@@ -120,3 +196,15 @@ export function App() {
120
196
  )
121
197
  }
122
198
  ```
199
+
200
+ ## Tooltip setup
201
+
202
+ For consistent tooltip behavior across the app, wrap your application root with `TooltipProvider`.
203
+
204
+ ```tsx
205
+ import { TooltipProvider } from '@uselets/ui/tooltip'
206
+
207
+ export function AppRoot() {
208
+ return <TooltipProvider delayDuration={200}>{/* app */}</TooltipProvider>
209
+ }
210
+ ```
@@ -0,0 +1,31 @@
1
+ import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import { Accordion as Accordion$1 } from "radix-ui";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+ import * as React from "react";
5
+
6
+ //#region src/components/accordion.d.ts
7
+ type AccordionProps = React.ComponentProps<typeof Accordion$1.Root>;
8
+ type AccordionItemProps = React.ComponentProps<typeof Accordion$1.Item>;
9
+ type AccordionTriggerProps = React.ComponentProps<typeof Accordion$1.Trigger>;
10
+ type AccordionContentProps = React.ComponentProps<typeof Accordion$1.Content>;
11
+ declare function Accordion({
12
+ className,
13
+ ...props
14
+ }: AccordionProps): react_jsx_runtime0.JSX.Element;
15
+ declare function AccordionItem({
16
+ className,
17
+ ...props
18
+ }: AccordionItemProps): react_jsx_runtime0.JSX.Element;
19
+ declare function AccordionTrigger({
20
+ className,
21
+ children,
22
+ ...props
23
+ }: AccordionTriggerProps): react_jsx_runtime0.JSX.Element;
24
+ declare function AccordionContent({
25
+ className,
26
+ children,
27
+ ...props
28
+ }: AccordionContentProps): react_jsx_runtime0.JSX.Element;
29
+ //#endregion
30
+ export { Accordion, AccordionContent, AccordionContentProps, AccordionItem, AccordionItemProps, AccordionProps, AccordionTrigger, AccordionTriggerProps };
31
+ //# sourceMappingURL=accordion.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{IconChevronDown as t,IconChevronUp as n}from"@tabler/icons-react";import{Accordion as r}from"radix-ui";import{jsx as i,jsxs as a}from"react/jsx-runtime";function Accordion({className:t,...n}){return i(r.Root,{"data-slot":`accordion`,className:e(`flex w-full flex-col`,t),...n})}function AccordionItem({className:t,...n}){return i(r.Item,{"data-slot":`accordion-item`,className:e(`not-last:border-b`,t),...n})}function AccordionTrigger({className:o,children:s,...c}){return i(r.Header,{className:`flex`,children:a(r.Trigger,{"data-slot":`accordion-trigger`,className:e(`group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground`,o),...c,children:[s,i(t,{"data-slot":`accordion-trigger-icon`,className:`pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden`}),i(n,{"data-slot":`accordion-trigger-icon`,className:`pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline`})]})})}function AccordionContent({className:t,children:n,...a}){return i(r.Content,{"data-slot":`accordion-content`,className:`overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up`,...a,children:i(`div`,{className:e(`h-(--radix-accordion-content-height) pt-0 pb-2.5 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4`,t),children:n})})}export{Accordion,AccordionContent,AccordionItem,AccordionTrigger};
2
+ //# sourceMappingURL=accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.js","names":["AccordionPrimitive"],"sources":["../../src/components/accordion.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconChevronDown, IconChevronUp } from '@tabler/icons-react'\nimport { Accordion as AccordionPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type AccordionProps = React.ComponentProps<typeof AccordionPrimitive.Root>\n\nexport type AccordionItemProps = React.ComponentProps<typeof AccordionPrimitive.Item>\n\nexport type AccordionTriggerProps = React.ComponentProps<typeof AccordionPrimitive.Trigger>\n\nexport type AccordionContentProps = React.ComponentProps<typeof AccordionPrimitive.Content>\n\nfunction Accordion({ className, ...props }: AccordionProps) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" className={cn('flex w-full flex-col', className)} {...props} />\n}\n\nfunction AccordionItem({ className, ...props }: AccordionItemProps) {\n return (\n <AccordionPrimitive.Item data-slot=\"accordion-item\" className={cn('not-last:border-b', className)} {...props} />\n )\n}\n\nfunction AccordionTrigger({ className, children, ...props }: AccordionTriggerProps) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n 'group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground',\n className\n )}\n {...props}\n >\n {children}\n <IconChevronDown\n data-slot=\"accordion-trigger-icon\"\n className=\"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden\"\n />\n <IconChevronUp\n data-slot=\"accordion-trigger-icon\"\n className=\"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline\"\n />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({ className, children, ...props }: AccordionContentProps) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up\"\n {...props}\n >\n <div\n className={cn(\n 'h-(--radix-accordion-content-height) pt-0 pb-2.5 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4',\n className\n )}\n >\n {children}\n </div>\n </AccordionPrimitive.Content>\n )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n"],"mappings":"kOAeA,SAAS,UAAU,CAAE,YAAW,GAAG,GAAyB,CAC1D,OAAO,EAACA,EAAmB,KAApB,CAAyB,YAAU,YAAY,UAAW,EAAG,uBAAwB,EAAU,CAAE,GAAI,EAAS,CAAA,CAGvH,SAAS,cAAc,CAAE,YAAW,GAAG,GAA6B,CAClE,OACE,EAACA,EAAmB,KAApB,CAAyB,YAAU,iBAAiB,UAAW,EAAG,oBAAqB,EAAU,CAAE,GAAI,EAAS,CAAA,CAIpH,SAAS,iBAAiB,CAAE,YAAW,WAAU,GAAG,GAAgC,CAClF,OACE,EAACA,EAAmB,OAApB,CAA2B,UAAU,gBACnC,EAACA,EAAmB,QAApB,CACE,YAAU,oBACV,UAAW,EACT,mfACA,EACD,CACD,GAAI,WANN,CAQG,EACD,EAAC,EAAD,CACE,YAAU,yBACV,UAAU,4EACV,CAAA,CACF,EAAC,EAAD,CACE,YAAU,yBACV,UAAU,mFACV,CAAA,CACyB,GACH,CAAA,CAIhC,SAAS,iBAAiB,CAAE,YAAW,WAAU,GAAG,GAAgC,CAClF,OACE,EAACA,EAAmB,QAApB,CACE,YAAU,oBACV,UAAU,4FACV,GAAI,WAEJ,EAAC,MAAD,CACE,UAAW,EACT,oJACA,EACD,CAEA,WACG,CAAA,CACqB,CAAA"}
@@ -0,0 +1,74 @@
1
+ import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import { Button } from "./button.js";
3
+ import { AlertDialog as AlertDialog$1 } from "radix-ui";
4
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
5
+ import * as React from "react";
6
+
7
+ //#region src/components/alert-dialog.d.ts
8
+ type AlertDialogProps = React.ComponentProps<typeof AlertDialog$1.Root>;
9
+ type AlertDialogTriggerProps = React.ComponentProps<typeof AlertDialog$1.Trigger>;
10
+ type AlertDialogPortalProps = React.ComponentProps<typeof AlertDialog$1.Portal>;
11
+ type AlertDialogOverlayProps = React.ComponentProps<typeof AlertDialog$1.Overlay>;
12
+ type AlertDialogContentProps = React.ComponentProps<typeof AlertDialog$1.Content> & {
13
+ size?: 'default' | 'sm';
14
+ };
15
+ type AlertDialogHeaderProps = React.ComponentProps<'div'>;
16
+ type AlertDialogFooterProps = React.ComponentProps<'div'>;
17
+ type AlertDialogMediaProps = React.ComponentProps<'div'>;
18
+ type AlertDialogTitleProps = React.ComponentProps<typeof AlertDialog$1.Title>;
19
+ type AlertDialogDescriptionProps = React.ComponentProps<typeof AlertDialog$1.Description>;
20
+ type AlertDialogActionProps = React.ComponentProps<typeof AlertDialog$1.Action> & Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>;
21
+ type AlertDialogCancelProps = React.ComponentProps<typeof AlertDialog$1.Cancel> & Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>;
22
+ declare function AlertDialog({
23
+ ...props
24
+ }: AlertDialogProps): react_jsx_runtime0.JSX.Element;
25
+ declare function AlertDialogTrigger({
26
+ ...props
27
+ }: AlertDialogTriggerProps): react_jsx_runtime0.JSX.Element;
28
+ declare function AlertDialogPortal({
29
+ ...props
30
+ }: AlertDialogPortalProps): react_jsx_runtime0.JSX.Element;
31
+ declare function AlertDialogOverlay({
32
+ className,
33
+ ...props
34
+ }: AlertDialogOverlayProps): react_jsx_runtime0.JSX.Element;
35
+ declare function AlertDialogContent({
36
+ className,
37
+ size,
38
+ ...props
39
+ }: AlertDialogContentProps): react_jsx_runtime0.JSX.Element;
40
+ declare function AlertDialogHeader({
41
+ className,
42
+ ...props
43
+ }: AlertDialogHeaderProps): react_jsx_runtime0.JSX.Element;
44
+ declare function AlertDialogFooter({
45
+ className,
46
+ ...props
47
+ }: AlertDialogFooterProps): react_jsx_runtime0.JSX.Element;
48
+ declare function AlertDialogMedia({
49
+ className,
50
+ ...props
51
+ }: AlertDialogMediaProps): react_jsx_runtime0.JSX.Element;
52
+ declare function AlertDialogTitle({
53
+ className,
54
+ ...props
55
+ }: AlertDialogTitleProps): react_jsx_runtime0.JSX.Element;
56
+ declare function AlertDialogDescription({
57
+ className,
58
+ ...props
59
+ }: AlertDialogDescriptionProps): react_jsx_runtime0.JSX.Element;
60
+ declare function AlertDialogAction({
61
+ className,
62
+ variant,
63
+ size,
64
+ ...props
65
+ }: AlertDialogActionProps): react_jsx_runtime0.JSX.Element;
66
+ declare function AlertDialogCancel({
67
+ className,
68
+ variant,
69
+ size,
70
+ ...props
71
+ }: AlertDialogCancelProps): react_jsx_runtime0.JSX.Element;
72
+ //#endregion
73
+ export { AlertDialog, AlertDialogAction, AlertDialogActionProps, AlertDialogCancel, AlertDialogCancelProps, AlertDialogContent, AlertDialogContentProps, AlertDialogDescription, AlertDialogDescriptionProps, AlertDialogFooter, AlertDialogFooterProps, AlertDialogHeader, AlertDialogHeaderProps, AlertDialogMedia, AlertDialogMediaProps, AlertDialogOverlay, AlertDialogOverlayProps, AlertDialogPortal, AlertDialogPortalProps, AlertDialogProps, AlertDialogTitle, AlertDialogTitleProps, AlertDialogTrigger, AlertDialogTriggerProps };
74
+ //# sourceMappingURL=alert-dialog.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{Button as t}from"./button.js";import{AlertDialog as n}from"radix-ui";import{jsx as r,jsxs as i}from"react/jsx-runtime";function AlertDialog({...e}){return r(n.Root,{"data-slot":`alert-dialog`,...e})}function AlertDialogTrigger({...e}){return r(n.Trigger,{"data-slot":`alert-dialog-trigger`,...e})}function AlertDialogPortal({...e}){return r(n.Portal,{"data-slot":`alert-dialog-portal`,...e})}function AlertDialogOverlay({className:t,...i}){return r(n.Overlay,{"data-slot":`alert-dialog-overlay`,className:e(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,t),...i})}function AlertDialogContent({className:t,size:a=`default`,...o}){return i(AlertDialogPortal,{children:[r(AlertDialogOverlay,{}),r(n.Content,{"data-slot":`alert-dialog-content`,"data-size":a,className:e(`group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-background p-4 ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm 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`,t),...o})]})}function AlertDialogHeader({className:t,...n}){return r(`div`,{"data-slot":`alert-dialog-header`,className:e(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,t),...n})}function AlertDialogFooter({className:t,...n}){return r(`div`,{"data-slot":`alert-dialog-footer`,className:e(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,t),...n})}function AlertDialogMedia({className:t,...n}){return r(`div`,{"data-slot":`alert-dialog-media`,className:e(`mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6`,t),...n})}function AlertDialogTitle({className:t,...i}){return r(n.Title,{"data-slot":`alert-dialog-title`,className:e(`text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,t),...i})}function AlertDialogDescription({className:t,...i}){return r(n.Description,{"data-slot":`alert-dialog-description`,className:e(`text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,t),...i})}function AlertDialogAction({className:i,variant:a=`default`,size:o=`default`,...s}){return r(t,{variant:a,size:o,asChild:!0,children:r(n.Action,{"data-slot":`alert-dialog-action`,className:e(i),...s})})}function AlertDialogCancel({className:i,variant:a=`outline`,size:o=`default`,...s}){return r(t,{variant:a,size:o,asChild:!0,children:r(n.Cancel,{"data-slot":`alert-dialog-cancel`,className:e(i),...s})})}export{AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogMedia,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger};
2
+ //# sourceMappingURL=alert-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.js","names":["AlertDialogPrimitive"],"sources":["../../src/components/alert-dialog.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { AlertDialog as AlertDialogPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\n\nexport type AlertDialogProps = React.ComponentProps<typeof AlertDialogPrimitive.Root>\n\nexport type AlertDialogTriggerProps = React.ComponentProps<typeof AlertDialogPrimitive.Trigger>\n\nexport type AlertDialogPortalProps = React.ComponentProps<typeof AlertDialogPrimitive.Portal>\n\nexport type AlertDialogOverlayProps = React.ComponentProps<typeof AlertDialogPrimitive.Overlay>\n\nexport type AlertDialogContentProps = React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n size?: 'default' | 'sm'\n}\n\nexport type AlertDialogHeaderProps = React.ComponentProps<'div'>\n\nexport type AlertDialogFooterProps = React.ComponentProps<'div'>\n\nexport type AlertDialogMediaProps = React.ComponentProps<'div'>\n\nexport type AlertDialogTitleProps = React.ComponentProps<typeof AlertDialogPrimitive.Title>\n\nexport type AlertDialogDescriptionProps = React.ComponentProps<typeof AlertDialogPrimitive.Description>\n\nexport type AlertDialogActionProps = React.ComponentProps<typeof AlertDialogPrimitive.Action> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>\n\nexport type AlertDialogCancelProps = React.ComponentProps<typeof AlertDialogPrimitive.Cancel> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>\n\nfunction AlertDialog({ ...props }: AlertDialogProps) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogTriggerProps) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPortalProps) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n}\n\nfunction AlertDialogOverlay({ className, ...props }: AlertDialogOverlayProps) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({ className, size = 'default', ...props }: AlertDialogContentProps) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n 'group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-background p-4 ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm 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',\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({ className, ...props }: AlertDialogHeaderProps) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n 'grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({ className, ...props }: AlertDialogFooterProps) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n '-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({ className, ...props }: AlertDialogMediaProps) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({ className, ...props }: AlertDialogTitleProps) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n 'text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({ className, ...props }: AlertDialogDescriptionProps) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-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',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({ className, variant = 'default', size = 'default', ...props }: AlertDialogActionProps) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Action data-slot=\"alert-dialog-action\" className={cn(className)} {...props} />\n </Button>\n )\n}\n\nfunction AlertDialogCancel({ className, variant = 'outline', size = 'default', ...props }: AlertDialogCancelProps) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Cancel data-slot=\"alert-dialog-cancel\" className={cn(className)} {...props} />\n </Button>\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger\n}\n"],"mappings":"gMAmCA,SAAS,YAAY,CAAE,GAAG,GAA2B,CACnD,OAAO,EAACA,EAAqB,KAAtB,CAA2B,YAAU,eAAe,GAAI,EAAS,CAAA,CAG1E,SAAS,mBAAmB,CAAE,GAAG,GAAkC,CACjE,OAAO,EAACA,EAAqB,QAAtB,CAA8B,YAAU,uBAAuB,GAAI,EAAS,CAAA,CAGrF,SAAS,kBAAkB,CAAE,GAAG,GAAiC,CAC/D,OAAO,EAACA,EAAqB,OAAtB,CAA6B,YAAU,sBAAsB,GAAI,EAAS,CAAA,CAGnF,SAAS,mBAAmB,CAAE,YAAW,GAAG,GAAkC,CAC5E,OACE,EAACA,EAAqB,QAAtB,CACE,YAAU,uBACV,UAAW,EACT,gLACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,mBAAmB,CAAE,YAAW,OAAO,UAAW,GAAG,GAAkC,CAC9F,OACE,EAAC,kBAAD,CAAA,SAAA,CACE,EAAC,mBAAD,EAAsB,CAAA,CACtB,EAACA,EAAqB,QAAtB,CACE,YAAU,uBACV,YAAW,EACX,UAAW,EACT,wZACA,EACD,CACD,GAAI,EACJ,CAAA,CACgB,CAAA,CAAA,CAIxB,SAAS,kBAAkB,CAAE,YAAW,GAAG,GAAiC,CAC1E,OACE,EAAC,MAAD,CACE,YAAU,sBACV,UAAW,EACT,qZACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,kBAAkB,CAAE,YAAW,GAAG,GAAiC,CAC1E,OACE,EAAC,MAAD,CACE,YAAU,sBACV,UAAW,EACT,gNACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAAC,MAAD,CACE,YAAU,qBACV,UAAW,EACT,6KACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAACA,EAAqB,MAAtB,CACE,YAAU,qBACV,UAAW,EACT,oJACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,uBAAuB,CAAE,YAAW,GAAG,GAAsC,CACpF,OACE,EAACA,EAAqB,YAAtB,CACE,YAAU,2BACV,UAAW,EACT,iIACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,kBAAkB,CAAE,YAAW,UAAU,UAAW,OAAO,UAAW,GAAG,GAAiC,CACjH,OACE,EAAC,EAAD,CAAiB,UAAe,OAAM,QAAA,YACpC,EAACA,EAAqB,OAAtB,CAA6B,YAAU,sBAAsB,UAAW,EAAG,EAAU,CAAE,GAAI,EAAS,CAAA,CAC7F,CAAA,CAIb,SAAS,kBAAkB,CAAE,YAAW,UAAU,UAAW,OAAO,UAAW,GAAG,GAAiC,CACjH,OACE,EAAC,EAAD,CAAiB,UAAe,OAAM,QAAA,YACpC,EAACA,EAAqB,OAAtB,CAA6B,YAAU,sBAAsB,UAAW,EAAG,EAAU,CAAE,GAAI,EAAS,CAAA,CAC7F,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { t as __name } from "../chunk-IpJEthwI.js";
2
- import { VariantProps } from "class-variance-authority";
3
2
  import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { VariantProps } from "class-variance-authority";
4
4
  import * as React from "react";
5
5
  import * as class_variance_authority_types0 from "class-variance-authority/types";
6
6
 
@@ -1,2 +1,2 @@
1
- import{t as e}from"../chunk-IpJEthwI.js";import{cn as t}from"../lib/utils.js";import{cva as n}from"class-variance-authority";import{jsx as r}from"react/jsx-runtime";const i=n(`grid gap-0.5 rounded-lg border 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 w-full relative group/alert`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current`}},defaultVariants:{variant:`default`}});function Alert({className:e,variant:n,...a}){return r(`div`,{"data-slot":`alert`,role:`alert`,className:t(i({variant:n}),e),...a})}function AlertTitle({className:e,...n}){return r(`div`,{"data-slot":`alert-title`,className:t(`font-medium group-has-[>svg]/alert:col-start-2 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3`,e),...n})}function AlertDescription({className:e,...n}){return r(`div`,{"data-slot":`alert-description`,className:t(`text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3`,e),...n})}function AlertAction({className:e,...n}){return r(`div`,{"data-slot":`alert-action`,className:t(`absolute top-2 right-2`,e),...n})}export{Alert,AlertAction,AlertDescription,AlertTitle};
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";import{cva as n}from"class-variance-authority";const r=n(`grid gap-0.5 rounded-lg border 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 w-full relative group/alert`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current`}},defaultVariants:{variant:`default`}});function Alert({className:n,variant:i,...a}){return t(`div`,{"data-slot":`alert`,role:`alert`,className:e(r({variant:i}),n),...a})}function AlertTitle({className:n,...r}){return t(`div`,{"data-slot":`alert-title`,className:e(`font-medium group-has-[>svg]/alert:col-start-2`,`[&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground`,n),...r})}function AlertDescription({className:n,...r}){return t(`div`,{"data-slot":`alert-description`,className:e(`text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4`,`[&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground`,n),...r})}function AlertAction({className:n,...r}){return t(`div`,{"data-slot":`alert-action`,className:e(`absolute top-2 right-2`,n),...r})}export{Alert,AlertAction,AlertDescription,AlertTitle};
2
2
  //# sourceMappingURL=alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","names":[],"sources":["../../src/components/alert.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst alertVariants = cva(\n \"grid gap-0.5 rounded-lg border 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 w-full relative group/alert\",\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive: 'text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current'\n }\n },\n defaultVariants: {\n variant: 'default'\n }\n }\n)\n\nexport type AlertProps = React.ComponentProps<'div'> & VariantProps<typeof alertVariants>\n\nexport type AlertTitleProps = React.ComponentProps<'div'>\n\nexport type AlertDescriptionProps = React.ComponentProps<'div'>\n\nexport type AlertActionProps = React.ComponentProps<'div'>\n\nfunction Alert({ className, variant, ...props }: AlertProps) {\n return <div data-slot=\"alert\" role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />\n}\n\nfunction AlertTitle({ className, ...props }: AlertTitleProps) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n 'font-medium group-has-[>svg]/alert:col-start-2 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({ className, ...props }: AlertDescriptionProps) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertAction({ className, ...props }: AlertActionProps) {\n return <div data-slot=\"alert-action\" className={cn('absolute top-2 right-2', className)} {...props} />\n}\n\nexport { Alert, AlertAction, AlertDescription, AlertTitle }\n"],"mappings":"qKAMA,MAAM,EAAgB,EACpB,4TACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,+BACT,YAAa,oGACd,CACF,CACD,gBAAiB,CACf,QAAS,UACV,CACF,CACF,CAUD,SAAS,MAAM,CAAE,YAAW,UAAS,GAAG,GAAqB,CAC3D,OAAO,EAAC,MAAA,CAAI,YAAU,QAAQ,KAAK,QAAQ,UAAW,EAAG,EAAc,CAAE,UAAS,CAAC,CAAE,EAAU,CAAE,GAAI,GAAS,CAGhH,SAAS,WAAW,CAAE,YAAW,GAAG,GAA0B,CAC5D,OACE,EAAC,MAAA,CACC,YAAU,cACV,UAAW,EACT,sHACA,EACD,CACD,GAAI,GACJ,CAIN,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAAC,MAAA,CACC,YAAU,oBACV,UAAW,EACT,6JACA,EACD,CACD,GAAI,GACJ,CAIN,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OAAO,EAAC,MAAA,CAAI,YAAU,eAAe,UAAW,EAAG,yBAA0B,EAAU,CAAE,GAAI,GAAS"}
1
+ {"version":3,"file":"alert.js","names":[],"sources":["../../src/components/alert.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst alertVariants = cva(\n \"grid gap-0.5 rounded-lg border 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 w-full relative group/alert\",\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive: 'text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current'\n }\n },\n defaultVariants: {\n variant: 'default'\n }\n }\n)\n\nexport type AlertProps = React.ComponentProps<'div'> & VariantProps<typeof alertVariants>\n\nexport type AlertTitleProps = React.ComponentProps<'div'>\n\nexport type AlertDescriptionProps = React.ComponentProps<'div'>\n\nexport type AlertActionProps = React.ComponentProps<'div'>\n\nfunction Alert({ className, variant, ...props }: AlertProps) {\n return <div data-slot=\"alert\" role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />\n}\n\nfunction AlertTitle({ className, ...props }: AlertTitleProps) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n 'font-medium group-has-[>svg]/alert:col-start-2',\n '[&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({ className, ...props }: AlertDescriptionProps) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4',\n '[&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertAction({ className, ...props }: AlertActionProps) {\n return <div data-slot=\"alert-action\" className={cn('absolute top-2 right-2', className)} {...props} />\n}\n\nexport { Alert, AlertAction, AlertDescription, AlertTitle }\n"],"mappings":"yJAMA,MAAM,EAAgB,EACpB,4TACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,+BACT,YAAa,oGACd,CACF,CACD,gBAAiB,CACf,QAAS,UACV,CACF,CACF,CAUD,SAAS,MAAM,CAAE,YAAW,UAAS,GAAG,GAAqB,CAC3D,OAAO,EAAC,MAAD,CAAK,YAAU,QAAQ,KAAK,QAAQ,UAAW,EAAG,EAAc,CAAE,UAAS,CAAC,CAAE,EAAU,CAAE,GAAI,EAAS,CAAA,CAGhH,SAAS,WAAW,CAAE,YAAW,GAAG,GAA0B,CAC5D,OACE,EAAC,MAAD,CACE,YAAU,cACV,UAAW,EACT,iDACA,uEACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAAC,MAAD,CACE,YAAU,oBACV,UAAW,EACT,wFACA,uEACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OAAO,EAAC,MAAD,CAAK,YAAU,eAAe,UAAW,EAAG,yBAA0B,EAAU,CAAE,GAAI,EAAS,CAAA"}
@@ -1,14 +1,14 @@
1
1
  import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import { Avatar as Avatar$1 } from "radix-ui";
2
3
  import * as react_jsx_runtime0 from "react/jsx-runtime";
3
- import { Avatar as Avatar$1 } from "@base-ui/react/avatar";
4
4
  import * as React from "react";
5
5
 
6
6
  //#region src/components/avatar.d.ts
7
- type AvatarProps = Avatar$1.Root.Props & {
7
+ type AvatarProps = React.ComponentProps<typeof Avatar$1.Root> & {
8
8
  size?: 'default' | 'sm' | 'lg';
9
9
  };
10
- type AvatarImageProps = Avatar$1.Image.Props;
11
- type AvatarFallbackProps = Avatar$1.Fallback.Props;
10
+ type AvatarImageProps = React.ComponentProps<typeof Avatar$1.Image>;
11
+ type AvatarFallbackProps = React.ComponentProps<typeof Avatar$1.Fallback>;
12
12
  type AvatarBadgeProps = React.ComponentProps<'span'>;
13
13
  type AvatarGroupProps = React.ComponentProps<'div'>;
14
14
  type AvatarGroupCountProps = React.ComponentProps<'div'>;
@@ -1,2 +1,2 @@
1
- import{t as e}from"../chunk-IpJEthwI.js";import{cn as t}from"../lib/utils.js";import{jsx as n}from"react/jsx-runtime";import{Avatar as r}from"@base-ui/react/avatar";function Avatar({className:e,size:i=`default`,...a}){return n(r.Root,{"data-slot":`avatar`,"data-size":i,className:t(`size-8 rounded-full after:rounded-full data-[size=lg]:size-10 data-[size=sm]:size-6 after:border-border group/avatar relative flex shrink-0 select-none after:absolute after:inset-0 after:border after:mix-blend-darken dark:after:mix-blend-lighten`,e),...a})}function AvatarImage({className:e,...i}){return n(r.Image,{"data-slot":`avatar-image`,className:t(`rounded-full aspect-square size-full object-cover`,e),...i})}function AvatarFallback({className:e,...i}){return n(r.Fallback,{"data-slot":`avatar-fallback`,className:t(`bg-muted text-muted-foreground rounded-full flex size-full items-center justify-center text-sm group-data-[size=sm]/avatar:text-xs`,e),...i})}function AvatarBadge({className:e,...r}){return n(`span`,{"data-slot":`avatar-badge`,className:t(`bg-primary text-primary-foreground ring-background absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-blend-color ring-2 select-none`,`group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden`,`group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2`,`group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2`,e),...r})}function AvatarGroup({className:e,...r}){return n(`div`,{"data-slot":`avatar-group`,className:t(`*:data-[slot=avatar]:ring-background group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2`,e),...r})}function AvatarGroupCount({className:e,...r}){return n(`div`,{"data-slot":`avatar-group-count`,className:t(`bg-muted text-muted-foreground size-8 rounded-full text-sm 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 ring-background relative flex shrink-0 items-center justify-center ring-2`,e),...r})}export{Avatar,AvatarBadge,AvatarFallback,AvatarGroup,AvatarGroupCount,AvatarImage};
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{Avatar as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";function Avatar({className:r,size:i=`default`,...a}){return n(t.Root,{"data-slot":`avatar`,"data-size":i,className:e(`group/avatar relative flex shrink-0 size-8 rounded-full select-none`,`data-[size=lg]:size-10 data-[size=sm]:size-6`,`after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken dark:after:mix-blend-lighten`,r),...a})}function AvatarImage({className:r,...i}){return n(t.Image,{"data-slot":`avatar-image`,className:e(`rounded-full aspect-square size-full object-cover`,r),...i})}function AvatarFallback({className:r,...i}){return n(t.Fallback,{"data-slot":`avatar-fallback`,className:e(`bg-muted text-muted-foreground rounded-full flex size-full items-center justify-center text-sm group-data-[size=sm]/avatar:text-xs`,r),...i})}function AvatarBadge({className:t,...r}){return n(`span`,{"data-slot":`avatar-badge`,className:e(`bg-primary text-primary-foreground ring-background absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-blend-color ring-2 select-none`,`group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden`,`group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2`,`group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2`,t),...r})}function AvatarGroup({className:t,...r}){return n(`div`,{"data-slot":`avatar-group`,className:e(`*:data-[slot=avatar]:ring-background group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2`,t),...r})}function AvatarGroupCount({className:t,...r}){return n(`div`,{"data-slot":`avatar-group-count`,className:e(`bg-muted text-muted-foreground ring-background relative flex shrink-0 items-center justify-center size-8 rounded-full text-sm ring-2`,`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`,t),...r})}export{Avatar,AvatarBadge,AvatarFallback,AvatarGroup,AvatarGroupCount,AvatarImage};
2
2
  //# sourceMappingURL=avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","names":["AvatarPrimitive"],"sources":["../../src/components/avatar.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Avatar as AvatarPrimitive } from '@base-ui/react/avatar'\n\nimport { cn } from '../lib/utils'\n\nexport type AvatarProps = AvatarPrimitive.Root.Props & {\n size?: 'default' | 'sm' | 'lg'\n}\n\nexport type AvatarImageProps = AvatarPrimitive.Image.Props\n\nexport type AvatarFallbackProps = AvatarPrimitive.Fallback.Props\n\nexport type AvatarBadgeProps = React.ComponentProps<'span'>\n\nexport type AvatarGroupProps = React.ComponentProps<'div'>\n\nexport type AvatarGroupCountProps = React.ComponentProps<'div'>\n\nfunction Avatar({ className, size = 'default', ...props }: AvatarProps) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(\n 'size-8 rounded-full after:rounded-full data-[size=lg]:size-10 data-[size=sm]:size-6 after:border-border group/avatar relative flex shrink-0 select-none after:absolute after:inset-0 after:border after:mix-blend-darken dark:after:mix-blend-lighten',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({ className, ...props }: AvatarImageProps) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('rounded-full aspect-square size-full object-cover', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({ className, ...props }: AvatarFallbackProps) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'bg-muted text-muted-foreground rounded-full flex size-full items-center justify-center text-sm group-data-[size=sm]/avatar:text-xs',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarBadge({ className, ...props }: AvatarBadgeProps) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n 'bg-primary text-primary-foreground ring-background absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-blend-color ring-2 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 }: AvatarGroupProps) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n '*:data-[slot=avatar]:ring-background group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroupCount({ className, ...props }: AvatarGroupCountProps) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n 'bg-muted text-muted-foreground size-8 rounded-full text-sm 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 ring-background relative flex shrink-0 items-center justify-center ring-2',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage }\n"],"mappings":"qKAoBA,SAAS,OAAO,CAAE,YAAW,OAAO,UAAW,GAAG,GAAsB,CACtE,OACE,EAACA,EAAgB,KAAA,CACf,YAAU,SACV,YAAW,EACX,UAAW,EACT,wPACA,EACD,CACD,GAAI,GACJ,CAIN,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OACE,EAACA,EAAgB,MAAA,CACf,YAAU,eACV,UAAW,EAAG,oDAAqD,EAAU,CAC7E,GAAI,GACJ,CAIN,SAAS,eAAe,CAAE,YAAW,GAAG,GAA8B,CACpE,OACE,EAACA,EAAgB,SAAA,CACf,YAAU,kBACV,UAAW,EACT,qIACA,EACD,CACD,GAAI,GACJ,CAIN,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OACE,EAAC,OAAA,CACC,YAAU,eACV,UAAW,EACT,2KACA,gFACA,4FACA,gFACA,EACD,CACD,GAAI,GACJ,CAIN,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OACE,EAAC,MAAA,CACC,YAAU,eACV,UAAW,EACT,sGACA,EACD,CACD,GAAI,GACJ,CAIN,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAAC,MAAA,CACC,YAAU,qBACV,UAAW,EACT,2VACA,EACD,CACD,GAAI,GACJ"}
1
+ {"version":3,"file":"avatar.js","names":["AvatarPrimitive"],"sources":["../../src/components/avatar.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Avatar as AvatarPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type AvatarProps = React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: 'default' | 'sm' | 'lg'\n}\n\nexport type AvatarImageProps = React.ComponentProps<typeof AvatarPrimitive.Image>\n\nexport type AvatarFallbackProps = React.ComponentProps<typeof AvatarPrimitive.Fallback>\n\nexport type AvatarBadgeProps = React.ComponentProps<'span'>\n\nexport type AvatarGroupProps = React.ComponentProps<'div'>\n\nexport type AvatarGroupCountProps = React.ComponentProps<'div'>\n\nfunction Avatar({ className, size = 'default', ...props }: AvatarProps) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(\n 'group/avatar relative flex shrink-0 size-8 rounded-full select-none',\n 'data-[size=lg]:size-10 data-[size=sm]:size-6',\n 'after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken dark:after:mix-blend-lighten',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({ className, ...props }: AvatarImageProps) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('rounded-full aspect-square size-full object-cover', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({ className, ...props }: AvatarFallbackProps) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'bg-muted text-muted-foreground rounded-full flex size-full items-center justify-center text-sm group-data-[size=sm]/avatar:text-xs',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarBadge({ className, ...props }: AvatarBadgeProps) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n 'bg-primary text-primary-foreground ring-background absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-blend-color ring-2 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 }: AvatarGroupProps) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n '*:data-[slot=avatar]:ring-background group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroupCount({ className, ...props }: AvatarGroupCountProps) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n 'bg-muted text-muted-foreground ring-background relative flex shrink-0 items-center justify-center size-8 rounded-full text-sm ring-2',\n 'group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6',\n '[&>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 { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage }\n"],"mappings":"4IAoBA,SAAS,OAAO,CAAE,YAAW,OAAO,UAAW,GAAG,GAAsB,CACtE,OACE,EAACA,EAAgB,KAAjB,CACE,YAAU,SACV,YAAW,EACX,UAAW,EACT,sEACA,+CACA,uIACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OACE,EAACA,EAAgB,MAAjB,CACE,YAAU,eACV,UAAW,EAAG,oDAAqD,EAAU,CAC7E,GAAI,EACJ,CAAA,CAIN,SAAS,eAAe,CAAE,YAAW,GAAG,GAA8B,CACpE,OACE,EAACA,EAAgB,SAAjB,CACE,YAAU,kBACV,UAAW,EACT,qIACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OACE,EAAC,OAAD,CACE,YAAU,eACV,UAAW,EACT,2KACA,gFACA,4FACA,gFACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OACE,EAAC,MAAD,CACE,YAAU,eACV,UAAW,EACT,sGACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAAC,MAAD,CACE,YAAU,qBACV,UAAW,EACT,uIACA,6FACA,2HACA,EACD,CACD,GAAI,EACJ,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import * as React from "react";
5
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
6
+
7
+ //#region src/components/badge.d.ts
8
+ declare const badgeVariants: (props?: ({
9
+ variant?: "default" | "destructive" | "secondary" | "outline" | "ghost" | "link" | null | undefined;
10
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
11
+ type BadgeProps = React.ComponentProps<'span'> & VariantProps<typeof badgeVariants> & {
12
+ asChild?: boolean;
13
+ };
14
+ declare function Badge({
15
+ className,
16
+ variant,
17
+ asChild,
18
+ ...props
19
+ }: BadgeProps): react_jsx_runtime0.JSX.Element;
20
+ //#endregion
21
+ export { Badge, BadgeProps, badgeVariants };
22
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{Slot as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";const i=r(`group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20`,outline:`border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});function Badge({className:r,variant:a=`default`,asChild:o=!1,...s}){return n(o?t.Root:`span`,{"data-slot":`badge`,"data-variant":a,className:e(i({variant:a}),r),...s})}export{Badge,i as badgeVariants};
2
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","names":[],"sources":["../../src/components/badge.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nconst badgeVariants = cva(\n 'group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground [a]:hover:bg-primary/80',\n secondary: 'bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80',\n destructive:\n 'bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20',\n outline: 'border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground',\n ghost: 'hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50',\n link: 'text-primary underline-offset-4 hover:underline'\n }\n },\n defaultVariants: {\n variant: 'default'\n }\n }\n)\n\nexport type BadgeProps = React.ComponentProps<'span'> &\n VariantProps<typeof badgeVariants> & {\n asChild?: boolean\n }\n\nfunction Badge({ className, variant = 'default', asChild = false, ...props }: BadgeProps) {\n const Comp = asChild ? Slot.Root : 'span'\n\n return (\n <Comp data-slot=\"badge\" data-variant={variant} className={cn(badgeVariants({ variant }), className)} {...props} />\n )\n}\n\nexport { Badge, badgeVariants }\n"],"mappings":"yLAOA,MAAM,EAAgB,EACpB,6eACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,6DACT,UAAW,mEACX,YACE,iKACF,QAAS,mFACT,MAAO,oEACP,KAAM,kDACP,CACF,CACD,gBAAiB,CACf,QAAS,UACV,CACF,CACF,CAOD,SAAS,MAAM,CAAE,YAAW,UAAU,UAAW,UAAU,GAAO,GAAG,GAAqB,CAGxF,OACE,EAHW,EAAU,EAAK,KAAO,OAGjC,CAAM,YAAU,QAAQ,eAAc,EAAS,UAAW,EAAG,EAAc,CAAE,UAAS,CAAC,CAAE,EAAU,CAAE,GAAI,EAAS,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import * as React from "react";
4
+
5
+ //#region src/components/breadcrumb.d.ts
6
+ type BreadcrumbProps = React.ComponentProps<'nav'>;
7
+ type BreadcrumbListProps = React.ComponentProps<'ol'>;
8
+ type BreadcrumbItemProps = React.ComponentProps<'li'>;
9
+ type BreadcrumbLinkProps = React.ComponentProps<'a'> & {
10
+ asChild?: boolean;
11
+ };
12
+ type BreadcrumbPageProps = React.ComponentProps<'span'>;
13
+ type BreadcrumbSeparatorProps = React.ComponentProps<'li'>;
14
+ type BreadcrumbEllipsisProps = React.ComponentProps<'span'>;
15
+ declare function Breadcrumb({
16
+ className,
17
+ ...props
18
+ }: BreadcrumbProps): react_jsx_runtime0.JSX.Element;
19
+ declare function BreadcrumbList({
20
+ className,
21
+ ...props
22
+ }: BreadcrumbListProps): react_jsx_runtime0.JSX.Element;
23
+ declare function BreadcrumbItem({
24
+ className,
25
+ ...props
26
+ }: BreadcrumbItemProps): react_jsx_runtime0.JSX.Element;
27
+ declare function BreadcrumbLink({
28
+ asChild,
29
+ className,
30
+ ...props
31
+ }: BreadcrumbLinkProps): react_jsx_runtime0.JSX.Element;
32
+ declare function BreadcrumbPage({
33
+ className,
34
+ ...props
35
+ }: BreadcrumbPageProps): react_jsx_runtime0.JSX.Element;
36
+ declare function BreadcrumbSeparator({
37
+ children,
38
+ className,
39
+ ...props
40
+ }: BreadcrumbSeparatorProps): react_jsx_runtime0.JSX.Element;
41
+ declare function BreadcrumbEllipsis({
42
+ className,
43
+ ...props
44
+ }: BreadcrumbEllipsisProps): react_jsx_runtime0.JSX.Element;
45
+ //#endregion
46
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbEllipsisProps, BreadcrumbItem, BreadcrumbItemProps, BreadcrumbLink, BreadcrumbLinkProps, BreadcrumbList, BreadcrumbListProps, BreadcrumbPage, BreadcrumbPageProps, BreadcrumbProps, BreadcrumbSeparator, BreadcrumbSeparatorProps };
47
+ //# sourceMappingURL=breadcrumb.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{IconChevronRight as t,IconDots as n}from"@tabler/icons-react";import{Slot as r}from"radix-ui";import{jsx as i,jsxs as a}from"react/jsx-runtime";function Breadcrumb({className:t,...n}){return i(`nav`,{"aria-label":`breadcrumb`,"data-slot":`breadcrumb`,className:e(t),...n})}function BreadcrumbList({className:t,...n}){return i(`ol`,{"data-slot":`breadcrumb-list`,className:e(`flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground`,t),...n})}function BreadcrumbItem({className:t,...n}){return i(`li`,{"data-slot":`breadcrumb-item`,className:e(`inline-flex items-center gap-1`,t),...n})}function BreadcrumbLink({asChild:t,className:n,...a}){return i(t?r.Root:`a`,{"data-slot":`breadcrumb-link`,className:e(`transition-colors hover:text-foreground`,n),...a})}function BreadcrumbPage({className:t,...n}){return i(`span`,{"data-slot":`breadcrumb-page`,"aria-current":`page`,className:e(`font-normal text-foreground`,t),...n})}function BreadcrumbSeparator({children:n,className:r,...a}){return i(`li`,{"data-slot":`breadcrumb-separator`,role:`presentation`,"aria-hidden":`true`,className:e(`[&>svg]:size-3.5`,r),...a,children:n??i(t,{})})}function BreadcrumbEllipsis({className:t,...r}){return a(`span`,{"data-slot":`breadcrumb-ellipsis`,role:`presentation`,"aria-hidden":`true`,className:e(`flex size-5 items-center justify-center [&>svg]:size-4`,t),...r,children:[i(n,{}),i(`span`,{className:`sr-only`,children:`More`})]})}export{Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator};
2
+ //# sourceMappingURL=breadcrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.js","names":[],"sources":["../../src/components/breadcrumb.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconChevronRight, IconDots } from '@tabler/icons-react'\nimport { Slot } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type BreadcrumbProps = React.ComponentProps<'nav'>\n\nexport type BreadcrumbListProps = React.ComponentProps<'ol'>\n\nexport type BreadcrumbItemProps = React.ComponentProps<'li'>\n\nexport type BreadcrumbLinkProps = React.ComponentProps<'a'> & {\n asChild?: boolean\n}\n\nexport type BreadcrumbPageProps = React.ComponentProps<'span'>\n\nexport type BreadcrumbSeparatorProps = React.ComponentProps<'li'>\n\nexport type BreadcrumbEllipsisProps = React.ComponentProps<'span'>\n\nfunction Breadcrumb({ className, ...props }: BreadcrumbProps) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" className={cn(className)} {...props} />\n}\n\nfunction BreadcrumbList({ className, ...props }: BreadcrumbListProps) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn('flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground', className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbItem({ className, ...props }: BreadcrumbItemProps) {\n return <li data-slot=\"breadcrumb-item\" className={cn('inline-flex items-center gap-1', className)} {...props} />\n}\n\nfunction BreadcrumbLink({ asChild, className, ...props }: BreadcrumbLinkProps) {\n const Comp = asChild ? Slot.Root : 'a'\n\n return (\n <Comp data-slot=\"breadcrumb-link\" className={cn('transition-colors hover:text-foreground', className)} {...props} />\n )\n}\n\nfunction BreadcrumbPage({ className, ...props }: BreadcrumbPageProps) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n aria-current=\"page\"\n className={cn('font-normal text-foreground', className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: BreadcrumbSeparatorProps) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <IconChevronRight />}\n </li>\n )\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: BreadcrumbEllipsisProps) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('flex size-5 items-center justify-center [&>svg]:size-4', className)}\n {...props}\n >\n <IconDots />\n <span className=\"sr-only\">More</span>\n </span>\n )\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis\n}\n"],"mappings":"yNAuBA,SAAS,WAAW,CAAE,YAAW,GAAG,GAA0B,CAC5D,OAAO,EAAC,MAAD,CAAK,aAAW,aAAa,YAAU,aAAa,UAAW,EAAG,EAAU,CAAE,GAAI,EAAS,CAAA,CAGpG,SAAS,eAAe,CAAE,YAAW,GAAG,GAA8B,CACpE,OACE,EAAC,KAAD,CACE,YAAU,kBACV,UAAW,EAAG,oFAAqF,EAAU,CAC7G,GAAI,EACJ,CAAA,CAIN,SAAS,eAAe,CAAE,YAAW,GAAG,GAA8B,CACpE,OAAO,EAAC,KAAD,CAAI,YAAU,kBAAkB,UAAW,EAAG,iCAAkC,EAAU,CAAE,GAAI,EAAS,CAAA,CAGlH,SAAS,eAAe,CAAE,UAAS,YAAW,GAAG,GAA8B,CAG7E,OACE,EAHW,EAAU,EAAK,KAAO,IAGjC,CAAM,YAAU,kBAAkB,UAAW,EAAG,0CAA2C,EAAU,CAAE,GAAI,EAAS,CAAA,CAIxH,SAAS,eAAe,CAAE,YAAW,GAAG,GAA8B,CACpE,OACE,EAAC,OAAD,CACE,YAAU,kBACV,eAAa,OACb,UAAW,EAAG,8BAA+B,EAAU,CACvD,GAAI,EACJ,CAAA,CAIN,SAAS,oBAAoB,CAAE,WAAU,YAAW,GAAG,GAAmC,CACxF,OACE,EAAC,KAAD,CACE,YAAU,uBACV,KAAK,eACL,cAAY,OACZ,UAAW,EAAG,mBAAoB,EAAU,CAC5C,GAAI,WAEH,GAAY,EAAC,EAAD,EAAoB,CAAA,CAC9B,CAAA,CAIT,SAAS,mBAAmB,CAAE,YAAW,GAAG,GAAkC,CAC5E,OACE,EAAC,OAAD,CACE,YAAU,sBACV,KAAK,eACL,cAAY,OACZ,UAAW,EAAG,yDAA0D,EAAU,CAClF,GAAI,WALN,CAOE,EAAC,EAAD,EAAY,CAAA,CACZ,EAAC,OAAD,CAAM,UAAU,mBAAU,OAAW,CAAA,CAChC"}
@@ -0,0 +1,33 @@
1
+ import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import { Separator } from "./separator.js";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+ import { VariantProps } from "class-variance-authority";
5
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
6
+
7
+ //#region src/components/button-group.d.ts
8
+ declare const buttonGroupVariants: (props?: ({
9
+ orientation?: "horizontal" | "vertical" | null | undefined;
10
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
11
+ type ButtonGroupProps = React.ComponentProps<'div'> & VariantProps<typeof buttonGroupVariants>;
12
+ type ButtonGroupTextProps = React.ComponentProps<'div'> & {
13
+ asChild?: boolean;
14
+ };
15
+ type ButtonGroupSeparatorProps = React.ComponentProps<typeof Separator>;
16
+ declare function ButtonGroup({
17
+ className,
18
+ orientation,
19
+ ...props
20
+ }: ButtonGroupProps): react_jsx_runtime0.JSX.Element;
21
+ declare function ButtonGroupText({
22
+ className,
23
+ asChild,
24
+ ...props
25
+ }: ButtonGroupTextProps): react_jsx_runtime0.JSX.Element;
26
+ declare function ButtonGroupSeparator({
27
+ className,
28
+ orientation,
29
+ ...props
30
+ }: ButtonGroupSeparatorProps): react_jsx_runtime0.JSX.Element;
31
+ //#endregion
32
+ export { ButtonGroup, ButtonGroupProps, ButtonGroupSeparator, ButtonGroupSeparatorProps, ButtonGroupText, ButtonGroupTextProps, buttonGroupVariants };
33
+ //# sourceMappingURL=button-group.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{Separator as t}from"./separator.js";import{Slot as n}from"radix-ui";import{jsx as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";const a=i(`flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1`,{variants:{orientation:{horizontal:`[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg!`,vertical:`flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!`}},defaultVariants:{orientation:`horizontal`}});function ButtonGroup({className:t,orientation:n,...i}){return r(`div`,{"data-slot":`button-group`,"data-orientation":n,className:e(a({orientation:n}),t),...i})}function ButtonGroupText({className:t,asChild:i=!1,...a}){return r(i?n.Root:`div`,{className:e(`flex items-center gap-2 rounded-lg border bg-muted px-2.5 text-sm font-medium [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4`,t),...a})}function ButtonGroupSeparator({className:n,orientation:i=`vertical`,...a}){return r(t,{"data-slot":`button-group-separator`,orientation:i,className:e(`relative self-stretch bg-input data-horizontal:mx-px data-horizontal:w-auto data-vertical:my-px data-vertical:h-auto`,n),...a})}export{ButtonGroup,ButtonGroupSeparator,ButtonGroupText,a as buttonGroupVariants};
2
+ //# sourceMappingURL=button-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.js","names":["Separator"],"sources":["../../src/components/button-group.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\nimport { Separator } from './separator'\n\nconst buttonGroupVariants = cva(\n \"flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n {\n variants: {\n orientation: {\n horizontal:\n '[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg!',\n vertical:\n 'flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!'\n }\n },\n defaultVariants: {\n orientation: 'horizontal'\n }\n }\n)\n\nexport type ButtonGroupProps = React.ComponentProps<'div'> & VariantProps<typeof buttonGroupVariants>\n\nexport type ButtonGroupTextProps = React.ComponentProps<'div'> & {\n asChild?: boolean\n}\n\nexport type ButtonGroupSeparatorProps = React.ComponentProps<typeof Separator>\n\nfunction ButtonGroup({ className, orientation, ...props }: ButtonGroupProps) {\n return (\n <div\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction ButtonGroupText({ className, asChild = false, ...props }: ButtonGroupTextProps) {\n const Comp = asChild ? Slot.Root : 'div'\n\n return (\n <Comp\n className={cn(\n \"flex items-center gap-2 rounded-lg border bg-muted px-2.5 text-sm font-medium [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ButtonGroupSeparator({ className, orientation = 'vertical', ...props }: ButtonGroupSeparatorProps) {\n return (\n <Separator\n data-slot=\"button-group-separator\"\n orientation={orientation}\n className={cn(\n 'relative self-stretch bg-input data-horizontal:mx-px data-horizontal:w-auto data-vertical:my-px data-vertical:h-auto',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants }\n"],"mappings":"oOAMA,MAAM,EAAsB,EAC1B,2RACA,CACE,SAAU,CACR,YAAa,CACX,WACE,wKACF,SACE,iLACH,CACF,CACD,gBAAiB,CACf,YAAa,aACd,CACF,CACF,CAUD,SAAS,YAAY,CAAE,YAAW,cAAa,GAAG,GAA2B,CAC3E,OACE,EAAC,MAAD,CACE,YAAU,eACV,mBAAkB,EAClB,UAAW,EAAG,EAAoB,CAAE,cAAa,CAAC,CAAE,EAAU,CAC9D,GAAI,EACJ,CAAA,CAIN,SAAS,gBAAgB,CAAE,YAAW,UAAU,GAAO,GAAG,GAA+B,CAGvF,OACE,EAHW,EAAU,EAAK,KAAO,MAGjC,CACE,UAAW,EACT,iJACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,qBAAqB,CAAE,YAAW,cAAc,WAAY,GAAG,GAAoC,CAC1G,OACE,EAACA,EAAD,CACE,YAAU,yBACG,cACb,UAAW,EACT,uHACA,EACD,CACD,GAAI,EACJ,CAAA"}
@@ -1,19 +1,22 @@
1
1
  import { t as __name } from "../chunk-IpJEthwI.js";
2
- import { VariantProps } from "class-variance-authority";
3
2
  import * as react_jsx_runtime0 from "react/jsx-runtime";
4
- import { Button as Button$1 } from "@base-ui/react/button";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import * as React from "react";
5
5
  import * as class_variance_authority_types0 from "class-variance-authority/types";
6
6
 
7
7
  //#region src/components/button.d.ts
8
8
  declare const buttonVariants: (props?: ({
9
- variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
10
- size?: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
9
+ variant?: "default" | "destructive" | "secondary" | "outline" | "ghost" | "link" | null | undefined;
10
+ size?: "xs" | "sm" | "icon-xs" | "icon-sm" | "default" | "lg" | "icon" | "icon-lg" | null | undefined;
11
11
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
12
- type ButtonProps = Button$1.Props & VariantProps<typeof buttonVariants>;
12
+ type ButtonProps = React.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
13
+ asChild?: boolean;
14
+ };
13
15
  declare function Button({
14
16
  className,
15
17
  variant,
16
18
  size,
19
+ asChild,
17
20
  ...props
18
21
  }: ButtonProps): react_jsx_runtime0.JSX.Element;
19
22
  //#endregion
@@ -1,2 +1,2 @@
1
- import{t as e}from"../chunk-IpJEthwI.js";import{cn as t}from"../lib/utils.js";import{cva as n}from"class-variance-authority";import{jsx as r}from"react/jsx-runtime";import{Button as i}from"@base-ui/react/button";const a=n(`focus-visible:border-ring cursor-pointer focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-lg border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/80`,outline:`border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground`,destructive:`bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,xs:`h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3`,sm:`h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,lg:`h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,icon:`size-8`,"icon-xs":`size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg`,"icon-lg":`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function Button({className:e,variant:n=`default`,size:o=`default`,...s}){return r(i,{"data-slot":`button`,className:t(a({variant:n,size:o,className:e})),...s})}export{Button,a as buttonVariants};
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{Slot as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";const i=r(`focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-lg border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/80`,outline:`border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground`,destructive:`bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,xs:`h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3`,sm:`h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,lg:`h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,icon:`size-8`,"icon-xs":`size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg`,"icon-lg":`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function Button({className:r,variant:a=`default`,size:o=`default`,asChild:s=!1,...c}){return n(s?t.Root:`button`,{"data-slot":`button`,"data-variant":a,"data-size":o,className:e(i({variant:a,size:o,className:r})),...c})}export{Button,i as buttonVariants};
2
2
  //# sourceMappingURL=button.js.map