doodleui-react 0.1.0 → 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.
package/dist/index.d.cts CHANGED
@@ -1,10 +1,17 @@
1
1
  import * as react from 'react';
2
- import { CSSProperties, HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, ComponentPropsWithoutRef } from 'react';
2
+ import { CSSProperties, HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, ComponentPropsWithoutRef, TableHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
3
3
  import { Options } from 'roughjs/bin/core';
4
4
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
5
5
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
6
6
  import * as Dialog from '@radix-ui/react-dialog';
7
7
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
8
+ import * as SelectPrimitive from '@radix-ui/react-select';
9
+ import * as SwitchPrimitive from '@radix-ui/react-switch';
10
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
11
+ import * as ToastPrimitive from '@radix-ui/react-toast';
12
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
13
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
14
+ import * as SliderPrimitive from '@radix-ui/react-slider';
8
15
 
9
16
  type FillStyle = "hachure" | "solid" | "zigzag" | "cross-hatch" | "dots" | "dashed" | "zigzag-line";
10
17
  type RoughShape = "rectangle" | "ellipse" | "line" | "line-vertical" | "path";
@@ -73,14 +80,22 @@ declare const SketchBox: react.ForwardRefExoticComponent<SketchBoxProps & react.
73
80
 
74
81
  interface SketchSeedContextValue {
75
82
  seed: number;
83
+ fontIndex: number;
76
84
  shuffle: () => void;
77
85
  setSeed: (seed: number) => void;
78
86
  }
79
87
  interface SketchSeedProviderProps {
80
88
  children: ReactNode;
81
89
  initialSeed?: number;
90
+ /**
91
+ * CSS font-family values for Shuffle. Index 0 is the page default
92
+ * (`--doodle-ui-font` is left unset). Later indexes set the variable.
93
+ */
94
+ fonts?: readonly string[];
95
+ /** Starting palette index. Defaults to 0 (unset / page default). */
96
+ initialFontIndex?: number;
82
97
  }
83
- declare function SketchSeedProvider({ children, initialSeed, }: SketchSeedProviderProps): react.JSX.Element;
98
+ declare function SketchSeedProvider({ children, initialSeed, fonts, initialFontIndex, }: SketchSeedProviderProps): react.JSX.Element;
84
99
  declare function useSketchSeed(): SketchSeedContextValue;
85
100
 
86
101
  /**
@@ -182,4 +197,187 @@ interface TooltipProps extends SketchProps {
182
197
  }
183
198
  declare function Tooltip({ content, children, side, delayDuration, className, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, }: TooltipProps): react.JSX.Element;
184
199
 
185
- export { Alert, type AlertProps, type AlertVariant, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, DEFAULT_BOWING, DEFAULT_INK, DEFAULT_ROUGHNESS, DEFAULT_STROKE_WIDTH, Divider, type DividerOrientation, type DividerProps, type FillStyle, Input, type InputProps, Modal, ModalClose, ModalDescription, type ModalProps, ModalRoot, ModalTitle, ModalTrigger, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, type RoughShape, RoughSvg, type RoughSvgProps, SKETCH_COLORS, SketchBox, type SketchBoxProps, type SketchProps, type SketchSeedContextValue, SketchSeedProvider, type SketchSeedProviderProps, Textarea, type TextareaProps, Tooltip, type TooltipProps, TooltipProvider, toRoughOptions, useResolvedSeed, useSketchSeed };
200
+ /**
201
+ * Offset a resolved sketch seed by a stable hash of `key`.
202
+ * Items in a list keep distinct wobbles that still redraw together on Shuffle.
203
+ */
204
+ declare function deriveSeed(base: number, key: string): number;
205
+
206
+ interface SelectOption {
207
+ value: string;
208
+ label: ReactNode;
209
+ disabled?: boolean;
210
+ }
211
+ interface SelectProps extends Omit<SelectPrimitive.SelectProps, "children">, SketchProps {
212
+ options: SelectOption[];
213
+ placeholder?: string;
214
+ className?: string;
215
+ style?: CSSProperties;
216
+ "aria-label"?: string;
217
+ }
218
+ declare function Select({ options, placeholder, className, style, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, value, defaultValue, onValueChange, "aria-label": ariaLabel, ...rest }: SelectProps): react.JSX.Element;
219
+ interface SelectTriggerProps extends Omit<SelectPrimitive.SelectTriggerProps, "asChild"> {
220
+ placeholder?: string;
221
+ }
222
+ declare const SelectTrigger: react.ForwardRefExoticComponent<SelectTriggerProps & react.RefAttributes<HTMLButtonElement>>;
223
+ interface SelectContentProps extends Omit<SelectPrimitive.SelectContentProps, "asChild" | "position"> {
224
+ children?: ReactNode;
225
+ }
226
+ declare const SelectContent: react.ForwardRefExoticComponent<SelectContentProps & react.RefAttributes<HTMLDivElement>>;
227
+ interface SelectItemProps extends Omit<SelectPrimitive.SelectItemProps, "asChild"> {
228
+ children?: ReactNode;
229
+ }
230
+ declare const SelectItem: react.ForwardRefExoticComponent<SelectItemProps & react.RefAttributes<HTMLDivElement>>;
231
+ declare const SelectRoot: react.FC<SelectPrimitive.SelectProps>;
232
+ declare const SelectValue: react.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & react.RefAttributes<HTMLSpanElement>>;
233
+ declare const SelectGroup: react.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & react.RefAttributes<HTMLDivElement>>;
234
+ declare const SelectLabel: react.ForwardRefExoticComponent<SelectPrimitive.SelectLabelProps & react.RefAttributes<HTMLDivElement>>;
235
+ declare const SelectSeparator: react.ForwardRefExoticComponent<SelectPrimitive.SelectSeparatorProps & react.RefAttributes<HTMLDivElement>>;
236
+
237
+ interface SwitchProps extends Omit<SwitchPrimitive.SwitchProps, "asChild">, SketchProps {
238
+ label?: ReactNode;
239
+ }
240
+ declare const Switch: react.ForwardRefExoticComponent<SwitchProps & react.RefAttributes<HTMLButtonElement>>;
241
+
242
+ interface TabsProps extends Omit<ComponentPropsWithoutRef<typeof TabsPrimitive.Root>, "asChild">, SketchProps {
243
+ }
244
+ declare const Tabs: react.ForwardRefExoticComponent<TabsProps & react.RefAttributes<HTMLDivElement>>;
245
+ interface TabListProps extends Omit<ComponentPropsWithoutRef<typeof TabsPrimitive.List>, "asChild"> {
246
+ }
247
+ declare const TabList: react.ForwardRefExoticComponent<TabListProps & react.RefAttributes<HTMLDivElement>>;
248
+ interface TabProps extends Omit<ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>, "asChild"> {
249
+ children?: ReactNode;
250
+ }
251
+ declare const Tab: react.ForwardRefExoticComponent<TabProps & react.RefAttributes<HTMLButtonElement>>;
252
+ interface TabPanelProps extends Omit<ComponentPropsWithoutRef<typeof TabsPrimitive.Content>, "asChild"> {
253
+ }
254
+ declare const TabPanel: react.ForwardRefExoticComponent<TabPanelProps & react.RefAttributes<HTMLDivElement>>;
255
+
256
+ interface TableProps extends Omit<TableHTMLAttributes<HTMLTableElement>, "color">, SketchProps {
257
+ headerUnderline?: boolean;
258
+ children?: ReactNode;
259
+ }
260
+ declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>>;
261
+ declare const TableHead: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
262
+ declare const TableBody: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
263
+ declare const TableRow: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableRowElement> & react.RefAttributes<HTMLTableRowElement>>;
264
+ interface TableHeaderCellProps extends Omit<ThHTMLAttributes<HTMLTableCellElement>, "color"> {
265
+ }
266
+ declare const TableHeaderCell: react.ForwardRefExoticComponent<TableHeaderCellProps & react.RefAttributes<HTMLTableCellElement>>;
267
+ interface TableCellProps extends Omit<TdHTMLAttributes<HTMLTableCellElement>, "color"> {
268
+ }
269
+ declare const TableCell: react.ForwardRefExoticComponent<TableCellProps & react.RefAttributes<HTMLTableCellElement>>;
270
+
271
+ type ToastVariant = "info" | "warning" | "error" | "success";
272
+ type ToastPosition = "top-left" | "top-right" | "bottom-left" | "bottom-right";
273
+ interface ToastProviderProps {
274
+ children?: ReactNode;
275
+ position?: ToastPosition;
276
+ duration?: number;
277
+ swipeDirection?: ToastPrimitive.ToastProviderProps["swipeDirection"];
278
+ label?: string;
279
+ }
280
+ declare function ToastProvider({ children, position, duration, swipeDirection, label, }: ToastProviderProps): react.JSX.Element;
281
+ interface ToastProps extends SketchProps {
282
+ open?: boolean;
283
+ defaultOpen?: boolean;
284
+ onOpenChange?: (open: boolean) => void;
285
+ title?: ReactNode;
286
+ children?: ReactNode;
287
+ variant?: ToastVariant;
288
+ duration?: number;
289
+ className?: string;
290
+ style?: CSSProperties;
291
+ }
292
+ declare function Toast({ open, defaultOpen, onOpenChange, title, children, variant, duration, className, style, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, }: ToastProps): react.JSX.Element;
293
+ declare const ToastRoot: react.ForwardRefExoticComponent<ToastPrimitive.ToastProps & react.RefAttributes<HTMLLIElement>>;
294
+ declare const ToastTitle: react.ForwardRefExoticComponent<ToastPrimitive.ToastTitleProps & react.RefAttributes<HTMLDivElement>>;
295
+ declare const ToastDescription: react.ForwardRefExoticComponent<ToastPrimitive.ToastDescriptionProps & react.RefAttributes<HTMLDivElement>>;
296
+ declare const ToastClose: react.ForwardRefExoticComponent<ToastPrimitive.ToastCloseProps & react.RefAttributes<HTMLButtonElement>>;
297
+ declare const ToastAction: react.ForwardRefExoticComponent<ToastPrimitive.ToastActionProps & react.RefAttributes<HTMLButtonElement>>;
298
+ declare const ToastViewport: react.ForwardRefExoticComponent<ToastPrimitive.ToastViewportProps & react.RefAttributes<HTMLOListElement>>;
299
+
300
+ interface AccordionProps extends SketchProps {
301
+ type?: "single" | "multiple";
302
+ collapsible?: boolean;
303
+ value?: string | string[];
304
+ defaultValue?: string | string[];
305
+ onValueChange?: (value: string | string[]) => void;
306
+ disabled?: boolean;
307
+ className?: string;
308
+ style?: CSSProperties;
309
+ children?: ReactNode;
310
+ }
311
+ declare const Accordion: react.ForwardRefExoticComponent<AccordionProps & react.RefAttributes<HTMLDivElement>>;
312
+ interface AccordionItemProps extends Omit<ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>, "asChild"> {
313
+ }
314
+ declare const AccordionItem: react.ForwardRefExoticComponent<AccordionItemProps & react.RefAttributes<HTMLDivElement>>;
315
+ interface AccordionTriggerProps extends Omit<ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>, "asChild"> {
316
+ children?: ReactNode;
317
+ }
318
+ declare const AccordionTrigger: react.ForwardRefExoticComponent<AccordionTriggerProps & react.RefAttributes<HTMLButtonElement>>;
319
+ interface AccordionContentProps extends Omit<ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>, "asChild"> {
320
+ }
321
+ declare const AccordionContent: react.ForwardRefExoticComponent<AccordionContentProps & react.RefAttributes<HTMLDivElement>>;
322
+
323
+ type AvatarStatus = "online" | "offline" | "busy";
324
+ type AvatarShape = "circle" | "square";
325
+ interface AvatarProps extends Omit<AvatarPrimitive.AvatarProps, "asChild">, SketchProps {
326
+ src?: string;
327
+ alt?: string;
328
+ fallback?: ReactNode;
329
+ size?: number;
330
+ shape?: AvatarShape;
331
+ status?: AvatarStatus;
332
+ }
333
+ declare const Avatar: react.ForwardRefExoticComponent<AvatarProps & react.RefAttributes<HTMLSpanElement>>;
334
+
335
+ type SliderThumbShape = "circle" | "square";
336
+ interface SliderProps extends Omit<ComponentPropsWithoutRef<typeof SliderPrimitive.Root>, "asChild">, SketchProps {
337
+ thumbShape?: SliderThumbShape;
338
+ }
339
+ declare const Slider: react.ForwardRefExoticComponent<SliderProps & react.RefAttributes<HTMLSpanElement>>;
340
+
341
+ interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, "color" | "onChange">, SketchProps {
342
+ page: number;
343
+ count: number;
344
+ onPageChange?: (page: number) => void;
345
+ }
346
+ declare const Pagination: react.ForwardRefExoticComponent<PaginationProps & react.RefAttributes<HTMLElement>>;
347
+
348
+ type BreadcrumbSeparator = "slash" | "chevron";
349
+ interface BreadcrumbProps extends Omit<HTMLAttributes<HTMLElement>, "color">, SketchProps {
350
+ separator?: BreadcrumbSeparator;
351
+ children?: ReactNode;
352
+ }
353
+ declare const Breadcrumb: react.ForwardRefExoticComponent<BreadcrumbProps & react.RefAttributes<HTMLElement>>;
354
+ interface BreadcrumbItemProps extends Omit<HTMLAttributes<HTMLSpanElement>, "color"> {
355
+ href?: string;
356
+ current?: boolean;
357
+ index?: number;
358
+ children?: ReactNode;
359
+ }
360
+ declare const BreadcrumbItem: react.ForwardRefExoticComponent<BreadcrumbItemProps & react.RefAttributes<HTMLSpanElement>>;
361
+
362
+ type SkeletonVariant = "text" | "rect" | "circle";
363
+ interface SkeletonProps extends Omit<HTMLAttributes<HTMLDivElement>, "color">, SketchProps {
364
+ variant?: SkeletonVariant;
365
+ pulse?: boolean;
366
+ width?: number | string;
367
+ height?: number | string;
368
+ }
369
+ declare const Skeleton: react.ForwardRefExoticComponent<SkeletonProps & react.RefAttributes<HTMLDivElement>>;
370
+
371
+ type StepperOrientation = "horizontal" | "vertical";
372
+ interface StepperStep {
373
+ label: ReactNode;
374
+ description?: ReactNode;
375
+ }
376
+ interface StepperProps extends Omit<HTMLAttributes<HTMLDivElement>, "color">, SketchProps {
377
+ steps: Array<StepperStep | ReactNode>;
378
+ current?: number;
379
+ orientation?: StepperOrientation;
380
+ }
381
+ declare const Stepper: react.ForwardRefExoticComponent<StepperProps & react.RefAttributes<HTMLDivElement>>;
382
+
383
+ export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, type AlertProps, type AlertVariant, Avatar, type AvatarProps, type AvatarShape, type AvatarStatus, Badge, type BadgeProps, type BadgeVariant, Breadcrumb, BreadcrumbItem, type BreadcrumbItemProps, type BreadcrumbProps, type BreadcrumbSeparator, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, DEFAULT_BOWING, DEFAULT_INK, DEFAULT_ROUGHNESS, DEFAULT_STROKE_WIDTH, Divider, type DividerOrientation, type DividerProps, type FillStyle, Input, type InputProps, Modal, ModalClose, ModalDescription, type ModalProps, ModalRoot, ModalTitle, ModalTrigger, Pagination, type PaginationProps, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, type RoughShape, RoughSvg, type RoughSvgProps, SKETCH_COLORS, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemProps, SelectLabel, type SelectOption, type SelectProps, SelectRoot, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Skeleton, type SkeletonProps, type SkeletonVariant, SketchBox, type SketchBoxProps, type SketchProps, type SketchSeedContextValue, SketchSeedProvider, type SketchSeedProviderProps, Slider, type SliderProps, type SliderThumbShape, Stepper, type StepperOrientation, type StepperProps, type StepperStep, Switch, type SwitchProps, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, TableCell, type TableCellProps, TableHead, TableHeaderCell, type TableHeaderCellProps, type TableProps, TableRow, Tabs, type TabsProps, Textarea, type TextareaProps, Toast, ToastAction, ToastClose, ToastDescription, type ToastPosition, type ToastProps, ToastProvider, type ToastProviderProps, ToastRoot, ToastTitle, type ToastVariant, ToastViewport, Tooltip, type TooltipProps, TooltipProvider, deriveSeed, toRoughOptions, useResolvedSeed, useSketchSeed };
package/dist/index.d.ts CHANGED
@@ -1,10 +1,17 @@
1
1
  import * as react from 'react';
2
- import { CSSProperties, HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, ComponentPropsWithoutRef } from 'react';
2
+ import { CSSProperties, HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, ComponentPropsWithoutRef, TableHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
3
3
  import { Options } from 'roughjs/bin/core';
4
4
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
5
5
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
6
6
  import * as Dialog from '@radix-ui/react-dialog';
7
7
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
8
+ import * as SelectPrimitive from '@radix-ui/react-select';
9
+ import * as SwitchPrimitive from '@radix-ui/react-switch';
10
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
11
+ import * as ToastPrimitive from '@radix-ui/react-toast';
12
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
13
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
14
+ import * as SliderPrimitive from '@radix-ui/react-slider';
8
15
 
9
16
  type FillStyle = "hachure" | "solid" | "zigzag" | "cross-hatch" | "dots" | "dashed" | "zigzag-line";
10
17
  type RoughShape = "rectangle" | "ellipse" | "line" | "line-vertical" | "path";
@@ -73,14 +80,22 @@ declare const SketchBox: react.ForwardRefExoticComponent<SketchBoxProps & react.
73
80
 
74
81
  interface SketchSeedContextValue {
75
82
  seed: number;
83
+ fontIndex: number;
76
84
  shuffle: () => void;
77
85
  setSeed: (seed: number) => void;
78
86
  }
79
87
  interface SketchSeedProviderProps {
80
88
  children: ReactNode;
81
89
  initialSeed?: number;
90
+ /**
91
+ * CSS font-family values for Shuffle. Index 0 is the page default
92
+ * (`--doodle-ui-font` is left unset). Later indexes set the variable.
93
+ */
94
+ fonts?: readonly string[];
95
+ /** Starting palette index. Defaults to 0 (unset / page default). */
96
+ initialFontIndex?: number;
82
97
  }
83
- declare function SketchSeedProvider({ children, initialSeed, }: SketchSeedProviderProps): react.JSX.Element;
98
+ declare function SketchSeedProvider({ children, initialSeed, fonts, initialFontIndex, }: SketchSeedProviderProps): react.JSX.Element;
84
99
  declare function useSketchSeed(): SketchSeedContextValue;
85
100
 
86
101
  /**
@@ -182,4 +197,187 @@ interface TooltipProps extends SketchProps {
182
197
  }
183
198
  declare function Tooltip({ content, children, side, delayDuration, className, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, }: TooltipProps): react.JSX.Element;
184
199
 
185
- export { Alert, type AlertProps, type AlertVariant, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, DEFAULT_BOWING, DEFAULT_INK, DEFAULT_ROUGHNESS, DEFAULT_STROKE_WIDTH, Divider, type DividerOrientation, type DividerProps, type FillStyle, Input, type InputProps, Modal, ModalClose, ModalDescription, type ModalProps, ModalRoot, ModalTitle, ModalTrigger, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, type RoughShape, RoughSvg, type RoughSvgProps, SKETCH_COLORS, SketchBox, type SketchBoxProps, type SketchProps, type SketchSeedContextValue, SketchSeedProvider, type SketchSeedProviderProps, Textarea, type TextareaProps, Tooltip, type TooltipProps, TooltipProvider, toRoughOptions, useResolvedSeed, useSketchSeed };
200
+ /**
201
+ * Offset a resolved sketch seed by a stable hash of `key`.
202
+ * Items in a list keep distinct wobbles that still redraw together on Shuffle.
203
+ */
204
+ declare function deriveSeed(base: number, key: string): number;
205
+
206
+ interface SelectOption {
207
+ value: string;
208
+ label: ReactNode;
209
+ disabled?: boolean;
210
+ }
211
+ interface SelectProps extends Omit<SelectPrimitive.SelectProps, "children">, SketchProps {
212
+ options: SelectOption[];
213
+ placeholder?: string;
214
+ className?: string;
215
+ style?: CSSProperties;
216
+ "aria-label"?: string;
217
+ }
218
+ declare function Select({ options, placeholder, className, style, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, value, defaultValue, onValueChange, "aria-label": ariaLabel, ...rest }: SelectProps): react.JSX.Element;
219
+ interface SelectTriggerProps extends Omit<SelectPrimitive.SelectTriggerProps, "asChild"> {
220
+ placeholder?: string;
221
+ }
222
+ declare const SelectTrigger: react.ForwardRefExoticComponent<SelectTriggerProps & react.RefAttributes<HTMLButtonElement>>;
223
+ interface SelectContentProps extends Omit<SelectPrimitive.SelectContentProps, "asChild" | "position"> {
224
+ children?: ReactNode;
225
+ }
226
+ declare const SelectContent: react.ForwardRefExoticComponent<SelectContentProps & react.RefAttributes<HTMLDivElement>>;
227
+ interface SelectItemProps extends Omit<SelectPrimitive.SelectItemProps, "asChild"> {
228
+ children?: ReactNode;
229
+ }
230
+ declare const SelectItem: react.ForwardRefExoticComponent<SelectItemProps & react.RefAttributes<HTMLDivElement>>;
231
+ declare const SelectRoot: react.FC<SelectPrimitive.SelectProps>;
232
+ declare const SelectValue: react.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & react.RefAttributes<HTMLSpanElement>>;
233
+ declare const SelectGroup: react.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & react.RefAttributes<HTMLDivElement>>;
234
+ declare const SelectLabel: react.ForwardRefExoticComponent<SelectPrimitive.SelectLabelProps & react.RefAttributes<HTMLDivElement>>;
235
+ declare const SelectSeparator: react.ForwardRefExoticComponent<SelectPrimitive.SelectSeparatorProps & react.RefAttributes<HTMLDivElement>>;
236
+
237
+ interface SwitchProps extends Omit<SwitchPrimitive.SwitchProps, "asChild">, SketchProps {
238
+ label?: ReactNode;
239
+ }
240
+ declare const Switch: react.ForwardRefExoticComponent<SwitchProps & react.RefAttributes<HTMLButtonElement>>;
241
+
242
+ interface TabsProps extends Omit<ComponentPropsWithoutRef<typeof TabsPrimitive.Root>, "asChild">, SketchProps {
243
+ }
244
+ declare const Tabs: react.ForwardRefExoticComponent<TabsProps & react.RefAttributes<HTMLDivElement>>;
245
+ interface TabListProps extends Omit<ComponentPropsWithoutRef<typeof TabsPrimitive.List>, "asChild"> {
246
+ }
247
+ declare const TabList: react.ForwardRefExoticComponent<TabListProps & react.RefAttributes<HTMLDivElement>>;
248
+ interface TabProps extends Omit<ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>, "asChild"> {
249
+ children?: ReactNode;
250
+ }
251
+ declare const Tab: react.ForwardRefExoticComponent<TabProps & react.RefAttributes<HTMLButtonElement>>;
252
+ interface TabPanelProps extends Omit<ComponentPropsWithoutRef<typeof TabsPrimitive.Content>, "asChild"> {
253
+ }
254
+ declare const TabPanel: react.ForwardRefExoticComponent<TabPanelProps & react.RefAttributes<HTMLDivElement>>;
255
+
256
+ interface TableProps extends Omit<TableHTMLAttributes<HTMLTableElement>, "color">, SketchProps {
257
+ headerUnderline?: boolean;
258
+ children?: ReactNode;
259
+ }
260
+ declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>>;
261
+ declare const TableHead: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
262
+ declare const TableBody: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
263
+ declare const TableRow: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableRowElement> & react.RefAttributes<HTMLTableRowElement>>;
264
+ interface TableHeaderCellProps extends Omit<ThHTMLAttributes<HTMLTableCellElement>, "color"> {
265
+ }
266
+ declare const TableHeaderCell: react.ForwardRefExoticComponent<TableHeaderCellProps & react.RefAttributes<HTMLTableCellElement>>;
267
+ interface TableCellProps extends Omit<TdHTMLAttributes<HTMLTableCellElement>, "color"> {
268
+ }
269
+ declare const TableCell: react.ForwardRefExoticComponent<TableCellProps & react.RefAttributes<HTMLTableCellElement>>;
270
+
271
+ type ToastVariant = "info" | "warning" | "error" | "success";
272
+ type ToastPosition = "top-left" | "top-right" | "bottom-left" | "bottom-right";
273
+ interface ToastProviderProps {
274
+ children?: ReactNode;
275
+ position?: ToastPosition;
276
+ duration?: number;
277
+ swipeDirection?: ToastPrimitive.ToastProviderProps["swipeDirection"];
278
+ label?: string;
279
+ }
280
+ declare function ToastProvider({ children, position, duration, swipeDirection, label, }: ToastProviderProps): react.JSX.Element;
281
+ interface ToastProps extends SketchProps {
282
+ open?: boolean;
283
+ defaultOpen?: boolean;
284
+ onOpenChange?: (open: boolean) => void;
285
+ title?: ReactNode;
286
+ children?: ReactNode;
287
+ variant?: ToastVariant;
288
+ duration?: number;
289
+ className?: string;
290
+ style?: CSSProperties;
291
+ }
292
+ declare function Toast({ open, defaultOpen, onOpenChange, title, children, variant, duration, className, style, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, }: ToastProps): react.JSX.Element;
293
+ declare const ToastRoot: react.ForwardRefExoticComponent<ToastPrimitive.ToastProps & react.RefAttributes<HTMLLIElement>>;
294
+ declare const ToastTitle: react.ForwardRefExoticComponent<ToastPrimitive.ToastTitleProps & react.RefAttributes<HTMLDivElement>>;
295
+ declare const ToastDescription: react.ForwardRefExoticComponent<ToastPrimitive.ToastDescriptionProps & react.RefAttributes<HTMLDivElement>>;
296
+ declare const ToastClose: react.ForwardRefExoticComponent<ToastPrimitive.ToastCloseProps & react.RefAttributes<HTMLButtonElement>>;
297
+ declare const ToastAction: react.ForwardRefExoticComponent<ToastPrimitive.ToastActionProps & react.RefAttributes<HTMLButtonElement>>;
298
+ declare const ToastViewport: react.ForwardRefExoticComponent<ToastPrimitive.ToastViewportProps & react.RefAttributes<HTMLOListElement>>;
299
+
300
+ interface AccordionProps extends SketchProps {
301
+ type?: "single" | "multiple";
302
+ collapsible?: boolean;
303
+ value?: string | string[];
304
+ defaultValue?: string | string[];
305
+ onValueChange?: (value: string | string[]) => void;
306
+ disabled?: boolean;
307
+ className?: string;
308
+ style?: CSSProperties;
309
+ children?: ReactNode;
310
+ }
311
+ declare const Accordion: react.ForwardRefExoticComponent<AccordionProps & react.RefAttributes<HTMLDivElement>>;
312
+ interface AccordionItemProps extends Omit<ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>, "asChild"> {
313
+ }
314
+ declare const AccordionItem: react.ForwardRefExoticComponent<AccordionItemProps & react.RefAttributes<HTMLDivElement>>;
315
+ interface AccordionTriggerProps extends Omit<ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>, "asChild"> {
316
+ children?: ReactNode;
317
+ }
318
+ declare const AccordionTrigger: react.ForwardRefExoticComponent<AccordionTriggerProps & react.RefAttributes<HTMLButtonElement>>;
319
+ interface AccordionContentProps extends Omit<ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>, "asChild"> {
320
+ }
321
+ declare const AccordionContent: react.ForwardRefExoticComponent<AccordionContentProps & react.RefAttributes<HTMLDivElement>>;
322
+
323
+ type AvatarStatus = "online" | "offline" | "busy";
324
+ type AvatarShape = "circle" | "square";
325
+ interface AvatarProps extends Omit<AvatarPrimitive.AvatarProps, "asChild">, SketchProps {
326
+ src?: string;
327
+ alt?: string;
328
+ fallback?: ReactNode;
329
+ size?: number;
330
+ shape?: AvatarShape;
331
+ status?: AvatarStatus;
332
+ }
333
+ declare const Avatar: react.ForwardRefExoticComponent<AvatarProps & react.RefAttributes<HTMLSpanElement>>;
334
+
335
+ type SliderThumbShape = "circle" | "square";
336
+ interface SliderProps extends Omit<ComponentPropsWithoutRef<typeof SliderPrimitive.Root>, "asChild">, SketchProps {
337
+ thumbShape?: SliderThumbShape;
338
+ }
339
+ declare const Slider: react.ForwardRefExoticComponent<SliderProps & react.RefAttributes<HTMLSpanElement>>;
340
+
341
+ interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, "color" | "onChange">, SketchProps {
342
+ page: number;
343
+ count: number;
344
+ onPageChange?: (page: number) => void;
345
+ }
346
+ declare const Pagination: react.ForwardRefExoticComponent<PaginationProps & react.RefAttributes<HTMLElement>>;
347
+
348
+ type BreadcrumbSeparator = "slash" | "chevron";
349
+ interface BreadcrumbProps extends Omit<HTMLAttributes<HTMLElement>, "color">, SketchProps {
350
+ separator?: BreadcrumbSeparator;
351
+ children?: ReactNode;
352
+ }
353
+ declare const Breadcrumb: react.ForwardRefExoticComponent<BreadcrumbProps & react.RefAttributes<HTMLElement>>;
354
+ interface BreadcrumbItemProps extends Omit<HTMLAttributes<HTMLSpanElement>, "color"> {
355
+ href?: string;
356
+ current?: boolean;
357
+ index?: number;
358
+ children?: ReactNode;
359
+ }
360
+ declare const BreadcrumbItem: react.ForwardRefExoticComponent<BreadcrumbItemProps & react.RefAttributes<HTMLSpanElement>>;
361
+
362
+ type SkeletonVariant = "text" | "rect" | "circle";
363
+ interface SkeletonProps extends Omit<HTMLAttributes<HTMLDivElement>, "color">, SketchProps {
364
+ variant?: SkeletonVariant;
365
+ pulse?: boolean;
366
+ width?: number | string;
367
+ height?: number | string;
368
+ }
369
+ declare const Skeleton: react.ForwardRefExoticComponent<SkeletonProps & react.RefAttributes<HTMLDivElement>>;
370
+
371
+ type StepperOrientation = "horizontal" | "vertical";
372
+ interface StepperStep {
373
+ label: ReactNode;
374
+ description?: ReactNode;
375
+ }
376
+ interface StepperProps extends Omit<HTMLAttributes<HTMLDivElement>, "color">, SketchProps {
377
+ steps: Array<StepperStep | ReactNode>;
378
+ current?: number;
379
+ orientation?: StepperOrientation;
380
+ }
381
+ declare const Stepper: react.ForwardRefExoticComponent<StepperProps & react.RefAttributes<HTMLDivElement>>;
382
+
383
+ export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, type AlertProps, type AlertVariant, Avatar, type AvatarProps, type AvatarShape, type AvatarStatus, Badge, type BadgeProps, type BadgeVariant, Breadcrumb, BreadcrumbItem, type BreadcrumbItemProps, type BreadcrumbProps, type BreadcrumbSeparator, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, DEFAULT_BOWING, DEFAULT_INK, DEFAULT_ROUGHNESS, DEFAULT_STROKE_WIDTH, Divider, type DividerOrientation, type DividerProps, type FillStyle, Input, type InputProps, Modal, ModalClose, ModalDescription, type ModalProps, ModalRoot, ModalTitle, ModalTrigger, Pagination, type PaginationProps, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, type RoughShape, RoughSvg, type RoughSvgProps, SKETCH_COLORS, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemProps, SelectLabel, type SelectOption, type SelectProps, SelectRoot, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Skeleton, type SkeletonProps, type SkeletonVariant, SketchBox, type SketchBoxProps, type SketchProps, type SketchSeedContextValue, SketchSeedProvider, type SketchSeedProviderProps, Slider, type SliderProps, type SliderThumbShape, Stepper, type StepperOrientation, type StepperProps, type StepperStep, Switch, type SwitchProps, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, TableCell, type TableCellProps, TableHead, TableHeaderCell, type TableHeaderCellProps, type TableProps, TableRow, Tabs, type TabsProps, Textarea, type TextareaProps, Toast, ToastAction, ToastClose, ToastDescription, type ToastPosition, type ToastProps, ToastProvider, type ToastProviderProps, ToastRoot, ToastTitle, type ToastVariant, ToastViewport, Tooltip, type TooltipProps, TooltipProvider, deriveSeed, toRoughOptions, useResolvedSeed, useSketchSeed };