@tb-dev/vue-components 0.2.5 → 1.0.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 (50) hide show
  1. package/dist/components/__base/accordion/Accordion.vue.d.ts +23 -0
  2. package/dist/components/__base/accordion/AccordionContent.vue.d.ts +22 -0
  3. package/dist/components/__base/accordion/AccordionItem.vue.d.ts +22 -0
  4. package/dist/components/__base/accordion/AccordionTrigger.vue.d.ts +23 -0
  5. package/dist/components/__base/accordion/index.d.ts +4 -0
  6. package/dist/components/__base/alert/Alert.vue.d.ts +23 -0
  7. package/dist/components/__base/alert/AlertDescription.vue.d.ts +21 -0
  8. package/dist/components/__base/alert/AlertTitle.vue.d.ts +21 -0
  9. package/dist/components/__base/alert/index.d.ts +8 -0
  10. package/dist/components/__base/alert-dialog/AlertDialog.vue.d.ts +22 -0
  11. package/dist/components/__base/alert-dialog/AlertDialogAction.vue.d.ts +22 -0
  12. package/dist/components/__base/alert-dialog/AlertDialogCancel.vue.d.ts +22 -0
  13. package/dist/components/__base/alert-dialog/AlertDialogContent.vue.d.ts +52 -0
  14. package/dist/components/__base/alert-dialog/AlertDialogDescription.vue.d.ts +22 -0
  15. package/dist/components/__base/alert-dialog/AlertDialogFooter.vue.d.ts +21 -0
  16. package/dist/components/__base/alert-dialog/AlertDialogHeader.vue.d.ts +21 -0
  17. package/dist/components/__base/alert-dialog/AlertDialogTitle.vue.d.ts +22 -0
  18. package/dist/components/__base/alert-dialog/AlertDialogTrigger.vue.d.ts +18 -0
  19. package/dist/components/__base/alert-dialog/index.d.ts +9 -0
  20. package/dist/components/__base/avatar/Avatar.vue.d.ts +21 -0
  21. package/dist/components/__base/avatar/AvatarFallback.vue.d.ts +22 -0
  22. package/dist/components/__base/avatar/AvatarImage.vue.d.ts +18 -0
  23. package/dist/components/__base/avatar/index.d.ts +3 -0
  24. package/dist/components/__base/badge/index.d.ts +1 -1
  25. package/dist/components/__base/button/index.d.ts +1 -1
  26. package/dist/components/__base/combobox/Combobox.vue.d.ts +2 -2
  27. package/dist/components/__base/context-menu/ContextMenuCheckboxItem.vue.d.ts +2 -2
  28. package/dist/components/__base/context-menu/ContextMenuSubContent.vue.d.ts +2 -2
  29. package/dist/components/__base/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +2 -2
  30. package/dist/components/__base/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
  31. package/dist/components/__base/menubar/MenubarCheckboxItem.vue.d.ts +2 -2
  32. package/dist/components/__base/menubar/MenubarSubContent.vue.d.ts +2 -2
  33. package/dist/components/__base/sidebar/Sidebar.vue.d.ts +1 -1
  34. package/dist/components/__base/sidebar/SidebarMenuButton.vue.d.ts +1 -1
  35. package/dist/components/__base/sidebar/SidebarMenuButtonChild.vue.d.ts +1 -1
  36. package/dist/components/__base/toggle/Toggle.vue.d.ts +2 -2
  37. package/dist/components/accordion/index.d.ts +1 -0
  38. package/dist/components/alert/index.d.ts +1 -0
  39. package/dist/components/alert-dialog/AlertDialog.vue.d.ts +29 -0
  40. package/dist/components/alert-dialog/index.d.ts +3 -0
  41. package/dist/components/alert-dialog/types.d.ts +10 -0
  42. package/dist/components/avatar/index.d.ts +1 -0
  43. package/dist/components/dialog/Dialog.vue.d.ts +29 -0
  44. package/dist/components/dialog/index.d.ts +4 -1
  45. package/dist/components/dialog/types.d.ts +8 -0
  46. package/dist/components/index.d.ts +4 -0
  47. package/dist/components/sidebar/Sidebar.vue.d.ts +9 -1
  48. package/dist/index.css +111 -0
  49. package/dist/index.js +712 -148
  50. package/package.json +7 -7
package/dist/index.js CHANGED
@@ -1,21 +1,631 @@
1
- import { cva } from 'class-variance-authority';
2
- import { defineComponent, computed, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot, normalizeClass, normalizeStyle, createElementBlock, toDisplayString, createVNode, resolveDynamicComponent, createCommentVNode, mergeModels, useModel, createTextVNode, createElementVNode, withDirectives, isRef, vModelText, useTemplateRef, normalizeProps, guardReactiveProps, Fragment, ref, renderList, createSlots } from 'vue';
1
+ import { defineComponent, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot, createElementVNode, normalizeClass, createVNode, createElementBlock, createCommentVNode, computed, normalizeStyle, toDisplayString, resolveDynamicComponent, mergeModels, useModel, createTextVNode, withDirectives, isRef, vModelText, useTemplateRef, normalizeProps, guardReactiveProps, Fragment, ref, renderList, createSlots } from 'vue';
2
+ import { useForwardPropsEmits, AccordionRoot, AccordionContent, useForwardProps, AccordionItem, AccordionHeader, AccordionTrigger, AlertDialogRoot, Primitive, AlertDialogAction, AlertDialogCancel, AlertDialogPortal, AlertDialogOverlay, AlertDialogContent, AlertDialogDescription, AlertDialogTitle, AlertDialogTrigger, AvatarRoot, AvatarFallback, AvatarImage, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaRoot, ScrollAreaViewport, ScrollAreaCorner, CheckboxRoot, CheckboxIndicator, ComboboxRoot, ComboboxAnchor, ComboboxEmpty, ComboboxGroup, ComboboxLabel, ComboboxInput, ComboboxItem, ComboboxItemIndicator, ComboboxPortal, ComboboxContent, ComboboxSeparator, ComboboxViewport, ContextMenuRoot, ContextMenuCheckboxItem, ContextMenuItemIndicator, ContextMenuPortal, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DialogRoot, DialogClose, DialogOverlay, DialogPortal, DialogContent, DialogDescription, DialogTitle, DialogTrigger, DropdownMenuRoot, DropdownMenuCheckboxItem, DropdownMenuItemIndicator, DropdownMenuPortal, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, HoverCardRoot, HoverCardPortal, HoverCardContent, HoverCardTrigger, NumberFieldRoot, NumberFieldDecrement, NumberFieldIncrement, NumberFieldInput, Label, MenubarRoot, MenubarCheckboxItem, MenubarItemIndicator, MenubarPortal, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, PaginationRoot, PaginationList, PaginationEllipsis, PaginationFirst, PaginationListItem, PaginationLast, PaginationNext, PaginationPrev, PopoverRoot, PopoverPortal, PopoverContent, PopoverTrigger, ProgressRoot, ProgressIndicator, RadioGroupRoot, RadioGroupItem, RadioGroupIndicator, SplitterResizeHandle, SplitterPanel, SplitterGroup, SelectRoot, SelectPortal, SelectContent, SelectViewport, SelectGroup, SelectItem, SelectItemIndicator, SelectItemText, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectIcon, SelectValue, Separator, createContext, TooltipRoot, TooltipPortal, TooltipContent, TooltipArrow, TooltipProvider, TooltipTrigger, SliderRoot, SliderTrack, SliderRange, SliderThumb, SwitchRoot, SwitchThumb, TabsRoot, TabsContent, TabsList, TabsTrigger, TagsInputRoot, TagsInputInput, TagsInputItem, TagsInputItemDelete, TagsInputItemText, Toggle } from 'reka-ui';
3
+ export { ComboboxCancel, ComboboxTrigger, DropdownMenuPortal, PaginationList, PaginationListItem } from 'reka-ui';
4
+ import { reactiveOmit, useVModel, onClickOutside, useMediaQuery } from '@vueuse/core';
3
5
  import { twMerge } from 'tailwind-merge';
4
6
  import { clsx } from 'clsx';
5
- import { Primitive, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaRoot, ScrollAreaViewport, ScrollAreaCorner, useForwardPropsEmits, CheckboxRoot, CheckboxIndicator, ComboboxRoot, useForwardProps, ComboboxAnchor, ComboboxEmpty, ComboboxGroup, ComboboxLabel, ComboboxInput, ComboboxItem, ComboboxItemIndicator, ComboboxPortal, ComboboxContent, ComboboxSeparator, ComboboxViewport, ContextMenuRoot, ContextMenuCheckboxItem, ContextMenuItemIndicator, ContextMenuPortal, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DialogRoot, DialogClose, DialogOverlay, DialogPortal, DialogContent, DialogDescription, DialogTitle, DialogTrigger, DropdownMenuRoot, DropdownMenuCheckboxItem, DropdownMenuItemIndicator, DropdownMenuPortal, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, HoverCardRoot, HoverCardPortal, HoverCardContent, HoverCardTrigger, NumberFieldRoot, NumberFieldDecrement, NumberFieldIncrement, NumberFieldInput, Label, MenubarRoot, MenubarCheckboxItem, MenubarItemIndicator, MenubarPortal, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, PaginationRoot, PaginationList, PaginationEllipsis, PaginationFirst, PaginationListItem, PaginationLast, PaginationNext, PaginationPrev, PopoverRoot, PopoverPortal, PopoverContent, PopoverTrigger, ProgressRoot, ProgressIndicator, RadioGroupRoot, RadioGroupItem, RadioGroupIndicator, SplitterResizeHandle, SplitterPanel, SplitterGroup, SelectRoot, SelectPortal, SelectContent, SelectViewport, SelectGroup, SelectItem, SelectItemIndicator, SelectItemText, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectIcon, SelectValue, Separator, createContext, TooltipRoot, TooltipPortal, TooltipContent, TooltipArrow, TooltipProvider, TooltipTrigger, SliderRoot, SliderTrack, SliderRange, SliderThumb, SwitchRoot, SwitchThumb, TabsRoot, TabsContent, TabsList, TabsTrigger, TagsInputRoot, TagsInputInput, TagsInputItem, TagsInputItemDelete, TagsInputItemText, Toggle } from 'reka-ui';
6
- export { ComboboxCancel, ComboboxTrigger, DropdownMenuPortal, PaginationList, PaginationListItem } from 'reka-ui';
7
+ import { ChevronDown, Check, SearchIcon, Circle, ChevronRight, X, Minus, Plus, LoaderCircle, MoreHorizontal, ChevronLeftIcon, ChevronRightIcon, CircleIcon, GripVertical, ChevronUp, PanelLeft } from 'lucide-vue-next';
8
+ import { cva } from 'class-variance-authority';
7
9
  import { RouterLink } from 'vue-router';
8
10
  import { toPixel } from '@tb-dev/utils';
9
- import { Check, SearchIcon, Circle, ChevronRight, X, Minus, Plus, LoaderCircle, MoreHorizontal, ChevronLeftIcon, ChevronRightIcon, CircleIcon, GripVertical, ChevronDown, ChevronUp, PanelLeft } from 'lucide-vue-next';
10
- import { reactiveOmit, useVModel, onClickOutside, useMediaQuery } from '@vueuse/core';
11
11
  import { Toaster } from 'vue-sonner';
12
12
  export { toast as sonner } from 'vue-sonner';
13
13
 
14
- function cn(...inputs) {
15
- return twMerge(clsx(inputs));
16
- }
14
+ const _sfc_main$3i = /* @__PURE__ */ defineComponent({
15
+ __name: "Accordion",
16
+ props: {
17
+ collapsible: { type: Boolean },
18
+ disabled: { type: Boolean },
19
+ dir: {},
20
+ orientation: {},
21
+ unmountOnHide: { type: Boolean },
22
+ asChild: { type: Boolean },
23
+ as: { type: [String, Object, Function] },
24
+ type: {},
25
+ modelValue: {},
26
+ defaultValue: {}
27
+ },
28
+ emits: ["update:modelValue"],
29
+ setup(__props, { emit: __emit }) {
30
+ const props = __props;
31
+ const emits = __emit;
32
+ const forwarded = useForwardPropsEmits(props, emits);
33
+ return (_ctx, _cache) => {
34
+ return openBlock(), createBlock(unref(AccordionRoot), mergeProps({ "data-slot": "accordion" }, unref(forwarded)), {
35
+ default: withCtx(() => [
36
+ renderSlot(_ctx.$slots, "default")
37
+ ]),
38
+ _: 3
39
+ }, 16);
40
+ };
41
+ }
42
+ });
43
+
44
+ function cn(...inputs) {
45
+ return twMerge(clsx(inputs));
46
+ }
47
+
48
+ const _sfc_main$3h = /* @__PURE__ */ defineComponent({
49
+ __name: "AccordionContent",
50
+ props: {
51
+ forceMount: { type: Boolean },
52
+ asChild: { type: Boolean },
53
+ as: { type: [String, Object, Function] },
54
+ class: {}
55
+ },
56
+ setup(__props) {
57
+ const props = __props;
58
+ const delegatedProps = reactiveOmit(props, "class");
59
+ return (_ctx, _cache) => {
60
+ return openBlock(), createBlock(unref(AccordionContent), mergeProps({ "data-slot": "accordion-content" }, unref(delegatedProps), { class: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm" }), {
61
+ default: withCtx(() => [
62
+ createElementVNode("div", {
63
+ class: normalizeClass(unref(cn)("pt-0 pb-4", props.class))
64
+ }, [
65
+ renderSlot(_ctx.$slots, "default")
66
+ ], 2)
67
+ ]),
68
+ _: 3
69
+ }, 16);
70
+ };
71
+ }
72
+ });
73
+
74
+ const _sfc_main$3g = /* @__PURE__ */ defineComponent({
75
+ __name: "AccordionItem",
76
+ props: {
77
+ disabled: { type: Boolean },
78
+ value: {},
79
+ unmountOnHide: { type: Boolean },
80
+ asChild: { type: Boolean },
81
+ as: { type: [String, Object, Function] },
82
+ class: {}
83
+ },
84
+ setup(__props) {
85
+ const props = __props;
86
+ const delegatedProps = reactiveOmit(props, "class");
87
+ const forwardedProps = useForwardProps(delegatedProps);
88
+ return (_ctx, _cache) => {
89
+ return openBlock(), createBlock(unref(AccordionItem), mergeProps({ "data-slot": "accordion-item" }, unref(forwardedProps), {
90
+ class: unref(cn)("border-b last:border-b-0", props.class)
91
+ }), {
92
+ default: withCtx(() => [
93
+ renderSlot(_ctx.$slots, "default")
94
+ ]),
95
+ _: 3
96
+ }, 16, ["class"]);
97
+ };
98
+ }
99
+ });
100
+
101
+ const _sfc_main$3f = /* @__PURE__ */ defineComponent({
102
+ __name: "AccordionTrigger",
103
+ props: {
104
+ asChild: { type: Boolean },
105
+ as: { type: [String, Object, Function] },
106
+ class: {}
107
+ },
108
+ setup(__props) {
109
+ const props = __props;
110
+ const delegatedProps = reactiveOmit(props, "class");
111
+ return (_ctx, _cache) => {
112
+ return openBlock(), createBlock(unref(AccordionHeader), { class: "flex" }, {
113
+ default: withCtx(() => [
114
+ createVNode(unref(AccordionTrigger), mergeProps({ "data-slot": "accordion-trigger" }, unref(delegatedProps), {
115
+ class: unref(cn)(
116
+ "focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
117
+ props.class
118
+ )
119
+ }), {
120
+ default: withCtx(() => [
121
+ renderSlot(_ctx.$slots, "default"),
122
+ renderSlot(_ctx.$slots, "icon", {}, () => [
123
+ createVNode(unref(ChevronDown), { class: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" })
124
+ ])
125
+ ]),
126
+ _: 3
127
+ }, 16, ["class"])
128
+ ]),
129
+ _: 3
130
+ });
131
+ };
132
+ }
133
+ });
134
+
135
+ const _sfc_main$3e = /* @__PURE__ */ defineComponent({
136
+ __name: "Alert",
137
+ props: {
138
+ class: {},
139
+ variant: {}
140
+ },
141
+ setup(__props) {
142
+ const props = __props;
143
+ return (_ctx, _cache) => {
144
+ return openBlock(), createElementBlock("div", {
145
+ "data-slot": "alert",
146
+ class: normalizeClass(unref(cn)(unref(alertVariants)({ variant: _ctx.variant }), props.class)),
147
+ role: "alert"
148
+ }, [
149
+ renderSlot(_ctx.$slots, "default")
150
+ ], 2);
151
+ };
152
+ }
153
+ });
154
+
155
+ const _sfc_main$3d = /* @__PURE__ */ defineComponent({
156
+ __name: "AlertDescription",
157
+ props: {
158
+ class: {}
159
+ },
160
+ setup(__props) {
161
+ const props = __props;
162
+ return (_ctx, _cache) => {
163
+ return openBlock(), createElementBlock("div", {
164
+ "data-slot": "alert-description",
165
+ class: normalizeClass(
166
+ unref(cn)(
167
+ "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
168
+ props.class
169
+ )
170
+ )
171
+ }, [
172
+ renderSlot(_ctx.$slots, "default")
173
+ ], 2);
174
+ };
175
+ }
176
+ });
177
+
178
+ const _sfc_main$3c = /* @__PURE__ */ defineComponent({
179
+ __name: "AlertTitle",
180
+ props: {
181
+ class: {}
182
+ },
183
+ setup(__props) {
184
+ const props = __props;
185
+ return (_ctx, _cache) => {
186
+ return openBlock(), createElementBlock("div", {
187
+ "data-slot": "alert-title",
188
+ class: normalizeClass(unref(cn)("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight", props.class))
189
+ }, [
190
+ renderSlot(_ctx.$slots, "default")
191
+ ], 2);
192
+ };
193
+ }
194
+ });
195
+
196
+ const alertVariants = cva(
197
+ "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
198
+ {
199
+ variants: {
200
+ variant: {
201
+ default: "bg-card text-card-foreground",
202
+ destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
203
+ }
204
+ },
205
+ defaultVariants: {
206
+ variant: "default"
207
+ }
208
+ }
209
+ );
210
+
211
+ const _sfc_main$3b = /* @__PURE__ */ defineComponent({
212
+ __name: "AlertDialog",
213
+ props: {
214
+ open: { type: Boolean },
215
+ defaultOpen: { type: Boolean }
216
+ },
217
+ emits: ["update:open"],
218
+ setup(__props, { emit: __emit }) {
219
+ const props = __props;
220
+ const emits = __emit;
221
+ const forwarded = useForwardPropsEmits(props, emits);
222
+ return (_ctx, _cache) => {
223
+ return openBlock(), createBlock(unref(AlertDialogRoot), mergeProps({ "data-slot": "alert-dialog" }, unref(forwarded)), {
224
+ default: withCtx(() => [
225
+ renderSlot(_ctx.$slots, "default")
226
+ ]),
227
+ _: 3
228
+ }, 16);
229
+ };
230
+ }
231
+ });
232
+
233
+ const _sfc_main$3a = /* @__PURE__ */ defineComponent({
234
+ __name: "Button",
235
+ props: {
236
+ variant: {},
237
+ size: {},
238
+ class: {},
239
+ type: { default: "button" },
240
+ asChild: { type: Boolean },
241
+ as: { type: [String, Object, Function], default: "button" }
242
+ },
243
+ setup(__props) {
244
+ const props = __props;
245
+ return (_ctx, _cache) => {
246
+ return openBlock(), createBlock(unref(Primitive), {
247
+ "data-slot": "button",
248
+ as: _ctx.as,
249
+ "as-child": _ctx.asChild,
250
+ type: _ctx.type,
251
+ class: normalizeClass(unref(cn)(unref(buttonVariants)({ variant: _ctx.variant, size: _ctx.size }), props.class))
252
+ }, {
253
+ default: withCtx(() => [
254
+ renderSlot(_ctx.$slots, "default")
255
+ ]),
256
+ _: 3
257
+ }, 8, ["as", "as-child", "type", "class"]);
258
+ };
259
+ }
260
+ });
261
+
262
+ const buttonVariants = cva(
263
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
264
+ {
265
+ variants: {
266
+ variant: {
267
+ default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
268
+ destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
269
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
270
+ secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
271
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
272
+ link: "text-primary underline-offset-4 hover:underline"
273
+ },
274
+ size: {
275
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
276
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
277
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
278
+ icon: "size-9"
279
+ }
280
+ },
281
+ defaultVariants: {
282
+ variant: "default",
283
+ size: "default"
284
+ }
285
+ }
286
+ );
287
+
288
+ const _sfc_main$39 = /* @__PURE__ */ defineComponent({
289
+ __name: "AlertDialogAction",
290
+ props: {
291
+ asChild: { type: Boolean },
292
+ as: { type: [String, Object, Function] },
293
+ class: {}
294
+ },
295
+ setup(__props) {
296
+ const props = __props;
297
+ const delegatedProps = reactiveOmit(props, "class");
298
+ return (_ctx, _cache) => {
299
+ return openBlock(), createBlock(unref(AlertDialogAction), mergeProps(unref(delegatedProps), {
300
+ class: unref(cn)(unref(buttonVariants)(), props.class)
301
+ }), {
302
+ default: withCtx(() => [
303
+ renderSlot(_ctx.$slots, "default")
304
+ ]),
305
+ _: 3
306
+ }, 16, ["class"]);
307
+ };
308
+ }
309
+ });
310
+
311
+ const _sfc_main$38 = /* @__PURE__ */ defineComponent({
312
+ __name: "AlertDialogCancel",
313
+ props: {
314
+ asChild: { type: Boolean },
315
+ as: { type: [String, Object, Function] },
316
+ class: {}
317
+ },
318
+ setup(__props) {
319
+ const props = __props;
320
+ const delegatedProps = reactiveOmit(props, "class");
321
+ return (_ctx, _cache) => {
322
+ return openBlock(), createBlock(unref(AlertDialogCancel), mergeProps(unref(delegatedProps), {
323
+ class: unref(cn)(unref(buttonVariants)({ variant: "outline" }), "mt-2 sm:mt-0", props.class)
324
+ }), {
325
+ default: withCtx(() => [
326
+ renderSlot(_ctx.$slots, "default")
327
+ ]),
328
+ _: 3
329
+ }, 16, ["class"]);
330
+ };
331
+ }
332
+ });
333
+
334
+ const _sfc_main$37 = /* @__PURE__ */ defineComponent({
335
+ __name: "AlertDialogContent",
336
+ props: {
337
+ forceMount: { type: Boolean },
338
+ trapFocus: { type: Boolean },
339
+ disableOutsidePointerEvents: { type: Boolean },
340
+ asChild: { type: Boolean },
341
+ as: { type: [String, Object, Function] },
342
+ class: {}
343
+ },
344
+ emits: ["escapeKeyDown", "pointerDownOutside", "focusOutside", "interactOutside", "openAutoFocus", "closeAutoFocus"],
345
+ setup(__props, { emit: __emit }) {
346
+ const props = __props;
347
+ const emits = __emit;
348
+ const delegatedProps = reactiveOmit(props, "class");
349
+ const forwarded = useForwardPropsEmits(delegatedProps, emits);
350
+ return (_ctx, _cache) => {
351
+ return openBlock(), createBlock(unref(AlertDialogPortal), null, {
352
+ default: withCtx(() => [
353
+ createVNode(unref(AlertDialogOverlay), {
354
+ "data-slot": "alert-dialog-overlay",
355
+ class: "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80"
356
+ }),
357
+ createVNode(unref(AlertDialogContent), mergeProps({ "data-slot": "alert-dialog-content" }, unref(forwarded), {
358
+ class: unref(cn)(
359
+ "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
360
+ props.class
361
+ )
362
+ }), {
363
+ default: withCtx(() => [
364
+ renderSlot(_ctx.$slots, "default")
365
+ ]),
366
+ _: 3
367
+ }, 16, ["class"])
368
+ ]),
369
+ _: 3
370
+ });
371
+ };
372
+ }
373
+ });
374
+
375
+ const _sfc_main$36 = /* @__PURE__ */ defineComponent({
376
+ __name: "AlertDialogDescription",
377
+ props: {
378
+ asChild: { type: Boolean },
379
+ as: { type: [String, Object, Function] },
380
+ class: {}
381
+ },
382
+ setup(__props) {
383
+ const props = __props;
384
+ const delegatedProps = reactiveOmit(props, "class");
385
+ return (_ctx, _cache) => {
386
+ return openBlock(), createBlock(unref(AlertDialogDescription), mergeProps({ "data-slot": "alert-dialog-description" }, unref(delegatedProps), {
387
+ class: unref(cn)("text-muted-foreground text-sm", props.class)
388
+ }), {
389
+ default: withCtx(() => [
390
+ renderSlot(_ctx.$slots, "default")
391
+ ]),
392
+ _: 3
393
+ }, 16, ["class"]);
394
+ };
395
+ }
396
+ });
397
+
398
+ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
399
+ __name: "AlertDialogFooter",
400
+ props: {
401
+ class: {}
402
+ },
403
+ setup(__props) {
404
+ const props = __props;
405
+ return (_ctx, _cache) => {
406
+ return openBlock(), createElementBlock("div", {
407
+ "data-slot": "alert-dialog-footer",
408
+ class: normalizeClass(unref(cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", props.class))
409
+ }, [
410
+ renderSlot(_ctx.$slots, "default")
411
+ ], 2);
412
+ };
413
+ }
414
+ });
415
+
416
+ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
417
+ __name: "AlertDialogHeader",
418
+ props: {
419
+ class: {}
420
+ },
421
+ setup(__props) {
422
+ const props = __props;
423
+ return (_ctx, _cache) => {
424
+ return openBlock(), createElementBlock("div", {
425
+ "data-slot": "alert-dialog-header",
426
+ class: normalizeClass(unref(cn)("flex flex-col gap-2 text-center sm:text-left", props.class))
427
+ }, [
428
+ renderSlot(_ctx.$slots, "default")
429
+ ], 2);
430
+ };
431
+ }
432
+ });
433
+
434
+ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
435
+ __name: "AlertDialogTitle",
436
+ props: {
437
+ asChild: { type: Boolean },
438
+ as: { type: [String, Object, Function] },
439
+ class: {}
440
+ },
441
+ setup(__props) {
442
+ const props = __props;
443
+ const delegatedProps = reactiveOmit(props, "class");
444
+ return (_ctx, _cache) => {
445
+ return openBlock(), createBlock(unref(AlertDialogTitle), mergeProps({ "data-slot": "alert-dialog-title" }, unref(delegatedProps), {
446
+ class: unref(cn)("text-lg font-semibold", props.class)
447
+ }), {
448
+ default: withCtx(() => [
449
+ renderSlot(_ctx.$slots, "default")
450
+ ]),
451
+ _: 3
452
+ }, 16, ["class"]);
453
+ };
454
+ }
455
+ });
456
+
457
+ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
458
+ __name: "AlertDialogTrigger",
459
+ props: {
460
+ asChild: { type: Boolean },
461
+ as: { type: [String, Object, Function] }
462
+ },
463
+ setup(__props) {
464
+ const props = __props;
465
+ return (_ctx, _cache) => {
466
+ return openBlock(), createBlock(unref(AlertDialogTrigger), mergeProps({ "data-slot": "alert-dialog-trigger" }, props), {
467
+ default: withCtx(() => [
468
+ renderSlot(_ctx.$slots, "default")
469
+ ]),
470
+ _: 3
471
+ }, 16);
472
+ };
473
+ }
474
+ });
475
+
476
+ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
477
+ __name: "AlertDialog",
478
+ props: {
479
+ actionClass: {},
480
+ cancelClass: {},
481
+ contentClass: {},
482
+ descriptionClass: {},
483
+ footerClass: {},
484
+ headerClass: {},
485
+ titleClass: {}
486
+ },
487
+ setup(__props) {
488
+ return (_ctx, _cache) => {
489
+ return openBlock(), createBlock(unref(_sfc_main$3b), null, {
490
+ default: withCtx(() => [
491
+ createVNode(unref(_sfc_main$32), null, {
492
+ default: withCtx(() => [
493
+ renderSlot(_ctx.$slots, "trigger")
494
+ ]),
495
+ _: 3
496
+ }),
497
+ createVNode(unref(_sfc_main$37), {
498
+ class: normalizeClass(_ctx.contentClass)
499
+ }, {
500
+ default: withCtx(() => [
501
+ createVNode(unref(_sfc_main$34), {
502
+ class: normalizeClass(_ctx.headerClass)
503
+ }, {
504
+ default: withCtx(() => [
505
+ _ctx.$slots.title ? (openBlock(), createBlock(unref(_sfc_main$33), {
506
+ key: 0,
507
+ class: normalizeClass(_ctx.titleClass)
508
+ }, {
509
+ default: withCtx(() => [
510
+ renderSlot(_ctx.$slots, "title")
511
+ ]),
512
+ _: 3
513
+ }, 8, ["class"])) : createCommentVNode("", true),
514
+ _ctx.$slots.description ? (openBlock(), createBlock(unref(_sfc_main$36), {
515
+ key: 1,
516
+ class: normalizeClass(_ctx.descriptionClass)
517
+ }, {
518
+ default: withCtx(() => [
519
+ renderSlot(_ctx.$slots, "description")
520
+ ]),
521
+ _: 3
522
+ }, 8, ["class"])) : createCommentVNode("", true)
523
+ ]),
524
+ _: 3
525
+ }, 8, ["class"]),
526
+ createVNode(unref(_sfc_main$35), {
527
+ class: normalizeClass(_ctx.footerClass)
528
+ }, {
529
+ default: withCtx(() => [
530
+ _ctx.$slots.action ? (openBlock(), createBlock(unref(_sfc_main$39), {
531
+ key: 0,
532
+ class: normalizeClass(_ctx.actionClass)
533
+ }, {
534
+ default: withCtx(() => [
535
+ renderSlot(_ctx.$slots, "action")
536
+ ]),
537
+ _: 3
538
+ }, 8, ["class"])) : createCommentVNode("", true),
539
+ _ctx.$slots.cancel ? (openBlock(), createBlock(unref(_sfc_main$38), {
540
+ key: 1,
541
+ class: normalizeClass(_ctx.cancelClass)
542
+ }, {
543
+ default: withCtx(() => [
544
+ renderSlot(_ctx.$slots, "cancel")
545
+ ]),
546
+ _: 3
547
+ }, 8, ["class"])) : createCommentVNode("", true)
548
+ ]),
549
+ _: 3
550
+ }, 8, ["class"])
551
+ ]),
552
+ _: 3
553
+ }, 8, ["class"])
554
+ ]),
555
+ _: 3
556
+ });
557
+ };
558
+ }
559
+ });
560
+
561
+ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
562
+ __name: "Avatar",
563
+ props: {
564
+ class: {}
565
+ },
566
+ setup(__props) {
567
+ const props = __props;
568
+ return (_ctx, _cache) => {
569
+ return openBlock(), createBlock(unref(AvatarRoot), {
570
+ "data-slot": "avatar",
571
+ class: normalizeClass(unref(cn)("relative flex size-8 shrink-0 overflow-hidden rounded-full", props.class))
572
+ }, {
573
+ default: withCtx(() => [
574
+ renderSlot(_ctx.$slots, "default")
575
+ ]),
576
+ _: 3
577
+ }, 8, ["class"]);
578
+ };
579
+ }
580
+ });
581
+
582
+ const _sfc_main$2$ = /* @__PURE__ */ defineComponent({
583
+ __name: "AvatarFallback",
584
+ props: {
585
+ delayMs: {},
586
+ asChild: { type: Boolean },
587
+ as: { type: [String, Object, Function] },
588
+ class: {}
589
+ },
590
+ setup(__props) {
591
+ const props = __props;
592
+ const delegatedProps = reactiveOmit(props, "class");
593
+ return (_ctx, _cache) => {
594
+ return openBlock(), createBlock(unref(AvatarFallback), mergeProps({ "data-slot": "avatar-fallback" }, unref(delegatedProps), {
595
+ class: unref(cn)("bg-muted flex size-full items-center justify-center rounded-full", props.class)
596
+ }), {
597
+ default: withCtx(() => [
598
+ renderSlot(_ctx.$slots, "default")
599
+ ]),
600
+ _: 3
601
+ }, 16, ["class"]);
602
+ };
603
+ }
604
+ });
17
605
 
18
606
  const _sfc_main$2_ = /* @__PURE__ */ defineComponent({
607
+ __name: "AvatarImage",
608
+ props: {
609
+ src: {},
610
+ referrerPolicy: {},
611
+ crossOrigin: {},
612
+ asChild: { type: Boolean },
613
+ as: { type: [String, Object, Function] }
614
+ },
615
+ setup(__props) {
616
+ const props = __props;
617
+ return (_ctx, _cache) => {
618
+ return openBlock(), createBlock(unref(AvatarImage), mergeProps({ "data-slot": "avatar-image" }, props, { class: "aspect-square size-full" }), {
619
+ default: withCtx(() => [
620
+ renderSlot(_ctx.$slots, "default")
621
+ ]),
622
+ _: 3
623
+ }, 16);
624
+ };
625
+ }
626
+ });
627
+
628
+ const _sfc_main$2Z = /* @__PURE__ */ defineComponent({
19
629
  __name: "Badge",
20
630
  props: {
21
631
  asChild: { type: Boolean },
@@ -60,61 +670,6 @@ const badgeVariants = cva(
60
670
  }
61
671
  );
62
672
 
63
- const _sfc_main$2Z = /* @__PURE__ */ defineComponent({
64
- __name: "Button",
65
- props: {
66
- variant: {},
67
- size: {},
68
- class: {},
69
- type: { default: "button" },
70
- asChild: { type: Boolean },
71
- as: { type: [String, Object, Function], default: "button" }
72
- },
73
- setup(__props) {
74
- const props = __props;
75
- return (_ctx, _cache) => {
76
- return openBlock(), createBlock(unref(Primitive), {
77
- "data-slot": "button",
78
- as: _ctx.as,
79
- "as-child": _ctx.asChild,
80
- type: _ctx.type,
81
- class: normalizeClass(unref(cn)(unref(buttonVariants)({ variant: _ctx.variant, size: _ctx.size }), props.class))
82
- }, {
83
- default: withCtx(() => [
84
- renderSlot(_ctx.$slots, "default")
85
- ]),
86
- _: 3
87
- }, 8, ["as", "as-child", "type", "class"]);
88
- };
89
- }
90
- });
91
-
92
- const buttonVariants = cva(
93
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
94
- {
95
- variants: {
96
- variant: {
97
- default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
98
- destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
99
- outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
100
- secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
101
- ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
102
- link: "text-primary underline-offset-4 hover:underline"
103
- },
104
- size: {
105
- default: "h-9 px-4 py-2 has-[>svg]:px-3",
106
- sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
107
- lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
108
- icon: "size-9"
109
- }
110
- },
111
- defaultVariants: {
112
- variant: "default",
113
- size: "default"
114
- }
115
- }
116
- );
117
-
118
673
  const _hoisted_1$e = { key: 0 };
119
674
  const _sfc_main$2Y = /* @__PURE__ */ defineComponent({
120
675
  __name: "ButtonLinkInner",
@@ -129,7 +684,7 @@ const _sfc_main$2Y = /* @__PURE__ */ defineComponent({
129
684
  setup(__props) {
130
685
  const props = __props;
131
686
  return (_ctx, _cache) => {
132
- return openBlock(), createBlock(unref(_sfc_main$2Z), {
687
+ return openBlock(), createBlock(unref(_sfc_main$3a), {
133
688
  disabled: _ctx.disabled,
134
689
  size: _ctx.size,
135
690
  variant: _ctx.variant,
@@ -224,7 +779,7 @@ const _sfc_main$2W = /* @__PURE__ */ defineComponent({
224
779
  }, null, 8, ["class", "size"]))
225
780
  ]),
226
781
  _: 1
227
- }, 8, ["to", "class", "button-class"])) : (openBlock(), createBlock(unref(_sfc_main$2Z), {
782
+ }, 8, ["to", "class", "button-class"])) : (openBlock(), createBlock(unref(_sfc_main$3a), {
228
783
  key: 1,
229
784
  variant: "ghost",
230
785
  size: "icon",
@@ -1550,108 +2105,115 @@ const _sfc_main$2g = /* @__PURE__ */ defineComponent({
1550
2105
  });
1551
2106
 
1552
2107
  const _sfc_main$2f = /* @__PURE__ */ defineComponent({
1553
- __name: "DialogScrollContent",
2108
+ __name: "DialogTitle",
1554
2109
  props: {
1555
- forceMount: { type: Boolean },
1556
- trapFocus: { type: Boolean },
1557
- disableOutsidePointerEvents: { type: Boolean },
1558
2110
  asChild: { type: Boolean },
1559
2111
  as: { type: [String, Object, Function] },
1560
2112
  class: {}
1561
2113
  },
1562
- emits: ["escapeKeyDown", "pointerDownOutside", "focusOutside", "interactOutside", "openAutoFocus", "closeAutoFocus"],
1563
- setup(__props, { emit: __emit }) {
2114
+ setup(__props) {
1564
2115
  const props = __props;
1565
- const emits = __emit;
1566
2116
  const delegatedProps = computed(() => {
1567
2117
  const { class: _, ...delegated } = props;
1568
2118
  return delegated;
1569
2119
  });
1570
- const forwarded = useForwardPropsEmits(delegatedProps, emits);
2120
+ const forwardedProps = useForwardProps(delegatedProps);
1571
2121
  return (_ctx, _cache) => {
1572
- return openBlock(), createBlock(unref(DialogPortal), null, {
2122
+ return openBlock(), createBlock(unref(DialogTitle), mergeProps({ "data-slot": "dialog-title" }, unref(forwardedProps), {
2123
+ class: unref(cn)("text-lg leading-none font-semibold", props.class)
2124
+ }), {
1573
2125
  default: withCtx(() => [
1574
- createVNode(unref(DialogOverlay), { class: "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 grid place-items-center overflow-y-auto bg-black/80" }, {
1575
- default: withCtx(() => [
1576
- createVNode(unref(DialogContent), mergeProps({
1577
- class: unref(cn)(
1578
- "border-border bg-background relative z-50 my-8 grid w-full max-w-lg gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg md:w-full",
1579
- props.class
1580
- )
1581
- }, unref(forwarded), {
1582
- onPointerDownOutside: _cache[0] || (_cache[0] = (event) => {
1583
- const originalEvent = event.detail.originalEvent;
1584
- const target = originalEvent.target;
1585
- if (originalEvent.offsetX > target.clientWidth || originalEvent.offsetY > target.clientHeight) {
1586
- event.preventDefault();
1587
- }
1588
- })
1589
- }), {
1590
- default: withCtx(() => [
1591
- renderSlot(_ctx.$slots, "default"),
1592
- createVNode(unref(DialogClose), { class: "hover:bg-secondary absolute top-4 right-4 rounded-md p-0.5 transition-colors" }, {
1593
- default: withCtx(() => [
1594
- createVNode(unref(X), { class: "h-4 w-4" }),
1595
- _cache[1] || (_cache[1] = createElementVNode("span", { class: "sr-only" }, "Close", -1))
1596
- ]),
1597
- _: 1,
1598
- __: [1]
1599
- })
1600
- ]),
1601
- _: 3
1602
- }, 16, ["class"])
1603
- ]),
1604
- _: 3
1605
- })
2126
+ renderSlot(_ctx.$slots, "default")
1606
2127
  ]),
1607
2128
  _: 3
1608
- });
2129
+ }, 16, ["class"]);
1609
2130
  };
1610
2131
  }
1611
2132
  });
1612
2133
 
1613
2134
  const _sfc_main$2e = /* @__PURE__ */ defineComponent({
1614
- __name: "DialogTitle",
2135
+ __name: "DialogTrigger",
1615
2136
  props: {
1616
2137
  asChild: { type: Boolean },
1617
- as: { type: [String, Object, Function] },
1618
- class: {}
2138
+ as: { type: [String, Object, Function] }
1619
2139
  },
1620
2140
  setup(__props) {
1621
2141
  const props = __props;
1622
- const delegatedProps = computed(() => {
1623
- const { class: _, ...delegated } = props;
1624
- return delegated;
1625
- });
1626
- const forwardedProps = useForwardProps(delegatedProps);
1627
2142
  return (_ctx, _cache) => {
1628
- return openBlock(), createBlock(unref(DialogTitle), mergeProps({ "data-slot": "dialog-title" }, unref(forwardedProps), {
1629
- class: unref(cn)("text-lg leading-none font-semibold", props.class)
1630
- }), {
2143
+ return openBlock(), createBlock(unref(DialogTrigger), mergeProps({ "data-slot": "dialog-trigger" }, props), {
1631
2144
  default: withCtx(() => [
1632
2145
  renderSlot(_ctx.$slots, "default")
1633
2146
  ]),
1634
2147
  _: 3
1635
- }, 16, ["class"]);
2148
+ }, 16);
1636
2149
  };
1637
2150
  }
1638
2151
  });
1639
2152
 
1640
2153
  const _sfc_main$2d = /* @__PURE__ */ defineComponent({
1641
- __name: "DialogTrigger",
2154
+ __name: "Dialog",
1642
2155
  props: {
1643
- asChild: { type: Boolean },
1644
- as: { type: [String, Object, Function] }
2156
+ contentClass: {},
2157
+ descriptionClass: {},
2158
+ footerClass: {},
2159
+ headerClass: {},
2160
+ titleClass: {}
1645
2161
  },
1646
2162
  setup(__props) {
1647
- const props = __props;
1648
2163
  return (_ctx, _cache) => {
1649
- return openBlock(), createBlock(unref(DialogTrigger), mergeProps({ "data-slot": "dialog-trigger" }, props), {
2164
+ return openBlock(), createBlock(unref(_sfc_main$2m), null, {
1650
2165
  default: withCtx(() => [
1651
- renderSlot(_ctx.$slots, "default")
2166
+ createVNode(unref(_sfc_main$2e), null, {
2167
+ default: withCtx(() => [
2168
+ renderSlot(_ctx.$slots, "trigger")
2169
+ ]),
2170
+ _: 3
2171
+ }),
2172
+ createVNode(unref(_sfc_main$2j), {
2173
+ class: normalizeClass(_ctx.contentClass)
2174
+ }, {
2175
+ default: withCtx(() => [
2176
+ _ctx.$slots.title ? (openBlock(), createBlock(unref(_sfc_main$2g), {
2177
+ key: 0,
2178
+ class: normalizeClass(_ctx.headerClass)
2179
+ }, {
2180
+ default: withCtx(() => [
2181
+ createVNode(unref(_sfc_main$2f), {
2182
+ class: normalizeClass(_ctx.titleClass)
2183
+ }, {
2184
+ default: withCtx(() => [
2185
+ renderSlot(_ctx.$slots, "title")
2186
+ ]),
2187
+ _: 3
2188
+ }, 8, ["class"]),
2189
+ _ctx.$slots.description ? (openBlock(), createBlock(unref(_sfc_main$2i), {
2190
+ key: 0,
2191
+ class: normalizeClass(_ctx.descriptionClass)
2192
+ }, {
2193
+ default: withCtx(() => [
2194
+ renderSlot(_ctx.$slots, "description")
2195
+ ]),
2196
+ _: 3
2197
+ }, 8, ["class"])) : createCommentVNode("", true)
2198
+ ]),
2199
+ _: 3
2200
+ }, 8, ["class"])) : createCommentVNode("", true),
2201
+ _ctx.$slots.footer ? (openBlock(), createBlock(unref(_sfc_main$2h), {
2202
+ key: 1,
2203
+ class: normalizeClass(_ctx.footerClass)
2204
+ }, {
2205
+ default: withCtx(() => [
2206
+ renderSlot(_ctx.$slots, "footer")
2207
+ ]),
2208
+ _: 3
2209
+ }, 8, ["class"])) : createCommentVNode("", true),
2210
+ renderSlot(_ctx.$slots, "default")
2211
+ ]),
2212
+ _: 3
2213
+ }, 8, ["class"])
1652
2214
  ]),
1653
2215
  _: 3
1654
- }, 16);
2216
+ });
1655
2217
  };
1656
2218
  }
1657
2219
  });
@@ -2269,9 +2831,9 @@ const _sfc_main$1V = /* @__PURE__ */ defineComponent({
2269
2831
  get: () => props.modelValue ?? void 0,
2270
2832
  set: (it) => emit("update:modelValue", it ?? null)
2271
2833
  });
2272
- const inputComponent = useTemplateRef("inputComponent");
2834
+ const component = useTemplateRef("inputComponent");
2273
2835
  const inputEl = computed(() => {
2274
- return inputComponent.value?.$el;
2836
+ return component.value?.$el;
2275
2837
  });
2276
2838
  function focus() {
2277
2839
  inputEl.value?.focus();
@@ -2285,8 +2847,7 @@ const _sfc_main$1V = /* @__PURE__ */ defineComponent({
2285
2847
  __expose({ inputEl, focus, blur, select });
2286
2848
  return (_ctx, _cache) => {
2287
2849
  return openBlock(), createBlock(unref(_sfc_main$1W), {
2288
- ref_key: "inputComponent",
2289
- ref: inputComponent,
2850
+ ref: "inputComponent",
2290
2851
  modelValue: value.value,
2291
2852
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event),
2292
2853
  modelModifiers: { trim: true },
@@ -2546,8 +3107,8 @@ const _sfc_main$1O = /* @__PURE__ */ defineComponent({
2546
3107
  setup(__props, { expose: __expose }) {
2547
3108
  const props = __props;
2548
3109
  const value = useModel(__props, "modelValue");
2549
- const inputComponent = useTemplateRef("inputComponent");
2550
- const inputEl = computed(() => inputComponent.value?.inputEl);
3110
+ const component = useTemplateRef("inputComponent");
3111
+ const inputEl = computed(() => component.value?.inputEl);
2551
3112
  function focus() {
2552
3113
  inputEl.value?.focus();
2553
3114
  }
@@ -2560,8 +3121,7 @@ const _sfc_main$1O = /* @__PURE__ */ defineComponent({
2560
3121
  __expose({ inputEl, focus, blur, select });
2561
3122
  return (_ctx, _cache) => {
2562
3123
  return openBlock(), createBlock(unref(_sfc_main$1V), {
2563
- ref_key: "inputComponent",
2564
- ref: inputComponent,
3124
+ ref: "inputComponent",
2565
3125
  modelValue: value.value,
2566
3126
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event),
2567
3127
  type: "text",
@@ -3487,8 +4047,8 @@ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
3487
4047
  setup(__props, { expose: __expose }) {
3488
4048
  const props = __props;
3489
4049
  const isOpen = useModel(__props, "modelValue");
3490
- const popover = useTemplateRef("contentEl");
3491
- onClickOutside(popover, () => {
4050
+ const component = useTemplateRef("contentEl");
4051
+ onClickOutside(component, () => {
3492
4052
  if (!props.keepOpen) close();
3493
4053
  });
3494
4054
  function open() {
@@ -5294,7 +5854,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
5294
5854
  const props = __props;
5295
5855
  const { toggleSidebar } = useSidebar();
5296
5856
  return (_ctx, _cache) => {
5297
- return openBlock(), createBlock(unref(_sfc_main$2Z), {
5857
+ return openBlock(), createBlock(unref(_sfc_main$3a), {
5298
5858
  "data-sidebar": "trigger",
5299
5859
  "data-slot": "sidebar-trigger",
5300
5860
  variant: "ghost",
@@ -5336,16 +5896,21 @@ const sidebarMenuButtonVariants = cva(
5336
5896
 
5337
5897
  const _sfc_main$r = /* @__PURE__ */ defineComponent({
5338
5898
  __name: "Sidebar",
5339
- props: {
5899
+ props: /* @__PURE__ */ mergeModels({
5340
5900
  collapsible: {},
5341
5901
  defaultOpen: { type: Boolean },
5342
5902
  side: {},
5343
5903
  variant: {},
5344
5904
  width: {},
5345
5905
  widthMobile: {}
5346
- },
5906
+ }, {
5907
+ "open": { type: Boolean, ...{ required: false } },
5908
+ "openModifiers": {}
5909
+ }),
5910
+ emits: ["update:open"],
5347
5911
  setup(__props) {
5348
5912
  const props = __props;
5913
+ const open = useModel(__props, "open");
5349
5914
  const sidebarStyle = computed(() => {
5350
5915
  const style = {};
5351
5916
  if (props.width) style["--sidebar-width"] = toPixel(props.width);
@@ -5354,6 +5919,8 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
5354
5919
  });
5355
5920
  return (_ctx, _cache) => {
5356
5921
  return openBlock(), createBlock(unref(_sfc_main$v), {
5922
+ open: open.value,
5923
+ "onUpdate:open": _cache[0] || (_cache[0] = ($event) => open.value = $event),
5357
5924
  "default-open": _ctx.defaultOpen,
5358
5925
  style: normalizeStyle(sidebarStyle.value)
5359
5926
  }, {
@@ -5393,7 +5960,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
5393
5960
  })) : renderSlot(_ctx.$slots, "default", { key: 1 })
5394
5961
  ]),
5395
5962
  _: 3
5396
- }, 8, ["default-open", "style"]);
5963
+ }, 8, ["open", "default-open", "style"]);
5397
5964
  };
5398
5965
  }
5399
5966
  });
@@ -6204,9 +6771,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
6204
6771
  setup(__props, { expose: __expose, emit: __emit }) {
6205
6772
  const props = __props;
6206
6773
  const emit = __emit;
6207
- const textareaComponent = useTemplateRef("textareaComponent");
6774
+ const component = useTemplateRef("textareaComponent");
6208
6775
  const textareaEl = computed(() => {
6209
- return textareaComponent.value?.$el;
6776
+ return component.value?.$el;
6210
6777
  });
6211
6778
  const value = computed({
6212
6779
  // eslint-disable-next-line no-undefined
@@ -6218,10 +6785,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
6218
6785
  });
6219
6786
  __expose({ textareaEl });
6220
6787
  return (_ctx, _cache) => {
6221
- return openBlock(), createBlock(unref(_sfc_main$3), mergeProps({
6222
- ref_key: "textareaComponent",
6223
- ref: textareaComponent
6224
- }, _ctx.$attrs, {
6788
+ return openBlock(), createBlock(unref(_sfc_main$3), mergeProps({ ref: "textareaComponent" }, _ctx.$attrs, {
6225
6789
  modelValue: value.value,
6226
6790
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event),
6227
6791
  modelModifiers: { trim: true },
@@ -6333,4 +6897,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6333
6897
  }
6334
6898
  });
6335
6899
 
6336
- export { _sfc_main$2_ as Badge, _sfc_main$2Z as Button, _sfc_main$2W as ButtonIcon, _sfc_main$2X as ButtonLink, _sfc_main$2N as Card, _sfc_main$2L as Checkbox, _sfc_main$2K as Combobox, _sfc_main$2J as ComboboxAnchor, _sfc_main$2I as ComboboxEmpty, _sfc_main$2H as ComboboxGroup, _sfc_main$2G as ComboboxInput, _sfc_main$2F as ComboboxItem, _sfc_main$2E as ComboboxItemIndicator, _sfc_main$2D as ComboboxList, _sfc_main$2C as ComboboxSeparator, _sfc_main$2B as ComboboxViewport, _sfc_main$2A as ContextMenu, _sfc_main$2z as ContextMenuCheckboxItem, _sfc_main$2y as ContextMenuContent, _sfc_main$2x as ContextMenuGroup, _sfc_main$2w as ContextMenuItem, _sfc_main$2v as ContextMenuLabel, _sfc_main$2u as ContextMenuRadioGroup, _sfc_main$2t as ContextMenuRadioItem, _sfc_main$2s as ContextMenuSeparator, _sfc_main$2r as ContextMenuShortcut, _sfc_main$2q as ContextMenuSub, _sfc_main$2p as ContextMenuSubContent, _sfc_main$2o as ContextMenuSubTrigger, _sfc_main$2n as ContextMenuTrigger, _sfc_main$2m as Dialog, _sfc_main$2l as DialogClose, _sfc_main$2j as DialogContent, _sfc_main$2i as DialogDescription, _sfc_main$2h as DialogFooter, _sfc_main$2g as DialogHeader, _sfc_main$2k as DialogOverlay, _sfc_main$2f as DialogScrollContent, _sfc_main$2e as DialogTitle, _sfc_main$2d as DialogTrigger, _sfc_main$2c as DropdownMenu, _sfc_main$2b as DropdownMenuCheckboxItem, _sfc_main$2a as DropdownMenuContent, _sfc_main$29 as DropdownMenuGroup, _sfc_main$28 as DropdownMenuItem, _sfc_main$27 as DropdownMenuLabel, _sfc_main$26 as DropdownMenuRadioGroup, _sfc_main$25 as DropdownMenuRadioItem, _sfc_main$24 as DropdownMenuSeparator, _sfc_main$23 as DropdownMenuShortcut, _sfc_main$22 as DropdownMenuSub, _sfc_main$21 as DropdownMenuSubContent, _sfc_main$20 as DropdownMenuSubTrigger, _sfc_main$1$ as DropdownMenuTrigger, _sfc_main$1X as HoverCard, _sfc_main$1V as Input, _sfc_main$1P as InputNumber, _sfc_main$1O as InputText, _sfc_main$1N as Label, _sfc_main$1M as Link, Loading, _sfc_main$1K as Menubar, _sfc_main$1J as MenubarCheckboxItem, _sfc_main$1I as MenubarContent, _sfc_main$1H as MenubarGroup, _sfc_main$1G as MenubarItem, _sfc_main$1F as MenubarLabel, _sfc_main$1E as MenubarMenu, _sfc_main$1D as MenubarRadioGroup, _sfc_main$1C as MenubarRadioItem, _sfc_main$1B as MenubarSeparator, _sfc_main$1A as MenubarShortcut, _sfc_main$1z as MenubarSub, _sfc_main$1y as MenubarSubContent, _sfc_main$1x as MenubarSubTrigger, _sfc_main$1w as MenubarTrigger, _sfc_main$1v as Pagination, _sfc_main$1u as PaginationContent, _sfc_main$1t as PaginationEllipsis, _sfc_main$1s as PaginationFirst, _sfc_main$1r as PaginationItem, _sfc_main$1q as PaginationLast, _sfc_main$1p as PaginationNext, _sfc_main$1o as PaginationPrevious, _sfc_main$1k as Popover, _sfc_main$1j as Progress, _sfc_main$1i as RadioGroup, _sfc_main$1h as RadioGroupItem, _sfc_main$1g as ResizableHandle, _sfc_main$1f as ResizablePanel, _sfc_main$1e as ResizablePanelGroup, _sfc_main$2U as ScrollArea, _sfc_main$12 as Select, _sfc_main$1b as SelectGroup, _sfc_main$1a as SelectItem, _sfc_main$19 as SelectItemText, _sfc_main$18 as SelectLabel, _sfc_main$17 as SelectScrollDownButton, _sfc_main$16 as SelectScrollUpButton, _sfc_main$15 as SelectSeparator, _sfc_main$11 as Separator, _sfc_main$10 as Sheet, _sfc_main$$ as SheetClose, _sfc_main$Z as SheetContent, _sfc_main$Y as SheetDescription, _sfc_main$X as SheetFooter, _sfc_main$W as SheetHeader, _sfc_main$V as SheetTitle, _sfc_main$U as SheetTrigger, _sfc_main$r as Sidebar, _sfc_main$Q as SidebarGroup, _sfc_main$P as SidebarGroupAction, _sfc_main$O as SidebarGroupContent, _sfc_main$N as SidebarGroupLabel, _sfc_main$K as SidebarMenu, _sfc_main$J as SidebarMenuAction, _sfc_main$I as SidebarMenuBadge, _sfc_main$C as SidebarMenuButton, _sfc_main$B as SidebarMenuItem, _sfc_main$z as SidebarMenuSkeleton, _sfc_main$y as SidebarMenuSub, _sfc_main$x as SidebarMenuSubButton, _sfc_main$w as SidebarMenuSubItem, _sfc_main$u as SidebarRail, _sfc_main$t as SidebarSeparator, _sfc_main$s as SidebarTrigger, _sfc_main$A as Skeleton, _sfc_main$q as Slider, _sfc_main$p as Sonner, _sfc_main$n as Switch, _sfc_main$e as Table, _sfc_main$k as TableCell, _sfc_main$i as TableEmpty, _sfc_main$g as TableHead, _sfc_main$d as TableLink, _sfc_main$j as TableRow, _sfc_main$c as Tabs, _sfc_main$b as TabsContent, _sfc_main$a as TabsList, _sfc_main$9 as TabsTrigger, _sfc_main$8 as TagsInput, _sfc_main$7 as TagsInputInput, _sfc_main$6 as TagsInputItem, _sfc_main$5 as TagsInputItemDelete, _sfc_main$4 as TagsInputItemText, _sfc_main$2 as Textarea, _sfc_main$1 as Toggle, _sfc_main as Tooltip, cn, toBooleanCheckboxValue, useSidebar };
6900
+ export { _sfc_main$3i as Accordion, _sfc_main$3h as AccordionContent, _sfc_main$3g as AccordionItem, _sfc_main$3f as AccordionTrigger, _sfc_main$3e as Alert, _sfc_main$3d as AlertDescription, _sfc_main$31 as AlertDialog, _sfc_main$3c as AlertTitle, _sfc_main$30 as Avatar, _sfc_main$2$ as AvatarFallback, _sfc_main$2_ as AvatarImage, _sfc_main$2Z as Badge, _sfc_main$3a as Button, _sfc_main$2W as ButtonIcon, _sfc_main$2X as ButtonLink, _sfc_main$2N as Card, _sfc_main$2L as Checkbox, _sfc_main$2K as Combobox, _sfc_main$2J as ComboboxAnchor, _sfc_main$2I as ComboboxEmpty, _sfc_main$2H as ComboboxGroup, _sfc_main$2G as ComboboxInput, _sfc_main$2F as ComboboxItem, _sfc_main$2E as ComboboxItemIndicator, _sfc_main$2D as ComboboxList, _sfc_main$2C as ComboboxSeparator, _sfc_main$2B as ComboboxViewport, _sfc_main$2A as ContextMenu, _sfc_main$2z as ContextMenuCheckboxItem, _sfc_main$2y as ContextMenuContent, _sfc_main$2x as ContextMenuGroup, _sfc_main$2w as ContextMenuItem, _sfc_main$2v as ContextMenuLabel, _sfc_main$2u as ContextMenuRadioGroup, _sfc_main$2t as ContextMenuRadioItem, _sfc_main$2s as ContextMenuSeparator, _sfc_main$2r as ContextMenuShortcut, _sfc_main$2q as ContextMenuSub, _sfc_main$2p as ContextMenuSubContent, _sfc_main$2o as ContextMenuSubTrigger, _sfc_main$2n as ContextMenuTrigger, _sfc_main$2d as Dialog, _sfc_main$2l as DialogClose, _sfc_main$2c as DropdownMenu, _sfc_main$2b as DropdownMenuCheckboxItem, _sfc_main$2a as DropdownMenuContent, _sfc_main$29 as DropdownMenuGroup, _sfc_main$28 as DropdownMenuItem, _sfc_main$27 as DropdownMenuLabel, _sfc_main$26 as DropdownMenuRadioGroup, _sfc_main$25 as DropdownMenuRadioItem, _sfc_main$24 as DropdownMenuSeparator, _sfc_main$23 as DropdownMenuShortcut, _sfc_main$22 as DropdownMenuSub, _sfc_main$21 as DropdownMenuSubContent, _sfc_main$20 as DropdownMenuSubTrigger, _sfc_main$1$ as DropdownMenuTrigger, _sfc_main$1X as HoverCard, _sfc_main$1V as Input, _sfc_main$1P as InputNumber, _sfc_main$1O as InputText, _sfc_main$1N as Label, _sfc_main$1M as Link, Loading, _sfc_main$1K as Menubar, _sfc_main$1J as MenubarCheckboxItem, _sfc_main$1I as MenubarContent, _sfc_main$1H as MenubarGroup, _sfc_main$1G as MenubarItem, _sfc_main$1F as MenubarLabel, _sfc_main$1E as MenubarMenu, _sfc_main$1D as MenubarRadioGroup, _sfc_main$1C as MenubarRadioItem, _sfc_main$1B as MenubarSeparator, _sfc_main$1A as MenubarShortcut, _sfc_main$1z as MenubarSub, _sfc_main$1y as MenubarSubContent, _sfc_main$1x as MenubarSubTrigger, _sfc_main$1w as MenubarTrigger, _sfc_main$1v as Pagination, _sfc_main$1u as PaginationContent, _sfc_main$1t as PaginationEllipsis, _sfc_main$1s as PaginationFirst, _sfc_main$1r as PaginationItem, _sfc_main$1q as PaginationLast, _sfc_main$1p as PaginationNext, _sfc_main$1o as PaginationPrevious, _sfc_main$1k as Popover, _sfc_main$1j as Progress, _sfc_main$1i as RadioGroup, _sfc_main$1h as RadioGroupItem, _sfc_main$1g as ResizableHandle, _sfc_main$1f as ResizablePanel, _sfc_main$1e as ResizablePanelGroup, _sfc_main$2U as ScrollArea, _sfc_main$12 as Select, _sfc_main$1b as SelectGroup, _sfc_main$1a as SelectItem, _sfc_main$19 as SelectItemText, _sfc_main$18 as SelectLabel, _sfc_main$17 as SelectScrollDownButton, _sfc_main$16 as SelectScrollUpButton, _sfc_main$15 as SelectSeparator, _sfc_main$11 as Separator, _sfc_main$10 as Sheet, _sfc_main$$ as SheetClose, _sfc_main$Z as SheetContent, _sfc_main$Y as SheetDescription, _sfc_main$X as SheetFooter, _sfc_main$W as SheetHeader, _sfc_main$V as SheetTitle, _sfc_main$U as SheetTrigger, _sfc_main$r as Sidebar, _sfc_main$Q as SidebarGroup, _sfc_main$P as SidebarGroupAction, _sfc_main$O as SidebarGroupContent, _sfc_main$N as SidebarGroupLabel, _sfc_main$K as SidebarMenu, _sfc_main$J as SidebarMenuAction, _sfc_main$I as SidebarMenuBadge, _sfc_main$C as SidebarMenuButton, _sfc_main$B as SidebarMenuItem, _sfc_main$z as SidebarMenuSkeleton, _sfc_main$y as SidebarMenuSub, _sfc_main$x as SidebarMenuSubButton, _sfc_main$w as SidebarMenuSubItem, _sfc_main$u as SidebarRail, _sfc_main$t as SidebarSeparator, _sfc_main$s as SidebarTrigger, _sfc_main$A as Skeleton, _sfc_main$q as Slider, _sfc_main$p as Sonner, _sfc_main$n as Switch, _sfc_main$e as Table, _sfc_main$k as TableCell, _sfc_main$i as TableEmpty, _sfc_main$g as TableHead, _sfc_main$d as TableLink, _sfc_main$j as TableRow, _sfc_main$c as Tabs, _sfc_main$b as TabsContent, _sfc_main$a as TabsList, _sfc_main$9 as TabsTrigger, _sfc_main$8 as TagsInput, _sfc_main$7 as TagsInputInput, _sfc_main$6 as TagsInputItem, _sfc_main$5 as TagsInputItemDelete, _sfc_main$4 as TagsInputItemText, _sfc_main$2 as Textarea, _sfc_main$1 as Toggle, _sfc_main as Tooltip, cn, toBooleanCheckboxValue, useSidebar };