@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.cjs +15439 -121
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +81 -69
- package/dist/index.d.ts +81 -69
- package/dist/index.js +15370 -53
- package/dist/index.js.map +1 -1
- package/package.json +11 -11
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,
|
|
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
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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?:
|
|
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',
|
|
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',
|
|
101
|
-
* { key: 'team', label: '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
|
|
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
|
-
* <
|
|
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
|
-
|
|
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
|
|
884
|
-
|
|
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
|
|
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
|
-
*
|
|
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,
|
|
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
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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?:
|
|
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',
|
|
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',
|
|
101
|
-
* { key: 'team', label: '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
|
|
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
|
-
* <
|
|
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
|
-
|
|
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
|
|
884
|
-
|
|
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
|
|
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
|
-
*
|
|
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.
|