@mihcm/ui 0.14.1 → 0.15.1
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/dist/CheckboxGrid.native.d.ts.map +1 -1
- package/dist/CheckboxGrid.native.js +2 -1
- package/dist/CheckboxGrid.native.js.map +1 -1
- package/dist/Combobox.native.d.ts.map +1 -1
- package/dist/Combobox.native.js +2 -1
- package/dist/Combobox.native.js.map +1 -1
- package/dist/DataTable/column-filter.d.ts +8 -0
- package/dist/DataTable/column-filter.d.ts.map +1 -0
- package/dist/DataTable/column-filter.js +67 -0
- package/dist/DataTable/column-filter.js.map +1 -0
- package/dist/DataTable/column-header.d.ts +16 -0
- package/dist/DataTable/column-header.d.ts.map +1 -0
- package/dist/DataTable/column-header.js +11 -0
- package/dist/DataTable/column-header.js.map +1 -0
- package/dist/DataTable/column-visibility.d.ts +7 -0
- package/dist/DataTable/column-visibility.d.ts.map +1 -0
- package/dist/DataTable/column-visibility.js +35 -0
- package/dist/DataTable/column-visibility.js.map +1 -0
- package/dist/DataTable/index.d.ts +5 -0
- package/dist/DataTable/index.d.ts.map +1 -0
- package/dist/DataTable/index.js +5 -0
- package/dist/DataTable/index.js.map +1 -0
- package/dist/DataTable/pinning.d.ts +13 -0
- package/dist/DataTable/pinning.d.ts.map +1 -0
- package/dist/DataTable/pinning.js +29 -0
- package/dist/DataTable/pinning.js.map +1 -0
- package/dist/DataTable.d.ts +3 -7
- package/dist/DataTable.d.ts.map +1 -1
- package/dist/DataTable.js +7 -126
- package/dist/DataTable.js.map +1 -1
- package/dist/Dialog.native.d.ts +3 -1
- package/dist/Dialog.native.d.ts.map +1 -1
- package/dist/Dialog.native.js +2 -2
- package/dist/Dialog.native.js.map +1 -1
- package/dist/Form/building-blocks.d.ts +26 -0
- package/dist/Form/building-blocks.d.ts.map +1 -0
- package/dist/Form/building-blocks.js +29 -0
- package/dist/Form/building-blocks.js.map +1 -0
- package/dist/Form/fields-choice.d.ts +72 -0
- package/dist/Form/fields-choice.d.ts.map +1 -0
- package/dist/Form/fields-choice.js +69 -0
- package/dist/Form/fields-choice.js.map +1 -0
- package/dist/Form/fields-complex.d.ts +28 -0
- package/dist/Form/fields-complex.d.ts.map +1 -0
- package/dist/Form/fields-complex.js +38 -0
- package/dist/Form/fields-complex.js.map +1 -0
- package/dist/Form/fields-date.d.ts +46 -0
- package/dist/Form/fields-date.d.ts.map +1 -0
- package/dist/Form/fields-date.js +41 -0
- package/dist/Form/fields-date.js.map +1 -0
- package/dist/Form/fields-text.d.ts +47 -0
- package/dist/Form/fields-text.d.ts.map +1 -0
- package/dist/Form/fields-text.js +46 -0
- package/dist/Form/fields-text.js.map +1 -0
- package/dist/Form/fields-toggle.d.ts +24 -0
- package/dist/Form/fields-toggle.d.ts.map +1 -0
- package/dist/Form/fields-toggle.js +32 -0
- package/dist/Form/fields-toggle.js.map +1 -0
- package/dist/Form/helpers.d.ts +66 -0
- package/dist/Form/helpers.d.ts.map +1 -0
- package/dist/Form/helpers.js +44 -0
- package/dist/Form/helpers.js.map +1 -0
- package/dist/Form/types.d.ts +25 -0
- package/dist/Form/types.d.ts.map +1 -0
- package/dist/Form/types.js +8 -0
- package/dist/Form/types.js.map +1 -0
- package/dist/Form.d.ts +24 -298
- package/dist/Form.d.ts.map +1 -1
- package/dist/Form.js +30 -246
- package/dist/Form.js.map +1 -1
- package/dist/IconSidebar.d.ts +6 -46
- package/dist/IconSidebar.d.ts.map +1 -1
- package/dist/IconSidebar.js +6 -116
- package/dist/IconSidebar.js.map +1 -1
- package/dist/MainSidebar/back-button.d.ts +14 -0
- package/dist/MainSidebar/back-button.d.ts.map +1 -0
- package/dist/MainSidebar/back-button.js +14 -0
- package/dist/MainSidebar/back-button.js.map +1 -0
- package/dist/MainSidebar/breadcrumb.d.ts +10 -0
- package/dist/MainSidebar/breadcrumb.d.ts.map +1 -0
- package/dist/MainSidebar/breadcrumb.js +24 -0
- package/dist/MainSidebar/breadcrumb.js.map +1 -0
- package/dist/MainSidebar/columns.d.ts +3 -0
- package/dist/MainSidebar/columns.d.ts.map +1 -0
- package/dist/MainSidebar/columns.js +198 -0
- package/dist/MainSidebar/columns.js.map +1 -0
- package/dist/MainSidebar/command.d.ts +3 -0
- package/dist/MainSidebar/command.d.ts.map +1 -0
- package/dist/MainSidebar/command.js +193 -0
- package/dist/MainSidebar/command.js.map +1 -0
- package/dist/MainSidebar/drilldown.d.ts +3 -0
- package/dist/MainSidebar/drilldown.d.ts.map +1 -0
- package/dist/MainSidebar/drilldown.js +154 -0
- package/dist/MainSidebar/drilldown.js.map +1 -0
- package/dist/MainSidebar/expanded.d.ts +7 -0
- package/dist/MainSidebar/expanded.d.ts.map +1 -0
- package/dist/MainSidebar/expanded.js +102 -0
- package/dist/MainSidebar/expanded.js.map +1 -0
- package/dist/MainSidebar/floating.d.ts +3 -0
- package/dist/MainSidebar/floating.d.ts.map +1 -0
- package/dist/MainSidebar/floating.js +116 -0
- package/dist/MainSidebar/floating.js.map +1 -0
- package/dist/MainSidebar/helpers.d.ts +50 -0
- package/dist/MainSidebar/helpers.d.ts.map +1 -0
- package/dist/MainSidebar/helpers.js +150 -0
- package/dist/MainSidebar/helpers.js.map +1 -0
- package/dist/MainSidebar/hover.d.ts +3 -0
- package/dist/MainSidebar/hover.d.ts.map +1 -0
- package/dist/MainSidebar/hover.js +177 -0
- package/dist/MainSidebar/hover.js.map +1 -0
- package/dist/MainSidebar/index.d.ts +6 -0
- package/dist/MainSidebar/index.d.ts.map +1 -0
- package/dist/MainSidebar/index.js +108 -0
- package/dist/MainSidebar/index.js.map +1 -0
- package/dist/MainSidebar/mobile.d.ts +29 -0
- package/dist/MainSidebar/mobile.d.ts.map +1 -0
- package/dist/MainSidebar/mobile.js +38 -0
- package/dist/MainSidebar/mobile.js.map +1 -0
- package/dist/MainSidebar/motion.d.ts +23 -0
- package/dist/MainSidebar/motion.d.ts.map +1 -0
- package/dist/MainSidebar/motion.js +40 -0
- package/dist/MainSidebar/motion.js.map +1 -0
- package/dist/MainSidebar/rail.d.ts +24 -0
- package/dist/MainSidebar/rail.d.ts.map +1 -0
- package/dist/MainSidebar/rail.js +29 -0
- package/dist/MainSidebar/rail.js.map +1 -0
- package/dist/MainSidebar/search.d.ts +19 -0
- package/dist/MainSidebar/search.d.ts.map +1 -0
- package/dist/MainSidebar/search.js +33 -0
- package/dist/MainSidebar/search.js.map +1 -0
- package/dist/MainSidebar/types.d.ts +161 -0
- package/dist/MainSidebar/types.d.ts.map +1 -0
- package/dist/MainSidebar/types.js +2 -0
- package/dist/MainSidebar/types.js.map +1 -0
- package/dist/MainSidebar.d.ts +6 -1
- package/dist/MainSidebar.d.ts.map +1 -1
- package/dist/MainSidebar.js +6 -1
- package/dist/MainSidebar.js.map +1 -1
- package/dist/NavigationMenu.js +1 -1
- package/dist/NavigationMenu.js.map +1 -1
- package/dist/RichTextEditor/theme.d.ts +44 -0
- package/dist/RichTextEditor/theme.d.ts.map +1 -0
- package/dist/RichTextEditor/theme.js +41 -0
- package/dist/RichTextEditor/theme.js.map +1 -0
- package/dist/RichTextEditor/toolbar-icons.d.ts +21 -0
- package/dist/RichTextEditor/toolbar-icons.d.ts.map +1 -0
- package/dist/RichTextEditor/toolbar-icons.js +21 -0
- package/dist/RichTextEditor/toolbar-icons.js.map +1 -0
- package/dist/RichTextEditor/toolbar.d.ts +5 -0
- package/dist/RichTextEditor/toolbar.d.ts.map +1 -0
- package/dist/RichTextEditor/toolbar.js +116 -0
- package/dist/RichTextEditor/toolbar.js.map +1 -0
- package/dist/RichTextEditor.d.ts +16 -9
- package/dist/RichTextEditor.d.ts.map +1 -1
- package/dist/RichTextEditor.js +18 -164
- package/dist/RichTextEditor.js.map +1 -1
- package/dist/Select/content.d.ts +9 -0
- package/dist/Select/content.d.ts.map +1 -0
- package/dist/Select/content.js +80 -0
- package/dist/Select/content.js.map +1 -0
- package/dist/Select/context.d.ts +27 -0
- package/dist/Select/context.d.ts.map +1 -0
- package/dist/Select/context.js +35 -0
- package/dist/Select/context.js.map +1 -0
- package/dist/Select/item.d.ts +13 -0
- package/dist/Select/item.d.ts.map +1 -0
- package/dist/Select/item.js +39 -0
- package/dist/Select/item.js.map +1 -0
- package/dist/Select/parts.d.ts +14 -0
- package/dist/Select/parts.d.ts.map +1 -0
- package/dist/Select/parts.js +17 -0
- package/dist/Select/parts.js.map +1 -0
- package/dist/Select/react-select.d.ts +25 -0
- package/dist/Select/react-select.d.ts.map +1 -0
- package/dist/Select/react-select.js +66 -0
- package/dist/Select/react-select.js.map +1 -0
- package/dist/Select/root.d.ts +15 -0
- package/dist/Select/root.d.ts.map +1 -0
- package/dist/Select/root.js +41 -0
- package/dist/Select/root.js.map +1 -0
- package/dist/Select/trigger.d.ts +15 -0
- package/dist/Select/trigger.d.ts.map +1 -0
- package/dist/Select/trigger.js +61 -0
- package/dist/Select/trigger.js.map +1 -0
- package/dist/Select.d.ts +14 -62
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +14 -293
- package/dist/Select.js.map +1 -1
- package/dist/Sidebar/context.d.ts +28 -0
- package/dist/Sidebar/context.d.ts.map +1 -0
- package/dist/Sidebar/context.js +37 -0
- package/dist/Sidebar/context.js.map +1 -0
- package/dist/Sidebar/group.d.ts +13 -0
- package/dist/Sidebar/group.d.ts.map +1 -0
- package/dist/Sidebar/group.js +20 -0
- package/dist/Sidebar/group.js.map +1 -0
- package/dist/Sidebar/icons.d.ts +7 -0
- package/dist/Sidebar/icons.d.ts.map +1 -0
- package/dist/Sidebar/icons.js +12 -0
- package/dist/Sidebar/icons.js.map +1 -0
- package/dist/Sidebar/layout.d.ts +9 -0
- package/dist/Sidebar/layout.d.ts.map +1 -0
- package/dist/Sidebar/layout.js +21 -0
- package/dist/Sidebar/layout.js.map +1 -0
- package/dist/Sidebar/menu.d.ts +29 -0
- package/dist/Sidebar/menu.d.ts.map +1 -0
- package/dist/Sidebar/menu.js +55 -0
- package/dist/Sidebar/menu.js.map +1 -0
- package/dist/Sidebar/provider.d.ts +33 -0
- package/dist/Sidebar/provider.d.ts.map +1 -0
- package/dist/Sidebar/provider.js +110 -0
- package/dist/Sidebar/provider.js.map +1 -0
- package/dist/Sidebar/sidebar.d.ts +17 -0
- package/dist/Sidebar/sidebar.d.ts.map +1 -0
- package/dist/Sidebar/sidebar.js +51 -0
- package/dist/Sidebar/sidebar.js.map +1 -0
- package/dist/Sidebar/submenu.d.ts +13 -0
- package/dist/Sidebar/submenu.d.ts.map +1 -0
- package/dist/Sidebar/submenu.js +17 -0
- package/dist/Sidebar/submenu.js.map +1 -0
- package/dist/Sidebar/trigger.d.ts +9 -0
- package/dist/Sidebar/trigger.d.ts.map +1 -0
- package/dist/Sidebar/trigger.js +33 -0
- package/dist/Sidebar/trigger.js.map +1 -0
- package/dist/Sidebar.d.ts +14 -104
- package/dist/Sidebar.d.ts.map +1 -1
- package/dist/Sidebar.js +14 -300
- package/dist/Sidebar.js.map +1 -1
- package/dist/StatCard.d.ts +67 -9
- package/dist/StatCard.d.ts.map +1 -1
- package/dist/StatCard.js +111 -9
- package/dist/StatCard.js.map +1 -1
- package/dist/TransferList.native.d.ts.map +1 -1
- package/dist/TransferList.native.js +2 -1
- package/dist/TransferList.native.js.map +1 -1
- package/package.json +2 -2
- package/src/CheckboxGrid.native.tsx +2 -1
- package/src/Combobox.native.tsx +2 -1
- package/src/DataTable/column-filter.tsx +134 -0
- package/src/DataTable/column-header.tsx +67 -0
- package/src/DataTable/column-visibility.tsx +87 -0
- package/src/DataTable/index.ts +4 -0
- package/src/DataTable/pinning.ts +40 -0
- package/src/DataTable.tsx +14 -297
- package/src/Dialog.native.tsx +4 -2
- package/src/Form/building-blocks.tsx +97 -0
- package/src/Form/fields-choice.tsx +312 -0
- package/src/Form/fields-complex.tsx +195 -0
- package/src/Form/fields-date.tsx +195 -0
- package/src/Form/fields-text.tsx +218 -0
- package/src/Form/fields-toggle.tsx +123 -0
- package/src/Form/helpers.tsx +189 -0
- package/src/Form/types.ts +26 -0
- package/src/Form.tsx +91 -1308
- package/src/IconSidebar.tsx +20 -442
- package/src/MainSidebar/back-button.tsx +58 -0
- package/src/MainSidebar/breadcrumb.tsx +53 -0
- package/src/MainSidebar/columns.tsx +350 -0
- package/src/MainSidebar/command.tsx +404 -0
- package/src/MainSidebar/drilldown.tsx +373 -0
- package/src/MainSidebar/expanded.tsx +414 -0
- package/src/MainSidebar/floating.tsx +268 -0
- package/src/MainSidebar/helpers.ts +166 -0
- package/src/MainSidebar/hover.tsx +334 -0
- package/src/MainSidebar/index.tsx +191 -0
- package/src/MainSidebar/mobile.tsx +117 -0
- package/src/MainSidebar/motion.ts +64 -0
- package/src/MainSidebar/rail.tsx +137 -0
- package/src/MainSidebar/search.tsx +99 -0
- package/src/MainSidebar/types.ts +208 -0
- package/src/MainSidebar.tsx +15 -4
- package/src/NavigationMenu.tsx +1 -1
- package/src/RichTextEditor/theme.ts +43 -0
- package/src/RichTextEditor/toolbar-icons.tsx +40 -0
- package/src/RichTextEditor/toolbar.tsx +271 -0
- package/src/RichTextEditor.tsx +23 -371
- package/src/Select/content.tsx +111 -0
- package/src/Select/context.tsx +66 -0
- package/src/Select/item.tsx +97 -0
- package/src/Select/parts.tsx +43 -0
- package/src/Select/react-select.tsx +216 -0
- package/src/Select/root.tsx +75 -0
- package/src/Select/trigger.tsx +122 -0
- package/src/Select.tsx +34 -692
- package/src/Sidebar/context.tsx +72 -0
- package/src/Sidebar/group.tsx +69 -0
- package/src/Sidebar/icons.tsx +42 -0
- package/src/Sidebar/layout.tsx +64 -0
- package/src/Sidebar/menu.tsx +171 -0
- package/src/Sidebar/provider.tsx +224 -0
- package/src/Sidebar/sidebar.tsx +178 -0
- package/src/Sidebar/submenu.tsx +58 -0
- package/src/Sidebar/trigger.tsx +104 -0
- package/src/Sidebar.tsx +44 -927
- package/src/StatCard.tsx +365 -20
- package/src/TransferList.native.tsx +2 -1
- package/dist/TiptapEditor.d.ts +0 -24
- package/dist/TiptapEditor.d.ts.map +0 -1
- package/dist/TiptapEditor.js +0 -84
- package/dist/TiptapEditor.js.map +0 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Menu list and item: SidebarMenu, SidebarMenuItem, SidebarMenuButton (+ CVA),
|
|
5
|
+
* SidebarMenuAction, SidebarMenuBadge, SidebarMenuSkeleton.
|
|
6
|
+
*/
|
|
7
|
+
import { forwardRef, } from 'react';
|
|
8
|
+
import { cva } from 'class-variance-authority';
|
|
9
|
+
import { cn } from '../internal/cn.js';
|
|
10
|
+
import { Skeleton } from '../Skeleton.js';
|
|
11
|
+
import { Tooltip } from '../Tooltip.js';
|
|
12
|
+
import { useSidebar } from './context.js';
|
|
13
|
+
export const SidebarMenu = forwardRef(function SidebarMenu({ className, ...props }, ref) {
|
|
14
|
+
return (_jsx("ul", { ref: ref, "data-sidebar": "menu", className: cn('flex w-full min-w-0 flex-col gap-1', className), ...props }));
|
|
15
|
+
});
|
|
16
|
+
export const SidebarMenuItem = forwardRef(function SidebarMenuItem({ className, ...props }, ref) {
|
|
17
|
+
return (_jsx("li", { ref: ref, "data-sidebar": "menu-item", className: cn('group/menu-item relative', className), ...props }));
|
|
18
|
+
});
|
|
19
|
+
export const sidebarMenuButtonVariants = cva('peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none 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', {
|
|
20
|
+
variants: {
|
|
21
|
+
variant: {
|
|
22
|
+
default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',
|
|
23
|
+
outline: '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))]',
|
|
24
|
+
},
|
|
25
|
+
size: {
|
|
26
|
+
default: 'h-8 text-sm',
|
|
27
|
+
sm: 'h-7 text-xs',
|
|
28
|
+
lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
defaultVariants: {
|
|
32
|
+
variant: 'default',
|
|
33
|
+
size: 'default',
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
export const SidebarMenuButton = forwardRef(function SidebarMenuButton({ asChild: _asChild, isActive = false, variant, size, tooltip, className, ...props }, ref) {
|
|
37
|
+
useSidebar();
|
|
38
|
+
const button = (_jsx("button", { ref: ref, type: "button", "data-sidebar": "menu-button", "data-size": size, "data-active": isActive, className: cn(sidebarMenuButtonVariants({ variant, size }), className), ...props }));
|
|
39
|
+
if (!tooltip)
|
|
40
|
+
return button;
|
|
41
|
+
const tooltipProps = typeof tooltip === 'string' ? { content: tooltip } : tooltip;
|
|
42
|
+
return (_jsx(Tooltip, { ...tooltipProps, side: "right", children: button }));
|
|
43
|
+
});
|
|
44
|
+
export const SidebarMenuAction = forwardRef(function SidebarMenuAction({ className, asChild: _asChild, showOnHover = false, ...props }, ref) {
|
|
45
|
+
return (_jsx("button", { ref: ref, type: "button", "data-sidebar": "menu-action", className: cn('absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0', 'after:absolute after:-inset-2 after:md:hidden', 'group-data-[collapsible=icon]:hidden', showOnHover &&
|
|
46
|
+
'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', className), ...props }));
|
|
47
|
+
});
|
|
48
|
+
export const SidebarMenuBadge = forwardRef(function SidebarMenuBadge({ className, ...props }, ref) {
|
|
49
|
+
return (_jsx("div", { ref: ref, "data-sidebar": "menu-badge", className: cn('pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground', 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground', 'group-data-[collapsible=icon]:hidden', className), ...props }));
|
|
50
|
+
});
|
|
51
|
+
export const SidebarMenuSkeleton = forwardRef(function SidebarMenuSkeleton({ className, showIcon = false, ...props }, ref) {
|
|
52
|
+
const width = '70%';
|
|
53
|
+
return (_jsxs("div", { ref: ref, "data-sidebar": "menu-skeleton", className: cn('flex h-8 items-center gap-2 rounded-md px-2', className), ...props, children: [showIcon && _jsx(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }), _jsx(Skeleton, { className: "h-4 max-w-(--skeleton-width) flex-1", "data-sidebar": "menu-skeleton-text", style: { '--skeleton-width': width } })] }));
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/Sidebar/menu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SidebarProvider — owns sidebar state, cookie persistence, keyboard shortcut,
|
|
3
|
+
* and feeds context values to descendant Sidebar pieces.
|
|
4
|
+
*/
|
|
5
|
+
import { type HTMLAttributes } from 'react';
|
|
6
|
+
import { type SidebarCollapsible, type SidebarPosition, type SidebarSide, type SidebarVariant } from './context.js';
|
|
7
|
+
export interface SidebarProviderProps extends HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
defaultOpen?: boolean;
|
|
9
|
+
open?: boolean;
|
|
10
|
+
onOpenChange?: (open: boolean) => void;
|
|
11
|
+
/** Initial mobile Sheet open state. Useful for examples and forced mobile previews. */
|
|
12
|
+
defaultOpenMobile?: boolean;
|
|
13
|
+
/** Controlled mobile Sheet open state. */
|
|
14
|
+
openMobile?: boolean;
|
|
15
|
+
/** Called when mobile Sheet open state changes. */
|
|
16
|
+
onOpenMobileChange?: (open: boolean) => void;
|
|
17
|
+
side?: SidebarSide;
|
|
18
|
+
variant?: SidebarVariant;
|
|
19
|
+
collapsible?: SidebarCollapsible;
|
|
20
|
+
position?: SidebarPosition;
|
|
21
|
+
/** Force mobile behavior for previews/tests. When omitted, matchMedia decides. */
|
|
22
|
+
mobile?: boolean;
|
|
23
|
+
/** Breakpoint in px where the sidebar switches to mobile Sheet mode. */
|
|
24
|
+
mobileBreakpoint?: number;
|
|
25
|
+
/** Expanded desktop width. */
|
|
26
|
+
width?: string;
|
|
27
|
+
/** Collapsed icon-rail width. */
|
|
28
|
+
iconWidth?: string;
|
|
29
|
+
/** Mobile Sheet width. */
|
|
30
|
+
mobileWidth?: string;
|
|
31
|
+
}
|
|
32
|
+
export declare const SidebarProvider: import("react").ForwardRefExoticComponent<SidebarProviderProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
33
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/Sidebar/provider.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AACH,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAEf,OAAO,EAUL,KAAK,kBAAkB,EAEvB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,kFAAkF;IAClF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,iHAqK3B,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* SidebarProvider — owns sidebar state, cookie persistence, keyboard shortcut,
|
|
5
|
+
* and feeds context values to descendant Sidebar pieces.
|
|
6
|
+
*/
|
|
7
|
+
import { forwardRef, useCallback, useEffect, useMemo, useState, } from 'react';
|
|
8
|
+
import { cn } from '../internal/cn.js';
|
|
9
|
+
import { SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_MOBILE_BREAKPOINT, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, SidebarContext, useIsMobile, } from './context.js';
|
|
10
|
+
export const SidebarProvider = forwardRef(function SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, defaultOpenMobile = false, openMobile: openMobileProp, onOpenMobileChange: setOpenMobileProp, side = 'left', variant = 'sidebar', collapsible = 'offcanvas', position = 'contained', mobile, mobileBreakpoint = SIDEBAR_MOBILE_BREAKPOINT, width = SIDEBAR_WIDTH, iconWidth = SIDEBAR_WIDTH_ICON, mobileWidth = SIDEBAR_WIDTH_MOBILE, className, style, children, ...props }, ref) {
|
|
11
|
+
const detectedMobile = useIsMobile(mobileBreakpoint);
|
|
12
|
+
const isMobile = mobile ?? detectedMobile;
|
|
13
|
+
const [_openMobile, _setOpenMobile] = useState(defaultOpenMobile);
|
|
14
|
+
const [_open, _setOpen] = useState(defaultOpen);
|
|
15
|
+
const open = openProp ?? _open;
|
|
16
|
+
const openMobile = openMobileProp ?? _openMobile;
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (openProp !== undefined)
|
|
19
|
+
return;
|
|
20
|
+
const cookie = document.cookie
|
|
21
|
+
.split('; ')
|
|
22
|
+
.find((row) => row.startsWith(`${SIDEBAR_COOKIE_NAME}=`));
|
|
23
|
+
if (!cookie)
|
|
24
|
+
return;
|
|
25
|
+
const nextOpen = cookie.split('=')[1] === 'true';
|
|
26
|
+
let cancelled = false;
|
|
27
|
+
queueMicrotask(() => {
|
|
28
|
+
if (!cancelled) {
|
|
29
|
+
_setOpen(nextOpen);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return () => {
|
|
33
|
+
cancelled = true;
|
|
34
|
+
};
|
|
35
|
+
}, [openProp]);
|
|
36
|
+
const setOpen = useCallback((value) => {
|
|
37
|
+
const next = typeof value === 'function' ? value(open) : value;
|
|
38
|
+
if (setOpenProp) {
|
|
39
|
+
setOpenProp(next);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
_setOpen(next);
|
|
43
|
+
}
|
|
44
|
+
if (typeof document !== 'undefined') {
|
|
45
|
+
document.cookie = `${SIDEBAR_COOKIE_NAME}=${next}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
|
|
46
|
+
}
|
|
47
|
+
}, [setOpenProp, open]);
|
|
48
|
+
const setOpenMobile = useCallback((value) => {
|
|
49
|
+
const next = typeof value === 'function' ? value(openMobile) : value;
|
|
50
|
+
if (setOpenMobileProp) {
|
|
51
|
+
setOpenMobileProp(next);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
_setOpenMobile(next);
|
|
55
|
+
}
|
|
56
|
+
}, [openMobile, setOpenMobileProp]);
|
|
57
|
+
const toggleSidebar = useCallback(() => {
|
|
58
|
+
if (collapsible === 'none')
|
|
59
|
+
return;
|
|
60
|
+
if (isMobile) {
|
|
61
|
+
setOpenMobile((prev) => !prev);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
setOpen((prev) => !prev);
|
|
65
|
+
}
|
|
66
|
+
}, [collapsible, isMobile, setOpen, setOpenMobile]);
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
const handleKeyDown = (e) => {
|
|
69
|
+
if (e.key === SIDEBAR_KEYBOARD_SHORTCUT && (e.metaKey || e.ctrlKey)) {
|
|
70
|
+
e.preventDefault();
|
|
71
|
+
toggleSidebar();
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
75
|
+
return () => window.removeEventListener('keydown', handleKeyDown);
|
|
76
|
+
}, [toggleSidebar]);
|
|
77
|
+
const state = open ? 'expanded' : 'collapsed';
|
|
78
|
+
const value = useMemo(() => ({
|
|
79
|
+
state,
|
|
80
|
+
open,
|
|
81
|
+
setOpen,
|
|
82
|
+
isMobile,
|
|
83
|
+
openMobile,
|
|
84
|
+
setOpenMobile,
|
|
85
|
+
side,
|
|
86
|
+
variant,
|
|
87
|
+
collapsible,
|
|
88
|
+
position,
|
|
89
|
+
toggleSidebar,
|
|
90
|
+
}), [
|
|
91
|
+
state,
|
|
92
|
+
open,
|
|
93
|
+
setOpen,
|
|
94
|
+
isMobile,
|
|
95
|
+
openMobile,
|
|
96
|
+
setOpenMobile,
|
|
97
|
+
side,
|
|
98
|
+
variant,
|
|
99
|
+
collapsible,
|
|
100
|
+
position,
|
|
101
|
+
toggleSidebar,
|
|
102
|
+
]);
|
|
103
|
+
return (_jsx(SidebarContext.Provider, { value: value, children: _jsx("div", { ref: ref, style: {
|
|
104
|
+
'--sidebar-width': width,
|
|
105
|
+
'--sidebar-width-icon': iconWidth,
|
|
106
|
+
'--sidebar-width-mobile': mobileWidth,
|
|
107
|
+
...style,
|
|
108
|
+
}, className: cn('group/sidebar-wrapper flex min-h-svh w-full', side === 'right' && 'flex-row-reverse', variant === 'inset' && 'bg-sidebar', className), "data-sidebar": "provider", "data-state": state, "data-collapsible": state === 'collapsed' ? collapsible : '', "data-variant": variant, "data-side": side, "data-position": position, ...props, children: children }) }));
|
|
109
|
+
});
|
|
110
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/Sidebar/provider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sidebar — the visual container. Three modes selected per context:
|
|
3
|
+
* - `collapsible="none"` → static `<nav>` at the configured width.
|
|
4
|
+
* - mobile → wrapped in the Sheet primitive.
|
|
5
|
+
* - desktop `contained` / `fixed` → either takes space in flow or is fixed
|
|
6
|
+
* to the viewport edge, with width transitions and offcanvas handling.
|
|
7
|
+
*/
|
|
8
|
+
import { type HTMLAttributes } from 'react';
|
|
9
|
+
import { type SidebarCollapsible, type SidebarPosition, type SidebarSide, type SidebarVariant } from './context.js';
|
|
10
|
+
export interface SidebarProps extends HTMLAttributes<HTMLElement> {
|
|
11
|
+
side?: SidebarSide;
|
|
12
|
+
variant?: SidebarVariant;
|
|
13
|
+
collapsible?: SidebarCollapsible;
|
|
14
|
+
position?: SidebarPosition;
|
|
15
|
+
}
|
|
16
|
+
export declare const Sidebar: import("react").ForwardRefExoticComponent<SidebarProps & import("react").RefAttributes<HTMLElement>>;
|
|
17
|
+
//# sourceMappingURL=sidebar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/Sidebar/sidebar.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAGxD,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,YAAa,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC/D,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,eAAO,MAAM,OAAO,sGAsJlB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Sidebar — the visual container. Three modes selected per context:
|
|
5
|
+
* - `collapsible="none"` → static `<nav>` at the configured width.
|
|
6
|
+
* - mobile → wrapped in the Sheet primitive.
|
|
7
|
+
* - desktop `contained` / `fixed` → either takes space in flow or is fixed
|
|
8
|
+
* to the viewport edge, with width transitions and offcanvas handling.
|
|
9
|
+
*/
|
|
10
|
+
import { forwardRef } from 'react';
|
|
11
|
+
import { cn } from '../internal/cn.js';
|
|
12
|
+
import { Sheet, SheetContent } from '../Sheet.js';
|
|
13
|
+
import { useSidebar, } from './context.js';
|
|
14
|
+
export const Sidebar = forwardRef(function Sidebar({ side, variant, collapsible, position, className, children, ...props }, ref) {
|
|
15
|
+
const context = useSidebar();
|
|
16
|
+
const { isMobile, state, openMobile, setOpenMobile } = context;
|
|
17
|
+
const currentSide = side ?? context.side;
|
|
18
|
+
const currentVariant = variant ?? context.variant;
|
|
19
|
+
const currentCollapsible = collapsible ?? context.collapsible;
|
|
20
|
+
const currentPosition = position ?? context.position;
|
|
21
|
+
const isCollapsed = state === 'collapsed';
|
|
22
|
+
const isFloating = currentVariant === 'floating' || currentVariant === 'inset';
|
|
23
|
+
const isOffcanvasCollapsed = isCollapsed && currentCollapsible === 'offcanvas';
|
|
24
|
+
const isIconCollapsed = isCollapsed && currentCollapsible === 'icon';
|
|
25
|
+
const sidebarEdgeBorder = currentSide === 'right'
|
|
26
|
+
? 'border-l border-sidebar-border'
|
|
27
|
+
: 'border-r border-sidebar-border';
|
|
28
|
+
if (currentCollapsible === 'none') {
|
|
29
|
+
return (_jsx("nav", { ref: ref, "aria-label": props['aria-label'] ?? 'Sidebar', "data-sidebar": "sidebar", "data-state": state, "data-collapsible": "", "data-variant": currentVariant, "data-side": currentSide, "data-position": currentPosition, className: cn('flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground', isFloating ? 'rounded-lg border border-sidebar-border shadow' : sidebarEdgeBorder, className), ...props, children: children }));
|
|
30
|
+
}
|
|
31
|
+
if (isMobile) {
|
|
32
|
+
return (_jsx(Sheet, { open: openMobile, onOpenChange: setOpenMobile, children: _jsx(SheetContent, { "data-sidebar": "sidebar", "data-mobile": "true", className: cn('w-(--sidebar-width-mobile) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden', className), side: currentSide, ...props, children: _jsx("nav", { "aria-label": props['aria-label'] ?? 'Sidebar', className: "flex h-full w-full flex-col", children: children }) }) }));
|
|
33
|
+
}
|
|
34
|
+
if (currentPosition === 'contained') {
|
|
35
|
+
return (_jsx("div", { "data-sidebar": "sidebar-container", className: cn('group peer relative hidden h-full shrink-0 overflow-hidden text-sidebar-foreground transition-[width] duration-200 ease-linear md:flex', isOffcanvasCollapsed
|
|
36
|
+
? 'w-0'
|
|
37
|
+
: isIconCollapsed
|
|
38
|
+
? isFloating
|
|
39
|
+
? 'w-[calc(var(--sidebar-width-icon)+theme(spacing.4))]'
|
|
40
|
+
: 'w-(--sidebar-width-icon)'
|
|
41
|
+
: 'w-(--sidebar-width)', isFloating && !isOffcanvasCollapsed && 'p-2', className), "data-state": state, "data-collapsible": isCollapsed ? currentCollapsible : '', "data-variant": currentVariant, "data-side": currentSide, "data-position": currentPosition, children: _jsx("nav", { ref: ref, "aria-label": props['aria-label'] ?? 'Sidebar', "data-sidebar": "sidebar", className: cn('flex h-full w-full min-w-0 flex-col bg-sidebar', isFloating ? 'rounded-lg border border-sidebar-border shadow' : sidebarEdgeBorder), ...props, children: children }) }));
|
|
42
|
+
}
|
|
43
|
+
return (_jsxs("div", { "data-sidebar": "sidebar-container", className: "group peer hidden md:block text-sidebar-foreground", "data-state": state, "data-collapsible": isCollapsed ? currentCollapsible : '', "data-variant": currentVariant, "data-side": currentSide, "data-position": currentPosition, children: [_jsx("div", { className: cn('relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear', 'group-data-[collapsible=offcanvas]:w-0', 'group-data-[side=right]:rotate-180', isFloating
|
|
44
|
+
? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+theme(spacing.4))]'
|
|
45
|
+
: 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)') }), _jsx("div", { className: cn('fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex', currentSide === 'left'
|
|
46
|
+
? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'
|
|
47
|
+
: 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]', isFloating
|
|
48
|
+
? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+theme(spacing.4)+2px)]'
|
|
49
|
+
: cn('group-data-[collapsible=icon]:w-(--sidebar-width-icon)', 'border-sidebar-border', currentSide === 'right' ? 'group-data-[variant=sidebar]:border-l' : 'group-data-[variant=sidebar]:border-r'), className), ...props, children: _jsx("nav", { ref: ref, "aria-label": props['aria-label'] ?? 'Sidebar', "data-sidebar": "sidebar", className: cn('flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow'), children: children }) })] }));
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=sidebar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../src/Sidebar/sidebar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAuB,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,UAAU,GAKX,MAAM,cAAc,CAAC;AAStB,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAA4B,SAAS,OAAO,CAC3E,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EACvE,GAAG;IAEH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAC/D,MAAM,WAAW,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IACzC,MAAM,cAAc,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAClD,MAAM,kBAAkB,GAAG,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAC9D,MAAM,eAAe,GAAG,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACrD,MAAM,WAAW,GAAG,KAAK,KAAK,WAAW,CAAC;IAC1C,MAAM,UAAU,GAAG,cAAc,KAAK,UAAU,IAAI,cAAc,KAAK,OAAO,CAAC;IAC/E,MAAM,oBAAoB,GAAG,WAAW,IAAI,kBAAkB,KAAK,WAAW,CAAC;IAC/E,MAAM,eAAe,GAAG,WAAW,IAAI,kBAAkB,KAAK,MAAM,CAAC;IACrE,MAAM,iBAAiB,GAAG,WAAW,KAAK,OAAO;QAC/C,CAAC,CAAC,gCAAgC;QAClC,CAAC,CAAC,gCAAgC,CAAC;IAErC,IAAI,kBAAkB,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,CACL,cACE,GAAG,EAAE,GAAG,gBACI,KAAK,CAAC,YAAY,CAAC,IAAI,SAAS,kBAC/B,SAAS,gBACV,KAAK,sBACA,EAAE,kBACL,cAAc,eACjB,WAAW,mBACP,eAAe,EAC9B,SAAS,EAAE,EAAE,CACX,6EAA6E,EAC7E,UAAU,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,iBAAiB,EACjF,SAAS,CACV,KACG,KAAK,YAER,QAAQ,GACL,CACP,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CACL,KAAC,KAAK,IAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,YAClD,KAAC,YAAY,oBACE,SAAS,iBACV,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,qFAAqF,EACrF,SAAS,CACV,EACD,IAAI,EAAE,WAAW,KACb,KAAK,YAET,4BAAiB,KAAK,CAAC,YAAY,CAAC,IAAI,SAAS,EAAE,SAAS,EAAC,6BAA6B,YACvF,QAAQ,GACL,GACO,GACT,CACT,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,CACL,8BACe,mBAAmB,EAChC,SAAS,EAAE,EAAE,CACX,wIAAwI,EACxI,oBAAoB;gBAClB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,eAAe;oBACf,CAAC,CAAC,UAAU;wBACV,CAAC,CAAC,sDAAsD;wBACxD,CAAC,CAAC,0BAA0B;oBAC9B,CAAC,CAAC,qBAAqB,EAC3B,UAAU,IAAI,CAAC,oBAAoB,IAAI,KAAK,EAC5C,SAAS,CACV,gBACW,KAAK,sBACC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBACzC,cAAc,eACjB,WAAW,mBACP,eAAe,YAE9B,cACE,GAAG,EAAE,GAAG,gBACI,KAAK,CAAC,YAAY,CAAC,IAAI,SAAS,kBAC/B,SAAS,EACtB,SAAS,EAAE,EAAE,CACX,gDAAgD,EAChD,UAAU,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,iBAAiB,CAClF,KACG,KAAK,YAER,QAAQ,GACL,GACF,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,+BACe,mBAAmB,EAChC,SAAS,EAAC,oDAAoD,gBAClD,KAAK,sBACC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBACzC,cAAc,eACjB,WAAW,mBACP,eAAe,aAE9B,cACE,SAAS,EAAE,EAAE,CACX,yFAAyF,EACzF,wCAAwC,EACxC,oCAAoC,EACpC,UAAU;oBACR,CAAC,CAAC,oFAAoF;oBACtF,CAAC,CAAC,wDAAwD,CAC7D,GACD,EACF,cACE,SAAS,EAAE,EAAE,CACX,sHAAsH,EACtH,WAAW,KAAK,MAAM;oBACpB,CAAC,CAAC,gFAAgF;oBAClF,CAAC,CAAC,kFAAkF,EACtF,UAAU;oBACR,CAAC,CAAC,4FAA4F;oBAC9F,CAAC,CAAC,EAAE,CACA,wDAAwD,EACxD,uBAAuB,EACvB,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,uCAAuC,CAC5G,EACL,SAAS,CACV,KACG,KAAK,YAET,cACE,GAAG,EAAE,GAAG,gBACI,KAAK,CAAC,YAAY,CAAC,IAAI,SAAS,kBAC/B,SAAS,EACtB,SAAS,EAAE,EAAE,CACX,+MAA+M,CAChN,YAEA,QAAQ,GACL,GACF,IACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sub-menu pieces: SidebarMenuSub, SidebarMenuSubItem, SidebarMenuSubButton.
|
|
3
|
+
*/
|
|
4
|
+
import { type AnchorHTMLAttributes, type HTMLAttributes } from 'react';
|
|
5
|
+
export declare const SidebarMenuSub: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & import("react").RefAttributes<HTMLUListElement>>;
|
|
6
|
+
export declare const SidebarMenuSubItem: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLLIElement> & import("react").RefAttributes<HTMLLIElement>>;
|
|
7
|
+
export interface SidebarMenuSubButtonProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
8
|
+
asChild?: boolean;
|
|
9
|
+
size?: 'sm' | 'md';
|
|
10
|
+
isActive?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const SidebarMenuSubButton: import("react").ForwardRefExoticComponent<SidebarMenuSubButtonProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
13
|
+
//# sourceMappingURL=submenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submenu.d.ts","sourceRoot":"","sources":["../../src/Sidebar/submenu.tsx"],"names":[],"mappings":"AAEA;;GAEG;AACH,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAGnF,eAAO,MAAM,cAAc,+HAe1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,yHAI9B,CAAC;AAEF,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IACxF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,oBAAoB,yHAoBhC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Sub-menu pieces: SidebarMenuSub, SidebarMenuSubItem, SidebarMenuSubButton.
|
|
5
|
+
*/
|
|
6
|
+
import { forwardRef } from 'react';
|
|
7
|
+
import { cn } from '../internal/cn.js';
|
|
8
|
+
export const SidebarMenuSub = forwardRef(function SidebarMenuSub({ className, ...props }, ref) {
|
|
9
|
+
return (_jsx("ul", { ref: ref, "data-sidebar": "menu-sub", className: cn('mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5', 'group-data-[collapsible=icon]:hidden', className), ...props }));
|
|
10
|
+
});
|
|
11
|
+
export const SidebarMenuSubItem = forwardRef(function SidebarMenuSubItem({ ...props }, ref) {
|
|
12
|
+
return _jsx("li", { ref: ref, ...props });
|
|
13
|
+
});
|
|
14
|
+
export const SidebarMenuSubButton = forwardRef(function SidebarMenuSubButton({ asChild: _asChild, size = 'md', isActive, className, ...props }, ref) {
|
|
15
|
+
return (_jsx("a", { ref: ref, "data-sidebar": "menu-sub-button", "data-size": size, "data-active": isActive, className: cn('flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring 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 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0', 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground', size === 'sm' && 'text-xs', size === 'md' && 'text-sm', 'group-data-[collapsible=icon]:hidden', className), ...props }));
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=submenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submenu.js","sourceRoot":"","sources":["../../src/Sidebar/submenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;GAEG;AACH,OAAO,EAAE,UAAU,EAAkD,MAAM,OAAO,CAAC;AACnF,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CACtC,SAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IAClD,OAAO,CACL,aACE,GAAG,EAAE,GAAG,kBACK,UAAU,EACvB,SAAS,EAAE,EAAE,CACX,gGAAgG,EAChG,sCAAsC,EACtC,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAC1C,SAAS,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IAC3C,OAAO,aAAI,GAAG,EAAE,GAAG,KAAM,KAAK,GAAI,CAAC;AACrC,CAAC,CACF,CAAC;AAQF,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAC5C,SAAS,oBAAoB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IAClG,OAAO,CACL,YACE,GAAG,EAAE,GAAG,kBACK,iBAAiB,eACnB,IAAI,iBACF,QAAQ,EACrB,SAAS,EAAE,EAAE,CACX,scAAsc,EACtc,wFAAwF,EACxF,IAAI,KAAK,IAAI,IAAI,SAAS,EAC1B,IAAI,KAAK,IAAI,IAAI,SAAS,EAC1B,sCAAsC,EACtC,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edge / chrome pieces: SidebarTrigger, SidebarRail, SidebarInset, SidebarInput.
|
|
3
|
+
*/
|
|
4
|
+
import { type HTMLAttributes } from 'react';
|
|
5
|
+
export declare const SidebarTrigger: import("react").ForwardRefExoticComponent<Omit<import("../Button.js").ButtonProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
6
|
+
export declare const SidebarRail: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
7
|
+
export declare const SidebarInset: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
8
|
+
export declare const SidebarInput: import("react").ForwardRefExoticComponent<Omit<import("../Input.js").InputProps & import("react").RefAttributes<HTMLInputElement>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
|
|
9
|
+
//# sourceMappingURL=trigger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../src/Sidebar/trigger.tsx"],"names":[],"mappings":"AAEA;;GAEG;AACH,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAO7E,eAAO,MAAM,cAAc,kMA6BzB,CAAC;AAEH,eAAO,MAAM,WAAW,iIA2BvB,CAAC;AAEF,eAAO,MAAM,YAAY,2HAcxB,CAAC;AAEF,eAAO,MAAM,YAAY,8LAevB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Edge / chrome pieces: SidebarTrigger, SidebarRail, SidebarInset, SidebarInput.
|
|
5
|
+
*/
|
|
6
|
+
import { forwardRef } from 'react';
|
|
7
|
+
import { cn } from '../internal/cn.js';
|
|
8
|
+
import { Button } from '../Button.js';
|
|
9
|
+
import { Input } from '../Input.js';
|
|
10
|
+
import { useSidebar } from './context.js';
|
|
11
|
+
import { PanelLeftIcon, PanelRightIcon } from './icons.js';
|
|
12
|
+
export const SidebarTrigger = forwardRef(function SidebarTrigger({ className, disabled, onClick, ...props }, ref) {
|
|
13
|
+
const { isMobile, open, openMobile, collapsible, side, toggleSidebar } = useSidebar();
|
|
14
|
+
const expanded = collapsible === 'none' ? true : isMobile ? openMobile : open;
|
|
15
|
+
const isDisabled = disabled || collapsible === 'none';
|
|
16
|
+
return (_jsxs(Button, { ref: ref, "data-sidebar": "trigger", "aria-expanded": expanded, "aria-disabled": isDisabled || undefined, disabled: isDisabled, variant: "ghost", size: "icon", className: cn('size-7', className), onClick: (e) => {
|
|
17
|
+
onClick?.(e);
|
|
18
|
+
if (collapsible === 'none')
|
|
19
|
+
return;
|
|
20
|
+
toggleSidebar();
|
|
21
|
+
}, ...props, children: [side === 'right' ? _jsx(PanelRightIcon, {}) : _jsx(PanelLeftIcon, {}), _jsx("span", { className: "sr-only", children: "Toggle Sidebar" })] }));
|
|
22
|
+
});
|
|
23
|
+
export const SidebarRail = forwardRef(function SidebarRail({ className, ...props }, ref) {
|
|
24
|
+
const { toggleSidebar } = useSidebar();
|
|
25
|
+
return (_jsx("button", { ref: ref, type: "button", "data-sidebar": "rail", "aria-label": "Toggle Sidebar", tabIndex: -1, onClick: toggleSidebar, title: "Toggle Sidebar", className: cn('absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] group-data-[side=left]:-right-4 group-data-[side=left]:-translate-x-1/2 group-data-[side=right]:-left-4 group-data-[side=right]:translate-x-1/2 sm:flex', 'hover:after:bg-sidebar-border', '[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize', '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize', 'group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar', '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2 [[data-side=left][data-collapsible=offcanvas]_&]:translate-x-0', '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-collapsible=offcanvas]_&]:translate-x-0', className), ...props }));
|
|
26
|
+
});
|
|
27
|
+
export const SidebarInset = forwardRef(function SidebarInset({ className, ...props }, ref) {
|
|
28
|
+
return (_jsx("main", { ref: ref, className: cn('relative flex min-h-svh flex-1 flex-col bg-background', 'peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[side=left]:peer-data-[variant=inset]:ml-0 md:peer-data-[side=right]:peer-data-[variant=inset]:mr-0 md:peer-data-[side=left]:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[side=right]:peer-data-[state=collapsed]:peer-data-[variant=inset]:mr-2 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow', className), ...props }));
|
|
29
|
+
});
|
|
30
|
+
export const SidebarInput = forwardRef(function SidebarInput({ className, ...props }, ref) {
|
|
31
|
+
return (_jsx(Input, { ref: ref, "data-sidebar": "input", className: cn('h-8 w-full bg-background shadow-none focus-within:ring-2 focus-within:ring-sidebar-ring', className), ...props }));
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=trigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../src/Sidebar/trigger.tsx"],"names":[],"mappings":"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"}
|
package/dist/Sidebar.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Sidebar (web-only — React DOM).
|
|
3
3
|
*
|
|
4
|
-
* A composable, collapsible sidebar with mobile sheet support,
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Composes: Button, Sheet, Separator, Skeleton, Tooltip, Input.
|
|
4
|
+
* A composable, collapsible sidebar with mobile sheet support, keyboard
|
|
5
|
+
* shortcut (Ctrl/Cmd+B), and cookie persistence. Composes Button, Sheet,
|
|
6
|
+
* Separator, Skeleton, Tooltip, Input.
|
|
8
7
|
*
|
|
9
8
|
* <SidebarProvider>
|
|
10
9
|
* <Sidebar>
|
|
@@ -26,106 +25,17 @@
|
|
|
26
25
|
* <SidebarInset>…main content…</SidebarInset>
|
|
27
26
|
* </SidebarProvider>
|
|
28
27
|
*
|
|
28
|
+
* Public barrel — implementation is split across `./Sidebar/*` so each
|
|
29
|
+
* file stays under the 400-line rule (CLAUDE.md §6).
|
|
30
|
+
*
|
|
29
31
|
* Wiki: docs/components/Sidebar.md
|
|
30
32
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
type
|
|
38
|
-
|
|
39
|
-
state: 'expanded' | 'collapsed';
|
|
40
|
-
open: boolean;
|
|
41
|
-
setOpen: (open: boolean | ((prev: boolean) => boolean)) => void;
|
|
42
|
-
openMobile: boolean;
|
|
43
|
-
setOpenMobile: (open: boolean | ((prev: boolean) => boolean)) => void;
|
|
44
|
-
isMobile: boolean;
|
|
45
|
-
side: SidebarSide;
|
|
46
|
-
variant: SidebarVariant;
|
|
47
|
-
collapsible: SidebarCollapsible;
|
|
48
|
-
position: SidebarPosition;
|
|
49
|
-
toggleSidebar: () => void;
|
|
50
|
-
}
|
|
51
|
-
export declare function useSidebar(): SidebarContextValue;
|
|
52
|
-
export interface SidebarProviderProps extends HTMLAttributes<HTMLDivElement> {
|
|
53
|
-
defaultOpen?: boolean;
|
|
54
|
-
open?: boolean;
|
|
55
|
-
onOpenChange?: (open: boolean) => void;
|
|
56
|
-
/** Initial mobile Sheet open state. Useful for examples and forced mobile previews. */
|
|
57
|
-
defaultOpenMobile?: boolean;
|
|
58
|
-
/** Controlled mobile Sheet open state. */
|
|
59
|
-
openMobile?: boolean;
|
|
60
|
-
/** Called when mobile Sheet open state changes. */
|
|
61
|
-
onOpenMobileChange?: (open: boolean) => void;
|
|
62
|
-
side?: SidebarSide;
|
|
63
|
-
variant?: SidebarVariant;
|
|
64
|
-
collapsible?: SidebarCollapsible;
|
|
65
|
-
position?: SidebarPosition;
|
|
66
|
-
/** Force mobile behavior for previews/tests. When omitted, matchMedia decides. */
|
|
67
|
-
mobile?: boolean;
|
|
68
|
-
/** Breakpoint in px where the sidebar switches to mobile Sheet mode. */
|
|
69
|
-
mobileBreakpoint?: number;
|
|
70
|
-
/** Expanded desktop width. */
|
|
71
|
-
width?: string;
|
|
72
|
-
/** Collapsed icon-rail width. */
|
|
73
|
-
iconWidth?: string;
|
|
74
|
-
/** Mobile Sheet width. */
|
|
75
|
-
mobileWidth?: string;
|
|
76
|
-
}
|
|
77
|
-
export declare const SidebarProvider: import("react").ForwardRefExoticComponent<SidebarProviderProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
78
|
-
export interface SidebarProps extends HTMLAttributes<HTMLElement> {
|
|
79
|
-
side?: SidebarSide;
|
|
80
|
-
variant?: SidebarVariant;
|
|
81
|
-
collapsible?: SidebarCollapsible;
|
|
82
|
-
position?: SidebarPosition;
|
|
83
|
-
}
|
|
84
|
-
export declare const Sidebar: import("react").ForwardRefExoticComponent<SidebarProps & import("react").RefAttributes<HTMLElement>>;
|
|
85
|
-
export declare const SidebarTrigger: import("react").ForwardRefExoticComponent<Omit<import("./Button.js").ButtonProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
86
|
-
export declare const SidebarRail: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
87
|
-
export declare const SidebarInset: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
88
|
-
export declare const SidebarInput: import("react").ForwardRefExoticComponent<Omit<import("./Input.js").InputProps & import("react").RefAttributes<HTMLInputElement>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
|
|
89
|
-
export declare const SidebarHeader: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
90
|
-
export declare const SidebarFooter: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
91
|
-
export declare const SidebarContent: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
92
|
-
export declare const SidebarSeparator: import("react").ForwardRefExoticComponent<Omit<import("./Separator.js").SeparatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
93
|
-
export declare const SidebarGroup: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
94
|
-
export declare const SidebarGroupLabel: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
95
|
-
asChild?: boolean;
|
|
96
|
-
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
97
|
-
export declare const SidebarGroupAction: import("react").ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
98
|
-
asChild?: boolean;
|
|
99
|
-
} & import("react").RefAttributes<HTMLButtonElement>>;
|
|
100
|
-
export declare const SidebarGroupContent: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
101
|
-
export declare const SidebarMenu: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & import("react").RefAttributes<HTMLUListElement>>;
|
|
102
|
-
export declare const SidebarMenuItem: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLLIElement> & import("react").RefAttributes<HTMLLIElement>>;
|
|
103
|
-
export declare const sidebarMenuButtonVariants: (props?: ({
|
|
104
|
-
variant?: "default" | "outline" | null | undefined;
|
|
105
|
-
size?: "default" | "sm" | "lg" | null | undefined;
|
|
106
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
107
|
-
export interface SidebarMenuButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof sidebarMenuButtonVariants> {
|
|
108
|
-
asChild?: boolean;
|
|
109
|
-
isActive?: boolean;
|
|
110
|
-
tooltip?: string | ComponentProps<typeof Tooltip>;
|
|
111
|
-
}
|
|
112
|
-
export declare const SidebarMenuButton: import("react").ForwardRefExoticComponent<SidebarMenuButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
113
|
-
export declare const SidebarMenuAction: import("react").ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
114
|
-
asChild?: boolean;
|
|
115
|
-
showOnHover?: boolean;
|
|
116
|
-
} & import("react").RefAttributes<HTMLButtonElement>>;
|
|
117
|
-
export declare const SidebarMenuBadge: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
118
|
-
export interface SidebarMenuSkeletonProps extends HTMLAttributes<HTMLDivElement> {
|
|
119
|
-
showIcon?: boolean;
|
|
120
|
-
}
|
|
121
|
-
export declare const SidebarMenuSkeleton: import("react").ForwardRefExoticComponent<SidebarMenuSkeletonProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
122
|
-
export declare const SidebarMenuSub: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & import("react").RefAttributes<HTMLUListElement>>;
|
|
123
|
-
export declare const SidebarMenuSubItem: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLLIElement> & import("react").RefAttributes<HTMLLIElement>>;
|
|
124
|
-
export interface SidebarMenuSubButtonProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
125
|
-
asChild?: boolean;
|
|
126
|
-
size?: 'sm' | 'md';
|
|
127
|
-
isActive?: boolean;
|
|
128
|
-
}
|
|
129
|
-
export declare const SidebarMenuSubButton: import("react").ForwardRefExoticComponent<SidebarMenuSubButtonProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
130
|
-
export {};
|
|
33
|
+
export { useSidebar } from './Sidebar/context.js';
|
|
34
|
+
export { SidebarProvider, type SidebarProviderProps } from './Sidebar/provider.js';
|
|
35
|
+
export { Sidebar, type SidebarProps } from './Sidebar/sidebar.js';
|
|
36
|
+
export { SidebarInput, SidebarInset, SidebarRail, SidebarTrigger, } from './Sidebar/trigger.js';
|
|
37
|
+
export { SidebarContent, SidebarFooter, SidebarHeader, SidebarSeparator, } from './Sidebar/layout.js';
|
|
38
|
+
export { SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, } from './Sidebar/group.js';
|
|
39
|
+
export { SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, sidebarMenuButtonVariants, type SidebarMenuButtonProps, type SidebarMenuSkeletonProps, } from './Sidebar/menu.js';
|
|
40
|
+
export { SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, type SidebarMenuSubButtonProps, } from './Sidebar/submenu.js';
|
|
131
41
|
//# sourceMappingURL=Sidebar.d.ts.map
|
package/dist/Sidebar.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../src/Sidebar.tsx"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../src/Sidebar.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,sBAAsB,CAAC"}
|