@dalexto/lexsys-registry 0.1.2 → 0.1.3
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/package.json +1 -1
- package/templates/blocks/AuthForm/AuthForm.tsx +7 -3
- package/templates/blocks/AuthForm/AuthForm.variants.ts +8 -2
- package/templates/blocks/CommandPalette/CommandPalette.tsx +11 -8
- package/templates/blocks/CommandPalette/CommandPalette.variants.ts +6 -6
- package/templates/blocks/DataTable/DataTable.variants.ts +5 -4
- package/templates/blocks/FilterToolbar/FilterToolbar.tsx +8 -1
- package/templates/blocks/FilterToolbar/FilterToolbar.variants.ts +11 -5
- package/templates/blocks/FormField/FormField.variants.ts +1 -1
- package/templates/blocks/PageHeader/PageHeader.variants.ts +6 -5
- package/templates/blocks/Sidebar/Sidebar.tsx +115 -2
- package/templates/blocks/Sidebar/Sidebar.types.ts +30 -0
- package/templates/blocks/Sidebar/Sidebar.variants.ts +160 -33
- package/templates/blocks/StatsCard/StatsCard.variants.ts +7 -6
- package/templates/primitives/DatePicker/DatePicker.tsx +11 -1
- package/templates/primitives/DatePicker/DatePicker.types.ts +4 -1
- package/templates/primitives/DatePicker/DatePicker.variants.ts +11 -2
- package/templates/primitives/Toolbar/Toolbar.variants.ts +4 -2
- package/templates/styles/theme.css +6 -1
- package/templates/styles/tokens.css +123 -38
- package/templates/templates/DashboardShell/DashboardShell.variants.ts +19 -4
- package/templates/templates/SettingsPageLayout/SettingsPageLayout.variants.ts +16 -7
package/package.json
CHANGED
|
@@ -19,7 +19,11 @@ import type {
|
|
|
19
19
|
AuthFormProps,
|
|
20
20
|
AuthFormSubmitProps,
|
|
21
21
|
} from "./AuthForm.types"
|
|
22
|
-
import {
|
|
22
|
+
import {
|
|
23
|
+
authFormClasses,
|
|
24
|
+
authFormContentClasses,
|
|
25
|
+
authFormFooterClasses,
|
|
26
|
+
} from "./AuthForm.variants"
|
|
23
27
|
import { cn } from "@/lib/utils"
|
|
24
28
|
|
|
25
29
|
const AuthForm = ({
|
|
@@ -59,7 +63,7 @@ const AuthFormContent = ({
|
|
|
59
63
|
return (
|
|
60
64
|
<CardContent
|
|
61
65
|
ref={ref}
|
|
62
|
-
className={cn(
|
|
66
|
+
className={cn(authFormContentClasses(), className)}
|
|
63
67
|
{...props}
|
|
64
68
|
/>
|
|
65
69
|
)
|
|
@@ -71,7 +75,7 @@ const AuthFormFooter = ({ ref, className, ...props }: AuthFormFooterProps) => {
|
|
|
71
75
|
return (
|
|
72
76
|
<CardFooter
|
|
73
77
|
ref={ref}
|
|
74
|
-
className={cn(
|
|
78
|
+
className={cn(authFormFooterClasses(), className)}
|
|
75
79
|
{...props}
|
|
76
80
|
/>
|
|
77
81
|
)
|
|
@@ -5,7 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export const authFormClasses = (): string => {
|
|
8
|
-
return "lex-auth-form w-full text-(--lex-
|
|
8
|
+
return "lex-auth-form w-full text-(--lex-auth-form-root-foreground)"
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
export const
|
|
11
|
+
export const authFormContentClasses = (): string => {
|
|
12
|
+
return "flex flex-col gap-(--lex-auth-form-content-gap)"
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const authFormFooterClasses = (): string => {
|
|
16
|
+
return "flex-col gap-(--lex-auth-form-footer-gap)"
|
|
17
|
+
}
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
DialogViewport,
|
|
15
15
|
} from "@/components/primitives/Dialog/Dialog"
|
|
16
16
|
import {
|
|
17
|
+
Combobox,
|
|
17
18
|
ComboboxInput,
|
|
18
19
|
ComboboxInputGroup,
|
|
19
20
|
} from "@/components/primitives/Combobox/Combobox"
|
|
@@ -116,14 +117,16 @@ const CommandPaletteInput = ({
|
|
|
116
117
|
...props
|
|
117
118
|
}: CommandPaletteInputProps) => {
|
|
118
119
|
return (
|
|
119
|
-
<
|
|
120
|
-
<
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
120
|
+
<Combobox>
|
|
121
|
+
<ComboboxInputGroup className={cn(commandPaletteInputClasses, className)}>
|
|
122
|
+
<ComboboxInput
|
|
123
|
+
ref={ref}
|
|
124
|
+
autoFocus
|
|
125
|
+
aria-label="Search commands"
|
|
126
|
+
{...props}
|
|
127
|
+
/>
|
|
128
|
+
</ComboboxInputGroup>
|
|
129
|
+
</Combobox>
|
|
127
130
|
)
|
|
128
131
|
}
|
|
129
132
|
|
|
@@ -5,21 +5,21 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export const commandPaletteRootClasses =
|
|
8
|
-
"lex-command-palette flex flex-col gap-(--lex-
|
|
8
|
+
"lex-command-palette flex flex-col gap-(--lex-command-palette-root-gap)"
|
|
9
9
|
|
|
10
10
|
export const commandPaletteInputClasses = "w-full"
|
|
11
11
|
|
|
12
12
|
export const commandPaletteListClasses =
|
|
13
|
-
"flex max-h-(--lex-
|
|
13
|
+
"flex max-h-(--lex-command-palette-list-max-height) flex-col"
|
|
14
14
|
|
|
15
15
|
export const commandPaletteGroupLabelClasses =
|
|
16
|
-
"px-(--lex-
|
|
16
|
+
"px-(--lex-command-palette-group-label-padding-x) py-(--lex-command-palette-group-label-padding-y) text-(length:--lex-typography-label-xs-font-size) font-(--lex-typography-label-xs-font-weight) text-(--lex-color-text-secondary)"
|
|
17
17
|
|
|
18
18
|
export const commandPaletteItemClasses =
|
|
19
|
-
"flex w-full flex-col items-start gap-(--lex-
|
|
19
|
+
"flex w-full flex-col items-start gap-(--lex-command-palette-item-gap) rounded-(--lex-command-palette-item-radius) px-(--lex-command-palette-item-padding-x) py-(--lex-command-palette-item-padding-y) text-left text-(--lex-command-palette-item-foreground) outline-none transition-colors hover:bg-(--lex-command-palette-item-hover-background) focus-visible:bg-(--lex-command-palette-item-hover-background)"
|
|
20
20
|
|
|
21
21
|
export const commandPaletteItemDescriptionClasses =
|
|
22
|
-
"text-(length:--lex-typography-body-xs-font-size) text-(--lex-
|
|
22
|
+
"text-(length:--lex-typography-body-xs-font-size) text-(--lex-command-palette-item-description-foreground)"
|
|
23
23
|
|
|
24
24
|
export const commandPaletteEmptyClasses =
|
|
25
|
-
"px-(--lex-
|
|
25
|
+
"px-(--lex-command-palette-empty-padding-x) py-(--lex-command-palette-empty-padding-y) text-(length:--lex-typography-body-sm-font-size) text-(--lex-color-text-secondary)"
|
|
@@ -5,15 +5,16 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export const dataTableClasses = (): string => {
|
|
8
|
-
return [
|
|
9
|
-
"
|
|
10
|
-
|
|
8
|
+
return [
|
|
9
|
+
"lex-data-table",
|
|
10
|
+
"flex w-full flex-col gap-(--lex-data-table-root-gap)",
|
|
11
|
+
].join(" ")
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
export const dataTableFooterClasses = (): string => {
|
|
14
15
|
return [
|
|
15
16
|
"lex-data-table__footer",
|
|
16
|
-
"flex flex-col gap-(--lex-
|
|
17
|
+
"flex flex-col gap-(--lex-data-table-footer-gap)",
|
|
17
18
|
"sm:flex-row sm:items-center sm:justify-between",
|
|
18
19
|
].join(" ")
|
|
19
20
|
}
|
|
@@ -23,6 +23,7 @@ import type {
|
|
|
23
23
|
} from "./FilterToolbar.types"
|
|
24
24
|
import {
|
|
25
25
|
filterToolbarClasses,
|
|
26
|
+
filterToolbarGroupClasses,
|
|
26
27
|
filterToolbarSearchClasses,
|
|
27
28
|
filterToolbarSelectTriggerClasses,
|
|
28
29
|
} from "./FilterToolbar.variants"
|
|
@@ -51,7 +52,13 @@ const FilterToolbarGroup = ({
|
|
|
51
52
|
className,
|
|
52
53
|
...props
|
|
53
54
|
}: FilterToolbarGroupProps) => {
|
|
54
|
-
return
|
|
55
|
+
return (
|
|
56
|
+
<ToolbarGroup
|
|
57
|
+
ref={ref}
|
|
58
|
+
className={cn(filterToolbarGroupClasses(), className)}
|
|
59
|
+
{...props}
|
|
60
|
+
/>
|
|
61
|
+
)
|
|
55
62
|
}
|
|
56
63
|
|
|
57
64
|
FilterToolbarGroup.displayName = "FilterToolbarGroup"
|
|
@@ -7,11 +7,17 @@
|
|
|
7
7
|
export const filterToolbarClasses = (): string => {
|
|
8
8
|
return [
|
|
9
9
|
"lex-filter-toolbar",
|
|
10
|
-
"flex flex-wrap items-center gap-(--lex-
|
|
11
|
-
"rounded-(--lex-radius
|
|
12
|
-
"border border-(--lex-border-
|
|
13
|
-
"bg-(--lex-
|
|
14
|
-
"p-(--lex-
|
|
10
|
+
"flex flex-wrap items-center gap-(--lex-toolbar-root-gap)",
|
|
11
|
+
"rounded-(--lex-toolbar-radius)",
|
|
12
|
+
"border border-(--lex-toolbar-root-border-color)",
|
|
13
|
+
"bg-(--lex-toolbar-root-background)",
|
|
14
|
+
"p-(--lex-toolbar-root-padding)",
|
|
15
|
+
].join(" ")
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const filterToolbarGroupClasses = (): string => {
|
|
19
|
+
return [
|
|
20
|
+
"lex-filter-toolbar__group flex flex-wrap items-center gap-(--lex-toolbar-group-gap)",
|
|
15
21
|
].join(" ")
|
|
16
22
|
}
|
|
17
23
|
|
|
@@ -7,17 +7,18 @@
|
|
|
7
7
|
export const pageHeaderClasses = (): string => {
|
|
8
8
|
return [
|
|
9
9
|
"lex-page-header",
|
|
10
|
-
"flex flex-col gap-(--lex-
|
|
11
|
-
"border-b border-(--lex-
|
|
10
|
+
"flex flex-col gap-(--lex-page-header-root-gap)",
|
|
11
|
+
"border-b border-(--lex-page-header-root-border-color)",
|
|
12
|
+
"pb-(--lex-page-header-root-padding-bottom)",
|
|
12
13
|
].join(" ")
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
export const pageHeaderTopClasses = (): string => {
|
|
16
|
-
return "lex-page-header__top flex flex-col gap-(--lex-
|
|
17
|
+
return "lex-page-header__top flex flex-col gap-(--lex-page-header-top-gap)"
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
export const pageHeaderHeadingClasses = (): string => {
|
|
20
|
-
return "lex-page-header__heading flex flex-col gap-(--lex-
|
|
21
|
+
return "lex-page-header__heading flex flex-col gap-(--lex-page-header-heading-gap)"
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
export const pageHeaderTitleClasses = (): string => {
|
|
@@ -40,7 +41,7 @@ export const pageHeaderDescriptionClasses = (): string => {
|
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
export const pageHeaderActionsClasses = (): string => {
|
|
43
|
-
return "lex-page-header__actions flex flex-wrap items-center gap-(--lex-
|
|
44
|
+
return "lex-page-header__actions flex flex-wrap items-center gap-(--lex-page-header-actions-gap)"
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
export const pageHeaderBreadcrumbClasses = (): string => {
|
|
@@ -60,9 +60,13 @@ import type {
|
|
|
60
60
|
SidebarHeaderProps,
|
|
61
61
|
SidebarGroupActionProps,
|
|
62
62
|
SidebarItemActionProps,
|
|
63
|
+
SidebarItemAdornmentsProps,
|
|
64
|
+
SidebarItemTrailingProps,
|
|
63
65
|
SidebarItemBadgeProps,
|
|
64
66
|
SidebarItemButtonProps,
|
|
67
|
+
SidebarItemExpandTriggerProps,
|
|
65
68
|
SidebarItemIconProps,
|
|
69
|
+
SidebarItemRowProps,
|
|
66
70
|
SidebarItemLinkProps,
|
|
67
71
|
SidebarItemProps,
|
|
68
72
|
SidebarItemShortcutProps,
|
|
@@ -96,8 +100,12 @@ import {
|
|
|
96
100
|
sidebarGroupClasses,
|
|
97
101
|
sidebarItemActionClasses,
|
|
98
102
|
sidebarItemBadgeClasses,
|
|
103
|
+
sidebarItemDisclosureRowClasses,
|
|
99
104
|
sidebarItemIconClasses,
|
|
105
|
+
sidebarItemRowClasses,
|
|
106
|
+
sidebarItemTrailingClasses,
|
|
100
107
|
sidebarItemShortcutClasses,
|
|
108
|
+
sidebarNavItemExpandTriggerClasses,
|
|
101
109
|
sidebarItemBadgeCollapsedClasses,
|
|
102
110
|
sidebarItemBadgeDotClasses,
|
|
103
111
|
sidebarItemBadgeLabelClasses,
|
|
@@ -108,8 +116,10 @@ import {
|
|
|
108
116
|
sidebarInputClasses,
|
|
109
117
|
sidebarSeparatorClasses,
|
|
110
118
|
sidebarMainClasses,
|
|
119
|
+
sidebarMobileBarClasses,
|
|
111
120
|
sidebarMobileHeaderClasses,
|
|
112
121
|
sidebarNavItemClasses,
|
|
122
|
+
sidebarNavItemDisclosureLeadClasses,
|
|
113
123
|
sidebarNavListClasses,
|
|
114
124
|
sidebarNavClasses,
|
|
115
125
|
sidebarSubListClasses,
|
|
@@ -463,7 +473,7 @@ const Sidebar = ({
|
|
|
463
473
|
swipeDirection={side === "right" ? "right" : "left"}
|
|
464
474
|
>
|
|
465
475
|
{mobileHeader.length > 0 ? (
|
|
466
|
-
<div className=
|
|
476
|
+
<div className={cn(sidebarMobileBarClasses(), "md:hidden")}>
|
|
467
477
|
{mobileHeader}
|
|
468
478
|
</div>
|
|
469
479
|
) : null}
|
|
@@ -883,6 +893,7 @@ const SidebarItemLink = ({
|
|
|
883
893
|
ref,
|
|
884
894
|
active,
|
|
885
895
|
disabled,
|
|
896
|
+
chrome = "default",
|
|
886
897
|
className,
|
|
887
898
|
children,
|
|
888
899
|
onClick,
|
|
@@ -892,7 +903,9 @@ const SidebarItemLink = ({
|
|
|
892
903
|
const inheritedDisabled = useSidebarItemDisabled()
|
|
893
904
|
const isDisabled = resolveSidebarNavItemDisabled(disabled, inheritedDisabled)
|
|
894
905
|
const linkClassName = cn(
|
|
895
|
-
|
|
906
|
+
chrome === "disclosureLead"
|
|
907
|
+
? sidebarNavItemDisclosureLeadClasses(active, isDisabled)
|
|
908
|
+
: sidebarNavItemClasses(active, isDisabled),
|
|
896
909
|
sidebarCollapsedItemClasses(),
|
|
897
910
|
className,
|
|
898
911
|
)
|
|
@@ -1077,6 +1090,92 @@ const SidebarItemIcon = ({
|
|
|
1077
1090
|
|
|
1078
1091
|
SidebarItemIcon.displayName = "SidebarItemIcon"
|
|
1079
1092
|
|
|
1093
|
+
const SidebarItemRow = ({
|
|
1094
|
+
ref,
|
|
1095
|
+
variant = "default",
|
|
1096
|
+
className,
|
|
1097
|
+
children,
|
|
1098
|
+
...props
|
|
1099
|
+
}: SidebarItemRowProps) => {
|
|
1100
|
+
return (
|
|
1101
|
+
<div
|
|
1102
|
+
ref={ref}
|
|
1103
|
+
className={cn(
|
|
1104
|
+
variant === "disclosure"
|
|
1105
|
+
? sidebarItemDisclosureRowClasses()
|
|
1106
|
+
: sidebarItemRowClasses(),
|
|
1107
|
+
className,
|
|
1108
|
+
)}
|
|
1109
|
+
{...props}
|
|
1110
|
+
>
|
|
1111
|
+
{children}
|
|
1112
|
+
</div>
|
|
1113
|
+
)
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
SidebarItemRow.displayName = "SidebarItemRow"
|
|
1117
|
+
|
|
1118
|
+
const SidebarItemTrailing = ({
|
|
1119
|
+
ref,
|
|
1120
|
+
className,
|
|
1121
|
+
children,
|
|
1122
|
+
...props
|
|
1123
|
+
}: SidebarItemTrailingProps) => {
|
|
1124
|
+
return (
|
|
1125
|
+
<div
|
|
1126
|
+
ref={ref}
|
|
1127
|
+
className={cn(sidebarItemTrailingClasses(), className)}
|
|
1128
|
+
{...props}
|
|
1129
|
+
>
|
|
1130
|
+
{children}
|
|
1131
|
+
</div>
|
|
1132
|
+
)
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
SidebarItemTrailing.displayName = "SidebarItemTrailing"
|
|
1136
|
+
|
|
1137
|
+
/** @deprecated Use `SidebarItemTrailing` inside the item shell. */
|
|
1138
|
+
const SidebarItemAdornments = ({
|
|
1139
|
+
ref,
|
|
1140
|
+
className,
|
|
1141
|
+
children,
|
|
1142
|
+
...props
|
|
1143
|
+
}: SidebarItemAdornmentsProps) => {
|
|
1144
|
+
return (
|
|
1145
|
+
<SidebarItemTrailing ref={ref} className={className} {...props}>
|
|
1146
|
+
{children}
|
|
1147
|
+
</SidebarItemTrailing>
|
|
1148
|
+
)
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
SidebarItemAdornments.displayName = "SidebarItemAdornments"
|
|
1152
|
+
|
|
1153
|
+
const SidebarItemExpandTrigger = ({
|
|
1154
|
+
ref,
|
|
1155
|
+
variant = "default",
|
|
1156
|
+
className,
|
|
1157
|
+
open = false,
|
|
1158
|
+
children,
|
|
1159
|
+
type = "button",
|
|
1160
|
+
...props
|
|
1161
|
+
}: SidebarItemExpandTriggerProps) => {
|
|
1162
|
+
return (
|
|
1163
|
+
<button
|
|
1164
|
+
ref={ref}
|
|
1165
|
+
type={type}
|
|
1166
|
+
className={cn(
|
|
1167
|
+
sidebarNavItemExpandTriggerClasses(open, variant),
|
|
1168
|
+
className,
|
|
1169
|
+
)}
|
|
1170
|
+
{...props}
|
|
1171
|
+
>
|
|
1172
|
+
{children ?? <ChevronDown aria-hidden />}
|
|
1173
|
+
</button>
|
|
1174
|
+
)
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
SidebarItemExpandTrigger.displayName = "SidebarItemExpandTrigger"
|
|
1178
|
+
|
|
1080
1179
|
const SidebarItemAction = ({
|
|
1081
1180
|
ref,
|
|
1082
1181
|
showOnHover = true,
|
|
@@ -1270,6 +1369,10 @@ export {
|
|
|
1270
1369
|
SidebarItemSkeleton,
|
|
1271
1370
|
SidebarItemBadge,
|
|
1272
1371
|
SidebarItemIcon,
|
|
1372
|
+
SidebarItemRow,
|
|
1373
|
+
SidebarItemTrailing,
|
|
1374
|
+
SidebarItemAdornments,
|
|
1375
|
+
SidebarItemExpandTrigger,
|
|
1273
1376
|
SidebarItemAction,
|
|
1274
1377
|
SidebarItemShortcut,
|
|
1275
1378
|
SidebarGroupAction,
|
|
@@ -1285,3 +1388,13 @@ export {
|
|
|
1285
1388
|
}
|
|
1286
1389
|
|
|
1287
1390
|
export type { SidebarNavActiveOptions } from "./Sidebar.types.js"
|
|
1391
|
+
export {
|
|
1392
|
+
sidebarItemRowClasses,
|
|
1393
|
+
sidebarItemDisclosureRowClasses,
|
|
1394
|
+
sidebarItemTrailingClasses,
|
|
1395
|
+
sidebarItemAdornmentsClasses,
|
|
1396
|
+
sidebarMobileBarClasses,
|
|
1397
|
+
sidebarNavItemRowLeadClasses,
|
|
1398
|
+
sidebarNavItemDisclosureLeadClasses,
|
|
1399
|
+
sidebarNavItemExpandTriggerClasses,
|
|
1400
|
+
} from "./Sidebar.variants.js"
|
|
@@ -132,6 +132,11 @@ export interface SidebarItemLinkProps extends AnchorHTMLAttributes<HTMLAnchorEle
|
|
|
132
132
|
ref?: Ref<HTMLAnchorElement>
|
|
133
133
|
active?: boolean
|
|
134
134
|
disabled?: boolean
|
|
135
|
+
/**
|
|
136
|
+
* Background chrome owner. `disclosureLead` defers hover/active fill to
|
|
137
|
+
* `SidebarItemRow variant="disclosure"`.
|
|
138
|
+
*/
|
|
139
|
+
chrome?: "default" | "disclosureLead"
|
|
135
140
|
className?: string
|
|
136
141
|
children?: ReactNode
|
|
137
142
|
}
|
|
@@ -192,6 +197,31 @@ export interface SidebarItemBadgeProps extends BadgeProps {
|
|
|
192
197
|
dot?: boolean
|
|
193
198
|
}
|
|
194
199
|
|
|
200
|
+
export interface SidebarItemRowProps extends HTMLAttributes<HTMLDivElement> {
|
|
201
|
+
ref?: Ref<HTMLDivElement>
|
|
202
|
+
/** `disclosure` paints one shared row shell for link lead + expand trigger. */
|
|
203
|
+
variant?: "default" | "disclosure"
|
|
204
|
+
className?: string
|
|
205
|
+
children?: ReactNode
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export interface SidebarItemTrailingProps extends HTMLAttributes<HTMLDivElement> {
|
|
209
|
+
ref?: Ref<HTMLDivElement>
|
|
210
|
+
className?: string
|
|
211
|
+
children?: ReactNode
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/** @deprecated Place `SidebarItemTrailing` inside `SidebarItemLink` / `SidebarItemButton`. */
|
|
215
|
+
export type SidebarItemAdornmentsProps = SidebarItemTrailingProps
|
|
216
|
+
|
|
217
|
+
export interface SidebarItemExpandTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
218
|
+
ref?: Ref<HTMLButtonElement>
|
|
219
|
+
/** `disclosure` suppresses per-cell hover fill — row shell owns chrome. */
|
|
220
|
+
variant?: "default" | "disclosure"
|
|
221
|
+
className?: string
|
|
222
|
+
open?: boolean
|
|
223
|
+
}
|
|
224
|
+
|
|
195
225
|
export interface SidebarItemIconProps extends HTMLAttributes<HTMLSpanElement> {
|
|
196
226
|
ref?: Ref<HTMLSpanElement>
|
|
197
227
|
className?: string
|