@moul-dev/ui 2026.9.13 → 2026.9.23

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.
@@ -1,8 +1,17 @@
1
1
  import { StyleXStyles } from '@stylexjs/stylex';
2
+ import { DragControls } from 'motion/react';
2
3
  import { ButtonProps as AriaButtonProps, DialogProps as AriaDialogProps, HeadingProps as AriaHeadingProps, ModalOverlayProps as AriaModalOverlayProps } from 'react-aria-components';
3
4
  import * as React from 'react';
4
5
  export type DrawerPlacement = 'top' | 'bottom' | 'left' | 'right';
5
6
  export type DrawerSize = 'sm' | 'md' | 'lg' | 'full';
7
+ export interface DrawerContextValue {
8
+ placement: DrawerPlacement;
9
+ size: DrawerSize;
10
+ onClose?: () => void;
11
+ onOpenChange?: (isOpen: boolean) => void;
12
+ dragControls?: DragControls;
13
+ }
14
+ export declare function useDrawer(): DrawerContextValue;
6
15
  export interface DrawerOverlayProps extends Omit<AriaModalOverlayProps, 'style' | 'className'> {
7
16
  style?: StyleXStyles;
8
17
  className?: string;
@@ -15,8 +24,24 @@ export interface DrawerProps extends Omit<AriaModalOverlayProps, 'style' | 'clas
15
24
  className?: string;
16
25
  placement?: DrawerPlacement;
17
26
  size?: DrawerSize;
27
+ /**
28
+ * Whether to enable drag-to-dismiss gesture on bottom drawers.
29
+ * @default true for placement="bottom"
30
+ */
31
+ dragToClose?: boolean;
18
32
  }
19
33
  export declare const Drawer: React.ForwardRefExoticComponent<DrawerProps & React.RefAttributes<HTMLDivElement>>;
34
+ export interface DrawerHandleProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'style'> {
35
+ style?: StyleXStyles;
36
+ className?: string;
37
+ /**
38
+ * Accessible label for screen readers.
39
+ * @default 'Drag down or press to close drawer'
40
+ */
41
+ 'aria-label'?: string;
42
+ }
43
+ export declare const DrawerHandle: React.ForwardRefExoticComponent<DrawerHandleProps & React.RefAttributes<HTMLDivElement>>;
44
+ export declare const DrawerGrabHandle: React.ForwardRefExoticComponent<DrawerHandleProps & React.RefAttributes<HTMLDivElement>>;
20
45
  export interface DrawerDialogProps extends Omit<AriaDialogProps, 'style' | 'className'> {
21
46
  style?: StyleXStyles;
22
47
  className?: string;
@@ -25,6 +50,11 @@ export declare const DrawerDialog: React.ForwardRefExoticComponent<DrawerDialogP
25
50
  export interface DrawerHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'style'> {
26
51
  style?: StyleXStyles;
27
52
  className?: string;
53
+ /**
54
+ * Whether to render the drag handle on top when placement="bottom".
55
+ * @default true for placement="bottom"
56
+ */
57
+ showHandle?: boolean;
28
58
  }
29
59
  export declare const DrawerHeader: React.ForwardRefExoticComponent<DrawerHeaderProps & React.RefAttributes<HTMLDivElement>>;
30
60
  export interface DrawerTitleProps extends Omit<AriaHeadingProps, 'style' | 'className'> {
@@ -35,6 +65,12 @@ export declare const DrawerTitle: React.ForwardRefExoticComponent<DrawerTitlePro
35
65
  export interface DrawerCloseButtonProps extends Omit<AriaButtonProps, 'style' | 'className'> {
36
66
  style?: StyleXStyles;
37
67
  className?: string;
68
+ /**
69
+ * Whether to hide the close button when placed inside a bottom drawer.
70
+ * Bottom drawers use the top drag handle to dismiss by default.
71
+ * @default true
72
+ */
73
+ hiddenOnBottom?: boolean;
38
74
  }
39
75
  export declare const DrawerCloseButton: React.ForwardRefExoticComponent<DrawerCloseButtonProps & React.RefAttributes<HTMLButtonElement>>;
40
76
  export interface DrawerBodyProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'style'> {
@@ -81,17 +81,50 @@ export declare const styles: Readonly<{
81
81
  readonly borderColor: stylex.StyleXClassNameFor<"borderColor", string>;
82
82
  readonly animationName: stylex.StyleXClassNameFor<"animationName", string>;
83
83
  }>;
84
+ readonly modalReset: Readonly<{
85
+ readonly outline: stylex.StyleXClassNameFor<"outline", "none">;
86
+ readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", 0>;
87
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", "transparent">;
88
+ readonly boxShadow: stylex.StyleXClassNameFor<"boxShadow", "none">;
89
+ readonly display: stylex.StyleXClassNameFor<"display", "flex">;
90
+ readonly flexDirection: stylex.StyleXClassNameFor<"flexDirection", "column">;
91
+ readonly boxSizing: stylex.StyleXClassNameFor<"boxSizing", "border-box">;
92
+ readonly overflow: stylex.StyleXClassNameFor<"overflow", "visible">;
93
+ readonly margin: stylex.StyleXClassNameFor<"margin", 0>;
94
+ readonly padding: stylex.StyleXClassNameFor<"padding", 0>;
95
+ }>;
84
96
  readonly placementBottom: Readonly<{
85
97
  readonly width: stylex.StyleXClassNameFor<"width", `calc(100vw - ${stylex.StyleXVar<string>} * 2)` | "100vw">;
86
98
  readonly maxWidth: stylex.StyleXClassNameFor<"maxWidth", `calc(100vw - ${stylex.StyleXVar<string>} * 2)` | "100vw">;
87
99
  readonly marginBlockEnd: stylex.StyleXClassNameFor<"marginBlockEnd", string | 0>;
88
100
  readonly marginBlockStart: stylex.StyleXClassNameFor<"marginBlockStart", 0>;
89
101
  readonly marginInline: stylex.StyleXClassNameFor<"marginInline", string | 0>;
90
- readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
91
- readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", 0 | "1px">;
102
+ readonly borderTopLeftRadius: stylex.StyleXClassNameFor<"borderTopLeftRadius", string>;
103
+ readonly borderTopRightRadius: stylex.StyleXClassNameFor<"borderTopRightRadius", string>;
104
+ readonly borderBottomLeftRadius: stylex.StyleXClassNameFor<"borderBottomLeftRadius", 0>;
105
+ readonly borderBottomRightRadius: stylex.StyleXClassNameFor<"borderBottomRightRadius", 0>;
106
+ readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", "1px">;
92
107
  readonly borderStyle: stylex.StyleXClassNameFor<"borderStyle", "solid">;
93
108
  readonly borderColor: stylex.StyleXClassNameFor<"borderColor", string>;
94
- readonly animationName: stylex.StyleXClassNameFor<"animationName", string>;
109
+ }>;
110
+ readonly handleWrapper: Readonly<{
111
+ readonly display: stylex.StyleXClassNameFor<"display", "flex">;
112
+ readonly justifyContent: stylex.StyleXClassNameFor<"justifyContent", "center">;
113
+ readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
114
+ readonly width: stylex.StyleXClassNameFor<"width", "100%">;
115
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
116
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", "transparent">;
117
+ readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", 0>;
118
+ readonly outline: stylex.StyleXClassNameFor<"outline", "none">;
119
+ readonly boxSizing: stylex.StyleXClassNameFor<"boxSizing", "border-box">;
120
+ readonly userSelect: stylex.StyleXClassNameFor<"userSelect", "none">;
121
+ readonly touchAction: stylex.StyleXClassNameFor<"touchAction", "none">;
122
+ }>;
123
+ readonly handleBar: Readonly<{
124
+ readonly width: stylex.StyleXClassNameFor<"width", "36px">;
125
+ readonly height: stylex.StyleXClassNameFor<"height", "4px">;
126
+ readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
127
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
95
128
  }>;
96
129
  readonly sideSm: Readonly<{
97
130
  readonly width: stylex.StyleXClassNameFor<"width", "100vw" | "400px">;
@@ -138,7 +171,7 @@ export declare const styles: Readonly<{
138
171
  }>;
139
172
  readonly header: Readonly<{
140
173
  readonly position: stylex.StyleXClassNameFor<"position", "sticky">;
141
- readonly top: stylex.StyleXClassNameFor<"top", 0>;
174
+ readonly insetBlockStart: stylex.StyleXClassNameFor<"insetBlockStart", 0>;
142
175
  readonly zIndex: stylex.StyleXClassNameFor<"zIndex", 10>;
143
176
  readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
144
177
  readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
@@ -153,6 +186,14 @@ export declare const styles: Readonly<{
153
186
  readonly flexShrink: stylex.StyleXClassNameFor<"flexShrink", 0>;
154
187
  readonly boxSizing: stylex.StyleXClassNameFor<"boxSizing", "border-box">;
155
188
  }>;
189
+ readonly headerBottom: Readonly<{
190
+ readonly flexDirection: stylex.StyleXClassNameFor<"flexDirection", "column">;
191
+ readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
192
+ readonly paddingBlockStart: stylex.StyleXClassNameFor<"paddingBlockStart", string>;
193
+ readonly paddingBlockEnd: stylex.StyleXClassNameFor<"paddingBlockEnd", string>;
194
+ readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
195
+ readonly gap: stylex.StyleXClassNameFor<"gap", string>;
196
+ }>;
156
197
  readonly title: Readonly<{
157
198
  readonly fontSize: stylex.StyleXClassNameFor<"fontSize", string>;
158
199
  readonly fontWeight: stylex.StyleXClassNameFor<"fontWeight", string>;
@@ -173,7 +214,7 @@ export declare const styles: Readonly<{
173
214
  }>;
174
215
  readonly footer: Readonly<{
175
216
  readonly position: stylex.StyleXClassNameFor<"position", "sticky">;
176
- readonly bottom: stylex.StyleXClassNameFor<"bottom", 0>;
217
+ readonly insetBlockEnd: stylex.StyleXClassNameFor<"insetBlockEnd", 0>;
177
218
  readonly zIndex: stylex.StyleXClassNameFor<"zIndex", 10>;
178
219
  readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
179
220
  readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
@@ -1,2 +1,2 @@
1
- export type { DrawerBodyProps, DrawerCloseButtonProps, DrawerDialogProps, DrawerFooterProps, DrawerHeaderProps, DrawerOverlayProps, DrawerPlacement, DrawerProps, DrawerSize, DrawerTitleProps, } from './Drawer';
2
- export { Drawer, DrawerBody, DrawerCloseButton, DrawerDialog, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerTitle, } from './Drawer';
1
+ export type { DrawerBodyProps, DrawerCloseButtonProps, DrawerDialogProps, DrawerFooterProps, DrawerHandleProps, DrawerHeaderProps, DrawerOverlayProps, DrawerPlacement, DrawerProps, DrawerSize, DrawerTitleProps, } from './Drawer';
2
+ export { Drawer, DrawerBody, DrawerCloseButton, DrawerDialog, DrawerFooter, DrawerGrabHandle, DrawerHandle, DrawerHeader, DrawerOverlay, DrawerTitle, useDrawer, } from './Drawer';
@@ -0,0 +1,44 @@
1
+ import { StyleXStyles } from '@stylexjs/stylex';
2
+ import { DropIndicatorProps as AriaDropIndicatorProps, Header as AriaHeader, ListBoxItemProps as AriaListBoxItemProps, ListBoxLoadMoreItemProps as AriaListBoxLoadMoreItemProps, ListBoxProps as AriaListBoxProps, ListBoxSectionProps as AriaListBoxSectionProps, Text as AriaText, DropTarget } from 'react-aria-components';
3
+ import * as React from 'react';
4
+ export type ListBoxSize = 'sm' | 'md' | 'lg';
5
+ export type ListBoxVariant = 'bordered' | 'flat' | 'plain';
6
+ export type ListBoxLayout = 'stack' | 'grid';
7
+ export type ListBoxOrientation = 'vertical' | 'horizontal';
8
+ export interface DropIndicatorProps extends Omit<AriaDropIndicatorProps, 'style' | 'className'> {
9
+ style?: StyleXStyles;
10
+ className?: string;
11
+ }
12
+ export declare const DropIndicator: React.ForwardRefExoticComponent<DropIndicatorProps & React.RefAttributes<HTMLElement>>;
13
+ export interface ListBoxLoadMoreItemProps extends Omit<AriaListBoxLoadMoreItemProps, 'style' | 'className'> {
14
+ style?: StyleXStyles;
15
+ className?: string;
16
+ children?: React.ReactNode;
17
+ }
18
+ export declare const ListBoxLoadMoreItem: React.ForwardRefExoticComponent<ListBoxLoadMoreItemProps & React.RefAttributes<HTMLDivElement>>;
19
+ export interface ListBoxSectionProps<T extends object = object> extends Omit<AriaListBoxSectionProps<T>, 'style' | 'className'> {
20
+ title?: string;
21
+ isSticky?: boolean;
22
+ style?: StyleXStyles;
23
+ className?: string;
24
+ }
25
+ export declare const ListBoxSection: React.ForwardRefExoticComponent<ListBoxSectionProps<any> & React.RefAttributes<HTMLElement>>;
26
+ export interface ListBoxItemProps<T extends object = object> extends Omit<AriaListBoxItemProps<T>, 'style' | 'className'> {
27
+ label?: React.ReactNode;
28
+ description?: React.ReactNode;
29
+ showCheckmark?: boolean;
30
+ style?: StyleXStyles;
31
+ className?: string;
32
+ }
33
+ export declare const ListBoxItem: React.ForwardRefExoticComponent<ListBoxItemProps<any> & React.RefAttributes<HTMLDivElement>>;
34
+ export interface ListBoxProps<T extends object = object> extends Omit<AriaListBoxProps<T>, 'style' | 'className'> {
35
+ size?: ListBoxSize;
36
+ variant?: ListBoxVariant;
37
+ style?: StyleXStyles;
38
+ className?: string;
39
+ renderDropIndicator?: (target: DropTarget) => React.ReactNode;
40
+ }
41
+ export declare const ListBox: <T extends object = object>(props: ListBoxProps<T> & {
42
+ ref?: React.ForwardedRef<HTMLDivElement>;
43
+ }) => React.ReactElement | null;
44
+ export { AriaHeader as Header, AriaText as Text };
@@ -0,0 +1,260 @@
1
+ import * as stylex from '@stylexjs/stylex';
2
+ export declare const styles: Readonly<{
3
+ readonly container: Readonly<{
4
+ readonly position: stylex.StyleXClassNameFor<"position", "relative">;
5
+ readonly outline: stylex.StyleXClassNameFor<"outline", "none">;
6
+ readonly overflow: stylex.StyleXClassNameFor<"overflow", "auto">;
7
+ readonly boxSizing: stylex.StyleXClassNameFor<"boxSizing", "border-box">;
8
+ readonly fontFamily: stylex.StyleXClassNameFor<"fontFamily", string>;
9
+ readonly color: stylex.StyleXClassNameFor<"color", string>;
10
+ readonly forcedColorAdjust: stylex.StyleXClassNameFor<"forcedColorAdjust", "none">;
11
+ readonly maxHeight: stylex.StyleXClassNameFor<"maxHeight", "inherit">;
12
+ }>;
13
+ readonly bordered: Readonly<{
14
+ readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", "1px">;
15
+ readonly borderStyle: stylex.StyleXClassNameFor<"borderStyle", "solid">;
16
+ readonly borderColor: stylex.StyleXClassNameFor<"borderColor", string>;
17
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
18
+ readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
19
+ readonly boxShadow: stylex.StyleXClassNameFor<"boxShadow", string>;
20
+ }>;
21
+ readonly flat: Readonly<{
22
+ readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", "0px">;
23
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
24
+ readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
25
+ }>;
26
+ readonly plain: Readonly<{
27
+ readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", "0px">;
28
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", "transparent">;
29
+ readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
30
+ }>;
31
+ readonly containerSm: Readonly<{
32
+ readonly padding: stylex.StyleXClassNameFor<"padding", string>;
33
+ }>;
34
+ readonly containerMd: Readonly<{
35
+ readonly padding: stylex.StyleXClassNameFor<"padding", string>;
36
+ }>;
37
+ readonly containerLg: Readonly<{
38
+ readonly padding: stylex.StyleXClassNameFor<"padding", string>;
39
+ }>;
40
+ readonly stackVertical: Readonly<{
41
+ readonly display: stylex.StyleXClassNameFor<"display", "flex">;
42
+ readonly flexDirection: stylex.StyleXClassNameFor<"flexDirection", "column">;
43
+ readonly gap: stylex.StyleXClassNameFor<"gap", "2px">;
44
+ }>;
45
+ readonly stackHorizontal: Readonly<{
46
+ readonly display: stylex.StyleXClassNameFor<"display", "flex">;
47
+ readonly flexDirection: stylex.StyleXClassNameFor<"flexDirection", "row">;
48
+ readonly gap: stylex.StyleXClassNameFor<"gap", string>;
49
+ readonly overflowX: stylex.StyleXClassNameFor<"overflowX", "auto">;
50
+ }>;
51
+ readonly grid: Readonly<{
52
+ readonly display: stylex.StyleXClassNameFor<"display", "grid">;
53
+ readonly gap: stylex.StyleXClassNameFor<"gap", string>;
54
+ readonly gridTemplateColumns: stylex.StyleXClassNameFor<"gridTemplateColumns", "repeat(auto-fill, minmax(140px, 1fr))">;
55
+ }>;
56
+ readonly containerFocusVisible: Readonly<{
57
+ readonly outlineWidth: stylex.StyleXClassNameFor<"outlineWidth", "2px">;
58
+ readonly outlineStyle: stylex.StyleXClassNameFor<"outlineStyle", "solid">;
59
+ readonly outlineColor: stylex.StyleXClassNameFor<"outlineColor", string>;
60
+ readonly outlineOffset: stylex.StyleXClassNameFor<"outlineOffset", "-1px">;
61
+ }>;
62
+ readonly containerDropTarget: Readonly<{
63
+ readonly outlineWidth: stylex.StyleXClassNameFor<"outlineWidth", "2px">;
64
+ readonly outlineStyle: stylex.StyleXClassNameFor<"outlineStyle", "solid">;
65
+ readonly outlineColor: stylex.StyleXClassNameFor<"outlineColor", string>;
66
+ readonly outlineOffset: stylex.StyleXClassNameFor<"outlineOffset", "-1px">;
67
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
68
+ }>;
69
+ readonly empty: Readonly<{
70
+ readonly display: stylex.StyleXClassNameFor<"display", "flex">;
71
+ readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
72
+ readonly justifyContent: stylex.StyleXClassNameFor<"justifyContent", "center">;
73
+ readonly padding: stylex.StyleXClassNameFor<"padding", string>;
74
+ readonly color: stylex.StyleXClassNameFor<"color", string>;
75
+ readonly fontSize: stylex.StyleXClassNameFor<"fontSize", string>;
76
+ readonly fontStyle: stylex.StyleXClassNameFor<"fontStyle", "italic">;
77
+ }>;
78
+ readonly item: Readonly<{
79
+ readonly display: stylex.StyleXClassNameFor<"display", "flex">;
80
+ readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
81
+ readonly justifyContent: stylex.StyleXClassNameFor<"justifyContent", "space-between">;
82
+ readonly position: stylex.StyleXClassNameFor<"position", "relative">;
83
+ readonly cursor: stylex.StyleXClassNameFor<"cursor", "pointer">;
84
+ readonly outline: stylex.StyleXClassNameFor<"outline", "none">;
85
+ readonly userSelect: stylex.StyleXClassNameFor<"userSelect", "none">;
86
+ readonly boxSizing: stylex.StyleXClassNameFor<"boxSizing", "border-box">;
87
+ readonly fontFamily: stylex.StyleXClassNameFor<"fontFamily", string>;
88
+ readonly color: stylex.StyleXClassNameFor<"color", string>;
89
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", "transparent">;
90
+ readonly transitionProperty: stylex.StyleXClassNameFor<"transitionProperty", "background-color, color, border-color, box-shadow">;
91
+ readonly transitionDuration: stylex.StyleXClassNameFor<"transitionDuration", "0.15s">;
92
+ readonly transitionTimingFunction: stylex.StyleXClassNameFor<"transitionTimingFunction", "ease-in-out">;
93
+ readonly textDecoration: stylex.StyleXClassNameFor<"textDecoration", "none">;
94
+ }>;
95
+ readonly itemSm: Readonly<{
96
+ readonly minHeight: stylex.StyleXClassNameFor<"minHeight", "28px">;
97
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
98
+ readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
99
+ readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
100
+ readonly fontSize: stylex.StyleXClassNameFor<"fontSize", string>;
101
+ readonly lineHeight: stylex.StyleXClassNameFor<"lineHeight", string>;
102
+ readonly gap: stylex.StyleXClassNameFor<"gap", string>;
103
+ }>;
104
+ readonly itemMd: Readonly<{
105
+ readonly minHeight: stylex.StyleXClassNameFor<"minHeight", "36px">;
106
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
107
+ readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
108
+ readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
109
+ readonly fontSize: stylex.StyleXClassNameFor<"fontSize", string>;
110
+ readonly lineHeight: stylex.StyleXClassNameFor<"lineHeight", string>;
111
+ readonly gap: stylex.StyleXClassNameFor<"gap", string>;
112
+ }>;
113
+ readonly itemLg: Readonly<{
114
+ readonly minHeight: stylex.StyleXClassNameFor<"minHeight", "44px">;
115
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
116
+ readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
117
+ readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
118
+ readonly fontSize: stylex.StyleXClassNameFor<"fontSize", string>;
119
+ readonly lineHeight: stylex.StyleXClassNameFor<"lineHeight", string>;
120
+ readonly gap: stylex.StyleXClassNameFor<"gap", string>;
121
+ }>;
122
+ readonly itemHovered: Readonly<{
123
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
124
+ }>;
125
+ readonly itemFocused: Readonly<{
126
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
127
+ }>;
128
+ readonly itemFocusVisible: Readonly<{
129
+ readonly outlineWidth: stylex.StyleXClassNameFor<"outlineWidth", "2px">;
130
+ readonly outlineStyle: stylex.StyleXClassNameFor<"outlineStyle", "solid">;
131
+ readonly outlineColor: stylex.StyleXClassNameFor<"outlineColor", string>;
132
+ readonly outlineOffset: stylex.StyleXClassNameFor<"outlineOffset", "-2px">;
133
+ readonly zIndex: stylex.StyleXClassNameFor<"zIndex", 1>;
134
+ }>;
135
+ readonly itemPressed: Readonly<{
136
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
137
+ }>;
138
+ readonly itemSelected: Readonly<{
139
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
140
+ readonly color: stylex.StyleXClassNameFor<"color", string>;
141
+ readonly fontWeight: stylex.StyleXClassNameFor<"fontWeight", string>;
142
+ }>;
143
+ readonly itemSelectedFocusVisible: Readonly<{
144
+ readonly outlineColor: stylex.StyleXClassNameFor<"outlineColor", string>;
145
+ }>;
146
+ readonly itemDisabled: Readonly<{
147
+ readonly opacity: stylex.StyleXClassNameFor<"opacity", 0.4>;
148
+ readonly cursor: stylex.StyleXClassNameFor<"cursor", "not-allowed">;
149
+ readonly pointerEvents: stylex.StyleXClassNameFor<"pointerEvents", "none">;
150
+ }>;
151
+ readonly itemDragging: Readonly<{
152
+ readonly opacity: stylex.StyleXClassNameFor<"opacity", 0.5>;
153
+ }>;
154
+ readonly itemDropTarget: Readonly<{
155
+ readonly outlineWidth: stylex.StyleXClassNameFor<"outlineWidth", "2px">;
156
+ readonly outlineStyle: stylex.StyleXClassNameFor<"outlineStyle", "solid">;
157
+ readonly outlineColor: stylex.StyleXClassNameFor<"outlineColor", string>;
158
+ readonly outlineOffset: stylex.StyleXClassNameFor<"outlineOffset", "-1px">;
159
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
160
+ }>;
161
+ readonly itemContent: Readonly<{
162
+ readonly display: stylex.StyleXClassNameFor<"display", "flex">;
163
+ readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
164
+ readonly flex: stylex.StyleXClassNameFor<"flex", 1>;
165
+ readonly minWidth: stylex.StyleXClassNameFor<"minWidth", 0>;
166
+ readonly gap: stylex.StyleXClassNameFor<"gap", string>;
167
+ }>;
168
+ readonly itemTextContainer: Readonly<{
169
+ readonly display: stylex.StyleXClassNameFor<"display", "flex">;
170
+ readonly flexDirection: stylex.StyleXClassNameFor<"flexDirection", "column">;
171
+ readonly flex: stylex.StyleXClassNameFor<"flex", 1>;
172
+ readonly minWidth: stylex.StyleXClassNameFor<"minWidth", 0>;
173
+ readonly textAlign: stylex.StyleXClassNameFor<"textAlign", "start">;
174
+ }>;
175
+ readonly itemLabel: Readonly<{
176
+ readonly fontWeight: stylex.StyleXClassNameFor<"fontWeight", string>;
177
+ readonly overflow: stylex.StyleXClassNameFor<"overflow", "hidden">;
178
+ readonly textOverflow: stylex.StyleXClassNameFor<"textOverflow", "ellipsis">;
179
+ readonly whiteSpace: stylex.StyleXClassNameFor<"whiteSpace", "nowrap">;
180
+ }>;
181
+ readonly itemDescription: Readonly<{
182
+ readonly fontSize: stylex.StyleXClassNameFor<"fontSize", string>;
183
+ readonly color: stylex.StyleXClassNameFor<"color", string>;
184
+ readonly lineHeight: stylex.StyleXClassNameFor<"lineHeight", string>;
185
+ readonly overflow: stylex.StyleXClassNameFor<"overflow", "hidden">;
186
+ readonly textOverflow: stylex.StyleXClassNameFor<"textOverflow", "ellipsis">;
187
+ }>;
188
+ readonly itemCheckmark: Readonly<{
189
+ readonly display: stylex.StyleXClassNameFor<"display", "inline-flex">;
190
+ readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
191
+ readonly justifyContent: stylex.StyleXClassNameFor<"justifyContent", "center">;
192
+ readonly flexShrink: stylex.StyleXClassNameFor<"flexShrink", 0>;
193
+ readonly color: stylex.StyleXClassNameFor<"color", string>;
194
+ readonly marginInlineStart: stylex.StyleXClassNameFor<"marginInlineStart", string>;
195
+ }>;
196
+ readonly section: Readonly<{
197
+ readonly display: stylex.StyleXClassNameFor<"display", "flex">;
198
+ readonly flexDirection: stylex.StyleXClassNameFor<"flexDirection", "column">;
199
+ readonly gap: stylex.StyleXClassNameFor<"gap", "2px">;
200
+ }>;
201
+ readonly sectionHeader: Readonly<{
202
+ readonly fontSize: stylex.StyleXClassNameFor<"fontSize", string>;
203
+ readonly fontWeight: stylex.StyleXClassNameFor<"fontWeight", string>;
204
+ readonly color: stylex.StyleXClassNameFor<"color", string>;
205
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
206
+ readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
207
+ readonly textTransform: stylex.StyleXClassNameFor<"textTransform", "uppercase">;
208
+ readonly letterSpacing: stylex.StyleXClassNameFor<"letterSpacing", "0.05em">;
209
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
210
+ readonly userSelect: stylex.StyleXClassNameFor<"userSelect", "none">;
211
+ readonly cursor: stylex.StyleXClassNameFor<"cursor", "default">;
212
+ }>;
213
+ readonly sectionHeaderSticky: Readonly<{
214
+ readonly position: stylex.StyleXClassNameFor<"position", "sticky">;
215
+ readonly top: stylex.StyleXClassNameFor<"top", 0>;
216
+ readonly zIndex: stylex.StyleXClassNameFor<"zIndex", 2>;
217
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
218
+ readonly borderBlockEndWidth: stylex.StyleXClassNameFor<"borderBlockEndWidth", "1px">;
219
+ readonly borderBlockEndStyle: stylex.StyleXClassNameFor<"borderBlockEndStyle", "solid">;
220
+ readonly borderBlockEndColor: stylex.StyleXClassNameFor<"borderBlockEndColor", string>;
221
+ readonly backdropFilter: stylex.StyleXClassNameFor<"backdropFilter", "blur(8px)">;
222
+ readonly WebkitBackdropFilter: stylex.StyleXClassNameFor<"WebkitBackdropFilter", "blur(8px)">;
223
+ }>;
224
+ readonly loadMore: Readonly<{
225
+ readonly display: stylex.StyleXClassNameFor<"display", "flex">;
226
+ readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
227
+ readonly justifyContent: stylex.StyleXClassNameFor<"justifyContent", "center">;
228
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
229
+ readonly width: stylex.StyleXClassNameFor<"width", "100%">;
230
+ readonly minHeight: stylex.StyleXClassNameFor<"minHeight", "36px">;
231
+ readonly color: stylex.StyleXClassNameFor<"color", string>;
232
+ }>;
233
+ readonly dropIndicator: Readonly<{
234
+ readonly position: stylex.StyleXClassNameFor<"position", "relative">;
235
+ readonly boxSizing: stylex.StyleXClassNameFor<"boxSizing", "border-box">;
236
+ readonly outline: stylex.StyleXClassNameFor<"outline", "none">;
237
+ readonly zIndex: stylex.StyleXClassNameFor<"zIndex", 5>;
238
+ readonly opacity: stylex.StyleXClassNameFor<"opacity", 0>;
239
+ readonly transitionProperty: stylex.StyleXClassNameFor<"transitionProperty", "opacity">;
240
+ readonly transitionDuration: stylex.StyleXClassNameFor<"transitionDuration", "0.15s">;
241
+ readonly transitionTimingFunction: stylex.StyleXClassNameFor<"transitionTimingFunction", "ease-in-out">;
242
+ }>;
243
+ readonly dropIndicatorHorizontal: Readonly<{
244
+ readonly width: stylex.StyleXClassNameFor<"width", "100%">;
245
+ readonly height: stylex.StyleXClassNameFor<"height", "2px">;
246
+ readonly marginBlock: stylex.StyleXClassNameFor<"marginBlock", "-1px">;
247
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
248
+ readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
249
+ }>;
250
+ readonly dropIndicatorVertical: Readonly<{
251
+ readonly height: stylex.StyleXClassNameFor<"height", "100%">;
252
+ readonly width: stylex.StyleXClassNameFor<"width", "2px">;
253
+ readonly marginInline: stylex.StyleXClassNameFor<"marginInline", "-1px">;
254
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
255
+ readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
256
+ }>;
257
+ readonly dropIndicatorTarget: Readonly<{
258
+ readonly opacity: stylex.StyleXClassNameFor<"opacity", 1>;
259
+ }>;
260
+ }>;
@@ -0,0 +1,2 @@
1
+ export type { DropIndicatorProps, ListBoxItemProps, ListBoxLayout, ListBoxLoadMoreItemProps, ListBoxOrientation, ListBoxProps, ListBoxSectionProps, ListBoxSize, ListBoxVariant, } from './ListBox';
2
+ export { DropIndicator, Header, ListBox, ListBoxItem, ListBoxLoadMoreItem, ListBoxSection, Text, } from './ListBox';
@@ -11,8 +11,21 @@ interface SidebarContextValue {
11
11
  onCollapseToggle: () => void;
12
12
  showCollapseToggle?: boolean;
13
13
  dense?: boolean;
14
+ isMobile: boolean;
15
+ enableMobileNav: boolean;
16
+ mobileBreakpoint?: number;
17
+ mobileNavScaleOnScroll: boolean;
18
+ maxMobileItems: number;
19
+ isScrolledDown: boolean;
20
+ setIsScrolledDown: React.Dispatch<React.SetStateAction<boolean>>;
21
+ isMoreOpen: boolean;
22
+ setIsMoreOpen: React.Dispatch<React.SetStateAction<boolean>>;
23
+ hasMobileHeader: boolean;
24
+ setHasMobileHeader: React.Dispatch<React.SetStateAction<boolean>>;
25
+ registerScrollContainer?: (node: HTMLElement | null) => void;
14
26
  }
15
27
  export declare function useSidebar(): SidebarContextValue;
28
+ export declare function useIsMobile(breakpoint?: number): boolean;
16
29
  export interface SidebarProps {
17
30
  isCollapsed?: boolean;
18
31
  defaultCollapsed?: boolean;
@@ -24,6 +37,11 @@ export interface SidebarProps {
24
37
  layout?: SidebarLayout;
25
38
  showCollapseToggle?: boolean;
26
39
  dense?: boolean;
40
+ isMobile?: boolean;
41
+ enableMobileNav?: boolean;
42
+ mobileBreakpoint?: number;
43
+ mobileNavScaleOnScroll?: boolean;
44
+ maxMobileItems?: number;
27
45
  style?: React.CSSProperties;
28
46
  className?: string;
29
47
  children?: React.ReactNode;