@madebywild/wvk 0.0.1 → 0.1.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.ts CHANGED
@@ -1,17 +1,38 @@
1
1
  import * as class_variance_authority_types from 'class-variance-authority/types';
2
2
  import * as React from 'react';
3
3
  import { SVGProps } from 'react';
4
+ import { HTMLMotionProps } from 'framer-motion';
5
+ export { AnimatePresence, Variants, motion } from 'framer-motion';
4
6
  import { VariantProps } from 'class-variance-authority';
7
+ import { useRender } from '@base-ui-components/react/use-render';
8
+ import * as _base_ui_components_react_checkbox from '@base-ui-components/react/checkbox';
5
9
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
10
  import { W as WireframeIcons } from './index-CQDaCDUc.js';
11
+ import * as _base_ui_components_react_menu from '@base-ui-components/react/menu';
12
+ import { Menu as Menu$1 } from '@base-ui-components/react/menu';
13
+ import * as _base_ui_components_react_meter from '@base-ui-components/react/meter';
14
+ import * as _base_ui_components_react_progress from '@base-ui-components/react/progress';
15
+ import * as _base_ui_components_react_radio from '@base-ui-components/react/radio';
16
+ import * as _base_ui_components_react_radio_group from '@base-ui-components/react/radio-group';
17
+ import * as _base_ui_components_react_toggle from '@base-ui-components/react/toggle';
18
+ import { Toggle } from '@base-ui-components/react/toggle';
19
+ import * as _base_ui_components_react_select from '@base-ui-components/react/select';
20
+ import * as _base_ui_components_react_tabs from '@base-ui-components/react/tabs';
21
+ import { Tabs as Tabs$1 } from '@base-ui-components/react/tabs';
22
+ import * as _base_ui_components_react_switch from '@base-ui-components/react/switch';
23
+ import * as _base_ui_components_react_tooltip from '@base-ui-components/react/tooltip';
24
+ import { Tooltip as Tooltip$1 } from '@base-ui-components/react/tooltip';
7
25
  import { ClassValue } from 'clsx';
8
26
 
9
- declare const Alert: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & VariantProps<(props?: ({
27
+ declare const alertVariants: (props?: ({
10
28
  variant?: "info" | "warning" | "error" | "success" | null | undefined;
11
- } & class_variance_authority_types.ClassProp) | undefined) => string> & {
29
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
30
+ type AlertProps = Omit<HTMLMotionProps<"div">, "children"> & VariantProps<typeof alertVariants> & {
12
31
  title?: string;
13
32
  icon?: React.ReactNode;
14
- } & React.RefAttributes<HTMLDivElement>>;
33
+ children?: React.ReactNode;
34
+ };
35
+ declare const Alert: React.ForwardRefExoticComponent<Omit<AlertProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
15
36
 
16
37
  type BottomTabBarProps = {
17
38
  value: string;
@@ -42,31 +63,36 @@ declare const BottomTabBarItem: React.ForwardRefExoticComponent<Omit<Omit<React.
42
63
  declare const buttonVariants: (props?: ({
43
64
  variant?: "primary" | "secondary" | "primaryLight" | "primaryOutline" | "secondaryOutline" | "ghost" | null | undefined;
44
65
  size?: "sm" | "md" | "lg" | null | undefined;
66
+ iconOnly?: boolean | null | undefined;
45
67
  } & class_variance_authority_types.ClassProp) | undefined) => string;
46
- declare const Button: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
47
- variant?: "primary" | "secondary" | "primaryLight" | "primaryOutline" | "secondaryOutline" | "ghost" | null | undefined;
48
- size?: "sm" | "md" | "lg" | null | undefined;
49
- } & class_variance_authority_types.ClassProp) | undefined) => string> & {
68
+ type ButtonBaseProps = React.ComponentPropsWithoutRef<"button"> & Omit<VariantProps<typeof buttonVariants>, "iconOnly"> & {
50
69
  /**
51
- * When true, renders the child element as the button (via Radix Slot).
52
- * `leadingIcon` and `trailingIcon` are ignored when `asChild` is set
53
- * the child is rendered as-is without icon wrappers.
70
+ * Replace the rendered element with a custom one (e.g. an `<a>` from a router).
71
+ * Mirrors Base UI's `render` prop pass either a React element to clone, or a
72
+ * callback `(props, state) => ReactElement`. `leadingIcon` and `trailingIcon`
73
+ * are ignored when `render` is provided so the consumer keeps full control.
54
74
  */
55
- asChild?: boolean;
56
- /** Optional icon before the label (e.g. from `../../icons`). Ignored when `asChild` is true. */
75
+ render?: useRender.RenderProp;
76
+ /** Optional icon before the label (e.g. from `../../icons`). Ignored when `render` is provided or `iconOnly` is true. */
57
77
  leadingIcon?: React.ReactNode;
58
- /** Optional icon after the label. Ignored when `asChild` is true. */
78
+ /** Optional icon after the label. Ignored when `render` is provided or `iconOnly` is true. */
59
79
  trailingIcon?: React.ReactNode;
60
- } & React.RefAttributes<HTMLButtonElement>>;
80
+ };
81
+ type ButtonProps = (ButtonBaseProps & {
82
+ /** Render as a square icon-only button. `children` should be a single icon and `aria-label` is required for accessibility. */
83
+ iconOnly: true;
84
+ "aria-label": string;
85
+ }) | (ButtonBaseProps & {
86
+ iconOnly?: false;
87
+ });
88
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
61
89
 
62
90
  declare const checkboxFrameVariants: (props?: ({
63
91
  size?: "sm" | "md" | "lg" | null | undefined;
64
92
  } & class_variance_authority_types.ClassProp) | undefined) => string;
65
- declare const Checkbox: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "onChange" | "value" | "type"> & VariantProps<(props?: ({
93
+ declare const Checkbox: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_checkbox.CheckboxRootProps & React.RefAttributes<HTMLElement>, "ref">, "render" | "onCheckedChange"> & VariantProps<(props?: ({
66
94
  size?: "sm" | "md" | "lg" | null | undefined;
67
95
  } & class_variance_authority_types.ClassProp) | undefined) => string> & {
68
- checked?: boolean;
69
- indeterminate?: boolean;
70
96
  onCheckedChange?: (checked: boolean) => void;
71
97
  } & React.RefAttributes<HTMLButtonElement>>;
72
98
 
@@ -123,7 +149,7 @@ declare function FieldGroup({ fieldLabel, label, labelRequired, labelOptional, l
123
149
 
124
150
  type TagLeadingIconName = keyof typeof WireframeIcons;
125
151
  /** Sorted export names from `../icons` for pickers and docs. */
126
- declare const TAG_LEADING_ICON_NAMES: ("Accessibility" | "Accessibility2" | "Ai" | "Android" | "Apple" | "ArrowBack" | "ArrowDown" | "ArrowForward" | "ArrowLeft" | "ArrowLeftRight" | "ArrowRedo" | "ArrowRight" | "ArrowUndo" | "ArrowUp" | "ArrowUpDown" | "ArrowUpLeft" | "ArrowUpRight" | "Atom" | "Attachment" | "BarChart" | "Battery" | "Bell" | "Book" | "Bookmark" | "BookmarkActive" | "Calendar" | "Camera" | "CaretDown" | "CaretLeft" | "CaretRight" | "CaretUp" | "CaretUpDown" | "Cart" | "Cell" | "ChatBubble" | "Checkmark" | "ChevronDown" | "ChevronLeft" | "ChevronRight" | "ChevronUp" | "ChevronUpDown" | "Clipboard" | "Clock" | "Close" | "Cloud" | "CloudySun" | "Code" | "Comparison01" | "Comparison02" | "Compass" | "Create" | "CreditCard" | "CurrencyDollarSign" | "CurrencyEuroSign" | "Database" | "Desktop" | "Download" | "DragIndicator" | "Dribbble" | "Edit" | "Error" | "Execute" | "Exit" | "Expand" | "Eye" | "EyeActive" | "Facebook" | "File" | "Filter01" | "Filter02" | "Flag" | "Flash" | "FloatingWheel" | "Folder" | "Food" | "Globe" | "Google" | "Gps" | "Grid" | "Hashtag" | "Headphones" | "Heart" | "HeartActive" | "Home" | "Hourglass" | "Image" | "Inbox" | "Info" | "Instagram" | "Interface" | "InterfaceFilled" | "Language" | "Layers" | "LayoutAlign1Left" | "LayoutAlign2CenterHorizontal" | "LayoutAlign3Right" | "LayoutAlign4Top" | "LayoutAlign5CenterVertical" | "LayoutAlign6Bottom" | "LetterStamp" | "LightBulb" | "Link" | "Linkedin" | "List" | "Loading" | "Lock" | "LockOpen" | "MagicWand" | "MagnifyingGlass" | "Mail" | "Map" | "Maximize1" | "Maximize2" | "Menu" | "Minimize" | "Minus" | "Mobile" | "Mobile2" | "Mobile3" | "Monitoring" | "Moon" | "MoreHorizontal" | "MoreVertical" | "Music" | "Package" | "Pause" | "Phone" | "PieChart" | "Pin" | "Pinterest" | "Play" | "Plus" | "Puzzle" | "Question" | "Rain" | "Receipt" | "Refresh" | "Reply" | "Robot" | "Rocket" | "ScanCode" | "Settings" | "Share" | "Shuffle" | "SmileyHappy" | "SmileyNeutral" | "SmileySad" | "Soundcloud" | "Spotify" | "Star" | "StarActive" | "Stop" | "Stopwatch" | "Sun" | "Tag" | "Target" | "TextAlignCenter" | "TextAlignLeft" | "TextAlignRight" | "ThumbsDown" | "ThumbsUp" | "Tiktok" | "TrashBin" | "Twitter" | "User" | "Video" | "VideoCamera" | "Voice" | "VolumeDown" | "VolumeOff" | "VolumeUp" | "Warning" | "Watch" | "Wayfinding" | "Wc" | "Whatsapp" | "Wifi" | "Window" | "WorkBag" | "XTwitter" | "Youtube" | "ZoomMinus" | "ZoomPlus")[];
152
+ declare const TAG_LEADING_ICON_NAMES: ("Menu" | "Window" | "Accessibility" | "Accessibility2" | "Ai" | "Android" | "Apple" | "ArrowBack" | "ArrowDown" | "ArrowForward" | "ArrowLeft" | "ArrowLeftRight" | "ArrowRedo" | "ArrowRight" | "ArrowUndo" | "ArrowUp" | "ArrowUpDown" | "ArrowUpLeft" | "ArrowUpRight" | "Atom" | "Attachment" | "BarChart" | "Battery" | "Bell" | "Book" | "Bookmark" | "BookmarkActive" | "Calendar" | "Camera" | "CaretDown" | "CaretLeft" | "CaretRight" | "CaretUp" | "CaretUpDown" | "Cart" | "Cell" | "ChatBubble" | "Checkmark" | "ChevronDown" | "ChevronLeft" | "ChevronRight" | "ChevronUp" | "ChevronUpDown" | "Clipboard" | "Clock" | "Close" | "Cloud" | "CloudySun" | "Code" | "Comparison01" | "Comparison02" | "Compass" | "Create" | "CreditCard" | "CurrencyDollarSign" | "CurrencyEuroSign" | "Database" | "Desktop" | "Download" | "DragIndicator" | "Dribbble" | "Edit" | "Error" | "Execute" | "Exit" | "Expand" | "Eye" | "EyeActive" | "Facebook" | "File" | "Filter01" | "Filter02" | "Flag" | "Flash" | "FloatingWheel" | "Folder" | "Food" | "Globe" | "Google" | "Gps" | "Grid" | "Hashtag" | "Headphones" | "Heart" | "HeartActive" | "Home" | "Hourglass" | "Image" | "Inbox" | "Info" | "Instagram" | "Interface" | "InterfaceFilled" | "Language" | "Layers" | "LayoutAlign1Left" | "LayoutAlign2CenterHorizontal" | "LayoutAlign3Right" | "LayoutAlign4Top" | "LayoutAlign5CenterVertical" | "LayoutAlign6Bottom" | "LetterStamp" | "LightBulb" | "Link" | "Linkedin" | "List" | "Loading" | "Lock" | "LockOpen" | "MagicWand" | "MagnifyingGlass" | "Mail" | "Map" | "Maximize1" | "Maximize2" | "Minimize" | "Minus" | "Mobile" | "Mobile2" | "Mobile3" | "Monitoring" | "Moon" | "MoreHorizontal" | "MoreVertical" | "Music" | "Package" | "Pause" | "Phone" | "PieChart" | "Pin" | "Pinterest" | "Play" | "Plus" | "Puzzle" | "Question" | "Rain" | "Receipt" | "Refresh" | "Reply" | "Robot" | "Rocket" | "ScanCode" | "Settings" | "Share" | "Shuffle" | "SmileyHappy" | "SmileyNeutral" | "SmileySad" | "Soundcloud" | "Spotify" | "Star" | "StarActive" | "Stop" | "Stopwatch" | "Sun" | "Tag" | "Target" | "TextAlignCenter" | "TextAlignLeft" | "TextAlignRight" | "ThumbsDown" | "ThumbsUp" | "Tiktok" | "TrashBin" | "Twitter" | "User" | "Video" | "VideoCamera" | "Voice" | "VolumeDown" | "VolumeOff" | "VolumeUp" | "Warning" | "Watch" | "Wayfinding" | "Wc" | "Whatsapp" | "Wifi" | "WorkBag" | "XTwitter" | "Youtube" | "ZoomMinus" | "ZoomPlus")[];
127
153
  type TagLeadingIconProps = {
128
154
  name: TagLeadingIconName;
129
155
  } & SVGProps<SVGSVGElement>;
@@ -162,7 +188,14 @@ declare const linkVariants: (props?: ({
162
188
  declare const Link: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & VariantProps<(props?: ({
163
189
  theme?: "dark" | "light" | "medium" | null | undefined;
164
190
  size?: "body" | "caption" | null | undefined;
165
- } & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLAnchorElement>>;
191
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
192
+ /**
193
+ * Whether the underline is rendered by default.
194
+ * - `false` (default): underline animates in on hover.
195
+ * - `true`: underline is shown initially and animates out on hover.
196
+ */
197
+ underlined?: boolean;
198
+ } & React.RefAttributes<HTMLAnchorElement>>;
166
199
 
167
200
  declare const listItemVariants: (props?: ({
168
201
  size?: "sm" | "md" | "lg" | null | undefined;
@@ -208,6 +241,36 @@ interface VideoControlsProps extends React.HTMLAttributes<HTMLDivElement> {
208
241
  }
209
242
  declare const VideoControls: React.ForwardRefExoticComponent<VideoControlsProps & React.RefAttributes<HTMLDivElement>>;
210
243
 
244
+ /**
245
+ * Compound menu built on Base UI's `Menu` primitives. Use this when you need a popover-style
246
+ * dropdown with rich item content (icons, dividers, submenus) — for a real form `<select>`,
247
+ * use {@link Select} instead.
248
+ *
249
+ * Example:
250
+ * ```tsx
251
+ * <Menu>
252
+ * <MenuTrigger render={<Button variant="ghost" />}>Actions</MenuTrigger>
253
+ * <MenuPopup>
254
+ * <MenuItem onClick={onCopy}>Copy</MenuItem>
255
+ * <MenuItem onClick={onDelete}>Delete</MenuItem>
256
+ * </MenuPopup>
257
+ * </Menu>
258
+ * ```
259
+ */
260
+ declare const Menu: typeof Menu$1.Root;
261
+ declare const MenuTrigger: Menu$1.Trigger;
262
+ /** Combines Portal + Positioner + Popup with kit styling defaults. */
263
+ declare const MenuPopup: React.ForwardRefExoticComponent<Omit<_base_ui_components_react_menu.MenuPopupProps & React.RefAttributes<Element>, "ref"> & {
264
+ /** Side (relative to the trigger) where the popup is placed. */
265
+ side?: "top" | "right" | "bottom" | "left";
266
+ /** Pixel gap between trigger and popup. */
267
+ sideOffset?: number;
268
+ } & React.RefAttributes<HTMLDivElement>>;
269
+ declare const MenuItem: React.ForwardRefExoticComponent<Omit<_base_ui_components_react_menu.MenuItemProps & React.RefAttributes<Element>, "ref"> & React.RefAttributes<HTMLDivElement>>;
270
+ declare const MenuSeparator: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
271
+ declare const MenuGroup: React.ForwardRefExoticComponent<_base_ui_components_react_menu.MenuGroupProps & React.RefAttributes<Element>>;
272
+ declare const MenuGroupLabel: React.ForwardRefExoticComponent<_base_ui_components_react_menu.MenuGroupLabelProps & React.RefAttributes<HTMLDivElement>>;
273
+
211
274
  declare const Pagination: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "role"> & VariantProps<(props?: ({
212
275
  size?: "sm" | "md" | "lg" | null | undefined;
213
276
  } & class_variance_authority_types.ClassProp) | undefined) => string> & {
@@ -216,7 +279,27 @@ declare const Pagination: React.ForwardRefExoticComponent<Omit<Omit<React.Detail
216
279
  onPageChange?: (page: number) => void;
217
280
  } & React.RefAttributes<HTMLDivElement>>;
218
281
 
219
- declare const ProgressBar: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
282
+ /**
283
+ * Determinate (or indeterminate) task progress bar — built on Base UI Progress.
284
+ * Use this for "loading", "uploading", or any *task* whose completion you can describe.
285
+ * For showing a measurement within a known range (battery, disk usage, score), use {@link Meter}.
286
+ */
287
+ declare const ProgressBar: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_progress.ProgressRootProps & React.RefAttributes<HTMLDivElement>, "ref">, "value"> & {
288
+ /**
289
+ * Progress value 0–100. Pass `null` for indeterminate (animated, unknown duration).
290
+ * @default 0
291
+ */
292
+ value?: number | null;
293
+ } & React.RefAttributes<HTMLDivElement>>;
294
+ /**
295
+ * Static measurement within a known range — built on Base UI Meter.
296
+ * Use for battery level, disk usage, score, etc. For task progress, use {@link ProgressBar}.
297
+ */
298
+ declare const Meter: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_meter.MeterRootProps & React.RefAttributes<HTMLDivElement>, "ref">, "value"> & {
299
+ /**
300
+ * Current value within `[min, max]`.
301
+ * @default 0
302
+ */
220
303
  value?: number;
221
304
  } & React.RefAttributes<HTMLDivElement>>;
222
305
 
@@ -231,6 +314,12 @@ declare const Radio: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTM
231
314
  /** Mirrored to `data-value` for grouping/lookup outside the component. */
232
315
  value?: string;
233
316
  } & React.RefAttributes<HTMLButtonElement>>;
317
+ declare const RadioGroup: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_radio_group.RadioGroupProps & React.RefAttributes<HTMLDivElement>, "ref">, "onValueChange"> & {
318
+ onValueChange?: (value: string) => void;
319
+ } & React.RefAttributes<HTMLDivElement>>;
320
+ declare const RadioGroupItem: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_radio.RadioRootProps & React.RefAttributes<HTMLElement>, "ref">, "render"> & VariantProps<(props?: ({
321
+ size?: "sm" | "md" | "lg" | null | undefined;
322
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLButtonElement>>;
234
323
 
235
324
  declare const controlVariants: (props?: ({
236
325
  size?: "sm" | "md" | "lg" | null | undefined;
@@ -245,7 +334,7 @@ type SegmentedControlProps = Omit<VariantProps<typeof controlVariants>, "widthMo
245
334
  /** Preferred change handler. Called whenever the selected segment changes. */
246
335
  onValueChange?: (value: string) => void;
247
336
  className?: string;
248
- /** Passed to the root element (e.g. for `role="tablist"` labeling). */
337
+ /** Passed to the root element (e.g. for labelling the toggle group). */
249
338
  "aria-label"?: string;
250
339
  children: React.ReactNode;
251
340
  };
@@ -261,11 +350,11 @@ declare const SegmentedControl: React.ForwardRefExoticComponent<Omit<VariantProp
261
350
  /** Preferred change handler. Called whenever the selected segment changes. */
262
351
  onValueChange?: (value: string) => void;
263
352
  className?: string;
264
- /** Passed to the root element (e.g. for `role="tablist"` labeling). */
353
+ /** Passed to the root element (e.g. for labelling the toggle group). */
265
354
  "aria-label"?: string;
266
355
  children: React.ReactNode;
267
356
  } & React.RefAttributes<HTMLDivElement>>;
268
- type SegmentedControlItemProps = Omit<React.ComponentPropsWithoutRef<"button">, "children"> & {
357
+ type SegmentedControlItemProps = Omit<React.ComponentPropsWithoutRef<typeof Toggle>, "children" | "value"> & {
269
358
  value: string;
270
359
  /** Visible text; omit for icon-only segments (do not pass an empty string). */
271
360
  label?: string;
@@ -273,7 +362,7 @@ type SegmentedControlItemProps = Omit<React.ComponentPropsWithoutRef<"button">,
273
362
  icon?: React.ReactNode;
274
363
  iconPlacement?: "leading" | "trailing";
275
364
  };
276
- declare const SegmentedControlItem: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & {
365
+ declare const SegmentedControlItem: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_toggle.ToggleProps & React.RefAttributes<HTMLButtonElement>, "ref">, "children" | "value"> & {
277
366
  value: string;
278
367
  /** Visible text; omit for icon-only segments (do not pass an empty string). */
279
368
  label?: string;
@@ -282,7 +371,7 @@ declare const SegmentedControlItem: React.ForwardRefExoticComponent<Omit<Omit<Re
282
371
  iconPlacement?: "leading" | "trailing";
283
372
  } & React.RefAttributes<HTMLButtonElement>>;
284
373
  /** Alias for {@link SegmentedControlItem} (same pattern as `TabsTrigger`). */
285
- declare const SegmentedControlTrigger: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & {
374
+ declare const SegmentedControlTrigger: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_toggle.ToggleProps & React.RefAttributes<HTMLButtonElement>, "ref">, "children" | "value"> & {
286
375
  value: string;
287
376
  /** Visible text; omit for icon-only segments (do not pass an empty string). */
288
377
  label?: string;
@@ -293,24 +382,56 @@ declare const SegmentedControlTrigger: React.ForwardRefExoticComponent<Omit<Omit
293
382
 
294
383
  /**
295
384
  * Idle stroke via box-shadow (no layout shift). Active/focused = 2px input focus ring.
296
- * Native <select> focus is mirrored with onFocus/onBlur for reliable shell styling.
297
- *
298
- * The <select> is position:absolute inset-0 so the entire shell is clickable — padding
299
- * lives on the select, not the shell, otherwise clicks on padded areas hit the div.
385
+ * Mirrors {@link TextInput} so Select sits on the same shell baseline.
300
386
  */
301
387
  declare const selectShellVariants: (props?: ({
302
388
  inputStyle?: "border" | "solid" | null | undefined;
303
389
  size?: "sm" | "md" | "lg" | null | undefined;
304
390
  } & class_variance_authority_types.ClassProp) | undefined) => string;
305
- declare const selectFieldVariants: (props?: ({
306
- size?: "sm" | "md" | "lg" | null | undefined;
307
- } & class_variance_authority_types.ClassProp) | undefined) => string;
308
- declare const Select: React.ForwardRefExoticComponent<Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "size"> & VariantProps<(props?: ({
309
- inputStyle?: "border" | "solid" | null | undefined;
310
- size?: "sm" | "md" | "lg" | null | undefined;
311
- } & class_variance_authority_types.ClassProp) | undefined) => string> & FieldLabelSlotProps & {
391
+ type SelectBaseProps = VariantProps<typeof selectShellVariants> & FieldLabelSlotProps & {
312
392
  placeholder?: string;
313
- } & React.RefAttributes<HTMLSelectElement>>;
393
+ /** Custom class for the trigger (the visible select shell). */
394
+ className?: string;
395
+ /** Aria-label for the trigger when there is no visible label. */
396
+ "aria-label"?: string;
397
+ /** Children should be `<SelectItem>` (and optional `<SelectGroup>` / `<SelectSeparator>`). */
398
+ children?: React.ReactNode;
399
+ disabled?: boolean;
400
+ id?: string;
401
+ /** Identifies the field when a form is submitted. */
402
+ name?: string;
403
+ /** Whether the user must choose a value. */
404
+ required?: boolean;
405
+ /** Whether the popup is open (controlled). */
406
+ open?: boolean;
407
+ defaultOpen?: boolean;
408
+ onOpenChange?: (open: boolean) => void;
409
+ };
410
+ type SelectSingleProps = SelectBaseProps & {
411
+ multiple?: false;
412
+ value?: string;
413
+ defaultValue?: string;
414
+ onValueChange?: (value: string) => void;
415
+ };
416
+ type SelectMultipleProps = SelectBaseProps & {
417
+ multiple: true;
418
+ value?: string[];
419
+ defaultValue?: string[];
420
+ onValueChange?: (value: string[]) => void;
421
+ };
422
+ type SelectProps = SelectSingleProps | SelectMultipleProps;
423
+ declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLButtonElement>>;
424
+ declare const SelectItem: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_select.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref">, "children"> & {
425
+ /** Item label / content (visible text). */
426
+ children?: React.ReactNode;
427
+ /** Optional glyph rendered before the label. */
428
+ leadingIcon?: React.ReactNode;
429
+ /** Optional glyph rendered after the label (sits before the selection indicator in single-select mode). */
430
+ trailingIcon?: React.ReactNode;
431
+ } & React.RefAttributes<HTMLDivElement>>;
432
+ declare const SelectGroup: React.ForwardRefExoticComponent<_base_ui_components_react_select.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
433
+ declare const SelectGroupLabel: React.ForwardRefExoticComponent<Omit<_base_ui_components_react_select.SelectGroupLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
434
+ declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
314
435
 
315
436
  type SliderValue = number | [number, number];
316
437
  declare const Slider: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "defaultValue" | "onChange"> & {
@@ -318,6 +439,7 @@ declare const Slider: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHT
318
439
  onChange?: (value: SliderValue) => void;
319
440
  min?: number;
320
441
  max?: number;
442
+ step?: number;
321
443
  disabled?: boolean;
322
444
  } & React.RefAttributes<HTMLDivElement>>;
323
445
 
@@ -345,23 +467,21 @@ declare const StarRating: React.ForwardRefExoticComponent<StarRatingProps & Reac
345
467
  declare const tabListVariants: (props?: ({
346
468
  size?: "sm" | "md" | "lg" | null | undefined;
347
469
  } & class_variance_authority_types.ClassProp) | undefined) => string;
348
- type TabsProps = {
470
+ type TabsProps = Omit<React.ComponentPropsWithoutRef<typeof Tabs$1.Root>, "value" | "defaultValue" | "onValueChange"> & {
349
471
  value?: string;
350
472
  defaultValue?: string;
351
473
  onValueChange?: (value: string) => void;
352
474
  children: React.ReactNode;
353
- className?: string;
354
475
  };
355
- declare function Tabs({ value: valueProp, defaultValue, onValueChange, children, className, }: TabsProps): react_jsx_runtime.JSX.Element;
356
- declare const TabList: React.ForwardRefExoticComponent<VariantProps<(props?: ({
476
+ declare function Tabs({ value, defaultValue, onValueChange, className, children, ...rest }: TabsProps): react_jsx_runtime.JSX.Element;
477
+ declare const TabList: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_tabs.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref">, "children"> & VariantProps<(props?: ({
357
478
  size?: "sm" | "md" | "lg" | null | undefined;
358
479
  } & class_variance_authority_types.ClassProp) | undefined) => string> & {
359
480
  /** When true, each tab sizes to its label/icon; the list row remains full width. */
360
481
  autoWidth?: boolean;
361
482
  children: React.ReactNode;
362
- className?: string;
363
483
  } & React.RefAttributes<HTMLDivElement>>;
364
- type TabProps = Omit<React.ComponentPropsWithoutRef<"button">, "children"> & {
484
+ type TabProps = Omit<React.ComponentPropsWithoutRef<typeof Tabs$1.Tab>, "children" | "value"> & {
365
485
  /** Segment id; required when using controlled `Tabs`. */
366
486
  value?: string;
367
487
  /** Optional; use `children` for text if you prefer. */
@@ -369,11 +489,9 @@ type TabProps = Omit<React.ComponentPropsWithoutRef<"button">, "children"> & {
369
489
  /** Optional; omit for label-only triggers. */
370
490
  icon?: React.ReactNode;
371
491
  iconPlacement?: "leading" | "trailing";
372
- /** When not using `Tabs` context, marks the selected tab. */
373
- active?: boolean;
374
492
  children?: React.ReactNode;
375
493
  };
376
- declare const Tab: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & {
494
+ declare const Tab: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_tabs.TabsTabProps & React.RefAttributes<Element>, "ref">, "children" | "value"> & {
377
495
  /** Segment id; required when using controlled `Tabs`. */
378
496
  value?: string;
379
497
  /** Optional; use `children` for text if you prefer. */
@@ -381,21 +499,20 @@ declare const Tab: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLP
381
499
  /** Optional; omit for label-only triggers. */
382
500
  icon?: React.ReactNode;
383
501
  iconPlacement?: "leading" | "trailing";
384
- /** When not using `Tabs` context, marks the selected tab. */
385
- active?: boolean;
386
502
  children?: React.ReactNode;
387
503
  } & React.RefAttributes<HTMLButtonElement>>;
504
+ declare const TabPanel: React.ForwardRefExoticComponent<_base_ui_components_react_tabs.TabsPanelProps & React.RefAttributes<HTMLDivElement>>;
505
+ declare const TabIndicator: React.ForwardRefExoticComponent<_base_ui_components_react_tabs.TabsIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
388
506
  /** Same component as {@link TabList}; matches common Radix-style naming. */
389
- declare const TabsList: React.ForwardRefExoticComponent<VariantProps<(props?: ({
507
+ declare const TabsList: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_tabs.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref">, "children"> & VariantProps<(props?: ({
390
508
  size?: "sm" | "md" | "lg" | null | undefined;
391
509
  } & class_variance_authority_types.ClassProp) | undefined) => string> & {
392
510
  /** When true, each tab sizes to its label/icon; the list row remains full width. */
393
511
  autoWidth?: boolean;
394
512
  children: React.ReactNode;
395
- className?: string;
396
513
  } & React.RefAttributes<HTMLDivElement>>;
397
514
  /** Same component as {@link Tab}; matches common Radix-style naming. */
398
- declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & {
515
+ declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_tabs.TabsTabProps & React.RefAttributes<Element>, "ref">, "children" | "value"> & {
399
516
  /** Segment id; required when using controlled `Tabs`. */
400
517
  value?: string;
401
518
  /** Optional; use `children` for text if you prefer. */
@@ -403,10 +520,10 @@ declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<Omit<React.Detai
403
520
  /** Optional; omit for label-only triggers. */
404
521
  icon?: React.ReactNode;
405
522
  iconPlacement?: "leading" | "trailing";
406
- /** When not using `Tabs` context, marks the selected tab. */
407
- active?: boolean;
408
523
  children?: React.ReactNode;
409
524
  } & React.RefAttributes<HTMLButtonElement>>;
525
+ /** Same component as {@link TabPanel}; matches common Radix-style naming. */
526
+ declare const TabsContent: React.ForwardRefExoticComponent<_base_ui_components_react_tabs.TabsPanelProps & React.RefAttributes<HTMLDivElement>>;
410
527
 
411
528
  /** Default tag / label glyph for the optional custom `icon` slot (uses `currentColor`). */
412
529
  declare function TagIconGlyph(props: React.SVGProps<SVGSVGElement>): react_jsx_runtime.JSX.Element;
@@ -481,35 +598,115 @@ declare const TextInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAtt
481
598
  */
482
599
  declare const toggleSwitchVariants: (props?: ({
483
600
  size?: "sm" | "md" | "lg" | null | undefined;
484
- checked?: boolean | null | undefined;
485
- } & class_variance_authority_types.ClassProp) | undefined) => string;
486
- declare const toggleThumbVariants: (props?: ({
487
- checked?: boolean | null | undefined;
488
601
  } & class_variance_authority_types.ClassProp) | undefined) => string;
489
- declare const ToggleSwitch: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "onChange" | "value" | "type"> & Omit<VariantProps<(props?: ({
602
+ declare const toggleThumbVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
603
+ declare const ToggleSwitch: React.ForwardRefExoticComponent<Omit<Omit<_base_ui_components_react_switch.SwitchRootProps & React.RefAttributes<HTMLElement>, "ref">, "render" | "onCheckedChange"> & VariantProps<(props?: ({
490
604
  size?: "sm" | "md" | "lg" | null | undefined;
491
- checked?: boolean | null | undefined;
492
- } & class_variance_authority_types.ClassProp) | undefined) => string>, "checked"> & {
493
- checked?: boolean;
605
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
494
606
  onCheckedChange?: (checked: boolean) => void;
495
607
  } & React.RefAttributes<HTMLButtonElement>>;
496
608
 
609
+ declare const tooltipVariants: (props?: ({
610
+ theme?: "dark" | "light" | null | undefined;
611
+ size?: "sm" | "md" | "lg" | null | undefined;
612
+ direction?: "center" | "left" | "right" | null | undefined;
613
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
614
+ /**
615
+ * Presentational tooltip box (no interaction). Use this when the tooltip's positioning is
616
+ * already handled by its container — for example, alongside a custom hover/focus group.
617
+ *
618
+ * For an interactive, floating tooltip with delay, focus, and collision handling, use the
619
+ * {@link TooltipPopup} compound (Base UI primitives).
620
+ */
497
621
  declare const Tooltip: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & VariantProps<(props?: ({
498
622
  theme?: "dark" | "light" | null | undefined;
499
623
  size?: "sm" | "md" | "lg" | null | undefined;
500
624
  direction?: "center" | "left" | "right" | null | undefined;
501
625
  } & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
626
+ /**
627
+ * Optional `<TooltipProvider>` wraps a subtree to share hover-delay state across multiple
628
+ * tooltips so opening one lets siblings open without re-waiting.
629
+ */
630
+ declare const TooltipProvider: React.FC<_base_ui_components_react_tooltip.TooltipProviderProps>;
631
+ /**
632
+ * Interactive, floating tooltip compound built on Base UI primitives. Pass any element as
633
+ * `trigger` (it must be focusable to support keyboard users) and the tooltip body as
634
+ * `children`. The popup uses the kit's dark/light themes and arrow caret.
635
+ */
636
+ type TooltipPopupProps = Omit<React.ComponentPropsWithoutRef<typeof Tooltip$1.Popup>, "children"> & VariantProps<typeof tooltipVariants> & {
637
+ /** Element that triggers the tooltip on hover/focus. Must be a single, focusable element. */
638
+ trigger: React.ReactElement<Record<string, unknown>>;
639
+ /** Tooltip content. */
640
+ children: React.ReactNode;
641
+ /** Side (relative to the trigger) where the popup is placed. */
642
+ side?: "top" | "right" | "bottom" | "left";
643
+ /** Pixel gap between trigger and popup. */
644
+ sideOffset?: number;
645
+ };
646
+ declare function TooltipPopup({ trigger, children, theme, size, side, sideOffset, className, ...rest }: TooltipPopupProps): react_jsx_runtime.JSX.Element;
647
+
648
+ type WhimsyCursorProps = {
649
+ /** Rotation angle in degrees applied on hover (negative = left tilt). Defaults to -22. */
650
+ hoverRotateDeg?: number;
651
+ };
652
+ /**
653
+ * Replaces the native cursor with a DOM-rendered SVG that follows the pointer
654
+ * and tilts left with a small spring bounce when hovering interactive elements.
655
+ *
656
+ * Mount once near the root (e.g. inside ThemeProvider). It is a no-op on
657
+ * coarse-pointer devices and respects `prefers-reduced-motion`.
658
+ */
659
+ declare function WhimsyCursor({ hoverRotateDeg, }?: WhimsyCursorProps): react_jsx_runtime.JSX.Element;
502
660
 
503
661
  type AppTheme = "light" | "dark";
662
+ /**
663
+ * Cursor style variant.
664
+ * - `"default"` — the chunky kit signature pointer (with WhimsyCursor by default)
665
+ * - `"arrow"` — slim classic arrow; WhimsyCursor auto-suppresses to keep the
666
+ * native arrow visible
667
+ */
668
+ type CursorStyle = "default" | "arrow";
669
+ /**
670
+ * Toggle for the auto-mounted {@link WhimsyCursor}:
671
+ * - `true` (default) mounts it with default options
672
+ * - `false` disables it
673
+ * - an object passes through as `WhimsyCursor` props (e.g. `{ hoverRotateDeg: -10 }`)
674
+ */
675
+ type WhimsyCursorOption = boolean | WhimsyCursorProps;
504
676
  type ThemeContextValue = {
505
677
  theme: AppTheme;
506
678
  setTheme: (t: AppTheme) => void;
679
+ cursorStyle: CursorStyle;
680
+ setCursorStyle: (c: CursorStyle) => void;
507
681
  };
508
682
  declare const ThemeContext: React.Context<ThemeContextValue | null>;
509
- declare function ThemeProvider({ children }: {
683
+ type ThemeProviderProps = {
510
684
  children: React.ReactNode;
511
- }): react_jsx_runtime.JSX.Element;
685
+ /**
686
+ * Initial cursor style. `"default"` (chunky kit pointer + WhimsyCursor) or
687
+ * `"arrow"` (slim arrow, no WhimsyCursor). Defaults to `"default"`.
688
+ *
689
+ * Persisted to localStorage under `wvk-cursor-style`; the persisted value
690
+ * wins on next mount. To make this stick across SSR without a flash, mirror
691
+ * the value in your anti-flash inline script.
692
+ */
693
+ cursorStyle?: CursorStyle;
694
+ /**
695
+ * Auto-mount the {@link WhimsyCursor} alongside the provider so consumers get
696
+ * the kit's signature pointer behaviour with no extra wiring.
697
+ *
698
+ * Defaults to `true`. Pass `false` to disable, or an object to forward props
699
+ * (e.g. `{ hoverRotateDeg: -10 }`). Auto-suppressed when `cursorStyle` is
700
+ * `"arrow"` so the slim native cursor stays visible.
701
+ */
702
+ whimsyCursor?: WhimsyCursorOption;
703
+ };
704
+ declare function ThemeProvider({ children, cursorStyle: cursorStyleProp, whimsyCursor, }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
512
705
  declare function useTheme(): ThemeContextValue;
706
+ declare function useCursorStyle(): {
707
+ cursorStyle: CursorStyle;
708
+ setCursorStyle: (c: CursorStyle) => void;
709
+ };
513
710
 
514
711
  declare function ThemeSwitcher(): react_jsx_runtime.JSX.Element | null;
515
712
 
@@ -535,12 +732,32 @@ declare const wvkIconSmClass = "size-[length:var(--wvk-icon-sm)] min-h-0 min-w-0
535
732
  */
536
733
  declare const wvkIconBoxLgClass = "inline-flex size-[length:var(--wvk-icon-lg)] shrink-0 items-center justify-center [&_svg]:size-full [&_svg]:aspect-square";
537
734
 
538
- declare const BUTTON_DECORATIVE_ICON_NAMES: readonly ["none", "plus", "chevronRight", "home", "search", "user", "settings"];
539
- type ButtonDecorativeIconName = (typeof BUTTON_DECORATIVE_ICON_NAMES)[number];
540
- declare function ButtonDecorativeIconGlyph({ name, size, className, }: {
541
- name: Exclude<ButtonDecorativeIconName, "none">;
542
- size: "sm" | "md" | "lg";
543
- className?: string;
544
- }): react_jsx_runtime.JSX.Element | null;
735
+ /** Wrap a list container with this to stagger children in. */
736
+ declare const staggerContainer: {
737
+ hidden: {
738
+ opacity: number;
739
+ };
740
+ show: {
741
+ opacity: number;
742
+ transition: {
743
+ staggerChildren: number;
744
+ };
745
+ };
746
+ };
747
+ /** Pair with `staggerContainer` on each list child. */
748
+ declare const fadeInUp: {
749
+ hidden: {
750
+ opacity: number;
751
+ y: number;
752
+ };
753
+ show: {
754
+ opacity: number;
755
+ y: number;
756
+ transition: {
757
+ duration: number;
758
+ ease: "easeOut";
759
+ };
760
+ };
761
+ };
545
762
 
546
- export { Alert, type AppTheme, BUTTON_DECORATIVE_ICON_NAMES, BottomTabBar, BottomTabBarItem, type BottomTabBarItemProps, type BottomTabBarProps, Button, ButtonDecorativeIconGlyph, type ButtonDecorativeIconName, Checkbox, FieldGroup, type FieldGroupProps, FieldLabel, type FieldLabelProps, type FieldLabelSlotProps, ImagePlaceholder, InfoBar, type InfoBarLeadingIconName, Link, ListItem, LoadingSpinner, type LoadingSpinnerProps, Pagination, ProgressBar, Radio, SegmentedControl, SegmentedControlItem, type SegmentedControlItemProps, type SegmentedControlProps, SegmentedControlTrigger, Select, Slider, SplitButton, StarRating, TAG_LEADING_ICON_NAMES, Tab, TabList, type TabProps, Tabs, TabsList, TabsTrigger, Tag, TagIconGlyph, TagLeadingIcon, type TagLeadingIconName, TextArea, TextInput, TextInputCalendarIcon, TextInputSearchIcon, ThemeContext, ThemeProvider, ThemeSwitcher, ToggleSwitch, Tooltip, VideoControls, VideoPlaceholder, buttonVariants, checkboxFrameVariants, cn, hasRenderableFieldLabelText, linkVariants, listItemVariants, placeholderVariants, radioFrameVariants, selectFieldVariants, selectShellVariants, selectShellVariants as selectVariants, splitButtonVariants, tabListVariants, tagVariants, textAreaFieldVariants, textAreaShellVariants, textInputShellVariants, toggleSwitchVariants, toggleThumbVariants, useTheme, wvkIconBoxLgClass, wvkIconLgClass, wvkIconMdClass, wvkIconSmClass };
763
+ export { Alert, type AppTheme, BottomTabBar, BottomTabBarItem, type BottomTabBarItemProps, type BottomTabBarProps, Button, Checkbox, type CursorStyle, FieldGroup, type FieldGroupProps, FieldLabel, type FieldLabelProps, type FieldLabelSlotProps, ImagePlaceholder, InfoBar, type InfoBarLeadingIconName, Link, ListItem, LoadingSpinner, type LoadingSpinnerProps, Menu, MenuGroup, MenuGroupLabel, MenuItem, MenuPopup, MenuSeparator, MenuTrigger, Meter, Pagination, ProgressBar, Radio, RadioGroup, RadioGroupItem, SegmentedControl, SegmentedControlItem, type SegmentedControlItemProps, type SegmentedControlProps, SegmentedControlTrigger, Select, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, Slider, SplitButton, StarRating, TAG_LEADING_ICON_NAMES, Tab, TabIndicator, TabList, TabPanel, type TabProps, Tabs, TabsContent, TabsList, TabsTrigger, Tag, TagIconGlyph, TagLeadingIcon, type TagLeadingIconName, TextArea, TextInput, TextInputCalendarIcon, TextInputSearchIcon, ThemeContext, ThemeProvider, type ThemeProviderProps, ThemeSwitcher, ToggleSwitch, Tooltip, TooltipPopup, TooltipProvider, VideoControls, VideoPlaceholder, WhimsyCursor, type WhimsyCursorOption, type WhimsyCursorProps, buttonVariants, checkboxFrameVariants, cn, fadeInUp, hasRenderableFieldLabelText, linkVariants, listItemVariants, placeholderVariants, radioFrameVariants, selectShellVariants, selectShellVariants as selectVariants, splitButtonVariants, staggerContainer, tabListVariants, tagVariants, textAreaFieldVariants, textAreaShellVariants, textInputShellVariants, toggleSwitchVariants, toggleThumbVariants, useCursorStyle, useTheme, wvkIconBoxLgClass, wvkIconLgClass, wvkIconMdClass, wvkIconSmClass };