@lssm/lib.ui-kit-web 1.7.3 → 1.9.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.
- package/README.md +80 -0
- package/dist/node_modules/sonner/dist/index.js +1 -2
- package/dist/node_modules/sonner/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/accordion.d.ts +5 -5
- package/dist/ui/accordion.js +3 -4
- package/dist/ui/accordion.js.map +1 -1
- package/dist/ui/alert-dialog.js +8 -9
- package/dist/ui/alert-dialog.js.map +1 -1
- package/dist/ui/alert.d.ts +6 -6
- package/dist/ui/alert.d.ts.map +1 -1
- package/dist/ui/alert.js +3 -3
- package/dist/ui/alert.js.map +1 -1
- package/dist/ui/aspect-ratio.d.ts +2 -2
- package/dist/ui/aspect-ratio.js +0 -1
- package/dist/ui/aspect-ratio.js.map +1 -1
- package/dist/ui/avatar.d.ts +4 -4
- package/dist/ui/avatar.d.ts.map +1 -1
- package/dist/ui/avatar.js +3 -4
- package/dist/ui/avatar.js.map +1 -1
- package/dist/ui/badge.d.ts +3 -3
- package/dist/ui/badge.js +1 -1
- package/dist/ui/badge.js.map +1 -1
- package/dist/ui/breadcrumb.d.ts +8 -8
- package/dist/ui/breadcrumb.d.ts.map +1 -1
- package/dist/ui/breadcrumb.js +6 -6
- package/dist/ui/breadcrumb.js.map +1 -1
- package/dist/ui/button.d.ts +6 -6
- package/dist/ui/button.js +1 -1
- package/dist/ui/button.js.map +1 -1
- package/dist/ui/calendar.d.ts +3 -3
- package/dist/ui/calendar.js +5 -6
- package/dist/ui/calendar.js.map +1 -1
- package/dist/ui/card.d.ts +8 -8
- package/dist/ui/card.js +7 -7
- package/dist/ui/card.js.map +1 -1
- package/dist/ui/carousel.d.ts +6 -6
- package/dist/ui/carousel.js +5 -6
- package/dist/ui/carousel.js.map +1 -1
- package/dist/ui/checkbox.d.ts +2 -2
- package/dist/ui/checkbox.js +1 -2
- package/dist/ui/checkbox.js.map +1 -1
- package/dist/ui/collapsible.d.ts +4 -4
- package/dist/ui/collapsible.js +0 -1
- package/dist/ui/collapsible.js.map +1 -1
- package/dist/ui/command.d.ts +10 -10
- package/dist/ui/command.js +8 -9
- package/dist/ui/command.js.map +1 -1
- package/dist/ui/confirm-dialog.d.ts +2 -2
- package/dist/ui/context-menu.d.ts +2 -2
- package/dist/ui/context-menu.d.ts.map +1 -1
- package/dist/ui/context-menu.js +9 -10
- package/dist/ui/context-menu.js.map +1 -1
- package/dist/ui/cta.d.ts +1 -1
- package/dist/ui/cta.js +1 -1
- package/dist/ui/cta.js.map +1 -1
- package/dist/ui/date-picker.d.ts +2 -2
- package/dist/ui/date-picker.js +0 -1
- package/dist/ui/date-picker.js.map +1 -1
- package/dist/ui/date-range-picker.d.ts +2 -2
- package/dist/ui/date-range-picker.js +0 -1
- package/dist/ui/date-range-picker.js.map +1 -1
- package/dist/ui/datetime-picker.d.ts +2 -2
- package/dist/ui/datetime-picker.d.ts.map +1 -1
- package/dist/ui/datetime-picker.js +0 -1
- package/dist/ui/datetime-picker.js.map +1 -1
- package/dist/ui/dialog.d.ts +11 -11
- package/dist/ui/dialog.d.ts.map +1 -1
- package/dist/ui/dialog.js +6 -7
- package/dist/ui/dialog.js.map +1 -1
- package/dist/ui/drawer.d.ts +11 -11
- package/dist/ui/drawer.js +6 -7
- package/dist/ui/drawer.js.map +1 -1
- package/dist/ui/dropdown-menu.d.ts +16 -16
- package/dist/ui/dropdown-menu.js +9 -10
- package/dist/ui/dropdown-menu.js.map +1 -1
- package/dist/ui/empty-state.d.ts +4 -4
- package/dist/ui/empty.d.ts +9 -9
- package/dist/ui/empty.js +6 -6
- package/dist/ui/empty.js.map +1 -1
- package/dist/ui/field.d.ts +11 -11
- package/dist/ui/field.js +10 -11
- package/dist/ui/field.js.map +1 -1
- package/dist/ui/form.d.ts +7 -7
- package/dist/ui/form.js +4 -5
- package/dist/ui/form.js.map +1 -1
- package/dist/ui/hover-card.d.ts +4 -4
- package/dist/ui/hover-card.js +1 -2
- package/dist/ui/hover-card.js.map +1 -1
- package/dist/ui/input-group.d.ts +11 -11
- package/dist/ui/input-group.js +6 -7
- package/dist/ui/input-group.js.map +1 -1
- package/dist/ui/input-otp.d.ts +2 -2
- package/dist/ui/input-otp.js +3 -4
- package/dist/ui/input-otp.js.map +1 -1
- package/dist/ui/input.d.ts +2 -2
- package/dist/ui/input.js +1 -1
- package/dist/ui/input.js.map +1 -1
- package/dist/ui/label.d.ts +2 -2
- package/dist/ui/label.js +1 -2
- package/dist/ui/label.js.map +1 -1
- package/dist/ui/link.d.ts +3 -3
- package/dist/ui/link.js +1 -1
- package/dist/ui/link.js.map +1 -1
- package/dist/ui/live-region.d.ts +2 -2
- package/dist/ui/live-region.js +0 -1
- package/dist/ui/live-region.js.map +1 -1
- package/dist/ui/loading-button.d.ts +2 -2
- package/dist/ui/loading-button.js +1 -1
- package/dist/ui/loading-button.js.map +1 -1
- package/dist/ui/map/MapBase.d.ts +2 -2
- package/dist/ui/map/MapBase.js +0 -1
- package/dist/ui/map/MapBase.js.map +1 -1
- package/dist/ui/map/MapGeoJsonOverlay.d.ts +2 -2
- package/dist/ui/map/MapGeoJsonOverlay.js +0 -1
- package/dist/ui/map/MapGeoJsonOverlay.js.map +1 -1
- package/dist/ui/map/MapHeatmapH3.d.ts +2 -2
- package/dist/ui/map/MapHeatmapH3.js +0 -1
- package/dist/ui/map/MapHeatmapH3.js.map +1 -1
- package/dist/ui/map/MapMarkers.d.ts +2 -2
- package/dist/ui/map/MapMarkers.js +0 -1
- package/dist/ui/map/MapMarkers.js.map +1 -1
- package/dist/ui/marketing/FeatureGrid.d.ts +2 -2
- package/dist/ui/marketing/Hero.d.ts +2 -2
- package/dist/ui/marketing/PricingTable.d.ts +2 -2
- package/dist/ui/menubar.d.ts +17 -17
- package/dist/ui/menubar.d.ts.map +1 -1
- package/dist/ui/menubar.js +11 -12
- package/dist/ui/menubar.js.map +1 -1
- package/dist/ui/molecules/Autocomplete/index.d.ts +2 -2
- package/dist/ui/molecules/Autocomplete/index.js +0 -1
- package/dist/ui/molecules/Autocomplete/index.js.map +1 -1
- package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +1 -1
- package/dist/ui/molecules/SkeletonList.d.ts +2 -2
- package/dist/ui/nav-layout.d.ts +9 -9
- package/dist/ui/nav-layout.d.ts.map +1 -1
- package/dist/ui/nav-layout.js +1 -1
- package/dist/ui/nav-layout.js.map +1 -1
- package/dist/ui/navigation-menu.d.ts +11 -11
- package/dist/ui/navigation-menu.d.ts.map +1 -1
- package/dist/ui/navigation-menu.js +8 -8
- package/dist/ui/navigation-menu.js.map +1 -1
- package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +2 -2
- package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +0 -1
- package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/dist/ui/organisms/ListPage/ListPage.d.ts +2 -2
- package/dist/ui/page-header.d.ts +5 -5
- package/dist/ui/pagination.d.ts +6 -6
- package/dist/ui/pagination.js +7 -7
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/popover.d.ts +5 -5
- package/dist/ui/popover.js +1 -2
- package/dist/ui/popover.js.map +1 -1
- package/dist/ui/progress.js +1 -2
- package/dist/ui/progress.js.map +1 -1
- package/dist/ui/radio-group.d.ts +3 -3
- package/dist/ui/radio-group.js +2 -3
- package/dist/ui/radio-group.js.map +1 -1
- package/dist/ui/resizable.d.ts +7 -7
- package/dist/ui/resizable.d.ts.map +1 -1
- package/dist/ui/resizable.js +2 -3
- package/dist/ui/resizable.js.map +1 -1
- package/dist/ui/route-announcer.d.ts +2 -2
- package/dist/ui/route-announcer.js +0 -1
- package/dist/ui/route-announcer.js.map +1 -1
- package/dist/ui/scroll-area.d.ts +3 -3
- package/dist/ui/scroll-area.js +2 -3
- package/dist/ui/scroll-area.js.map +1 -1
- package/dist/ui/section.d.ts +7 -7
- package/dist/ui/section.d.ts.map +1 -1
- package/dist/ui/section.js +1 -1
- package/dist/ui/section.js.map +1 -1
- package/dist/ui/select.d.ts +11 -11
- package/dist/ui/select.js +7 -8
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/separator.d.ts +2 -2
- package/dist/ui/separator.js +1 -2
- package/dist/ui/separator.js.map +1 -1
- package/dist/ui/sheet.d.ts +9 -9
- package/dist/ui/sheet.js +6 -7
- package/dist/ui/sheet.js.map +1 -1
- package/dist/ui/sidebar.d.ts +28 -28
- package/dist/ui/sidebar.d.ts.map +1 -1
- package/dist/ui/sidebar.js +23 -24
- package/dist/ui/sidebar.js.map +1 -1
- package/dist/ui/skeleton.d.ts +2 -2
- package/dist/ui/skeleton.js +1 -1
- package/dist/ui/skeleton.js.map +1 -1
- package/dist/ui/skip-link.d.ts +2 -2
- package/dist/ui/skip-link.js +1 -1
- package/dist/ui/skip-link.js.map +1 -1
- package/dist/ui/slider.d.ts +2 -2
- package/dist/ui/slider.js +1 -2
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/sonner.d.ts +2 -2
- package/dist/ui/sonner.js +0 -1
- package/dist/ui/sonner.js.map +1 -1
- package/dist/ui/stack.d.ts +13 -13
- package/dist/ui/stack.d.ts.map +1 -1
- package/dist/ui/stack.js +3 -3
- package/dist/ui/stack.js.map +1 -1
- package/dist/ui/stat-card-group.d.ts +2 -2
- package/dist/ui/stepper.d.ts +2 -2
- package/dist/ui/switch.d.ts +2 -2
- package/dist/ui/switch.js +1 -2
- package/dist/ui/switch.js.map +1 -1
- package/dist/ui/table.d.ts +9 -9
- package/dist/ui/table.js +8 -9
- package/dist/ui/table.js.map +1 -1
- package/dist/ui/tabs.d.ts +5 -5
- package/dist/ui/tabs.js +4 -5
- package/dist/ui/tabs.js.map +1 -1
- package/dist/ui/text.d.ts +2 -2
- package/dist/ui/text.js +1 -1
- package/dist/ui/text.js.map +1 -1
- package/dist/ui/textarea.d.ts +2 -2
- package/dist/ui/textarea.js +1 -1
- package/dist/ui/textarea.js.map +1 -1
- package/dist/ui/time-picker.d.ts +2 -2
- package/dist/ui/time-picker.js +0 -1
- package/dist/ui/time-picker.js.map +1 -1
- package/dist/ui/toast.d.ts +2 -2
- package/dist/ui/toast.js +6 -7
- package/dist/ui/toast.js.map +1 -1
- package/dist/ui/toaster.d.ts +2 -2
- package/dist/ui/toaster.js +1 -2
- package/dist/ui/toaster.js.map +1 -1
- package/dist/ui/toggle-group.d.ts +3 -3
- package/dist/ui/toggle-group.js +2 -3
- package/dist/ui/toggle-group.js.map +1 -1
- package/dist/ui/toggle.d.ts +4 -4
- package/dist/ui/toggle.js +1 -2
- package/dist/ui/toggle.js.map +1 -1
- package/dist/ui/tooltip.d.ts +5 -5
- package/dist/ui/tooltip.js +2 -3
- package/dist/ui/tooltip.js.map +1 -1
- package/dist/ui/typography.d.ts +12 -12
- package/dist/ui/typography.js +11 -11
- package/dist/ui/typography.js.map +1 -1
- package/dist/ui/use-toast.js +0 -1
- package/dist/ui/use-toast.js.map +1 -1
- package/dist/ui/usecases/UseCaseCard.d.ts +2 -2
- package/dist/ui/usecases/UserStoryCard.d.ts +2 -2
- package/dist/ui/visually-hidden.js +1 -1
- package/dist/ui/visually-hidden.js.map +1 -1
- package/package.json +9 -10
- package/dist/ui/sidebar-right.d.ts +0 -165
- package/dist/ui/sidebar-right.d.ts.map +0 -1
- package/dist/ui/sidebar-right.js +0 -380
- package/dist/ui/sidebar-right.js.map +0 -1
package/dist/ui/sidebar.d.ts
CHANGED
|
@@ -3,12 +3,12 @@ import { Input } from "./input.js";
|
|
|
3
3
|
import { Separator } from "./separator.js";
|
|
4
4
|
import { TooltipContent } from "./tooltip.js";
|
|
5
5
|
import * as React$1 from "react";
|
|
6
|
-
import * as
|
|
6
|
+
import * as react_jsx_runtime208 from "react/jsx-runtime";
|
|
7
7
|
import { VariantProps } from "class-variance-authority";
|
|
8
|
-
import * as
|
|
8
|
+
import * as class_variance_authority_types20 from "class-variance-authority/types";
|
|
9
9
|
|
|
10
10
|
//#region ui/sidebar.d.ts
|
|
11
|
-
|
|
11
|
+
interface SidebarContextProps {
|
|
12
12
|
state: 'expanded' | 'collapsed';
|
|
13
13
|
open: boolean;
|
|
14
14
|
setOpen: (open: boolean) => void;
|
|
@@ -16,7 +16,7 @@ type SidebarContextProps = {
|
|
|
16
16
|
setOpenMobile: (open: boolean) => void;
|
|
17
17
|
isMobile: boolean;
|
|
18
18
|
toggleSidebar: () => void;
|
|
19
|
-
}
|
|
19
|
+
}
|
|
20
20
|
declare function useSidebar(): SidebarContextProps;
|
|
21
21
|
declare function SidebarProvider({
|
|
22
22
|
defaultOpen,
|
|
@@ -30,7 +30,7 @@ declare function SidebarProvider({
|
|
|
30
30
|
defaultOpen?: boolean;
|
|
31
31
|
open?: boolean;
|
|
32
32
|
onOpenChange?: (open: boolean) => void;
|
|
33
|
-
}):
|
|
33
|
+
}): react_jsx_runtime208.JSX.Element;
|
|
34
34
|
declare function Sidebar({
|
|
35
35
|
side,
|
|
36
36
|
variant,
|
|
@@ -42,74 +42,74 @@ declare function Sidebar({
|
|
|
42
42
|
side?: 'left' | 'right';
|
|
43
43
|
variant?: 'sidebar' | 'floating' | 'inset';
|
|
44
44
|
collapsible?: 'offcanvas' | 'icon' | 'none';
|
|
45
|
-
}):
|
|
45
|
+
}): react_jsx_runtime208.JSX.Element;
|
|
46
46
|
declare function SidebarTrigger({
|
|
47
47
|
className,
|
|
48
48
|
onClick,
|
|
49
49
|
...props
|
|
50
|
-
}: React$1.ComponentProps<typeof Button>):
|
|
50
|
+
}: React$1.ComponentProps<typeof Button>): react_jsx_runtime208.JSX.Element;
|
|
51
51
|
declare function SidebarRail({
|
|
52
52
|
className,
|
|
53
53
|
...props
|
|
54
|
-
}: React$1.ComponentProps<'button'>):
|
|
54
|
+
}: React$1.ComponentProps<'button'>): react_jsx_runtime208.JSX.Element;
|
|
55
55
|
declare function SidebarInset({
|
|
56
56
|
className,
|
|
57
57
|
...props
|
|
58
|
-
}: React$1.ComponentProps<'main'>):
|
|
58
|
+
}: React$1.ComponentProps<'main'>): react_jsx_runtime208.JSX.Element;
|
|
59
59
|
declare function SidebarInput({
|
|
60
60
|
className,
|
|
61
61
|
...props
|
|
62
|
-
}: React$1.ComponentProps<typeof Input>):
|
|
62
|
+
}: React$1.ComponentProps<typeof Input>): react_jsx_runtime208.JSX.Element;
|
|
63
63
|
declare function SidebarHeader({
|
|
64
64
|
className,
|
|
65
65
|
...props
|
|
66
|
-
}: React$1.ComponentProps<'div'>):
|
|
66
|
+
}: React$1.ComponentProps<'div'>): react_jsx_runtime208.JSX.Element;
|
|
67
67
|
declare function SidebarFooter({
|
|
68
68
|
className,
|
|
69
69
|
...props
|
|
70
|
-
}: React$1.ComponentProps<'div'>):
|
|
70
|
+
}: React$1.ComponentProps<'div'>): react_jsx_runtime208.JSX.Element;
|
|
71
71
|
declare function SidebarSeparator({
|
|
72
72
|
className,
|
|
73
73
|
...props
|
|
74
|
-
}: React$1.ComponentProps<typeof Separator>):
|
|
74
|
+
}: React$1.ComponentProps<typeof Separator>): react_jsx_runtime208.JSX.Element;
|
|
75
75
|
declare function SidebarContent({
|
|
76
76
|
className,
|
|
77
77
|
...props
|
|
78
|
-
}: React$1.ComponentProps<'div'>):
|
|
78
|
+
}: React$1.ComponentProps<'div'>): react_jsx_runtime208.JSX.Element;
|
|
79
79
|
declare function SidebarGroup({
|
|
80
80
|
className,
|
|
81
81
|
...props
|
|
82
|
-
}: React$1.ComponentProps<'div'>):
|
|
82
|
+
}: React$1.ComponentProps<'div'>): react_jsx_runtime208.JSX.Element;
|
|
83
83
|
declare function SidebarGroupLabel({
|
|
84
84
|
className,
|
|
85
85
|
asChild,
|
|
86
86
|
...props
|
|
87
87
|
}: React$1.ComponentProps<'div'> & {
|
|
88
88
|
asChild?: boolean;
|
|
89
|
-
}):
|
|
89
|
+
}): react_jsx_runtime208.JSX.Element;
|
|
90
90
|
declare function SidebarGroupAction({
|
|
91
91
|
className,
|
|
92
92
|
asChild,
|
|
93
93
|
...props
|
|
94
94
|
}: React$1.ComponentProps<'button'> & {
|
|
95
95
|
asChild?: boolean;
|
|
96
|
-
}):
|
|
96
|
+
}): react_jsx_runtime208.JSX.Element;
|
|
97
97
|
declare function SidebarGroupContent({
|
|
98
98
|
className,
|
|
99
99
|
...props
|
|
100
|
-
}: React$1.ComponentProps<'div'>):
|
|
100
|
+
}: React$1.ComponentProps<'div'>): react_jsx_runtime208.JSX.Element;
|
|
101
101
|
declare function SidebarMenu({
|
|
102
102
|
className,
|
|
103
103
|
...props
|
|
104
|
-
}: React$1.ComponentProps<'ul'>):
|
|
104
|
+
}: React$1.ComponentProps<'ul'>): react_jsx_runtime208.JSX.Element;
|
|
105
105
|
declare function SidebarMenuItem({
|
|
106
106
|
className,
|
|
107
107
|
...props
|
|
108
|
-
}: React$1.ComponentProps<'li'>):
|
|
108
|
+
}: React$1.ComponentProps<'li'>): react_jsx_runtime208.JSX.Element;
|
|
109
109
|
declare const sidebarMenuButtonVariants: (props?: ({
|
|
110
110
|
variant?: "default" | "outline" | null | undefined;
|
|
111
111
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
112
|
-
} &
|
|
112
|
+
} & class_variance_authority_types20.ClassProp) | undefined) => string;
|
|
113
113
|
declare function SidebarMenuButton({
|
|
114
114
|
asChild,
|
|
115
115
|
isActive,
|
|
@@ -122,7 +122,7 @@ declare function SidebarMenuButton({
|
|
|
122
122
|
asChild?: boolean;
|
|
123
123
|
isActive?: boolean;
|
|
124
124
|
tooltip?: string | React$1.ComponentProps<typeof TooltipContent>;
|
|
125
|
-
} & VariantProps<typeof sidebarMenuButtonVariants>):
|
|
125
|
+
} & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime208.JSX.Element;
|
|
126
126
|
declare function SidebarMenuAction({
|
|
127
127
|
className,
|
|
128
128
|
asChild,
|
|
@@ -131,26 +131,26 @@ declare function SidebarMenuAction({
|
|
|
131
131
|
}: React$1.ComponentProps<'button'> & {
|
|
132
132
|
asChild?: boolean;
|
|
133
133
|
showOnHover?: boolean;
|
|
134
|
-
}):
|
|
134
|
+
}): react_jsx_runtime208.JSX.Element;
|
|
135
135
|
declare function SidebarMenuBadge({
|
|
136
136
|
className,
|
|
137
137
|
...props
|
|
138
|
-
}: React$1.ComponentProps<'div'>):
|
|
138
|
+
}: React$1.ComponentProps<'div'>): react_jsx_runtime208.JSX.Element;
|
|
139
139
|
declare function SidebarMenuSkeleton({
|
|
140
140
|
className,
|
|
141
141
|
showIcon,
|
|
142
142
|
...props
|
|
143
143
|
}: React$1.ComponentProps<'div'> & {
|
|
144
144
|
showIcon?: boolean;
|
|
145
|
-
}):
|
|
145
|
+
}): react_jsx_runtime208.JSX.Element;
|
|
146
146
|
declare function SidebarMenuSub({
|
|
147
147
|
className,
|
|
148
148
|
...props
|
|
149
|
-
}: React$1.ComponentProps<'ul'>):
|
|
149
|
+
}: React$1.ComponentProps<'ul'>): react_jsx_runtime208.JSX.Element;
|
|
150
150
|
declare function SidebarMenuSubItem({
|
|
151
151
|
className,
|
|
152
152
|
...props
|
|
153
|
-
}: React$1.ComponentProps<'li'>):
|
|
153
|
+
}: React$1.ComponentProps<'li'>): react_jsx_runtime208.JSX.Element;
|
|
154
154
|
declare function SidebarMenuSubButton({
|
|
155
155
|
asChild,
|
|
156
156
|
size,
|
|
@@ -161,7 +161,7 @@ declare function SidebarMenuSubButton({
|
|
|
161
161
|
asChild?: boolean;
|
|
162
162
|
size?: 'sm' | 'md';
|
|
163
163
|
isActive?: boolean;
|
|
164
|
-
}):
|
|
164
|
+
}): react_jsx_runtime208.JSX.Element;
|
|
165
165
|
//#endregion
|
|
166
166
|
export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar };
|
|
167
167
|
//# sourceMappingURL=sidebar.d.ts.map
|
package/dist/ui/sidebar.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../ui/sidebar.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../ui/sidebar.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;UAkCU,mBAAA;;;;EAAA,UAAA,EAAA,OAAA;EAYD,aAAU,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GAAA,IAAA;EASV,QAAA,EAAA,OAAA;EACP,aAAA,EAAA,GAAA,GAAA,IAAA;;iBAVO,UAAA,CAAA,CAYO,EAZG,mBAYH;iBAHP,eAAA,CAIP;EAAA,WAAA;EAAA,IAAA,EAFM,QAEN;EAAA,YAAA,EADc,WACd;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;CAAA,EAIC,OAAA,CAAM,cAJP,CAAA,KAAA,CAAA,GAAA;EACA,WAAA,CAAA,EAAA,OAAA;EACA,IAAA,CAAA,EAAA,OAAA;EAEC,YAAM,CAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GAAA,IAAA;CAIR,CAAA,EAAA,oBAAA,CAAA,GAAA,CAAA,OAAA;iBAsFQ,OAAA,CAtFR;EAAA,IAAA;EAAA,OAAA;EAAA,WAAA;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;CAAA,EA6FE,OAAA,CAAM,cA7FR,CAAA,KAAA,CAAA,GAAA;EAsFQ,IAAA,CAAA,EAAA,MAAO,GAAA,OAAA;EACd,OAAA,CAAA,EAAA,SAAA,GAAA,UAAA,GAAA,OAAA;EACA,WAAA,CAAA,EAAA,WAAA,GAAA,MAAA,GAAA,MAAA;CACA,CAAA,EAQD,oBAAA,CAAA,GAAA,CAAA,OARC;iBAmGO,cAAA,CAlGP;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;AAAA,CAAA,EAsGC,OAAA,CAAM,cAtGP,CAAA,OAsG6B,MAtG7B,CAAA,CAAA,EAsGoC,oBAAA,CAAA,GAAA,CAAA,OAtGpC;iBA4HO,WAAA,CA3HP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2H4C,OAAA,CAAM,cA3HlD,CAAA,QAAA,CAAA,CAAA,EA2H0E,oBAAA,CAAA,GAAA,CAAA,OA3H1E;iBAoJO,YAAA,CAlJA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkJsC,OAAA,CAAM,cAlJ5C,CAAA,MAAA,CAAA,CAAA,EAkJkE,oBAAA,CAAA,GAAA,CAAA,OAlJlE;iBAgKA,YAAA,CA5JR;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+JE,OAAA,CAAM,cA/JR,CAAA,OA+J8B,KA/J9B,CAAA,CAAA,EA+JoC,oBAAA,CAAA,GAAA,CAAA,OA/JpC;iBA0KQ,aAAA,CA1KR;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0K+C,OAAA,CAAM,cA1KrD,CAAA,KAAA,CAAA,CAAA,EA0K0E,oBAAA,CAAA,GAAA,CAAA,OA1K1E;AAAA,iBAqLQ,aAAA,CA1Fc;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0FyB,OAAA,CAAM,cA1F/B,CAAA,KAAA,CAAA,CAAA,EA0FoD,oBAAA,CAAA,GAAA,CAAA,OA1FpD;iBAqGd,gBAAA,CApGP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuGC,OAAA,CAAM,cAvGP,CAAA,OAuG6B,SAvG7B,CAAA,CAAA,EAuGuC,oBAAA,CAAA,GAAA,CAAA,OAvGvC;iBAkHO,cAAA,CAjHP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiH+C,OAAA,CAAM,cAjHrD,CAAA,KAAA,CAAA,CAAA,EAiH0E,oBAAA,CAAA,GAAA,CAAA,OAjH1E;iBA+HO,YAAA,CA7HsB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6HgB,OAAA,CAAM,cA7HtB,CAAA,KAAA,CAAA,CAAA,EA6H2C,oBAAA,CAAA,GAAA,CAAA,OA7H3C;iBAwItB,iBAAA,CAxIA;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;CAAA,EA4IN,OAAA,CAAM,cA5IA,CAAA,KAAA,CAAA,GAAA;EAA6B,OAAA,CAAA,EAAA,OAAA;CAAA,CAAA,EA4IgB,oBAAA,CAAA,GAAA,CAAA,OA5IhB;AAAA,iBA6J7B,kBAAA,CAvIW;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;CAAA,EA2IjB,OAAA,CAAM,cA3IW,CAAA,QAAA,CAAA,GAAA;EAAG,OAAA,CAAA,EAAA,OAAA;CAAuB,CAAA,EA2IW,oBAAA,CAAA,GAAA,CAAA,OA3IL;iBA8J3C,mBAAA,CA9JmE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiKzE,OAAA,CAAM,cAjKmE,CAAA,KAAA,CAAA,CAAA,EAiK9C,oBAAA,CAAA,GAAA,CAAA,OAjK8C;iBA4KnE,WAAA,CA5KmE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA4K9B,OAAA,CAAM,cA5KwB,CAAA,IAAA,CAAA,CAAA,EA4KJ,oBAAA,CAAA,GAAA,CAAA,OA5KI;AAAA,iBAuLnE,eAAA,CA9JY;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA8J6B,OAAA,CAAM,cA9JnC,CAAA,IAAA,CAAA,CAAA,EA8JuD,oBAAA,CAAA,GAAA,CAAA,OA9JvD;cAyKf,yBAzKkB,EAAA,CAAA,KAAmD,CAAnD,EAAA,CAAA;EAAuB,OAAM,CAAA,EAAA,SAAA,GAAA,SAAA,GAAA,IAAA,GAAA,SAAA;EAAsB,IAAA,CAAA,EAAA,SAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,SAAA;CAAA,GA6L1E,gCAAA,CAAA,SA7L0E,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;AAAA,iBA+LlE,iBAAA,CAjLY;EAAA,OAAA;EAAA,QAAA;EAAA,OAAA;EAAA,IAAA;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;AAGgB,CAHhB,EAyLlB,OAAA,CAAM,cAzLY,CAAA,QAAA,CAAA,GAAA;EACnB,OAAA,CAAA,EAAA,OAAA;EAE6B,QAAA,CAAA,EAAA,OAAA;EAA5B,OAAM,CAAA,EAAA,MAAA,GAyLY,OAAA,CAAM,cAzLlB,CAAA,OAyLwC,cAzLxC,CAAA;CAA4B,GA0LjC,YA1LiC,CAAA,OA0Lb,yBA1La,CAAA,CAAA,EA0La,oBAAA,CAAA,GAAA,CAAA,OA1Lb;iBAgO5B,iBAAA,CAhO4B;EAAA,SAAA;EAAA,OAAA;EAAA,WAAA;EAAA,GAAA;CAAA,EAqOlC,OAAA,CAAM,cArO4B,CAAA,QAAA,CAAA,GAAA;EAW5B,OAAA,CAAA,EAAA,OAAa;EAAG,WAAA,CAAA,EAAA,OAAA;CAAuB,CAAA,EA6N/C,oBAAA,CAAA,GAAA,CAAA,OA7NqD;iBAqP7C,gBAAA,CArPkE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAwPxE,OAAA,CAAM,cAxPkE,CAAA,KAAA,CAAA,CAAA,EAwP7C,oBAAA,CAAA,GAAA,CAAA,OAxP6C;iBA2QlE,mBAAA,CA3QkE;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;CAAA,EA+QxE,OAAA,CAAM,cA/QkE,CAAA,KAAA,CAAA,GAAA;EAWlE,QAAA,CAAA,EAAA,OAAa;CAAG,CAAA,EAsQxB,oBAAA,CAAA,GAAA,CAAA,OAtQwB;iBAsShB,cAAA,CAtS6C;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAsSL,OAAA,CAAM,cAtSD,CAAA,IAAA,CAAA,CAAA,EAsSqB,oBAAA,CAAA,GAAA,CAAA,OAtSrB;iBAqT7C,kBAAA,CArTkE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAwTxE,OAAA,CAAM,cAxTkE,CAAA,IAAA,CAAA,CAAA,EAwT9C,oBAAA,CAAA,GAAA,CAAA,OAxT8C;iBAmUlE,oBAAA,CAnUkE;EAAA,OAAA;EAAA,IAAA;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;CAAA,EAyUxE,OAAA,CAAM,cAzUkE,CAAA,GAAA,CAAA,GAAA;EAWlE,OAAA,CAAA,EAAA,OAAA;EACP,IAAA,CAAA,EAAA,IAAA,GAAA,IAAA;EAE6B,QAAA,CAAA,EAAA,OAAA;CAA5B,CAAA,EA+TF,oBAAA,CAAA,GAAA,CAAA,OA/TQ"}
|
package/dist/ui/sidebar.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
import { cn } from "./utils.js";
|
|
5
4
|
import { Button } from "./button.js";
|
|
6
5
|
import { Input } from "./input.js";
|
|
@@ -28,7 +27,7 @@ function useSidebar() {
|
|
|
28
27
|
if (!context) throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
29
28
|
return context;
|
|
30
29
|
}
|
|
31
|
-
function SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children
|
|
30
|
+
function SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }) {
|
|
32
31
|
const isMobile = useIsMobile();
|
|
33
32
|
const [openMobile, setOpenMobile] = React$1.useState(false);
|
|
34
33
|
const [_open, _setOpen] = React$1.useState(defaultOpen);
|
|
@@ -92,7 +91,7 @@ function SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: set
|
|
|
92
91
|
})
|
|
93
92
|
});
|
|
94
93
|
}
|
|
95
|
-
function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children
|
|
94
|
+
function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }) {
|
|
96
95
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
97
96
|
if (collapsible === "none") return /* @__PURE__ */ jsx("div", {
|
|
98
97
|
"data-slot": "sidebar",
|
|
@@ -143,7 +142,7 @@ function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas"
|
|
|
143
142
|
})]
|
|
144
143
|
});
|
|
145
144
|
}
|
|
146
|
-
function SidebarTrigger({ className, onClick
|
|
145
|
+
function SidebarTrigger({ className, onClick, ...props }) {
|
|
147
146
|
const { toggleSidebar } = useSidebar();
|
|
148
147
|
return /* @__PURE__ */ jsxs(Button, {
|
|
149
148
|
"data-sidebar": "trigger",
|
|
@@ -162,7 +161,7 @@ function SidebarTrigger({ className, onClick,...props }) {
|
|
|
162
161
|
})]
|
|
163
162
|
});
|
|
164
163
|
}
|
|
165
|
-
function SidebarRail({ className
|
|
164
|
+
function SidebarRail({ className, ...props }) {
|
|
166
165
|
const { toggleSidebar } = useSidebar();
|
|
167
166
|
return /* @__PURE__ */ jsx("button", {
|
|
168
167
|
"data-sidebar": "rail",
|
|
@@ -175,14 +174,14 @@ function SidebarRail({ className,...props }) {
|
|
|
175
174
|
...props
|
|
176
175
|
});
|
|
177
176
|
}
|
|
178
|
-
function SidebarInset({ className
|
|
177
|
+
function SidebarInset({ className, ...props }) {
|
|
179
178
|
return /* @__PURE__ */ jsx("main", {
|
|
180
179
|
"data-slot": "sidebar-inset",
|
|
181
180
|
className: cn("bg-background relative flex w-full flex-1 flex-col", "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", className),
|
|
182
181
|
...props
|
|
183
182
|
});
|
|
184
183
|
}
|
|
185
|
-
function SidebarInput({ className
|
|
184
|
+
function SidebarInput({ className, ...props }) {
|
|
186
185
|
return /* @__PURE__ */ jsx(Input, {
|
|
187
186
|
"data-slot": "sidebar-input",
|
|
188
187
|
"data-sidebar": "input",
|
|
@@ -190,7 +189,7 @@ function SidebarInput({ className,...props }) {
|
|
|
190
189
|
...props
|
|
191
190
|
});
|
|
192
191
|
}
|
|
193
|
-
function SidebarHeader({ className
|
|
192
|
+
function SidebarHeader({ className, ...props }) {
|
|
194
193
|
return /* @__PURE__ */ jsx("div", {
|
|
195
194
|
"data-slot": "sidebar-header",
|
|
196
195
|
"data-sidebar": "header",
|
|
@@ -198,7 +197,7 @@ function SidebarHeader({ className,...props }) {
|
|
|
198
197
|
...props
|
|
199
198
|
});
|
|
200
199
|
}
|
|
201
|
-
function SidebarFooter({ className
|
|
200
|
+
function SidebarFooter({ className, ...props }) {
|
|
202
201
|
return /* @__PURE__ */ jsx("div", {
|
|
203
202
|
"data-slot": "sidebar-footer",
|
|
204
203
|
"data-sidebar": "footer",
|
|
@@ -206,7 +205,7 @@ function SidebarFooter({ className,...props }) {
|
|
|
206
205
|
...props
|
|
207
206
|
});
|
|
208
207
|
}
|
|
209
|
-
function SidebarSeparator({ className
|
|
208
|
+
function SidebarSeparator({ className, ...props }) {
|
|
210
209
|
return /* @__PURE__ */ jsx(Separator, {
|
|
211
210
|
"data-slot": "sidebar-separator",
|
|
212
211
|
"data-sidebar": "separator",
|
|
@@ -214,7 +213,7 @@ function SidebarSeparator({ className,...props }) {
|
|
|
214
213
|
...props
|
|
215
214
|
});
|
|
216
215
|
}
|
|
217
|
-
function SidebarContent({ className
|
|
216
|
+
function SidebarContent({ className, ...props }) {
|
|
218
217
|
return /* @__PURE__ */ jsx("div", {
|
|
219
218
|
"data-slot": "sidebar-content",
|
|
220
219
|
"data-sidebar": "content",
|
|
@@ -222,7 +221,7 @@ function SidebarContent({ className,...props }) {
|
|
|
222
221
|
...props
|
|
223
222
|
});
|
|
224
223
|
}
|
|
225
|
-
function SidebarGroup({ className
|
|
224
|
+
function SidebarGroup({ className, ...props }) {
|
|
226
225
|
return /* @__PURE__ */ jsx("div", {
|
|
227
226
|
"data-slot": "sidebar-group",
|
|
228
227
|
"data-sidebar": "group",
|
|
@@ -230,7 +229,7 @@ function SidebarGroup({ className,...props }) {
|
|
|
230
229
|
...props
|
|
231
230
|
});
|
|
232
231
|
}
|
|
233
|
-
function SidebarGroupLabel({ className, asChild = false
|
|
232
|
+
function SidebarGroupLabel({ className, asChild = false, ...props }) {
|
|
234
233
|
return /* @__PURE__ */ jsx(asChild ? Slot : "div", {
|
|
235
234
|
"data-slot": "sidebar-group-label",
|
|
236
235
|
"data-sidebar": "group-label",
|
|
@@ -238,7 +237,7 @@ function SidebarGroupLabel({ className, asChild = false,...props }) {
|
|
|
238
237
|
...props
|
|
239
238
|
});
|
|
240
239
|
}
|
|
241
|
-
function SidebarGroupAction({ className, asChild = false
|
|
240
|
+
function SidebarGroupAction({ className, asChild = false, ...props }) {
|
|
242
241
|
return /* @__PURE__ */ jsx(asChild ? Slot : "button", {
|
|
243
242
|
"data-slot": "sidebar-group-action",
|
|
244
243
|
"data-sidebar": "group-action",
|
|
@@ -246,7 +245,7 @@ function SidebarGroupAction({ className, asChild = false,...props }) {
|
|
|
246
245
|
...props
|
|
247
246
|
});
|
|
248
247
|
}
|
|
249
|
-
function SidebarGroupContent({ className
|
|
248
|
+
function SidebarGroupContent({ className, ...props }) {
|
|
250
249
|
return /* @__PURE__ */ jsx("div", {
|
|
251
250
|
"data-slot": "sidebar-group-content",
|
|
252
251
|
"data-sidebar": "group-content",
|
|
@@ -254,7 +253,7 @@ function SidebarGroupContent({ className,...props }) {
|
|
|
254
253
|
...props
|
|
255
254
|
});
|
|
256
255
|
}
|
|
257
|
-
function SidebarMenu({ className
|
|
256
|
+
function SidebarMenu({ className, ...props }) {
|
|
258
257
|
return /* @__PURE__ */ jsx("ul", {
|
|
259
258
|
"data-slot": "sidebar-menu",
|
|
260
259
|
"data-sidebar": "menu",
|
|
@@ -262,7 +261,7 @@ function SidebarMenu({ className,...props }) {
|
|
|
262
261
|
...props
|
|
263
262
|
});
|
|
264
263
|
}
|
|
265
|
-
function SidebarMenuItem({ className
|
|
264
|
+
function SidebarMenuItem({ className, ...props }) {
|
|
266
265
|
return /* @__PURE__ */ jsx("li", {
|
|
267
266
|
"data-slot": "sidebar-menu-item",
|
|
268
267
|
"data-sidebar": "menu-item",
|
|
@@ -287,7 +286,7 @@ const sidebarMenuButtonVariants = cva("peer/menu-button flex w-full items-center
|
|
|
287
286
|
size: "default"
|
|
288
287
|
}
|
|
289
288
|
});
|
|
290
|
-
function SidebarMenuButton({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className
|
|
289
|
+
function SidebarMenuButton({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }) {
|
|
291
290
|
const Comp = asChild ? Slot : "button";
|
|
292
291
|
const { isMobile, state } = useSidebar();
|
|
293
292
|
const button = /* @__PURE__ */ jsx(Comp, {
|
|
@@ -313,7 +312,7 @@ function SidebarMenuButton({ asChild = false, isActive = false, variant = "defau
|
|
|
313
312
|
...tooltip
|
|
314
313
|
})] });
|
|
315
314
|
}
|
|
316
|
-
function SidebarMenuAction({ className, asChild = false, showOnHover = false
|
|
315
|
+
function SidebarMenuAction({ className, asChild = false, showOnHover = false, ...props }) {
|
|
317
316
|
return /* @__PURE__ */ jsx(asChild ? Slot : "button", {
|
|
318
317
|
"data-slot": "sidebar-menu-action",
|
|
319
318
|
"data-sidebar": "menu-action",
|
|
@@ -321,7 +320,7 @@ function SidebarMenuAction({ className, asChild = false, showOnHover = false,...
|
|
|
321
320
|
...props
|
|
322
321
|
});
|
|
323
322
|
}
|
|
324
|
-
function SidebarMenuBadge({ className
|
|
323
|
+
function SidebarMenuBadge({ className, ...props }) {
|
|
325
324
|
return /* @__PURE__ */ jsx("div", {
|
|
326
325
|
"data-slot": "sidebar-menu-badge",
|
|
327
326
|
"data-sidebar": "menu-badge",
|
|
@@ -329,7 +328,7 @@ function SidebarMenuBadge({ className,...props }) {
|
|
|
329
328
|
...props
|
|
330
329
|
});
|
|
331
330
|
}
|
|
332
|
-
function SidebarMenuSkeleton({ className, showIcon = false
|
|
331
|
+
function SidebarMenuSkeleton({ className, showIcon = false, ...props }) {
|
|
333
332
|
const width = React$1.useMemo(() => {
|
|
334
333
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
335
334
|
}, []);
|
|
@@ -348,7 +347,7 @@ function SidebarMenuSkeleton({ className, showIcon = false,...props }) {
|
|
|
348
347
|
})]
|
|
349
348
|
});
|
|
350
349
|
}
|
|
351
|
-
function SidebarMenuSub({ className
|
|
350
|
+
function SidebarMenuSub({ className, ...props }) {
|
|
352
351
|
return /* @__PURE__ */ jsx("ul", {
|
|
353
352
|
"data-slot": "sidebar-menu-sub",
|
|
354
353
|
"data-sidebar": "menu-sub",
|
|
@@ -356,7 +355,7 @@ function SidebarMenuSub({ className,...props }) {
|
|
|
356
355
|
...props
|
|
357
356
|
});
|
|
358
357
|
}
|
|
359
|
-
function SidebarMenuSubItem({ className
|
|
358
|
+
function SidebarMenuSubItem({ className, ...props }) {
|
|
360
359
|
return /* @__PURE__ */ jsx("li", {
|
|
361
360
|
"data-slot": "sidebar-menu-sub-item",
|
|
362
361
|
"data-sidebar": "menu-sub-item",
|
|
@@ -364,7 +363,7 @@ function SidebarMenuSubItem({ className,...props }) {
|
|
|
364
363
|
...props
|
|
365
364
|
});
|
|
366
365
|
}
|
|
367
|
-
function SidebarMenuSubButton({ asChild = false, size = "md", isActive = false, className
|
|
366
|
+
function SidebarMenuSubButton({ asChild = false, size = "md", isActive = false, className, ...props }) {
|
|
368
367
|
return /* @__PURE__ */ jsx(asChild ? Slot : "a", {
|
|
369
368
|
"data-slot": "sidebar-menu-sub-button",
|
|
370
369
|
"data-sidebar": "menu-sub-button",
|
package/dist/ui/sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","names":["React","open"],"sources":["../../ui/sidebar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { PanelLeftIcon } from 'lucide-react';\n\nimport { useIsMobile } from './use-mobile';\nimport { cn } from './utils';\nimport { Button } from './button';\nimport { Input } from './input';\nimport { Separator } from './separator';\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from './sheet';\nimport { Skeleton } from './skeleton';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from './tooltip';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n 'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full',\n className\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n 'bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col',\n className\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('size-7', className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex',\n 'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col',\n 'md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn('bg-background h-8 w-full shadow-none', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn('bg-sidebar-border mx-2 w-auto', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn('w-full text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item relative', className)}\n {...props}\n />\n );\n}\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== 'collapsed' || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn('group/menu-sub-item relative', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sidebar.js","names":["React","open"],"sources":["../../ui/sidebar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { PanelLeftIcon } from 'lucide-react';\n\nimport { useIsMobile } from './use-mobile';\nimport { cn } from './utils';\nimport { Button } from './button';\nimport { Input } from './input';\nimport { Separator } from './separator';\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from './sheet';\nimport { Skeleton } from './skeleton';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from './tooltip';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ninterface SidebarContextProps {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n}\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n 'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full',\n className\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n 'bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col',\n className\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('size-7', className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex',\n 'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col',\n 'md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn('bg-background h-8 w-full shadow-none', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn('bg-sidebar-border mx-2 w-auto', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn('w-full text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item relative', className)}\n {...props}\n />\n );\n}\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== 'collapsed' || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn('group/menu-sub-item relative', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AA2BA,MAAM,sBAAsB;AAC5B,MAAM,yBAAyB,OAAU,KAAK;AAC9C,MAAM,gBAAgB;AACtB,MAAM,uBAAuB;AAC7B,MAAM,qBAAqB;AAC3B,MAAM,4BAA4B;AAYlC,MAAM,iBAAiBA,QAAM,cAA0C,KAAK;AAE5E,SAAS,aAAa;CACpB,MAAM,UAAUA,QAAM,WAAW,eAAe;AAChD,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,oDAAoD;AAGtE,QAAO;;AAGT,SAAS,gBAAgB,EACvB,cAAc,MACd,MAAM,UACN,cAAc,aACd,WACA,OACA,UACA,GAAG,SAKF;CACD,MAAM,WAAW,aAAa;CAC9B,MAAM,CAAC,YAAY,iBAAiBA,QAAM,SAAS,MAAM;CAIzD,MAAM,CAAC,OAAO,YAAYA,QAAM,SAAS,YAAY;CACrD,MAAM,OAAO,YAAY;CACzB,MAAM,UAAUA,QAAM,aACnB,UAAmD;EAClD,MAAM,YAAY,OAAO,UAAU,aAAa,MAAM,KAAK,GAAG;AAC9D,MAAI,YACF,aAAY,UAAU;MAEtB,UAAS,UAAU;AAIrB,WAAS,SAAS,GAAG,oBAAoB,GAAG,UAAU,oBAAoB;IAE5E,CAAC,aAAa,KAAK,CACpB;CAGD,MAAM,gBAAgBA,QAAM,kBAAkB;AAC5C,SAAO,WAAW,eAAe,WAAS,CAACC,OAAK,GAAG,SAAS,WAAS,CAACA,OAAK;IAC1E;EAAC;EAAU;EAAS;EAAc,CAAC;AAGtC,SAAM,gBAAgB;EACpB,MAAM,iBAAiB,UAAyB;AAC9C,OACE,MAAM,QAAQ,8BACb,MAAM,WAAW,MAAM,UACxB;AACA,UAAM,gBAAgB;AACtB,mBAAe;;;AAInB,SAAO,iBAAiB,WAAW,cAAc;AACjD,eAAa,OAAO,oBAAoB,WAAW,cAAc;IAChE,CAAC,cAAc,CAAC;CAInB,MAAM,QAAQ,OAAO,aAAa;CAElC,MAAM,eAAeD,QAAM,eAClB;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACD,GACD;EAAC;EAAO;EAAM;EAAS;EAAU;EAAY;EAAe;EAAc,CAC3E;AAED,QACE,oBAAC,eAAe;EAAS,OAAO;YAC9B,oBAAC;GAAgB,eAAe;aAC9B,oBAAC;IACC,aAAU;IACV,OACE;KACE,mBAAmB;KACnB,wBAAwB;KACxB,GAAG;KACJ;IAEH,WAAW,GACT,mFACA,UACD;IACD,GAAI;IAEH;KACG;IACU;GACM;;AAI9B,SAAS,QAAQ,EACf,OAAO,QACP,UAAU,WACV,cAAc,aACd,WACA,UACA,GAAG,SAKF;CACD,MAAM,EAAE,UAAU,OAAO,YAAY,kBAAkB,YAAY;AAEnE,KAAI,gBAAgB,OAClB,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,+EACA,UACD;EACD,GAAI;EAEH;GACG;AAIV,KAAI,SACF,QACE,oBAAC;EAAM,MAAM;EAAY,cAAc;EAAe,GAAI;YACxD,qBAAC;GACC,gBAAa;GACb,aAAU;GACV,eAAY;GACZ,WAAU;GACV,OACE,EACE,mBAAmB,sBACpB;GAEG;cAEN,qBAAC;IAAY,WAAU;eACrB,oBAAC,wBAAW,YAAoB,EAChC,oBAAC,8BAAiB,iCAA+C;KACrD,EACd,oBAAC;IAAI,WAAU;IAA+B;KAAe;IAChD;GACT;AAIZ,QACE,qBAAC;EACC,WAAU;EACV,cAAY;EACZ,oBAAkB,UAAU,cAAc,cAAc;EACxD,gBAAc;EACd,aAAW;EACX,aAAU;aAGV,oBAAC;GACC,aAAU;GACV,WAAW,GACT,2FACA,0CACA,sCACA,YAAY,cAAc,YAAY,UAClC,qFACA,yDACL;IACD,EACF,oBAAC;GACC,aAAU;GACV,WAAW,GACT,wHACA,SAAS,SACL,mFACA,oFAEJ,YAAY,cAAc,YAAY,UAClC,6FACA,2HACJ,UACD;GACD,GAAI;aAEJ,oBAAC;IACC,gBAAa;IACb,aAAU;IACV,WAAU;IAET;KACG;IACF;GACF;;AAIV,SAAS,eAAe,EACtB,WACA,SACA,GAAG,SACmC;CACtC,MAAM,EAAE,kBAAkB,YAAY;AAEtC,QACE,qBAAC;EACC,gBAAa;EACb,aAAU;EACV,SAAQ;EACR,MAAK;EACL,WAAW,GAAG,UAAU,UAAU;EAClC,UAAU,UAAU;AAClB,aAAU,MAAM;AAChB,kBAAe;;EAEjB,GAAI;aAEJ,oBAAC,kBAAgB,EACjB,oBAAC;GAAK,WAAU;aAAU;IAAqB;GACxC;;AAIb,SAAS,YAAY,EAAE,WAAW,GAAG,SAAyC;CAC5E,MAAM,EAAE,kBAAkB,YAAY;AAEtC,QACE,oBAAC;EACC,gBAAa;EACb,aAAU;EACV,cAAW;EACX,UAAU;EACV,SAAS;EACT,OAAM;EACN,WAAW,GACT,mPACA,4EACA,0HACA,2JACA,6DACA,6DACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAuC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,sDACA,mNACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EACpB,WACA,GAAG,SACkC;AACrC,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,wCAAwC,UAAU;EAChE,GAAI;GACJ;;AAIN,SAAS,cAAc,EAAE,WAAW,GAAG,SAAsC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,2BAA2B,UAAU;EACnD,GAAI;GACJ;;AAIN,SAAS,cAAc,EAAE,WAAW,GAAG,SAAsC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,2BAA2B,UAAU;EACnD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SACsC;AACzC,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAsC;AAC5E,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GACT,kGACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;AAC1E,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,6CAA6C,UAAU;EACrE,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,UAAU,OACV,GAAG,SACmD;AAGtD,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,gBAAa;EACb,WAAW,GACT,4OACA,+EACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,UAAU,OACV,GAAG,SACsD;AAGzD,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,gBAAa;EACb,WAAW,GACT,8RAEA,iDACA,wCACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,kBAAkB,UAAU;EAC1C,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAqC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAqC;AAC5E,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,4BAA4B,UAAU;EACpD,GAAI;GACJ;;AAIN,MAAM,4BAA4B,IAChC,qzBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SACE;GACH;EACD,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACL;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAED,SAAS,kBAAkB,EACzB,UAAU,OACV,WAAW,OACX,UAAU,WACV,OAAO,WACP,SACA,WACA,GAAG,SAK+C;CAClD,MAAM,OAAO,UAAU,OAAO;CAC9B,MAAM,EAAE,UAAU,UAAU,YAAY;CAExC,MAAM,SACJ,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,aAAW;EACX,eAAa;EACb,WAAW,GAAG,0BAA0B;GAAE;GAAS;GAAM,CAAC,EAAE,UAAU;EACtE,GAAI;GACJ;AAGJ,KAAI,CAAC,QACH,QAAO;AAGT,KAAI,OAAO,YAAY,SACrB,WAAU,EACR,UAAU,SACX;AAGH,QACE,qBAAC,sBACC,oBAAC;EAAe;YAAS;GAAwB,EACjD,oBAAC;EACC,MAAK;EACL,OAAM;EACN,QAAQ,UAAU,eAAe;EACjC,GAAI;GACJ,IACM;;AAId,SAAS,kBAAkB,EACzB,WACA,UAAU,OACV,cAAc,OACd,GAAG,SAIF;AAGD,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,gBAAa;EACb,WAAW,GACT,oVAEA,iDACA,yCACA,gDACA,2CACA,wCACA,eACE,4LACF,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GACT,0KACA,4HACA,yCACA,gDACA,2CACA,wCACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,WACA,WAAW,OACX,GAAG,SAGF;CAED,MAAM,QAAQA,QAAM,cAAc;AAChC,SAAO,GAAG,KAAK,MAAM,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG;IAC7C,EAAE,CAAC;AAEN,QACE,qBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,+CAA+C,UAAU;EACvE,GAAI;aAEH,YACC,oBAAC;GACC,WAAU;GACV,gBAAa;IACb,EAEJ,oBAAC;GACC,WAAU;GACV,gBAAa;GACb,OACE,EACE,oBAAoB,OACrB;IAEH;GACE;;AAIV,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GACT,kGACA,wCACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SAC0B;AAC7B,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,gCAAgC,UAAU;EACxD,GAAI;GACJ;;AAIN,SAAS,qBAAqB,EAC5B,UAAU,OACV,OAAO,MACP,WAAW,OACX,WACA,GAAG,SAKF;AAGD,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,gBAAa;EACb,aAAW;EACX,eAAa;EACb,WAAW,GACT,ifACA,0FACA,SAAS,QAAQ,WACjB,SAAS,QAAQ,WACjB,wCACA,UACD;EACD,GAAI;GACJ"}
|
package/dist/ui/skeleton.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime150 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region ui/skeleton.d.ts
|
|
4
4
|
declare function Skeleton({
|
|
5
5
|
className,
|
|
6
6
|
...props
|
|
7
|
-
}: React.ComponentProps<'div'>):
|
|
7
|
+
}: React.ComponentProps<'div'>): react_jsx_runtime150.JSX.Element;
|
|
8
8
|
//#endregion
|
|
9
9
|
export { Skeleton };
|
|
10
10
|
//# sourceMappingURL=skeleton.d.ts.map
|
package/dist/ui/skeleton.js
CHANGED
|
@@ -2,7 +2,7 @@ import { cn } from "./utils.js";
|
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region ui/skeleton.tsx
|
|
5
|
-
function Skeleton({ className
|
|
5
|
+
function Skeleton({ className, ...props }) {
|
|
6
6
|
return /* @__PURE__ */ jsx("div", {
|
|
7
7
|
"data-slot": "skeleton",
|
|
8
8
|
className: cn("bg-accent animate-pulse rounded-md", className),
|
package/dist/ui/skeleton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton.js","names":[],"sources":["../../ui/skeleton.tsx"],"sourcesContent":["import { cn } from './utils';\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn('bg-accent animate-pulse rounded-md', className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n"],"mappings":";;;;AAEA,SAAS,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"skeleton.js","names":[],"sources":["../../ui/skeleton.tsx"],"sourcesContent":["import { cn } from './utils';\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn('bg-accent animate-pulse rounded-md', className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n"],"mappings":";;;;AAEA,SAAS,SAAS,EAAE,WAAW,GAAG,SAAsC;AACtE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ"}
|
package/dist/ui/skip-link.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime167 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region ui/skip-link.d.ts
|
|
5
5
|
interface SkipLinkProps extends React$1.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
@@ -11,7 +11,7 @@ declare function SkipLink({
|
|
|
11
11
|
children,
|
|
12
12
|
className,
|
|
13
13
|
...props
|
|
14
|
-
}: SkipLinkProps):
|
|
14
|
+
}: SkipLinkProps): react_jsx_runtime167.JSX.Element;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { SkipLink };
|
|
17
17
|
//# sourceMappingURL=skip-link.d.ts.map
|
package/dist/ui/skip-link.js
CHANGED
|
@@ -3,7 +3,7 @@ import { jsx } from "react/jsx-runtime";
|
|
|
3
3
|
|
|
4
4
|
//#region ui/skip-link.tsx
|
|
5
5
|
const defaultClasses = "sr-only focus:not-sr-only focus-visible:outline-solid focus-visible:ring-4 focus-visible:ring-offset-2 fixed top-2 left-2 z-100 rounded-xs bg-background px-3 py-2 text-sm shadow-2xs";
|
|
6
|
-
function SkipLink({ targetId = "main", children, className
|
|
6
|
+
function SkipLink({ targetId = "main", children, className, ...props }) {
|
|
7
7
|
return /* @__PURE__ */ jsx("a", {
|
|
8
8
|
className: [defaultClasses, className].filter(Boolean).join(" "),
|
|
9
9
|
href: `#${targetId}`,
|
package/dist/ui/skip-link.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip-link.js","names":[],"sources":["../../ui/skip-link.tsx"],"sourcesContent":["import * as React from 'react';\n\ninterface SkipLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n targetId?: string;\n children?: React.ReactNode;\n}\n\nconst defaultClasses =\n 'sr-only focus:not-sr-only focus-visible:outline-solid focus-visible:ring-4 focus-visible:ring-offset-2 fixed top-2 left-2 z-100 rounded-xs bg-background px-3 py-2 text-sm shadow-2xs';\n\nexport function SkipLink({\n targetId = 'main',\n children,\n className,\n ...props\n}: SkipLinkProps) {\n return (\n <a\n className={[defaultClasses, className].filter(Boolean).join(' ')}\n href={`#${targetId}`}\n {...props}\n >\n {children ?? 'Skip to main content'}\n </a>\n );\n}\n"],"mappings":";;;;AAOA,MAAM,iBACJ;AAEF,SAAgB,SAAS,EACvB,WAAW,QACX,UACA,
|
|
1
|
+
{"version":3,"file":"skip-link.js","names":[],"sources":["../../ui/skip-link.tsx"],"sourcesContent":["import * as React from 'react';\n\ninterface SkipLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n targetId?: string;\n children?: React.ReactNode;\n}\n\nconst defaultClasses =\n 'sr-only focus:not-sr-only focus-visible:outline-solid focus-visible:ring-4 focus-visible:ring-offset-2 fixed top-2 left-2 z-100 rounded-xs bg-background px-3 py-2 text-sm shadow-2xs';\n\nexport function SkipLink({\n targetId = 'main',\n children,\n className,\n ...props\n}: SkipLinkProps) {\n return (\n <a\n className={[defaultClasses, className].filter(Boolean).join(' ')}\n href={`#${targetId}`}\n {...props}\n >\n {children ?? 'Skip to main content'}\n </a>\n );\n}\n"],"mappings":";;;;AAOA,MAAM,iBACJ;AAEF,SAAgB,SAAS,EACvB,WAAW,QACX,UACA,WACA,GAAG,SACa;AAChB,QACE,oBAAC;EACC,WAAW,CAAC,gBAAgB,UAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAChE,MAAM,IAAI;EACV,GAAI;YAEH,YAAY;GACX"}
|
package/dist/ui/slider.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime168 from "react/jsx-runtime";
|
|
3
3
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
4
4
|
|
|
5
5
|
//#region ui/slider.d.ts
|
|
@@ -10,7 +10,7 @@ declare function Slider({
|
|
|
10
10
|
min,
|
|
11
11
|
max,
|
|
12
12
|
...props
|
|
13
|
-
}: React$1.ComponentProps<typeof SliderPrimitive.Root>):
|
|
13
|
+
}: React$1.ComponentProps<typeof SliderPrimitive.Root>): react_jsx_runtime168.JSX.Element;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { Slider };
|
|
16
16
|
//# sourceMappingURL=slider.d.ts.map
|