doodleui-react 0.5.0 → 0.6.1

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,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { CSSProperties, HTMLAttributes, ReactNode, RefObject, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, ComponentPropsWithoutRef, TableHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
2
+ import { CSSProperties, HTMLAttributes, ReactNode, RefObject, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, ComponentPropsWithoutRef, TableHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes, SelectHTMLAttributes, ReactElement } 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';
@@ -27,6 +27,7 @@ import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
27
27
  import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
28
28
  import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
29
29
  import * as MenubarPrimitive from '@radix-ui/react-menubar';
30
+ import useEmblaCarousel, { UseEmblaCarouselType } from 'embla-carousel-react';
30
31
 
31
32
  type FillStyle = "hachure" | "solid" | "zigzag" | "cross-hatch" | "dots" | "dashed" | "zigzag-line";
32
33
  type RoughShape = "rectangle" | "ellipse" | "line" | "line-vertical" | "path";
@@ -41,6 +42,12 @@ interface SketchProps {
41
42
  bowing?: number;
42
43
  fillStyle?: FillStyle;
43
44
  strokeWidth?: number;
45
+ /** Spacing between hatch lines for patterned fills. Defaults to 4 in roughjs, higher = airier */
46
+ hachureGap?: number;
47
+ /** Angle in degrees of the hatch lines */
48
+ hachureAngle?: number;
49
+ /** Weight/thickness of the hatch lines */
50
+ fillWeight?: number;
44
51
  }
45
52
  interface RoughSvgProps extends SketchProps {
46
53
  shape?: RoughShape;
@@ -62,6 +69,10 @@ declare const DEFAULT_ROUGHNESS = 1.5;
62
69
  declare const DEFAULT_BOWING = 1;
63
70
  declare const DEFAULT_STROKE_WIDTH = 1.75;
64
71
  declare const DEFAULT_INK = "#1f1d1a";
72
+ declare const DEFAULT_DARK_INK = "#f3f4f6";
73
+ declare const DEFAULT_PAPER = "#f7f6f2";
74
+ declare const DEFAULT_DARK_PAPER = "#131923";
75
+ declare const DEFAULT_DARK_CARD_BG = "#131923";
65
76
  declare const SKETCH_COLORS: {
66
77
  readonly ink: "#1f1d1a";
67
78
  readonly accent: "#e24b3b";
@@ -73,12 +84,25 @@ declare const SKETCH_COLORS: {
73
84
  readonly error: "#c0392b";
74
85
  readonly success: "#2d6a4f";
75
86
  };
87
+ declare const DARK_SKETCH_COLORS: {
88
+ readonly ink: "#f3f4f6";
89
+ readonly accent: "#f87171";
90
+ readonly accentFill: "rgba(248, 113, 113, 0.22)";
91
+ readonly secondaryFill: "rgba(255, 255, 255, 0.08)";
92
+ readonly paper: "#131923";
93
+ readonly cardBg: "#131923";
94
+ readonly shadow: "#000000";
95
+ readonly info: "#60a5fa";
96
+ readonly warning: "#fbbf24";
97
+ readonly error: "#f87171";
98
+ readonly success: "#34d399";
99
+ };
76
100
 
77
101
  /**
78
102
  * Absolutely-positioned SVG layer that draws a rough.js shape behind HTML content.
79
103
  * Parent must be `position: relative`.
80
104
  */
81
- declare function RoughSvg({ shape, width: widthProp, height: heightProp, roughness, seed: seedProp, sketchColor, bowing, fillStyle, strokeWidth, fill, inset, path, className, style, }: RoughSvgProps): react.JSX.Element;
105
+ declare function RoughSvg({ shape, width: widthProp, height: heightProp, roughness, seed: seedProp, sketchColor, bowing, fillStyle, strokeWidth, fill, hachureGap, hachureAngle, fillWeight, inset, path, className, style, }: RoughSvgProps): react.JSX.Element;
82
106
 
83
107
  interface SketchBoxProps extends SketchProps, Omit<HTMLAttributes<HTMLDivElement>, "color"> {
84
108
  children?: ReactNode;
@@ -129,11 +153,34 @@ declare function useSketchSeed(): SketchSeedContextValue;
129
153
  */
130
154
  declare function useResolvedSeed(seed?: number): number;
131
155
 
156
+ interface ResolvedSketchTheme {
157
+ isDark: boolean;
158
+ ink: string;
159
+ paper: string;
160
+ cardBg: string;
161
+ shadow: string;
162
+ accent: string;
163
+ accentFill: string;
164
+ secondaryFill: string;
165
+ info: string;
166
+ warning: string;
167
+ error: string;
168
+ success: string;
169
+ }
170
+ type SketchTheme = ResolvedSketchTheme;
171
+ declare function useSketchTheme(sketchColorOverride?: string): ResolvedSketchTheme;
172
+
173
+ type DoodleUITheme = "light" | "dark" | "system";
132
174
  interface DoodleUIContextValue {
133
175
  /** Default for components that do not set their own `animate` prop. */
134
176
  animate: boolean;
135
177
  /** When true, skip the prefers-reduced-motion disable. */
136
178
  forceAnimate: boolean;
179
+ /**
180
+ * Theme mode: "light", "dark", or "system". Defaults to "system"
181
+ * (automatically tracks document .dark class or prefers-color-scheme).
182
+ */
183
+ theme?: DoodleUITheme;
137
184
  }
138
185
  interface DoodleUIProviderProps {
139
186
  children: ReactNode;
@@ -147,8 +194,13 @@ interface DoodleUIProviderProps {
147
194
  * Off by default — only set this as an explicit escape hatch.
148
195
  */
149
196
  forceAnimate?: boolean;
197
+ /**
198
+ * Theme mode: "light", "dark", or "system". Defaults to "system"
199
+ * (automatically reacts to html.dark, [data-theme="dark"], and system dark mode).
200
+ */
201
+ theme?: DoodleUITheme;
150
202
  }
151
- declare function DoodleUIProvider({ children, animate, forceAnimate, }: DoodleUIProviderProps): react.JSX.Element;
203
+ declare function DoodleUIProvider({ children, animate, forceAnimate, theme, }: DoodleUIProviderProps): react.JSX.Element;
152
204
  declare function useDoodleUI(): DoodleUIContextValue;
153
205
 
154
206
  /**
@@ -214,6 +266,7 @@ declare const Textarea: react.ForwardRefExoticComponent<TextareaProps & react.Re
214
266
 
215
267
  interface CheckboxProps extends Omit<CheckboxPrimitive.CheckboxProps, "asChild">, SketchProps {
216
268
  label?: ReactNode;
269
+ fill?: string;
217
270
  /**
218
271
  * Draw-in the box on mount and the checkmark when checked.
219
272
  * Defaults to the DoodleUIProvider value (true).
@@ -227,6 +280,7 @@ interface RadioGroupProps extends ComponentPropsWithoutRef<typeof RadioGroupPrim
227
280
  declare const RadioGroup: react.ForwardRefExoticComponent<RadioGroupProps & react.RefAttributes<HTMLDivElement>>;
228
281
  interface RadioProps extends Omit<ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>, "asChild">, SketchProps {
229
282
  label?: ReactNode;
283
+ fill?: string;
230
284
  /**
231
285
  * Draw-in the ring on mount and scale/draw the dot on select.
232
286
  * Defaults to the DoodleUIProvider value (true).
@@ -261,6 +315,7 @@ type AlertVariant = "info" | "warning" | "error" | "success";
261
315
  interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, "color" | "title">, SketchProps {
262
316
  variant?: AlertVariant;
263
317
  title?: ReactNode;
318
+ fill?: string;
264
319
  /**
265
320
  * Draw-in the border on mount (~200ms). Defaults to the DoodleUIProvider value (true).
266
321
  */
@@ -277,13 +332,14 @@ interface ModalProps extends SketchProps {
277
332
  description?: ReactNode;
278
333
  children?: ReactNode;
279
334
  className?: string;
335
+ fill?: string;
280
336
  /**
281
337
  * Backdrop fade, panel enter/exit, and border draw-in on open.
282
338
  * Defaults to the DoodleUIProvider value (true).
283
339
  */
284
340
  animate?: boolean;
285
341
  }
286
- declare function Modal({ open, defaultOpen, onOpenChange, trigger, title, description, children, className, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, }: ModalProps): react.JSX.Element;
342
+ declare function Modal({ open, defaultOpen, onOpenChange, trigger, title, description, children, className, fill, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, }: ModalProps): react.JSX.Element;
287
343
  declare const ModalRoot: react.FC<DialogPrimitive.DialogProps>;
288
344
  declare const ModalTrigger: react.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & react.RefAttributes<HTMLButtonElement>>;
289
345
  declare const ModalClose: react.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & react.RefAttributes<HTMLButtonElement>>;
@@ -319,13 +375,14 @@ interface TooltipProps extends SketchProps {
319
375
  side?: ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>["side"];
320
376
  delayDuration?: number;
321
377
  className?: string;
378
+ fill?: string;
322
379
  /**
323
380
  * Quick draw-in when the bubble shows (~180ms). Defaults to the
324
381
  * DoodleUIProvider value (true).
325
382
  */
326
383
  animate?: boolean;
327
384
  }
328
- declare function Tooltip({ content, children, side, delayDuration, className, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, }: TooltipProps): react.JSX.Element;
385
+ declare function Tooltip({ content, children, side, delayDuration, className, fill, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, }: TooltipProps): react.JSX.Element;
329
386
 
330
387
  /**
331
388
  * Offset a resolved sketch seed by a stable hash of `key`.
@@ -343,6 +400,7 @@ interface SelectProps extends Omit<SelectPrimitive.SelectProps, "children">, Ske
343
400
  placeholder?: string;
344
401
  className?: string;
345
402
  style?: CSSProperties;
403
+ fill?: string;
346
404
  "aria-label"?: string;
347
405
  /**
348
406
  * Draw-in the trigger on mount and the popover border on open.
@@ -350,13 +408,14 @@ interface SelectProps extends Omit<SelectPrimitive.SelectProps, "children">, Ske
350
408
  */
351
409
  animate?: boolean;
352
410
  }
353
- declare function Select({ options, placeholder, className, style, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, value, defaultValue, onValueChange, animate, "aria-label": ariaLabel, ...rest }: SelectProps): react.JSX.Element;
411
+ declare function Select({ options, placeholder, className, style, fill, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, value, defaultValue, onValueChange, animate, "aria-label": ariaLabel, ...rest }: SelectProps): react.JSX.Element;
354
412
  interface SelectTriggerProps extends Omit<SelectPrimitive.SelectTriggerProps, "asChild"> {
355
413
  placeholder?: string;
356
414
  }
357
415
  declare const SelectTrigger: react.ForwardRefExoticComponent<SelectTriggerProps & react.RefAttributes<HTMLButtonElement>>;
358
416
  interface SelectContentProps extends Omit<SelectPrimitive.SelectContentProps, "asChild" | "position"> {
359
417
  children?: ReactNode;
418
+ fill?: string;
360
419
  }
361
420
  declare const SelectContent: react.ForwardRefExoticComponent<SelectContentProps & react.RefAttributes<HTMLDivElement>>;
362
421
  interface SelectItemProps extends Omit<SelectPrimitive.SelectItemProps, "asChild"> {
@@ -435,6 +494,7 @@ interface ToastProps extends SketchProps {
435
494
  title?: ReactNode;
436
495
  children?: ReactNode;
437
496
  variant?: ToastVariant;
497
+ fill?: string;
438
498
  duration?: number;
439
499
  className?: string;
440
500
  style?: CSSProperties;
@@ -444,7 +504,7 @@ interface ToastProps extends SketchProps {
444
504
  */
445
505
  animate?: boolean;
446
506
  }
447
- declare function Toast({ open, defaultOpen, onOpenChange, title, children, variant, duration, className, style, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, }: ToastProps): react.JSX.Element;
507
+ declare function Toast({ open, defaultOpen, onOpenChange, title, children, variant, fill, duration, className, style, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, }: ToastProps): react.JSX.Element;
448
508
  declare const ToastRoot: react.ForwardRefExoticComponent<ToastPrimitive.ToastProps & react.RefAttributes<HTMLLIElement>>;
449
509
  declare const ToastTitle: react.ForwardRefExoticComponent<ToastPrimitive.ToastTitleProps & react.RefAttributes<HTMLDivElement>>;
450
510
  declare const ToastDescription: react.ForwardRefExoticComponent<ToastPrimitive.ToastDescriptionProps & react.RefAttributes<HTMLDivElement>>;
@@ -484,12 +544,14 @@ interface AvatarProps extends Omit<AvatarPrimitive.AvatarProps, "asChild">, Sket
484
544
  size?: number;
485
545
  shape?: AvatarShape;
486
546
  status?: AvatarStatus;
547
+ fill?: string;
487
548
  }
488
549
  declare const Avatar: react.ForwardRefExoticComponent<AvatarProps & react.RefAttributes<HTMLSpanElement>>;
489
550
 
490
551
  type SliderThumbShape = "circle" | "square";
491
552
  interface SliderProps extends Omit<ComponentPropsWithoutRef<typeof SliderPrimitive.Root>, "asChild">, SketchProps {
492
553
  thumbShape?: SliderThumbShape;
554
+ fill?: string;
493
555
  }
494
556
  declare const Slider: react.ForwardRefExoticComponent<SliderProps & react.RefAttributes<HTMLSpanElement>>;
495
557
 
@@ -532,6 +594,7 @@ interface StepperProps extends Omit<HTMLAttributes<HTMLDivElement>, "color">, Sk
532
594
  steps: Array<StepperStep | ReactNode>;
533
595
  current?: number;
534
596
  orientation?: StepperOrientation;
597
+ fill?: string;
535
598
  }
536
599
  declare const Stepper: react.ForwardRefExoticComponent<StepperProps & react.RefAttributes<HTMLDivElement>>;
537
600
 
@@ -566,39 +629,41 @@ declare const CollapsibleContent: react.ForwardRefExoticComponent<CollapsibleCon
566
629
 
567
630
  interface PopoverProps extends Omit<PopoverPrimitive.PopoverProps, "children">, SketchProps {
568
631
  children?: ReactNode;
632
+ fill?: string;
569
633
  /**
570
634
  * Draw-in the panel border when the popover opens.
571
635
  * Defaults to the DoodleUIProvider value (true).
572
636
  */
573
637
  animate?: boolean;
574
638
  }
575
- declare function Popover({ children, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, ...rest }: PopoverProps): react.JSX.Element;
639
+ declare function Popover({ children, fill, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, ...rest }: PopoverProps): react.JSX.Element;
576
640
  declare const PopoverTrigger: react.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & react.RefAttributes<HTMLButtonElement>>;
577
641
  declare const PopoverAnchor: react.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & react.RefAttributes<HTMLDivElement>>;
578
642
  declare const PopoverClose: react.ForwardRefExoticComponent<PopoverPrimitive.PopoverCloseProps & react.RefAttributes<HTMLButtonElement>>;
579
643
  interface PopoverContentProps extends Omit<PopoverPrimitive.PopoverContentProps, "asChild"> {
580
644
  children?: ReactNode;
645
+ fill?: string;
581
646
  }
582
647
  declare const PopoverContent: react.ForwardRefExoticComponent<PopoverContentProps & react.RefAttributes<HTMLDivElement>>;
583
- interface PopoverArrowProps extends ComponentPropsWithoutRef<typeof PopoverPrimitive.Arrow> {
584
- }
585
- declare const PopoverArrow: react.ForwardRefExoticComponent<PopoverArrowProps & react.RefAttributes<SVGSVGElement>>;
648
+ declare function PopoverArrow(props: ComponentPropsWithoutRef<typeof PopoverPrimitive.Arrow>): react.JSX.Element;
586
649
 
587
650
  interface DropdownMenuProps extends Omit<DropdownMenuPrimitive.DropdownMenuProps, "children">, SketchProps {
588
651
  children?: ReactNode;
652
+ fill?: string;
589
653
  /**
590
654
  * Draw-in the panel border when the menu opens.
591
655
  * Defaults to the DoodleUIProvider value (true).
592
656
  */
593
657
  animate?: boolean;
594
658
  }
595
- declare function DropdownMenu({ children, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, ...rest }: DropdownMenuProps): react.JSX.Element;
659
+ declare function DropdownMenu({ children, fill, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, ...rest }: DropdownMenuProps): react.JSX.Element;
596
660
  declare const DropdownMenuTrigger: react.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & react.RefAttributes<HTMLButtonElement>>;
597
661
  declare const DropdownMenuGroup: react.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & react.RefAttributes<HTMLDivElement>>;
598
662
  declare const DropdownMenuRadioGroup: react.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & react.RefAttributes<HTMLDivElement>>;
599
663
  declare const DropdownMenuSub: react.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
600
664
  interface DropdownMenuContentProps extends Omit<DropdownMenuPrimitive.DropdownMenuContentProps, "asChild"> {
601
665
  children?: ReactNode;
666
+ fill?: string;
602
667
  }
603
668
  declare const DropdownMenuContent: react.ForwardRefExoticComponent<DropdownMenuContentProps & react.RefAttributes<HTMLDivElement>>;
604
669
  interface DropdownMenuItemProps extends Omit<DropdownMenuPrimitive.DropdownMenuItemProps, "asChild"> {
@@ -624,6 +689,7 @@ declare const DropdownMenuSeparator: react.ForwardRefExoticComponent<DropdownMen
624
689
 
625
690
  interface DialogProps extends Omit<DialogPrimitive.DialogProps, "children">, SketchProps {
626
691
  children?: ReactNode;
692
+ fill?: string;
627
693
  /**
628
694
  * Backdrop fade, panel enter/exit, and border draw-in on open.
629
695
  * Defaults to the DoodleUIProvider value (true).
@@ -637,7 +703,7 @@ interface DialogProps extends Omit<DialogPrimitive.DialogProps, "children">, Ske
637
703
  * `Modal`, `DialogContent` has no forced width or shadow and no built-in
638
704
  * close button — compose your own layout inside it.
639
705
  */
640
- declare function Dialog({ children, open, defaultOpen, onOpenChange, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, ...rest }: DialogProps): react.JSX.Element;
706
+ declare function Dialog({ children, open, defaultOpen, onOpenChange, fill, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, ...rest }: DialogProps): react.JSX.Element;
641
707
  declare const DialogTrigger: react.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & react.RefAttributes<HTMLButtonElement>>;
642
708
  declare const DialogPortal: react.FC<DialogPrimitive.DialogPortalProps>;
643
709
  declare const DialogClose: react.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & react.RefAttributes<HTMLButtonElement>>;
@@ -646,6 +712,7 @@ interface DialogOverlayProps extends Omit<DialogPrimitive.DialogOverlayProps, "a
646
712
  declare const DialogOverlay: react.ForwardRefExoticComponent<DialogOverlayProps & react.RefAttributes<HTMLDivElement>>;
647
713
  interface DialogContentProps extends Omit<DialogPrimitive.DialogContentProps, "asChild" | "forceMount"> {
648
714
  children?: ReactNode;
715
+ fill?: string;
649
716
  /** Panel width. Defaults to `min(420px, calc(100vw - 32px))`. */
650
717
  contentStyle?: CSSProperties;
651
718
  }
@@ -671,6 +738,7 @@ declare const DialogDescription: react.ForwardRefExoticComponent<DialogDescripti
671
738
 
672
739
  interface AlertDialogProps extends Omit<AlertDialogPrimitive.AlertDialogProps, "children">, SketchProps {
673
740
  children?: ReactNode;
741
+ fill?: string;
674
742
  /**
675
743
  * Backdrop fade, panel enter/exit, and border draw-in on open.
676
744
  * Defaults to the DoodleUIProvider value (true).
@@ -683,7 +751,7 @@ interface AlertDialogProps extends Omit<AlertDialogPrimitive.AlertDialogProps, "
683
751
  * no dismiss-on-outside-click or Escape by default, and `AlertDialogAction`
684
752
  * / `AlertDialogCancel` give the confirm button visual emphasis.
685
753
  */
686
- declare function AlertDialog({ children, open, defaultOpen, onOpenChange, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, ...rest }: AlertDialogProps): react.JSX.Element;
754
+ declare function AlertDialog({ children, open, defaultOpen, onOpenChange, fill, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, ...rest }: AlertDialogProps): react.JSX.Element;
687
755
  declare const AlertDialogTrigger: react.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogTriggerProps & react.RefAttributes<HTMLButtonElement>>;
688
756
  declare const AlertDialogPortal: react.FC<AlertDialogPrimitive.AlertDialogPortalProps>;
689
757
  interface AlertDialogOverlayProps extends Omit<AlertDialogPrimitive.AlertDialogOverlayProps, "asChild" | "forceMount"> {
@@ -691,6 +759,7 @@ interface AlertDialogOverlayProps extends Omit<AlertDialogPrimitive.AlertDialogO
691
759
  declare const AlertDialogOverlay: react.ForwardRefExoticComponent<AlertDialogOverlayProps & react.RefAttributes<HTMLDivElement>>;
692
760
  interface AlertDialogContentProps extends Omit<AlertDialogPrimitive.AlertDialogContentProps, "asChild" | "forceMount"> {
693
761
  children?: ReactNode;
762
+ fill?: string;
694
763
  contentStyle?: CSSProperties;
695
764
  }
696
765
  declare const AlertDialogContent: react.ForwardRefExoticComponent<AlertDialogContentProps & react.RefAttributes<HTMLDivElement>>;
@@ -780,9 +849,10 @@ interface ComboboxProps extends SketchProps {
780
849
  * filtering/list) behind a sketchy `Input`-styled trigger button — the same
781
850
  * recipe shadcn uses, since Radix has no dedicated Combobox primitive.
782
851
  */
783
- declare function Combobox({ options, placeholder, searchPlaceholder, emptyMessage, value, defaultValue, onValueChange, disabled, className, style, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, "aria-label": ariaLabel, }: ComboboxProps): react.JSX.Element;
852
+ declare function Combobox({ options, placeholder, searchPlaceholder, emptyMessage, value, defaultValue, onValueChange, disabled, className, style, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, "aria-label": ariaLabel, }: ComboboxProps): react.JSX.Element;
784
853
 
785
854
  interface KbdProps extends Omit<HTMLAttributes<HTMLElement>, "color">, SketchProps {
855
+ fill?: string;
786
856
  /**
787
857
  * Draw-in the border on mount. Defaults to the DoodleUIProvider value (true).
788
858
  */
@@ -831,7 +901,7 @@ interface InputGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, "color">,
831
901
  children?: ReactNode;
832
902
  animate?: boolean;
833
903
  }
834
- declare function InputGroup({ children, className, style, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, onFocus, onBlur, ...rest }: InputGroupProps): react.JSX.Element;
904
+ declare function InputGroup({ children, className, style, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, onFocus, onBlur, ...rest }: InputGroupProps): react.JSX.Element;
835
905
  interface InputGroupAddonProps extends HTMLAttributes<HTMLSpanElement> {
836
906
  align?: "inline-start" | "inline-end";
837
907
  }
@@ -844,6 +914,7 @@ interface InputGroupButtonProps extends HTMLAttributes<HTMLSpanElement> {
844
914
  declare const InputGroupButton: react.ForwardRefExoticComponent<InputGroupButtonProps & react.RefAttributes<HTMLSpanElement>>;
845
915
 
846
916
  interface InputOTPProps extends Omit<ComponentPropsWithoutRef<typeof OTPInput>, "render">, SketchProps {
917
+ fill?: string;
847
918
  animate?: boolean;
848
919
  }
849
920
  declare const InputOTP: react.ForwardRefExoticComponent<InputOTPProps & react.RefAttributes<HTMLInputElement>>;
@@ -861,6 +932,7 @@ declare const InputOTPSeparator: react.ForwardRefExoticComponent<InputOTPSeparat
861
932
 
862
933
  interface ScrollAreaProps extends Omit<ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>, "children">, SketchProps {
863
934
  children?: ReactNode;
935
+ fill?: string;
864
936
  animate?: boolean;
865
937
  }
866
938
  declare const ScrollArea: react.ForwardRefExoticComponent<ScrollAreaProps & react.RefAttributes<HTMLDivElement>>;
@@ -896,31 +968,35 @@ declare function ResizableHandle({ className, style, withHandle, roughness, seed
896
968
 
897
969
  interface HoverCardProps extends Omit<ComponentPropsWithoutRef<typeof HoverCardPrimitive.Root>, "children">, SketchProps {
898
970
  children?: ReactNode;
971
+ fill?: string;
899
972
  animate?: boolean;
900
973
  }
901
- declare function HoverCard({ children, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, ...rest }: HoverCardProps): react.JSX.Element;
974
+ declare function HoverCard({ children, fill, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, ...rest }: HoverCardProps): react.JSX.Element;
902
975
  declare const HoverCardTrigger: react.ForwardRefExoticComponent<HoverCardPrimitive.HoverCardTriggerProps & react.RefAttributes<HTMLAnchorElement>>;
903
976
  interface HoverCardContentProps extends ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content> {
904
977
  children?: ReactNode;
978
+ fill?: string;
905
979
  }
906
980
  declare const HoverCardContent: react.ForwardRefExoticComponent<HoverCardContentProps & react.RefAttributes<HTMLDivElement>>;
907
981
  declare const HoverCardArrow: react.ForwardRefExoticComponent<HoverCardPrimitive.HoverCardArrowProps & react.RefAttributes<SVGSVGElement>>;
908
982
 
909
983
  interface ContextMenuProps extends Omit<ContextMenuPrimitive.ContextMenuProps, "children">, SketchProps {
910
984
  children?: ReactNode;
985
+ fill?: string;
911
986
  /**
912
987
  * Draw-in the panel border when the menu opens.
913
988
  * Defaults to the DoodleUIProvider value (true).
914
989
  */
915
990
  animate?: boolean;
916
991
  }
917
- declare function ContextMenu({ children, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, ...rest }: ContextMenuProps): react.JSX.Element;
992
+ declare function ContextMenu({ children, fill, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, ...rest }: ContextMenuProps): react.JSX.Element;
918
993
  declare const ContextMenuTrigger: react.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuTriggerProps & react.RefAttributes<HTMLSpanElement>>;
919
994
  declare const ContextMenuGroup: react.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuGroupProps & react.RefAttributes<HTMLDivElement>>;
920
995
  declare const ContextMenuRadioGroup: react.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuRadioGroupProps & react.RefAttributes<HTMLDivElement>>;
921
996
  declare const ContextMenuSub: react.FC<ContextMenuPrimitive.ContextMenuSubProps>;
922
997
  interface ContextMenuContentProps extends Omit<ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>, "asChild"> {
923
998
  children?: ReactNode;
999
+ fill?: string;
924
1000
  }
925
1001
  declare const ContextMenuContent: react.ForwardRefExoticComponent<ContextMenuContentProps & react.RefAttributes<HTMLDivElement>>;
926
1002
  interface ContextMenuItemProps extends Omit<ContextMenuPrimitive.ContextMenuItemProps, "asChild"> {
@@ -946,13 +1022,16 @@ declare const ContextMenuSeparator: react.ForwardRefExoticComponent<ContextMenuS
946
1022
 
947
1023
  interface NavigationMenuProps extends Omit<ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>, "children">, SketchProps {
948
1024
  children?: ReactNode;
1025
+ fill?: string;
949
1026
  animate?: boolean;
950
1027
  }
951
- declare function NavigationMenu({ children, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, ...rest }: NavigationMenuProps): react.JSX.Element;
1028
+ declare function NavigationMenu({ children, fill, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, ...rest }: NavigationMenuProps): react.JSX.Element;
952
1029
  declare const NavigationMenuList: react.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuListProps & react.RefAttributes<HTMLUListElement>, "ref"> & react.RefAttributes<HTMLUListElement>>;
953
1030
  declare const NavigationMenuItem: react.ForwardRefExoticComponent<NavigationMenuPrimitive.NavigationMenuItemProps & react.RefAttributes<HTMLLIElement>>;
954
1031
  declare const NavigationMenuTrigger: react.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & react.RefAttributes<HTMLButtonElement>>;
955
- declare const NavigationMenuContent: react.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
1032
+ declare const NavigationMenuContent: react.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
1033
+ fill?: string;
1034
+ } & react.RefAttributes<HTMLDivElement>>;
956
1035
  declare const NavigationMenuLink: react.ForwardRefExoticComponent<NavigationMenuPrimitive.NavigationMenuLinkProps & react.RefAttributes<HTMLAnchorElement>>;
957
1036
  declare const NavigationMenuViewport: react.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuViewportProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
958
1037
  declare const NavigationMenuIndicator: react.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuIndicatorProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
@@ -963,12 +1042,15 @@ declare const NavigationMenuItemLink: react.ForwardRefExoticComponent<Navigation
963
1042
 
964
1043
  interface MenubarProps extends Omit<ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>, "children">, SketchProps {
965
1044
  children?: ReactNode;
1045
+ fill?: string;
966
1046
  animate?: boolean;
967
1047
  }
968
- declare function Menubar({ children, className, style, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, animate, ...rest }: MenubarProps): react.JSX.Element;
1048
+ declare function Menubar({ children, className, style, fill, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, ...rest }: MenubarProps): react.JSX.Element;
969
1049
  declare const MenubarMenu: typeof MenubarPrimitive.Menu;
970
1050
  declare const MenubarTrigger: react.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & react.RefAttributes<HTMLButtonElement>>;
971
- declare const MenubarContent: react.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
1051
+ declare const MenubarContent: react.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
1052
+ fill?: string;
1053
+ } & react.RefAttributes<HTMLDivElement>>;
972
1054
  declare const MenubarItem: react.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarItemProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
973
1055
  declare const MenubarSeparator: react.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarSeparatorProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
974
1056
  declare const MenubarLabel: react.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarLabelProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
@@ -984,11 +1066,13 @@ type SlidingPanelSide = "top" | "right" | "bottom" | "left";
984
1066
  interface SlidingPanelRootProps extends Omit<DialogPrimitive.DialogProps, "children">, SketchProps {
985
1067
  children?: ReactNode;
986
1068
  side?: SlidingPanelSide;
1069
+ fill?: string;
987
1070
  animate?: boolean;
988
1071
  }
989
1072
  interface SlidingPanelContentProps extends Omit<DialogPrimitive.DialogContentProps, "asChild" | "forceMount"> {
990
1073
  children?: ReactNode;
991
1074
  contentStyle?: CSSProperties;
1075
+ fill?: string;
992
1076
  /** Extra chrome above panel content (e.g. drawer handle). */
993
1077
  chrome?: ReactNode;
994
1078
  }
@@ -1032,4 +1116,167 @@ declare const DrawerFooter: typeof SlidingPanelFooter;
1032
1116
  declare const DrawerTitle: react.ForwardRefExoticComponent<DialogPrimitive.DialogTitleProps & react.RefAttributes<HTMLHeadingElement>>;
1033
1117
  declare const DrawerDescription: react.ForwardRefExoticComponent<DialogPrimitive.DialogDescriptionProps & react.RefAttributes<HTMLParagraphElement>>;
1034
1118
 
1035
- export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, type AlertDialogDescriptionProps, AlertDialogFooter, type AlertDialogFooterProps, AlertDialogHeader, type AlertDialogHeaderProps, AlertDialogOverlay, AlertDialogPortal, type AlertDialogProps, AlertDialogTitle, type AlertDialogTitleProps, AlertDialogTrigger, 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, Collapsible, CollapsibleContent, type CollapsibleContentProps, type CollapsibleProps, CollapsibleTrigger, type CollapsibleTriggerProps, Combobox, type ComboboxProps, Command, CommandEmpty, type CommandEmptyProps, CommandGroup, type CommandGroupProps, CommandInput, type CommandInputProps, CommandItem, type CommandItemProps, CommandList, type CommandListProps, type CommandProps, CommandSeparator, type CommandSeparatorProps, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, type ContextMenuCheckboxItemProps, ContextMenuContent, type ContextMenuContentProps, ContextMenuGroup, ContextMenuItem, type ContextMenuItemProps, ContextMenuLabel, type ContextMenuLabelProps, type ContextMenuProps, ContextMenuRadioGroup, ContextMenuRadioItem, type ContextMenuRadioItemProps, ContextMenuSeparator, type ContextMenuSeparatorProps, ContextMenuSub, ContextMenuTrigger, DEFAULT_BOWING, DEFAULT_INK, DEFAULT_ROUGHNESS, DEFAULT_STROKE_WIDTH, DRAW_IN_ALERT_MS, DRAW_IN_DURATION_MS, DRAW_IN_MARK_MS, DRAW_IN_TOOLTIP_MS, Dialog, DialogClose, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogOverlay, DialogPortal, type DialogProps, DialogTitle, type DialogTitleProps, DialogTrigger, Divider, type DividerOrientation, type DividerProps, type DoodleUIContextValue, DoodleUIProvider, type DoodleUIProviderProps, Drawer, DrawerClose, DrawerContent, type DrawerContentProps, DrawerDescription, DrawerFooter, DrawerHandle, DrawerHeader, type DrawerProps, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuRadioGroup, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuSub, DropdownMenuTrigger, type FillStyle, HoverCard, HoverCardArrow, HoverCardContent, type HoverCardContentProps, type HoverCardProps, HoverCardTrigger, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, InputGroupInput, type InputGroupInputProps, type InputGroupProps, InputOTP, InputOTPGroup, type InputOTPGroupProps, type InputOTPProps, InputOTPSeparator, type InputOTPSeparatorProps, InputOTPSlot, type InputOTPSlotProps, type InputProps, Kbd, type KbdProps, Label, type LabelProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarItem, MenubarLabel, MenubarMenu, type MenubarProps, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Modal, ModalClose, ModalDescription, type ModalProps, ModalRoot, ModalTitle, ModalTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuItemLink, type NavigationMenuItemLinkProps, NavigationMenuLink, NavigationMenuList, type NavigationMenuProps, NavigationMenuTrigger, NavigationMenuViewport, Pagination, type PaginationProps, Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, ResizableHandle, type ResizableHandleProps, ResizablePanel, ResizablePanelGroup, type ResizablePanelGroupProps, type RoughShape, RoughSvg, type RoughSvgProps, SKETCH_COLORS, ScrollArea, ScrollAreaCorner, type ScrollAreaProps, ScrollAreaViewport, ScrollBar, type ScrollBarProps, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemProps, SelectLabel, type SelectOption, type SelectProps, SelectRoot, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, type SheetProps, SheetTitle, SheetTrigger, Skeleton, type SkeletonProps, type SkeletonVariant, SketchBox, type SketchBoxProps, type SketchProps, type SketchSeedContextValue, SketchSeedProvider, type SketchSeedProviderProps, Slider, type SliderProps, type SliderThumbShape, Spinner, type SpinnerProps, type SpinnerSize, Stepper, type StepperOrientation, type StepperProps, type StepperStep, Switch, type SwitchProps, TABLE_STAGGER_MS, 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, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, type ToggleSize, Tooltip, type TooltipProps, TooltipProvider, deriveSeed, toRoughOptions, useAnimate, useDoodleUI, useDrawIn, useResolvedSeed, useSketchSeed };
1119
+ interface AspectRatioProps extends SketchProps {
1120
+ ratio?: number;
1121
+ /** Wrap content in a hand-drawn frame. Default false — ratio box only. */
1122
+ bordered?: boolean;
1123
+ className?: string;
1124
+ style?: CSSProperties;
1125
+ children?: ReactNode;
1126
+ fill?: string;
1127
+ animate?: boolean;
1128
+ }
1129
+ declare function AspectRatio({ ratio, bordered, className, style, children, fill, roughness, seed, sketchColor, bowing, fillStyle, strokeWidth, hachureGap, hachureAngle, fillWeight, animate, }: AspectRatioProps): react.JSX.Element;
1130
+
1131
+ interface NativeSelectOption {
1132
+ value: string;
1133
+ label: ReactNode;
1134
+ disabled?: boolean;
1135
+ }
1136
+ interface NativeSelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, "color" | "size">, SketchProps {
1137
+ options?: NativeSelectOption[];
1138
+ fill?: string;
1139
+ /** Draw-in the border on mount. Defaults to DoodleUIProvider (true). */
1140
+ animate?: boolean;
1141
+ className?: string;
1142
+ style?: CSSProperties;
1143
+ }
1144
+ declare const NativeSelect: react.ForwardRefExoticComponent<NativeSelectProps & react.RefAttributes<HTMLSelectElement>>;
1145
+
1146
+ interface EmptyProps extends Omit<HTMLAttributes<HTMLDivElement>, "color">, SketchProps {
1147
+ bordered?: boolean;
1148
+ fill?: string;
1149
+ animate?: boolean;
1150
+ }
1151
+ declare const Empty: react.ForwardRefExoticComponent<EmptyProps & react.RefAttributes<HTMLDivElement>>;
1152
+ declare function EmptyMedia({ className, style, children, }: HTMLAttributes<HTMLDivElement>): react.JSX.Element;
1153
+ declare function EmptyTitle({ className, style, children, }: HTMLAttributes<HTMLHeadingElement>): react.JSX.Element;
1154
+ declare function EmptyDescription({ className, style, children, }: HTMLAttributes<HTMLParagraphElement>): react.JSX.Element;
1155
+ declare function EmptyAction({ className, style, children, }: HTMLAttributes<HTMLDivElement>): react.JSX.Element;
1156
+
1157
+ interface FieldProps extends HTMLAttributes<HTMLDivElement> {
1158
+ invalid?: boolean;
1159
+ error?: ReactNode;
1160
+ }
1161
+ declare function Field({ className, style, children, invalid, error, ...rest }: FieldProps): react.JSX.Element;
1162
+ interface FieldLabelProps extends Omit<React.ComponentProps<typeof Label>, "htmlFor"> {
1163
+ }
1164
+ declare function FieldLabel({ className, style, ...rest }: FieldLabelProps): react.JSX.Element;
1165
+ declare function FieldDescription({ className, style, children, ...rest }: HTMLAttributes<HTMLParagraphElement>): react.JSX.Element;
1166
+ declare function FieldError({ className, style, children, ...rest }: HTMLAttributes<HTMLParagraphElement>): react.JSX.Element | null;
1167
+ interface FieldControlProps {
1168
+ children: ReactElement;
1169
+ }
1170
+ declare function FieldControl({ children }: FieldControlProps): ReactElement<Record<string, unknown>, string | react.JSXElementConstructor<any>>;
1171
+
1172
+ type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
1173
+ type HeadingAccent = "none" | "underline" | "highlight";
1174
+ interface HeadingProps extends Omit<HTMLAttributes<HTMLHeadingElement>, "color">, SketchProps {
1175
+ level?: HeadingLevel;
1176
+ accent?: HeadingAccent;
1177
+ animate?: boolean;
1178
+ }
1179
+ declare const Heading: react.ForwardRefExoticComponent<HeadingProps & react.RefAttributes<HTMLHeadingElement>>;
1180
+ interface TextProps extends HTMLAttributes<HTMLParagraphElement> {
1181
+ variant?: "body" | "lead" | "muted";
1182
+ }
1183
+ declare const Text: react.ForwardRefExoticComponent<TextProps & react.RefAttributes<HTMLParagraphElement>>;
1184
+ declare const Paragraph: react.ForwardRefExoticComponent<TextProps & react.RefAttributes<HTMLParagraphElement>>;
1185
+ interface BlockquoteProps extends Omit<HTMLAttributes<HTMLQuoteElement>, "color">, SketchProps {
1186
+ animate?: boolean;
1187
+ }
1188
+ declare const Blockquote: react.ForwardRefExoticComponent<BlockquoteProps & react.RefAttributes<HTMLQuoteElement>>;
1189
+ interface InlineCodeProps extends Omit<HTMLAttributes<HTMLElement>, "color">, SketchProps {
1190
+ fill?: string;
1191
+ animate?: boolean;
1192
+ }
1193
+ declare const InlineCode: react.ForwardRefExoticComponent<InlineCodeProps & react.RefAttributes<HTMLElement>>;
1194
+ interface HighlightProps extends Omit<HTMLAttributes<HTMLSpanElement>, "color">, SketchProps {
1195
+ fill?: string;
1196
+ animate?: boolean;
1197
+ }
1198
+ declare const Highlight: react.ForwardRefExoticComponent<HighlightProps & react.RefAttributes<HTMLSpanElement>>;
1199
+
1200
+ interface SidebarContextValue {
1201
+ open: boolean;
1202
+ setOpen: (open: boolean) => void;
1203
+ collapsed: boolean;
1204
+ toggleCollapsed: () => void;
1205
+ ink: string;
1206
+ paper: string;
1207
+ sketch: SketchProps;
1208
+ }
1209
+ declare function useSidebar(): SidebarContextValue;
1210
+ interface SidebarProviderProps extends SketchProps {
1211
+ defaultOpen?: boolean;
1212
+ open?: boolean;
1213
+ onOpenChange?: (open: boolean) => void;
1214
+ defaultCollapsed?: boolean;
1215
+ children?: ReactNode;
1216
+ }
1217
+ declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange, defaultCollapsed, children, roughness, seed, sketchColor, bowing, strokeWidth, }: SidebarProviderProps): react.JSX.Element;
1218
+ interface SidebarProps extends HTMLAttributes<HTMLElement> {
1219
+ side?: "left" | "right";
1220
+ fill?: string;
1221
+ }
1222
+ declare const Sidebar: react.ForwardRefExoticComponent<SidebarProps & react.RefAttributes<HTMLElement>>;
1223
+ declare function SidebarHeader({ className, style, children, ...rest }: HTMLAttributes<HTMLDivElement>): react.JSX.Element;
1224
+ declare function SidebarContent({ className, style, children, ...rest }: HTMLAttributes<HTMLDivElement>): react.JSX.Element;
1225
+ declare function SidebarFooter({ className, style, children, ...rest }: HTMLAttributes<HTMLDivElement>): react.JSX.Element;
1226
+ declare function SidebarGroup({ className, style, children, title, ...rest }: HTMLAttributes<HTMLDivElement> & {
1227
+ title?: ReactNode;
1228
+ }): react.JSX.Element;
1229
+ interface SidebarItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
1230
+ active?: boolean;
1231
+ }
1232
+ declare const SidebarItem: react.ForwardRefExoticComponent<SidebarItemProps & react.RefAttributes<HTMLButtonElement>>;
1233
+ declare function SidebarTrigger({ className, style, children, ...rest }: ButtonHTMLAttributes<HTMLButtonElement>): react.JSX.Element;
1234
+ interface SidebarLayoutProps extends HTMLAttributes<HTMLDivElement> {
1235
+ children?: ReactNode;
1236
+ }
1237
+ declare function SidebarLayout({ className, style, children, ...rest }: SidebarLayoutProps): react.JSX.Element;
1238
+ declare function SidebarInset({ className, style, children, ...rest }: HTMLAttributes<HTMLDivElement>): react.JSX.Element;
1239
+
1240
+ type CarouselApi = UseEmblaCarouselType[1];
1241
+ interface CarouselContextValue {
1242
+ emblaRef: ReturnType<typeof useEmblaCarousel>[0];
1243
+ api: CarouselApi;
1244
+ scrollPrev: () => void;
1245
+ scrollNext: () => void;
1246
+ canScrollPrev: boolean;
1247
+ canScrollNext: boolean;
1248
+ orientation: "horizontal" | "vertical";
1249
+ sketch: SketchProps & {
1250
+ animate?: boolean;
1251
+ paper: string;
1252
+ ink: string;
1253
+ };
1254
+ bordered: boolean;
1255
+ }
1256
+ declare function useCarousel(): CarouselContextValue;
1257
+ type CarouselOptions = Parameters<typeof useEmblaCarousel>[0];
1258
+ interface CarouselProps extends SketchProps {
1259
+ opts?: CarouselOptions;
1260
+ plugins?: Parameters<typeof useEmblaCarousel>[1];
1261
+ orientation?: "horizontal" | "vertical";
1262
+ bordered?: boolean;
1263
+ className?: string;
1264
+ style?: CSSProperties;
1265
+ children?: ReactNode;
1266
+ setApi?: (api: CarouselApi) => void;
1267
+ fill?: string;
1268
+ animate?: boolean;
1269
+ }
1270
+ declare function Carousel({ opts, plugins, orientation, bordered, className, style, children, setApi, fill, roughness, seed, sketchColor, bowing, strokeWidth, fillStyle, hachureGap, hachureAngle, fillWeight, animate, }: CarouselProps): react.JSX.Element;
1271
+ interface CarouselContentProps extends HTMLAttributes<HTMLDivElement> {
1272
+ }
1273
+ declare const CarouselContent: react.ForwardRefExoticComponent<CarouselContentProps & react.RefAttributes<HTMLDivElement>>;
1274
+ interface CarouselItemProps extends HTMLAttributes<HTMLDivElement> {
1275
+ }
1276
+ declare const CarouselItem: react.ForwardRefExoticComponent<CarouselItemProps & react.RefAttributes<HTMLDivElement>>;
1277
+ interface CarouselArrowProps extends ButtonHTMLAttributes<HTMLButtonElement> {
1278
+ }
1279
+ declare const CarouselPrevious: react.ForwardRefExoticComponent<CarouselArrowProps & react.RefAttributes<HTMLButtonElement>>;
1280
+ declare const CarouselNext: react.ForwardRefExoticComponent<CarouselArrowProps & react.RefAttributes<HTMLButtonElement>>;
1281
+
1282
+ export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, type AlertDialogDescriptionProps, AlertDialogFooter, type AlertDialogFooterProps, AlertDialogHeader, type AlertDialogHeaderProps, AlertDialogOverlay, AlertDialogPortal, type AlertDialogProps, AlertDialogTitle, type AlertDialogTitleProps, AlertDialogTrigger, type AlertProps, type AlertVariant, AspectRatio, type AspectRatioProps, Avatar, type AvatarProps, type AvatarShape, type AvatarStatus, Badge, type BadgeProps, type BadgeVariant, Blockquote, type BlockquoteProps, Breadcrumb, BreadcrumbItem, type BreadcrumbItemProps, type BreadcrumbProps, type BreadcrumbSeparator, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardProps, Carousel, type CarouselArrowProps, CarouselContent, type CarouselContentProps, CarouselItem, type CarouselItemProps, CarouselNext, type CarouselOptions, CarouselPrevious, type CarouselProps, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, type CollapsibleContentProps, type CollapsibleProps, CollapsibleTrigger, type CollapsibleTriggerProps, Combobox, type ComboboxProps, Command, CommandEmpty, type CommandEmptyProps, CommandGroup, type CommandGroupProps, CommandInput, type CommandInputProps, CommandItem, type CommandItemProps, CommandList, type CommandListProps, type CommandProps, CommandSeparator, type CommandSeparatorProps, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, type ContextMenuCheckboxItemProps, ContextMenuContent, type ContextMenuContentProps, ContextMenuGroup, ContextMenuItem, type ContextMenuItemProps, ContextMenuLabel, type ContextMenuLabelProps, type ContextMenuProps, ContextMenuRadioGroup, ContextMenuRadioItem, type ContextMenuRadioItemProps, ContextMenuSeparator, type ContextMenuSeparatorProps, ContextMenuSub, ContextMenuTrigger, DARK_SKETCH_COLORS, DEFAULT_BOWING, DEFAULT_DARK_CARD_BG, DEFAULT_DARK_INK, DEFAULT_DARK_PAPER, DEFAULT_INK, DEFAULT_PAPER, DEFAULT_ROUGHNESS, DEFAULT_STROKE_WIDTH, DRAW_IN_ALERT_MS, DRAW_IN_DURATION_MS, DRAW_IN_MARK_MS, DRAW_IN_TOOLTIP_MS, Dialog, DialogClose, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogOverlay, DialogPortal, type DialogProps, DialogTitle, type DialogTitleProps, DialogTrigger, Divider, type DividerOrientation, type DividerProps, type DoodleUIContextValue, DoodleUIProvider, type DoodleUIProviderProps, type DoodleUITheme, Drawer, DrawerClose, DrawerContent, type DrawerContentProps, DrawerDescription, DrawerFooter, DrawerHandle, DrawerHeader, type DrawerProps, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuRadioGroup, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuSub, DropdownMenuTrigger, Empty, EmptyAction, EmptyDescription, EmptyMedia, type EmptyProps, EmptyTitle, Field, FieldControl, type FieldControlProps, FieldDescription, FieldError, FieldLabel, type FieldLabelProps, type FieldProps, type FillStyle, Heading, type HeadingProps, Highlight, type HighlightProps, HoverCard, HoverCardArrow, HoverCardContent, type HoverCardContentProps, type HoverCardProps, HoverCardTrigger, InlineCode, type InlineCodeProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, InputGroupInput, type InputGroupInputProps, type InputGroupProps, InputOTP, InputOTPGroup, type InputOTPGroupProps, type InputOTPProps, InputOTPSeparator, type InputOTPSeparatorProps, InputOTPSlot, type InputOTPSlotProps, type InputProps, Kbd, type KbdProps, Label, type LabelProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarItem, MenubarLabel, MenubarMenu, type MenubarProps, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Modal, ModalClose, ModalDescription, type ModalProps, ModalRoot, ModalTitle, ModalTrigger, NativeSelect, type NativeSelectOption, type NativeSelectProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuItemLink, type NavigationMenuItemLinkProps, NavigationMenuLink, NavigationMenuList, type NavigationMenuProps, NavigationMenuTrigger, NavigationMenuViewport, Pagination, type PaginationProps, Paragraph, Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, ResizableHandle, type ResizableHandleProps, ResizablePanel, ResizablePanelGroup, type ResizablePanelGroupProps, type RoughShape, RoughSvg, type RoughSvgProps, SKETCH_COLORS, ScrollArea, ScrollAreaCorner, type ScrollAreaProps, ScrollAreaViewport, ScrollBar, type ScrollBarProps, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemProps, SelectLabel, type SelectOption, type SelectProps, SelectRoot, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, type SheetProps, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarHeader, SidebarInset, SidebarItem, type SidebarItemProps, SidebarLayout, type SidebarLayoutProps, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarTrigger, Skeleton, type SkeletonProps, type SkeletonVariant, SketchBox, type SketchBoxProps, type SketchProps, type SketchSeedContextValue, SketchSeedProvider, type SketchSeedProviderProps, type SketchTheme, Slider, type SliderProps, type SliderThumbShape, Spinner, type SpinnerProps, type SpinnerSize, Stepper, type StepperOrientation, type StepperProps, type StepperStep, Switch, type SwitchProps, TABLE_STAGGER_MS, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, TableCell, type TableCellProps, TableHead, TableHeaderCell, type TableHeaderCellProps, type TableProps, TableRow, Tabs, type TabsProps, Text, type TextProps, Textarea, type TextareaProps, Toast, ToastAction, ToastClose, ToastDescription, type ToastPosition, type ToastProps, ToastProvider, type ToastProviderProps, ToastRoot, ToastTitle, type ToastVariant, ToastViewport, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, type ToggleSize, Tooltip, type TooltipProps, TooltipProvider, deriveSeed, toRoughOptions, useAnimate, useCarousel, useDoodleUI, useDrawIn, useResolvedSeed, useSidebar, useSketchSeed, useSketchTheme };