@dimaan/ui 0.0.11 → 0.0.12

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/index.d.cts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { HTMLAttributes, ReactNode, ReactElement, ButtonHTMLAttributes, InputHTMLAttributes, ChangeEvent, ComponentPropsWithoutRef, FieldsetHTMLAttributes, Ref, AnchorHTMLAttributes, TextareaHTMLAttributes } from 'react';
3
+ import { HTMLAttributes, ReactNode, ButtonHTMLAttributes, ReactElement, InputHTMLAttributes, ChangeEvent, ComponentPropsWithoutRef, FieldsetHTMLAttributes, Ref, TextareaHTMLAttributes } from 'react';
4
+ import { LinkProps } from 'react-router-dom';
4
5
  import * as RadixDropdown from '@radix-ui/react-dropdown-menu';
5
6
  import { FieldValues, FieldPath, Control } from 'react-hook-form';
6
7
  import * as RadixRadioGroup from '@radix-ui/react-radio-group';
@@ -30,22 +31,85 @@ declare function DashboardLayout({ defaultCollapsed, collapsed: collapsedProp, o
30
31
  type DashboardMainProps = HTMLAttributes<HTMLDivElement>;
31
32
  declare function DashboardMain({ className, children, ...props }: DashboardMainProps): react_jsx_runtime.JSX.Element;
32
33
 
33
- type RenderLink = (props: {
34
- href?: string;
35
- className?: string;
34
+ type SidebarProps = HTMLAttributes<HTMLElement>;
35
+ declare function Sidebar({ className, children, ...props }: SidebarProps): react_jsx_runtime.JSX.Element;
36
+
37
+ type SidebarFooterProps = HTMLAttributes<HTMLDivElement>;
38
+ declare function SidebarFooter({ className, children, ...props }: SidebarFooterProps): react_jsx_runtime.JSX.Element;
39
+
40
+ interface SidebarGroupProps extends HTMLAttributes<HTMLDivElement> {
41
+ label?: ReactNode;
42
+ }
43
+ declare function SidebarGroup({ label, className, children, ...props }: SidebarGroupProps): react_jsx_runtime.JSX.Element;
44
+
45
+ type SidebarHeaderProps = HTMLAttributes<HTMLDivElement>;
46
+ declare function SidebarHeader({ className, children, ...props }: SidebarHeaderProps): react_jsx_runtime.JSX.Element;
47
+
48
+ type SidebarNavProps = HTMLAttributes<HTMLElement>;
49
+ declare function SidebarNav({ className, children, ...props }: SidebarNavProps): react_jsx_runtime.JSX.Element;
50
+
51
+ interface SidebarNavGroupProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
52
+ icon?: ReactNode;
53
+ label?: ReactNode;
54
+ endSlot?: ReactNode;
55
+ /** Highlight the parent (e.g. when one of its children is active). */
56
+ active?: boolean;
57
+ /** Uncontrolled initial state. */
58
+ defaultOpen?: boolean;
59
+ /** Controlled open state. */
60
+ open?: boolean;
61
+ onOpenChange?: (open: boolean) => void;
62
+ children: ReactNode;
63
+ }
64
+ declare function SidebarNavGroup({ icon, label, endSlot, active, defaultOpen, open: openProp, onOpenChange, className, children, onClick, ...props }: SidebarNavGroupProps): react_jsx_runtime.JSX.Element;
65
+
66
+ type SidebarNavItemRenderProps = {
67
+ className: string;
36
68
  children: ReactNode;
69
+ to: LinkProps['to'];
70
+ isActive: boolean;
71
+ title?: string;
37
72
  'aria-current'?: 'page';
38
- }) => ReactElement;
73
+ 'data-active'?: 'true';
74
+ };
75
+ interface SidebarNavItemProps extends LinkProps {
76
+ icon?: ReactNode;
77
+ active?: boolean;
78
+ label?: ReactNode;
79
+ endSlot?: ReactNode;
80
+ /** Whether the link should match exactly. */
81
+ end?: boolean;
82
+ /**
83
+ * Override the rendered element. Use this to plug in routing-library link
84
+ * components (e.g. react-router `<Link>`) while keeping the styling.
85
+ */
86
+ render?: (props: SidebarNavItemRenderProps) => ReactElement;
87
+ }
88
+ /**
89
+ * Individual navigation item inside a `<SidebarNav>` or `<SidebarGroup>`.
90
+ * Automatically detects active state based on the current route.
91
+ *
92
+ * @example Basic usage
93
+ * ```tsx
94
+ * <SidebarNavItem to="/dashboard" icon={<Home />}>
95
+ * Dashboard
96
+ * </SidebarNavItem>
97
+ * ```
98
+ */
99
+ declare function SidebarNavItem({ icon, active: forcedActive, label, endSlot, className, children, render, to, end, ...props }: SidebarNavItemProps): react_jsx_runtime.JSX.Element;
100
+
39
101
  interface AppShellNavItem {
40
102
  /** Optional stable key. Falls back to array index if omitted — only safe for static nav. */
41
103
  key?: string;
42
104
  label: ReactNode;
43
- href?: string;
105
+ to?: string;
44
106
  icon?: ReactNode;
45
107
  active?: boolean;
108
+ /** Whether the link should match exactly. */
109
+ end?: boolean;
46
110
  endSlot?: ReactNode;
47
111
  /** Optional render prop for routing libraries (e.g. react-router <Link>). */
48
- render?: RenderLink;
112
+ render?: (props: SidebarNavItemRenderProps) => ReactElement;
49
113
  }
50
114
  interface AppShellNavGroup {
51
115
  /** Optional stable key. Falls back to array index if omitted — only safe for static nav. */
@@ -91,14 +155,14 @@ interface AppShellProps extends Pick<DashboardLayoutProps, 'defaultCollapsed' |
91
155
  * <AppShell
92
156
  * brand={{ logo: <Logo />, name: 'Acme' }}
93
157
  * nav={[
94
- * { key: 'home', label: 'Home', href: '/', icon: <Home /> },
158
+ * { key: 'home', label: 'Home', to: '/', icon: <Home /> },
95
159
  * {
96
160
  * key: 'settings',
97
161
  * label: 'Settings',
98
162
  * icon: <Settings />,
99
163
  * items: [
100
- * { key: 'profile', label: 'Profile', href: '/settings/profile' },
101
- * { key: 'team', label: 'Team', href: '/settings/team' },
164
+ * { key: 'profile', label: 'Profile', to: '/settings/profile' },
165
+ * { key: 'team', label: 'Team', to: '/settings/team' },
102
166
  * ],
103
167
  * },
104
168
  * ]}
@@ -111,14 +175,14 @@ interface AppShellProps extends Pick<DashboardLayoutProps, 'defaultCollapsed' |
111
175
  * </AppShell>
112
176
  * ```
113
177
  *
114
- * @example With React Router Link integration via render prop
178
+ * @example With custom rendering
115
179
  * ```tsx
116
180
  * const nav = [{
117
181
  * key: 'home',
118
182
  * label: 'Home',
119
183
  * icon: <Home />,
120
184
  * render: ({ children, className, ...rest }) => (
121
- * <Link to="/" className={className} {...rest}>{children}</Link>
185
+ * <MyCustomLink {...rest} className={className}>{children}</MyCustomLink>
122
186
  * ),
123
187
  * }];
124
188
  * ```
@@ -872,7 +936,7 @@ declare function ListPage<T>({ title, description, bordered, actions, data, colu
872
936
  type PageHeaderHeadingLevel = 'h1' | 'h2' | 'h3' | 'h4';
873
937
  /** Props passed to the routing-library `render` slot of the back button. */
874
938
  interface PageHeaderBackRenderProps {
875
- href?: string;
939
+ to?: LinkProps['to'];
876
940
  className?: string;
877
941
  children: ReactNode;
878
942
  onClick?: () => void;
@@ -880,11 +944,11 @@ interface PageHeaderBackRenderProps {
880
944
  interface PageHeaderBackProps {
881
945
  /** Visible label next to the arrow. Defaults to `"Back"`. */
882
946
  label?: ReactNode;
883
- /** Target href — renders an `<a>`. */
884
- href?: string;
947
+ /** Target to — renders a React Router `<Link>`. */
948
+ to?: LinkProps['to'];
885
949
  /** Click handler — renders a `<button>` (or wraps the `render` element). */
886
950
  onClick?: () => void;
887
- /** Routing-library render prop (e.g. wrap React Router `<Link>`). Wins over `href`. */
951
+ /** Routing-library render prop (e.g. wrap a different link component). Wins over `to`. */
888
952
  render?: (props: PageHeaderBackRenderProps) => ReactElement;
889
953
  }
890
954
  interface PageHeaderProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
@@ -929,7 +993,7 @@ interface PageHeaderProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
929
993
  * description={user.email}
930
994
  * back={{
931
995
  * label: 'Users',
932
- * render: (props) => <Link to="/users" {...props} />,
996
+ * to: '/users',
933
997
  * }}
934
998
  * actions={
935
999
  * <>
@@ -1090,58 +1154,6 @@ declare const RadioGroupItem: react.ForwardRefExoticComponent<Omit<RadixRadioGro
1090
1154
  radioSize?: RadioGroupSize;
1091
1155
  } & react.RefAttributes<HTMLButtonElement>>;
1092
1156
 
1093
- type SidebarProps = HTMLAttributes<HTMLElement>;
1094
- declare function Sidebar({ className, children, ...props }: SidebarProps): react_jsx_runtime.JSX.Element;
1095
-
1096
- type SidebarFooterProps = HTMLAttributes<HTMLDivElement>;
1097
- declare function SidebarFooter({ className, children, ...props }: SidebarFooterProps): react_jsx_runtime.JSX.Element;
1098
-
1099
- interface SidebarGroupProps extends HTMLAttributes<HTMLDivElement> {
1100
- label?: ReactNode;
1101
- }
1102
- declare function SidebarGroup({ label, className, children, ...props }: SidebarGroupProps): react_jsx_runtime.JSX.Element;
1103
-
1104
- type SidebarHeaderProps = HTMLAttributes<HTMLDivElement>;
1105
- declare function SidebarHeader({ className, children, ...props }: SidebarHeaderProps): react_jsx_runtime.JSX.Element;
1106
-
1107
- type SidebarNavProps = HTMLAttributes<HTMLElement>;
1108
- declare function SidebarNav({ className, children, ...props }: SidebarNavProps): react_jsx_runtime.JSX.Element;
1109
-
1110
- interface SidebarNavGroupProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
1111
- icon?: ReactNode;
1112
- label?: ReactNode;
1113
- endSlot?: ReactNode;
1114
- /** Highlight the parent (e.g. when one of its children is active). */
1115
- active?: boolean;
1116
- /** Uncontrolled initial state. */
1117
- defaultOpen?: boolean;
1118
- /** Controlled open state. */
1119
- open?: boolean;
1120
- onOpenChange?: (open: boolean) => void;
1121
- children: ReactNode;
1122
- }
1123
- declare function SidebarNavGroup({ icon, label, endSlot, active, defaultOpen, open: openProp, onOpenChange, className, children, onClick, ...props }: SidebarNavGroupProps): react_jsx_runtime.JSX.Element;
1124
-
1125
- type SidebarNavItemRenderProps = {
1126
- className: string;
1127
- children: ReactNode;
1128
- title?: string;
1129
- 'aria-current'?: 'page';
1130
- 'data-active'?: 'true';
1131
- };
1132
- interface SidebarNavItemProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
1133
- icon?: ReactNode;
1134
- active?: boolean;
1135
- label?: ReactNode;
1136
- endSlot?: ReactNode;
1137
- /**
1138
- * Override the rendered element. Use this to plug in routing-library link
1139
- * components (e.g. react-router `<Link>`) while keeping the styling.
1140
- */
1141
- render?: (props: SidebarNavItemRenderProps) => ReactElement;
1142
- }
1143
- declare function SidebarNavItem({ icon, active, label, endSlot, className, children, render, ...props }: SidebarNavItemProps): react_jsx_runtime.JSX.Element;
1144
-
1145
1157
  type SwitchSize = 'sm' | 'md' | 'lg';
1146
1158
  /**
1147
1159
  * Each size is a tuple: track dimensions + thumb size + thumb travel distance.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { HTMLAttributes, ReactNode, ReactElement, ButtonHTMLAttributes, InputHTMLAttributes, ChangeEvent, ComponentPropsWithoutRef, FieldsetHTMLAttributes, Ref, AnchorHTMLAttributes, TextareaHTMLAttributes } from 'react';
3
+ import { HTMLAttributes, ReactNode, ButtonHTMLAttributes, ReactElement, InputHTMLAttributes, ChangeEvent, ComponentPropsWithoutRef, FieldsetHTMLAttributes, Ref, TextareaHTMLAttributes } from 'react';
4
+ import { LinkProps } from 'react-router-dom';
4
5
  import * as RadixDropdown from '@radix-ui/react-dropdown-menu';
5
6
  import { FieldValues, FieldPath, Control } from 'react-hook-form';
6
7
  import * as RadixRadioGroup from '@radix-ui/react-radio-group';
@@ -30,22 +31,85 @@ declare function DashboardLayout({ defaultCollapsed, collapsed: collapsedProp, o
30
31
  type DashboardMainProps = HTMLAttributes<HTMLDivElement>;
31
32
  declare function DashboardMain({ className, children, ...props }: DashboardMainProps): react_jsx_runtime.JSX.Element;
32
33
 
33
- type RenderLink = (props: {
34
- href?: string;
35
- className?: string;
34
+ type SidebarProps = HTMLAttributes<HTMLElement>;
35
+ declare function Sidebar({ className, children, ...props }: SidebarProps): react_jsx_runtime.JSX.Element;
36
+
37
+ type SidebarFooterProps = HTMLAttributes<HTMLDivElement>;
38
+ declare function SidebarFooter({ className, children, ...props }: SidebarFooterProps): react_jsx_runtime.JSX.Element;
39
+
40
+ interface SidebarGroupProps extends HTMLAttributes<HTMLDivElement> {
41
+ label?: ReactNode;
42
+ }
43
+ declare function SidebarGroup({ label, className, children, ...props }: SidebarGroupProps): react_jsx_runtime.JSX.Element;
44
+
45
+ type SidebarHeaderProps = HTMLAttributes<HTMLDivElement>;
46
+ declare function SidebarHeader({ className, children, ...props }: SidebarHeaderProps): react_jsx_runtime.JSX.Element;
47
+
48
+ type SidebarNavProps = HTMLAttributes<HTMLElement>;
49
+ declare function SidebarNav({ className, children, ...props }: SidebarNavProps): react_jsx_runtime.JSX.Element;
50
+
51
+ interface SidebarNavGroupProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
52
+ icon?: ReactNode;
53
+ label?: ReactNode;
54
+ endSlot?: ReactNode;
55
+ /** Highlight the parent (e.g. when one of its children is active). */
56
+ active?: boolean;
57
+ /** Uncontrolled initial state. */
58
+ defaultOpen?: boolean;
59
+ /** Controlled open state. */
60
+ open?: boolean;
61
+ onOpenChange?: (open: boolean) => void;
62
+ children: ReactNode;
63
+ }
64
+ declare function SidebarNavGroup({ icon, label, endSlot, active, defaultOpen, open: openProp, onOpenChange, className, children, onClick, ...props }: SidebarNavGroupProps): react_jsx_runtime.JSX.Element;
65
+
66
+ type SidebarNavItemRenderProps = {
67
+ className: string;
36
68
  children: ReactNode;
69
+ to: LinkProps['to'];
70
+ isActive: boolean;
71
+ title?: string;
37
72
  'aria-current'?: 'page';
38
- }) => ReactElement;
73
+ 'data-active'?: 'true';
74
+ };
75
+ interface SidebarNavItemProps extends LinkProps {
76
+ icon?: ReactNode;
77
+ active?: boolean;
78
+ label?: ReactNode;
79
+ endSlot?: ReactNode;
80
+ /** Whether the link should match exactly. */
81
+ end?: boolean;
82
+ /**
83
+ * Override the rendered element. Use this to plug in routing-library link
84
+ * components (e.g. react-router `<Link>`) while keeping the styling.
85
+ */
86
+ render?: (props: SidebarNavItemRenderProps) => ReactElement;
87
+ }
88
+ /**
89
+ * Individual navigation item inside a `<SidebarNav>` or `<SidebarGroup>`.
90
+ * Automatically detects active state based on the current route.
91
+ *
92
+ * @example Basic usage
93
+ * ```tsx
94
+ * <SidebarNavItem to="/dashboard" icon={<Home />}>
95
+ * Dashboard
96
+ * </SidebarNavItem>
97
+ * ```
98
+ */
99
+ declare function SidebarNavItem({ icon, active: forcedActive, label, endSlot, className, children, render, to, end, ...props }: SidebarNavItemProps): react_jsx_runtime.JSX.Element;
100
+
39
101
  interface AppShellNavItem {
40
102
  /** Optional stable key. Falls back to array index if omitted — only safe for static nav. */
41
103
  key?: string;
42
104
  label: ReactNode;
43
- href?: string;
105
+ to?: string;
44
106
  icon?: ReactNode;
45
107
  active?: boolean;
108
+ /** Whether the link should match exactly. */
109
+ end?: boolean;
46
110
  endSlot?: ReactNode;
47
111
  /** Optional render prop for routing libraries (e.g. react-router <Link>). */
48
- render?: RenderLink;
112
+ render?: (props: SidebarNavItemRenderProps) => ReactElement;
49
113
  }
50
114
  interface AppShellNavGroup {
51
115
  /** Optional stable key. Falls back to array index if omitted — only safe for static nav. */
@@ -91,14 +155,14 @@ interface AppShellProps extends Pick<DashboardLayoutProps, 'defaultCollapsed' |
91
155
  * <AppShell
92
156
  * brand={{ logo: <Logo />, name: 'Acme' }}
93
157
  * nav={[
94
- * { key: 'home', label: 'Home', href: '/', icon: <Home /> },
158
+ * { key: 'home', label: 'Home', to: '/', icon: <Home /> },
95
159
  * {
96
160
  * key: 'settings',
97
161
  * label: 'Settings',
98
162
  * icon: <Settings />,
99
163
  * items: [
100
- * { key: 'profile', label: 'Profile', href: '/settings/profile' },
101
- * { key: 'team', label: 'Team', href: '/settings/team' },
164
+ * { key: 'profile', label: 'Profile', to: '/settings/profile' },
165
+ * { key: 'team', label: 'Team', to: '/settings/team' },
102
166
  * ],
103
167
  * },
104
168
  * ]}
@@ -111,14 +175,14 @@ interface AppShellProps extends Pick<DashboardLayoutProps, 'defaultCollapsed' |
111
175
  * </AppShell>
112
176
  * ```
113
177
  *
114
- * @example With React Router Link integration via render prop
178
+ * @example With custom rendering
115
179
  * ```tsx
116
180
  * const nav = [{
117
181
  * key: 'home',
118
182
  * label: 'Home',
119
183
  * icon: <Home />,
120
184
  * render: ({ children, className, ...rest }) => (
121
- * <Link to="/" className={className} {...rest}>{children}</Link>
185
+ * <MyCustomLink {...rest} className={className}>{children}</MyCustomLink>
122
186
  * ),
123
187
  * }];
124
188
  * ```
@@ -872,7 +936,7 @@ declare function ListPage<T>({ title, description, bordered, actions, data, colu
872
936
  type PageHeaderHeadingLevel = 'h1' | 'h2' | 'h3' | 'h4';
873
937
  /** Props passed to the routing-library `render` slot of the back button. */
874
938
  interface PageHeaderBackRenderProps {
875
- href?: string;
939
+ to?: LinkProps['to'];
876
940
  className?: string;
877
941
  children: ReactNode;
878
942
  onClick?: () => void;
@@ -880,11 +944,11 @@ interface PageHeaderBackRenderProps {
880
944
  interface PageHeaderBackProps {
881
945
  /** Visible label next to the arrow. Defaults to `"Back"`. */
882
946
  label?: ReactNode;
883
- /** Target href — renders an `<a>`. */
884
- href?: string;
947
+ /** Target to — renders a React Router `<Link>`. */
948
+ to?: LinkProps['to'];
885
949
  /** Click handler — renders a `<button>` (or wraps the `render` element). */
886
950
  onClick?: () => void;
887
- /** Routing-library render prop (e.g. wrap React Router `<Link>`). Wins over `href`. */
951
+ /** Routing-library render prop (e.g. wrap a different link component). Wins over `to`. */
888
952
  render?: (props: PageHeaderBackRenderProps) => ReactElement;
889
953
  }
890
954
  interface PageHeaderProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
@@ -929,7 +993,7 @@ interface PageHeaderProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
929
993
  * description={user.email}
930
994
  * back={{
931
995
  * label: 'Users',
932
- * render: (props) => <Link to="/users" {...props} />,
996
+ * to: '/users',
933
997
  * }}
934
998
  * actions={
935
999
  * <>
@@ -1090,58 +1154,6 @@ declare const RadioGroupItem: react.ForwardRefExoticComponent<Omit<RadixRadioGro
1090
1154
  radioSize?: RadioGroupSize;
1091
1155
  } & react.RefAttributes<HTMLButtonElement>>;
1092
1156
 
1093
- type SidebarProps = HTMLAttributes<HTMLElement>;
1094
- declare function Sidebar({ className, children, ...props }: SidebarProps): react_jsx_runtime.JSX.Element;
1095
-
1096
- type SidebarFooterProps = HTMLAttributes<HTMLDivElement>;
1097
- declare function SidebarFooter({ className, children, ...props }: SidebarFooterProps): react_jsx_runtime.JSX.Element;
1098
-
1099
- interface SidebarGroupProps extends HTMLAttributes<HTMLDivElement> {
1100
- label?: ReactNode;
1101
- }
1102
- declare function SidebarGroup({ label, className, children, ...props }: SidebarGroupProps): react_jsx_runtime.JSX.Element;
1103
-
1104
- type SidebarHeaderProps = HTMLAttributes<HTMLDivElement>;
1105
- declare function SidebarHeader({ className, children, ...props }: SidebarHeaderProps): react_jsx_runtime.JSX.Element;
1106
-
1107
- type SidebarNavProps = HTMLAttributes<HTMLElement>;
1108
- declare function SidebarNav({ className, children, ...props }: SidebarNavProps): react_jsx_runtime.JSX.Element;
1109
-
1110
- interface SidebarNavGroupProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
1111
- icon?: ReactNode;
1112
- label?: ReactNode;
1113
- endSlot?: ReactNode;
1114
- /** Highlight the parent (e.g. when one of its children is active). */
1115
- active?: boolean;
1116
- /** Uncontrolled initial state. */
1117
- defaultOpen?: boolean;
1118
- /** Controlled open state. */
1119
- open?: boolean;
1120
- onOpenChange?: (open: boolean) => void;
1121
- children: ReactNode;
1122
- }
1123
- declare function SidebarNavGroup({ icon, label, endSlot, active, defaultOpen, open: openProp, onOpenChange, className, children, onClick, ...props }: SidebarNavGroupProps): react_jsx_runtime.JSX.Element;
1124
-
1125
- type SidebarNavItemRenderProps = {
1126
- className: string;
1127
- children: ReactNode;
1128
- title?: string;
1129
- 'aria-current'?: 'page';
1130
- 'data-active'?: 'true';
1131
- };
1132
- interface SidebarNavItemProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
1133
- icon?: ReactNode;
1134
- active?: boolean;
1135
- label?: ReactNode;
1136
- endSlot?: ReactNode;
1137
- /**
1138
- * Override the rendered element. Use this to plug in routing-library link
1139
- * components (e.g. react-router `<Link>`) while keeping the styling.
1140
- */
1141
- render?: (props: SidebarNavItemRenderProps) => ReactElement;
1142
- }
1143
- declare function SidebarNavItem({ icon, active, label, endSlot, className, children, render, ...props }: SidebarNavItemProps): react_jsx_runtime.JSX.Element;
1144
-
1145
1157
  type SwitchSize = 'sm' | 'md' | 'lg';
1146
1158
  /**
1147
1159
  * Each size is a tuple: track dimensions + thumb size + thumb travel distance.