@pondipondi/mimas 0.1.4 → 0.2.0

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.
Files changed (54) hide show
  1. package/dist/components/crumbs/bubble-input.d.ts +33 -0
  2. package/dist/components/crumbs/{Button.d.ts → button.d.ts} +114 -107
  3. package/dist/components/crumbs/checkbox.d.ts +565 -0
  4. package/dist/components/crumbs/input-group.d.ts +29 -0
  5. package/dist/components/crumbs/input.d.ts +305 -0
  6. package/dist/components/crumbs/{LoadingRing.d.ts → loading-ring.d.ts} +10 -3
  7. package/dist/components/crumbs/select.d.ts +95 -0
  8. package/dist/components/crumbs/tooltip.d.ts +20 -0
  9. package/dist/components/frames/dialog.d.ts +17 -0
  10. package/dist/components/frames/drawer.d.ts +215 -0
  11. package/dist/components/frames/inset.d.ts +7 -0
  12. package/dist/components/frames/modal.d.ts +14 -0
  13. package/dist/components/frames/panel.d.ts +9 -0
  14. package/dist/components/index.d.ts +38 -6
  15. package/dist/components/layout/between.d.ts +7 -0
  16. package/dist/components/layout/centre.d.ts +7 -0
  17. package/dist/components/layout/column.d.ts +7 -0
  18. package/dist/components/layout/flex.d.ts +7 -0
  19. package/dist/components/layout/grid.d.ts +7 -0
  20. package/dist/components/plates/bar-chart.d.ts +55 -0
  21. package/dist/components/plates/heatmap.d.ts +31 -0
  22. package/dist/components/util/icons.d.ts +10 -0
  23. package/dist/components/util/{MimasProvider.d.ts → mimas-provider.d.ts} +1 -1
  24. package/dist/components/util/noise.d.ts +5 -0
  25. package/dist/components/util/palette.d.ts +36 -0
  26. package/dist/components/util/rabbet.d.ts +11 -0
  27. package/dist/config/palettes.d.ts +73 -0
  28. package/dist/hooks/use-async-component.d.ts +49 -0
  29. package/dist/hooks/use-container-width.d.ts +2 -0
  30. package/dist/index.d.ts +1 -0
  31. package/dist/lib/classnames.d.ts +2 -0
  32. package/dist/lib/colour.d.ts +17 -0
  33. package/dist/lib/corners.d.ts +20 -0
  34. package/dist/mimas.cjs.js +135 -10
  35. package/dist/mimas.es.js +16126 -1361
  36. package/dist/stories/Mimas/Crumbs/BubbleInput.stories.d.ts +42 -0
  37. package/dist/stories/Mimas/Crumbs/Button.stories.d.ts +5 -3
  38. package/dist/stories/Mimas/Crumbs/Checkbox.stories.d.ts +313 -0
  39. package/dist/stories/Mimas/Crumbs/Input.stories.d.ts +339 -0
  40. package/dist/stories/Mimas/Crumbs/InputGroup.stories.d.ts +36 -0
  41. package/dist/stories/Mimas/Crumbs/Select.stories.d.ts +13 -0
  42. package/dist/stories/Mimas/Crumbs/Tooltip.stories.d.ts +27 -0
  43. package/dist/stories/Mimas/Frames/Dialog.stories.d.ts +14 -0
  44. package/dist/stories/Mimas/Frames/Drawer.stories.d.ts +28 -0
  45. package/dist/stories/Mimas/Frames/Modal.stories.d.ts +17 -0
  46. package/dist/stories/Mimas/Frames/Panel.stories.d.ts +11 -0
  47. package/dist/stories/Mimas/Plates/BarChart.stories.d.ts +20 -0
  48. package/dist/stories/Mimas/Plates/Heatmap.stories.d.ts +32 -0
  49. package/dist/stories/Mimas/Util/Palette.stories.d.ts +31 -0
  50. package/dist/style.css +1 -1
  51. package/package.json +79 -68
  52. package/dist/components/crumbs/ToggleSet.d.ts +0 -2
  53. package/dist/components/frames/Inset.d.ts +0 -50
  54. package/dist/components/util/Noise.d.ts +0 -2
@@ -0,0 +1,305 @@
1
+ import { InputHTMLAttributes, ReactNode } from "react";
2
+ import { VariantProps } from "tailwind-variants";
3
+ declare const input: import("tailwind-variants").TVReturnType<{
4
+ size: {
5
+ small: {
6
+ field: string;
7
+ icon: string;
8
+ };
9
+ medium: {
10
+ field: string;
11
+ icon: string;
12
+ };
13
+ large: {
14
+ field: string;
15
+ icon: string;
16
+ };
17
+ };
18
+ corners: {
19
+ sharp: {
20
+ field: string;
21
+ };
22
+ round: {
23
+ field: string;
24
+ };
25
+ circle: {
26
+ field: string;
27
+ };
28
+ };
29
+ leftCorners: {
30
+ none: {
31
+ field: string;
32
+ };
33
+ sharp: {
34
+ field: string;
35
+ };
36
+ round: {
37
+ field: string;
38
+ };
39
+ circle: {
40
+ field: string;
41
+ };
42
+ };
43
+ }, {
44
+ root: string;
45
+ field: string;
46
+ icon: string;
47
+ }, undefined, import("tailwind-variants/dist/config.js").TVConfig<{
48
+ size: {
49
+ small: {
50
+ field: string;
51
+ icon: string;
52
+ };
53
+ medium: {
54
+ field: string;
55
+ icon: string;
56
+ };
57
+ large: {
58
+ field: string;
59
+ icon: string;
60
+ };
61
+ };
62
+ corners: {
63
+ sharp: {
64
+ field: string;
65
+ };
66
+ round: {
67
+ field: string;
68
+ };
69
+ circle: {
70
+ field: string;
71
+ };
72
+ };
73
+ leftCorners: {
74
+ none: {
75
+ field: string;
76
+ };
77
+ sharp: {
78
+ field: string;
79
+ };
80
+ round: {
81
+ field: string;
82
+ };
83
+ circle: {
84
+ field: string;
85
+ };
86
+ };
87
+ }, {
88
+ size: {
89
+ small: {
90
+ field: string;
91
+ icon: string;
92
+ };
93
+ medium: {
94
+ field: string;
95
+ icon: string;
96
+ };
97
+ large: {
98
+ field: string;
99
+ icon: string;
100
+ };
101
+ };
102
+ corners: {
103
+ sharp: {
104
+ field: string;
105
+ };
106
+ round: {
107
+ field: string;
108
+ };
109
+ circle: {
110
+ field: string;
111
+ };
112
+ };
113
+ leftCorners: {
114
+ none: {
115
+ field: string;
116
+ };
117
+ sharp: {
118
+ field: string;
119
+ };
120
+ round: {
121
+ field: string;
122
+ };
123
+ circle: {
124
+ field: string;
125
+ };
126
+ };
127
+ }>, {
128
+ size: {
129
+ small: {
130
+ field: string;
131
+ icon: string;
132
+ };
133
+ medium: {
134
+ field: string;
135
+ icon: string;
136
+ };
137
+ large: {
138
+ field: string;
139
+ icon: string;
140
+ };
141
+ };
142
+ corners: {
143
+ sharp: {
144
+ field: string;
145
+ };
146
+ round: {
147
+ field: string;
148
+ };
149
+ circle: {
150
+ field: string;
151
+ };
152
+ };
153
+ leftCorners: {
154
+ none: {
155
+ field: string;
156
+ };
157
+ sharp: {
158
+ field: string;
159
+ };
160
+ round: {
161
+ field: string;
162
+ };
163
+ circle: {
164
+ field: string;
165
+ };
166
+ };
167
+ }, {
168
+ root: string;
169
+ field: string;
170
+ icon: string;
171
+ }, import("tailwind-variants").TVReturnType<{
172
+ size: {
173
+ small: {
174
+ field: string;
175
+ icon: string;
176
+ };
177
+ medium: {
178
+ field: string;
179
+ icon: string;
180
+ };
181
+ large: {
182
+ field: string;
183
+ icon: string;
184
+ };
185
+ };
186
+ corners: {
187
+ sharp: {
188
+ field: string;
189
+ };
190
+ round: {
191
+ field: string;
192
+ };
193
+ circle: {
194
+ field: string;
195
+ };
196
+ };
197
+ leftCorners: {
198
+ none: {
199
+ field: string;
200
+ };
201
+ sharp: {
202
+ field: string;
203
+ };
204
+ round: {
205
+ field: string;
206
+ };
207
+ circle: {
208
+ field: string;
209
+ };
210
+ };
211
+ }, {
212
+ root: string;
213
+ field: string;
214
+ icon: string;
215
+ }, undefined, import("tailwind-variants/dist/config.js").TVConfig<{
216
+ size: {
217
+ small: {
218
+ field: string;
219
+ icon: string;
220
+ };
221
+ medium: {
222
+ field: string;
223
+ icon: string;
224
+ };
225
+ large: {
226
+ field: string;
227
+ icon: string;
228
+ };
229
+ };
230
+ corners: {
231
+ sharp: {
232
+ field: string;
233
+ };
234
+ round: {
235
+ field: string;
236
+ };
237
+ circle: {
238
+ field: string;
239
+ };
240
+ };
241
+ leftCorners: {
242
+ none: {
243
+ field: string;
244
+ };
245
+ sharp: {
246
+ field: string;
247
+ };
248
+ round: {
249
+ field: string;
250
+ };
251
+ circle: {
252
+ field: string;
253
+ };
254
+ };
255
+ }, {
256
+ size: {
257
+ small: {
258
+ field: string;
259
+ icon: string;
260
+ };
261
+ medium: {
262
+ field: string;
263
+ icon: string;
264
+ };
265
+ large: {
266
+ field: string;
267
+ icon: string;
268
+ };
269
+ };
270
+ corners: {
271
+ sharp: {
272
+ field: string;
273
+ };
274
+ round: {
275
+ field: string;
276
+ };
277
+ circle: {
278
+ field: string;
279
+ };
280
+ };
281
+ leftCorners: {
282
+ none: {
283
+ field: string;
284
+ };
285
+ sharp: {
286
+ field: string;
287
+ };
288
+ round: {
289
+ field: string;
290
+ };
291
+ circle: {
292
+ field: string;
293
+ };
294
+ };
295
+ }>, unknown, unknown, undefined>>;
296
+ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "size">, VariantProps<typeof input> {
297
+ /** Decorative element shown before the text (e.g. a search icon). */
298
+ startIcon?: ReactNode;
299
+ /** Element shown after the text — may be interactive. */
300
+ endIcon?: ReactNode;
301
+ /** Show a clear (✕) button in the trailing slot when the field has content. */
302
+ clearable?: boolean;
303
+ }
304
+ declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement>>;
305
+ export { Input };
@@ -2,38 +2,45 @@ import { VariantProps } from "tailwind-variants";
2
2
  declare const loadingRing: import("tailwind-variants").TVReturnType<{
3
3
  size: {
4
4
  small: string;
5
+ medium: string;
5
6
  large: string;
6
7
  };
7
- }, undefined, "animate-spin", import("tailwind-variants/dist/config").TVConfig<{
8
+ }, undefined, "animate-spin", import("tailwind-variants/dist/config.js").TVConfig<{
8
9
  size: {
9
10
  small: string;
11
+ medium: string;
10
12
  large: string;
11
13
  };
12
14
  }, {
13
15
  size: {
14
16
  small: string;
17
+ medium: string;
15
18
  large: string;
16
19
  };
17
20
  }>, {
18
21
  size: {
19
22
  small: string;
23
+ medium: string;
20
24
  large: string;
21
25
  };
22
26
  }, undefined, import("tailwind-variants").TVReturnType<{
23
27
  size: {
24
28
  small: string;
29
+ medium: string;
25
30
  large: string;
26
31
  };
27
- }, undefined, "animate-spin", import("tailwind-variants/dist/config").TVConfig<{
32
+ }, undefined, "animate-spin", import("tailwind-variants/dist/config.js").TVConfig<{
28
33
  size: {
29
34
  small: string;
35
+ medium: string;
30
36
  large: string;
31
37
  };
32
38
  }, {
33
39
  size: {
34
40
  small: string;
41
+ medium: string;
35
42
  large: string;
36
43
  };
37
44
  }>, unknown, unknown, undefined>>;
38
45
  declare function LoadingRing({ size }: VariantProps<typeof loadingRing>): import("react/jsx-runtime").JSX.Element;
39
- export default LoadingRing;
46
+ export { LoadingRing };
@@ -0,0 +1,95 @@
1
+ import * as SelectPrimitive from "@radix-ui/react-select";
2
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
3
+ import { VariantProps } from "tailwind-variants";
4
+ import { Corners, LeftCorners } from "../../lib/corners";
5
+ declare const SelectRoot: import("react").FC<SelectPrimitive.SelectProps>;
6
+ declare const SelectGroup: import("react").ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & import("react").RefAttributes<HTMLDivElement>>;
7
+ declare const SelectValue: import("react").ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & import("react").RefAttributes<HTMLSpanElement>>;
8
+ declare const SelectPortal: import("react").FC<SelectPrimitive.SelectPortalProps>;
9
+ declare const SelectTrigger: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<import("tailwind-variants").TVReturnType<{
10
+ size: {
11
+ small: string;
12
+ medium: string;
13
+ large: string;
14
+ };
15
+ corners: Record<Corners, string>;
16
+ leftCorners: Record<LeftCorners, string>;
17
+ }, undefined, "group bg-base-800 border-base-700 text-base-200 shadow-form data-[placeholder]:text-base-400 hover:bg-base-700 focus-visible:border-primary-600 inline-flex min-w-40 cursor-pointer items-center justify-between gap-2 overflow-hidden border transition-colors outline-none disabled:cursor-not-allowed disabled:opacity-50", import("tailwind-variants/dist/config.js").TVConfig<{
18
+ size: {
19
+ small: string;
20
+ medium: string;
21
+ large: string;
22
+ };
23
+ corners: Record<Corners, string>;
24
+ leftCorners: Record<LeftCorners, string>;
25
+ }, {
26
+ size: {
27
+ small: string;
28
+ medium: string;
29
+ large: string;
30
+ };
31
+ corners: Record<Corners, string>;
32
+ leftCorners: Record<LeftCorners, string>;
33
+ }>, {
34
+ size: {
35
+ small: string;
36
+ medium: string;
37
+ large: string;
38
+ };
39
+ corners: Record<Corners, string>;
40
+ leftCorners: Record<LeftCorners, string>;
41
+ }, undefined, import("tailwind-variants").TVReturnType<{
42
+ size: {
43
+ small: string;
44
+ medium: string;
45
+ large: string;
46
+ };
47
+ corners: Record<Corners, string>;
48
+ leftCorners: Record<LeftCorners, string>;
49
+ }, undefined, "group bg-base-800 border-base-700 text-base-200 shadow-form data-[placeholder]:text-base-400 hover:bg-base-700 focus-visible:border-primary-600 inline-flex min-w-40 cursor-pointer items-center justify-between gap-2 overflow-hidden border transition-colors outline-none disabled:cursor-not-allowed disabled:opacity-50", import("tailwind-variants/dist/config.js").TVConfig<{
50
+ size: {
51
+ small: string;
52
+ medium: string;
53
+ large: string;
54
+ };
55
+ corners: Record<Corners, string>;
56
+ leftCorners: Record<LeftCorners, string>;
57
+ }, {
58
+ size: {
59
+ small: string;
60
+ medium: string;
61
+ large: string;
62
+ };
63
+ corners: Record<Corners, string>;
64
+ leftCorners: Record<LeftCorners, string>;
65
+ }>, unknown, unknown, undefined>>> & import("react").RefAttributes<HTMLButtonElement>>;
66
+ declare const SelectContent: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
67
+ declare const SelectItem: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
68
+ declare const SelectLabel: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
69
+ declare const SelectSeparator: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
70
+ /** Shape every Select option must satisfy. Extend it with your own fields. */
71
+ export interface SelectOption {
72
+ value: string;
73
+ label?: ReactNode;
74
+ disabled?: boolean;
75
+ }
76
+ export interface SelectProps<T extends SelectOption> extends Omit<ComponentPropsWithoutRef<typeof SelectPrimitive.Root>, "children"> {
77
+ /** The options to choose from. */
78
+ items: T[];
79
+ /** Shown in the trigger when nothing is selected. */
80
+ placeholder?: ReactNode;
81
+ /** Render an option in the list. Defaults to its `label` (or `value`). */
82
+ renderItem?: (item: T) => ReactNode;
83
+ /** Render the selected option in the trigger. Defaults to {@link renderItem}. */
84
+ renderSelected?: (item: T) => ReactNode;
85
+ /** Class applied to the trigger. */
86
+ className?: string;
87
+ /** Trigger size. */
88
+ size?: "small" | "medium" | "large";
89
+ /** Corner style for the trigger. */
90
+ corners?: Corners;
91
+ /** Left-corner override — set automatically when used inside an InputGroup. */
92
+ leftCorners?: LeftCorners;
93
+ }
94
+ declare function Select<T extends SelectOption>({ items, value, defaultValue, onValueChange, placeholder, renderItem, renderSelected, className, size, corners, leftCorners, ...root }: SelectProps<T>): import("react/jsx-runtime").JSX.Element;
95
+ export { Select, SelectRoot, SelectTrigger, SelectValue, SelectContent, SelectItem, SelectGroup, SelectLabel, SelectSeparator, SelectPortal, };
@@ -0,0 +1,20 @@
1
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
2
+ import { ComponentPropsWithoutRef, ReactElement, ReactNode } from "react";
3
+ declare const TooltipProvider: import("react").FC<TooltipPrimitive.TooltipProviderProps>;
4
+ declare const TooltipRoot: import("react").FC<TooltipPrimitive.TooltipProps>;
5
+ declare const TooltipTrigger: import("react").ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
6
+ declare const TooltipContent: import("react").ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export interface TooltipProps {
8
+ /** The tooltip label. */
9
+ content: ReactNode;
10
+ /** The element that triggers the tooltip. Should be a single focusable element. */
11
+ children: ReactElement;
12
+ /** Which side of the trigger to show on. */
13
+ side?: ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>["side"];
14
+ /** Gap between the trigger and the tooltip in px. */
15
+ sideOffset?: number;
16
+ /** Override the provider's delay in ms. */
17
+ delayDuration?: number;
18
+ }
19
+ declare function Tooltip({ content, children, side, sideOffset, delayDuration, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
20
+ export { Tooltip, TooltipProvider, TooltipRoot, TooltipTrigger, TooltipContent, };
@@ -0,0 +1,17 @@
1
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
2
+ import { ComponentPropsWithoutRef, HTMLAttributes } from "react";
3
+ declare const Dialog: import("react").FC<DialogPrimitive.DialogProps>;
4
+ declare const DialogTrigger: import("react").ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
5
+ declare const DialogPortal: import("react").FC<DialogPrimitive.DialogPortalProps>;
6
+ declare const DialogClose: import("react").ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & import("react").RefAttributes<HTMLButtonElement>>;
7
+ declare const DialogOverlay: import("react").ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
8
+ export interface DialogContentProps extends ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {
9
+ /** Hide the default close button in the corner. */
10
+ hideClose?: boolean;
11
+ }
12
+ declare const DialogContent: import("react").ForwardRefExoticComponent<DialogContentProps & import("react").RefAttributes<HTMLDivElement>>;
13
+ declare const DialogHeader: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
14
+ declare const DialogFooter: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
15
+ declare const DialogTitle: import("react").ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & import("react").RefAttributes<HTMLHeadingElement>, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
16
+ declare const DialogDescription: import("react").ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & import("react").RefAttributes<HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
17
+ export { Dialog, DialogTrigger, DialogPortal, DialogClose, DialogOverlay, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };
@@ -0,0 +1,215 @@
1
+ import { Drawer as DrawerPrimitive } from "@base-ui/react/drawer";
2
+ import { ComponentPropsWithoutRef, ReactElement, ReactNode } from "react";
3
+ import { VariantProps } from "tailwind-variants";
4
+ type Side = "top" | "right" | "bottom" | "left";
5
+ declare const DrawerRoot: typeof DrawerPrimitive.Root;
6
+ declare const DrawerTrigger: DrawerPrimitive.Trigger;
7
+ declare const DrawerPortal: DrawerPrimitive.Portal;
8
+ declare const DrawerClose: DrawerPrimitive.Close;
9
+ declare const DrawerBackdrop: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react").DrawerBackdropProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref">, "className"> & {
10
+ className?: string;
11
+ } & import("react").RefAttributes<HTMLDivElement>>;
12
+ declare const drawer: import("tailwind-variants").TVReturnType<{
13
+ side: {
14
+ top: {
15
+ viewport: string;
16
+ popup: string;
17
+ close: string;
18
+ };
19
+ right: {
20
+ viewport: string;
21
+ popup: string;
22
+ close: string;
23
+ };
24
+ bottom: {
25
+ viewport: string;
26
+ popup: string;
27
+ close: string;
28
+ };
29
+ left: {
30
+ viewport: string;
31
+ popup: string;
32
+ close: string;
33
+ };
34
+ };
35
+ }, {
36
+ viewport: string;
37
+ popup: string;
38
+ close: string;
39
+ }, undefined, import("tailwind-variants/dist/config.js").TVConfig<{
40
+ side: {
41
+ top: {
42
+ viewport: string;
43
+ popup: string;
44
+ close: string;
45
+ };
46
+ right: {
47
+ viewport: string;
48
+ popup: string;
49
+ close: string;
50
+ };
51
+ bottom: {
52
+ viewport: string;
53
+ popup: string;
54
+ close: string;
55
+ };
56
+ left: {
57
+ viewport: string;
58
+ popup: string;
59
+ close: string;
60
+ };
61
+ };
62
+ }, {
63
+ side: {
64
+ top: {
65
+ viewport: string;
66
+ popup: string;
67
+ close: string;
68
+ };
69
+ right: {
70
+ viewport: string;
71
+ popup: string;
72
+ close: string;
73
+ };
74
+ bottom: {
75
+ viewport: string;
76
+ popup: string;
77
+ close: string;
78
+ };
79
+ left: {
80
+ viewport: string;
81
+ popup: string;
82
+ close: string;
83
+ };
84
+ };
85
+ }>, {
86
+ side: {
87
+ top: {
88
+ viewport: string;
89
+ popup: string;
90
+ close: string;
91
+ };
92
+ right: {
93
+ viewport: string;
94
+ popup: string;
95
+ close: string;
96
+ };
97
+ bottom: {
98
+ viewport: string;
99
+ popup: string;
100
+ close: string;
101
+ };
102
+ left: {
103
+ viewport: string;
104
+ popup: string;
105
+ close: string;
106
+ };
107
+ };
108
+ }, {
109
+ viewport: string;
110
+ popup: string;
111
+ close: string;
112
+ }, import("tailwind-variants").TVReturnType<{
113
+ side: {
114
+ top: {
115
+ viewport: string;
116
+ popup: string;
117
+ close: string;
118
+ };
119
+ right: {
120
+ viewport: string;
121
+ popup: string;
122
+ close: string;
123
+ };
124
+ bottom: {
125
+ viewport: string;
126
+ popup: string;
127
+ close: string;
128
+ };
129
+ left: {
130
+ viewport: string;
131
+ popup: string;
132
+ close: string;
133
+ };
134
+ };
135
+ }, {
136
+ viewport: string;
137
+ popup: string;
138
+ close: string;
139
+ }, undefined, import("tailwind-variants/dist/config.js").TVConfig<{
140
+ side: {
141
+ top: {
142
+ viewport: string;
143
+ popup: string;
144
+ close: string;
145
+ };
146
+ right: {
147
+ viewport: string;
148
+ popup: string;
149
+ close: string;
150
+ };
151
+ bottom: {
152
+ viewport: string;
153
+ popup: string;
154
+ close: string;
155
+ };
156
+ left: {
157
+ viewport: string;
158
+ popup: string;
159
+ close: string;
160
+ };
161
+ };
162
+ }, {
163
+ side: {
164
+ top: {
165
+ viewport: string;
166
+ popup: string;
167
+ close: string;
168
+ };
169
+ right: {
170
+ viewport: string;
171
+ popup: string;
172
+ close: string;
173
+ };
174
+ bottom: {
175
+ viewport: string;
176
+ popup: string;
177
+ close: string;
178
+ };
179
+ left: {
180
+ viewport: string;
181
+ popup: string;
182
+ close: string;
183
+ };
184
+ };
185
+ }>, unknown, unknown, undefined>>;
186
+ export interface DrawerContentProps extends Omit<ComponentPropsWithoutRef<typeof DrawerPrimitive.Popup>, "className">, VariantProps<typeof drawer> {
187
+ className?: string;
188
+ /** Hide the default close button in the corner. */
189
+ hideClose?: boolean;
190
+ }
191
+ declare const DrawerContent: import("react").ForwardRefExoticComponent<DrawerContentProps & import("react").RefAttributes<HTMLDivElement>>;
192
+ declare const DrawerTitle: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerTitleProps, "ref">, "className"> & {
193
+ className?: string;
194
+ } & import("react").RefAttributes<HTMLHeadingElement>>;
195
+ declare const DrawerDescription: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerDescriptionProps, "ref">, "className"> & {
196
+ className?: string;
197
+ } & import("react").RefAttributes<HTMLParagraphElement>>;
198
+ export interface DrawerProps extends Omit<ComponentPropsWithoutRef<typeof DrawerRoot>, "children" | "swipeDirection"> {
199
+ /** The element that opens the drawer. Should be a single focusable element. */
200
+ trigger?: ReactElement;
201
+ /** Which edge the drawer slides in from. Default `"right"`. */
202
+ side?: Side;
203
+ /** Heading shown at the top of the drawer and exposed to assistive tech. */
204
+ title?: ReactNode;
205
+ /** Optional supporting text under the title. */
206
+ description?: ReactNode;
207
+ /** Drawer body. */
208
+ children?: ReactNode;
209
+ /** Class applied to the panel. */
210
+ className?: string;
211
+ /** Hide the default close button in the corner. */
212
+ hideClose?: boolean;
213
+ }
214
+ declare function Drawer({ trigger, side, title, description, children, className, hideClose, ...root }: DrawerProps): import("react/jsx-runtime").JSX.Element;
215
+ export { Drawer, DrawerRoot, DrawerTrigger, DrawerPortal, DrawerClose, DrawerBackdrop, DrawerContent, DrawerTitle, DrawerDescription, };