@wow-two-beta/ui 0.0.46 → 0.0.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/actions/index.js +2 -2
  2. package/dist/actions/toggleButton/ToggleButton.d.ts +8 -6
  3. package/dist/actions/toggleButton/ToggleButton.d.ts.map +1 -1
  4. package/dist/actions/toggleButton/ToggleButton.variants.d.ts +79 -44
  5. package/dist/actions/toggleButton/ToggleButton.variants.d.ts.map +1 -1
  6. package/dist/{chunk-R643N32M.js → chunk-66JKAVAM.js} +3 -3
  7. package/dist/{chunk-R643N32M.js.map → chunk-66JKAVAM.js.map} +1 -1
  8. package/dist/{chunk-YYY5WBR2.js → chunk-E2LZ227G.js} +4 -4
  9. package/dist/chunk-E2LZ227G.js.map +1 -0
  10. package/dist/{chunk-4YMU5MVC.js → chunk-FUBE5PBF.js} +73 -29
  11. package/dist/chunk-FUBE5PBF.js.map +1 -0
  12. package/dist/{chunk-35VQ7QBG.js → chunk-M73STT3W.js} +4 -4
  13. package/dist/{chunk-35VQ7QBG.js.map → chunk-M73STT3W.js.map} +1 -1
  14. package/dist/{chunk-K2TZTSNQ.js → chunk-NQO75BI2.js} +3 -3
  15. package/dist/{chunk-K2TZTSNQ.js.map → chunk-NQO75BI2.js.map} +1 -1
  16. package/dist/{chunk-PA5WBMY5.js → chunk-QMCOB7R5.js} +4 -4
  17. package/dist/{chunk-PA5WBMY5.js.map → chunk-QMCOB7R5.js.map} +1 -1
  18. package/dist/{chunk-CN7IOF3B.js → chunk-TJ5GE6QW.js} +28 -5
  19. package/dist/chunk-TJ5GE6QW.js.map +1 -0
  20. package/dist/{chunk-2AS5ZKBF.js → chunk-TPR4CYIM.js} +4 -4
  21. package/dist/{chunk-2AS5ZKBF.js.map → chunk-TPR4CYIM.js.map} +1 -1
  22. package/dist/{chunk-VDE5B3IY.js → chunk-VHGMTKZB.js} +16 -4
  23. package/dist/chunk-VHGMTKZB.js.map +1 -0
  24. package/dist/{chunk-WJGJNSNP.js → chunk-WLFMDWR2.js} +161 -34
  25. package/dist/chunk-WLFMDWR2.js.map +1 -0
  26. package/dist/chunk-ZXZM4CMW.js +427 -0
  27. package/dist/chunk-ZXZM4CMW.js.map +1 -0
  28. package/dist/display/index.js +3 -3
  29. package/dist/feedback/index.js +3 -3
  30. package/dist/forms/combobox/Combobox.d.ts +3 -2
  31. package/dist/forms/combobox/Combobox.d.ts.map +1 -1
  32. package/dist/forms/index.js +5 -5
  33. package/dist/forms/listbox/Listbox.d.ts +8 -1
  34. package/dist/forms/listbox/Listbox.d.ts.map +1 -1
  35. package/dist/forms/listbox/Listbox.variants.d.ts +1 -1
  36. package/dist/forms/listbox/Listbox.variants.d.ts.map +1 -1
  37. package/dist/forms/listbox/index.d.ts +1 -1
  38. package/dist/forms/listbox/index.d.ts.map +1 -1
  39. package/dist/forms/multiSelect/MultiSelect.d.ts +3 -2
  40. package/dist/forms/multiSelect/MultiSelect.d.ts.map +1 -1
  41. package/dist/forms/select/Select.d.ts +3 -2
  42. package/dist/forms/select/Select.d.ts.map +1 -1
  43. package/dist/icons/index.js +1 -1
  44. package/dist/index.js +11 -11
  45. package/dist/layout/index.d.ts +1 -0
  46. package/dist/layout/index.d.ts.map +1 -1
  47. package/dist/layout/index.js +3 -3
  48. package/dist/layout/surface/Surface.d.ts +19 -0
  49. package/dist/layout/surface/Surface.d.ts.map +1 -0
  50. package/dist/layout/surface/index.d.ts +2 -0
  51. package/dist/layout/surface/index.d.ts.map +1 -0
  52. package/dist/nav/index.js +3 -3
  53. package/dist/overlays/index.js +2 -2
  54. package/dist/overlays/popover/Popover.d.ts +8 -5
  55. package/dist/overlays/popover/Popover.d.ts.map +1 -1
  56. package/dist/utils/SurfaceStyles.d.ts +324 -0
  57. package/dist/utils/SurfaceStyles.d.ts.map +1 -0
  58. package/dist/utils/index.d.ts +2 -0
  59. package/dist/utils/index.d.ts.map +1 -1
  60. package/dist/utils/index.js +1 -1
  61. package/package.json +1 -1
  62. package/dist/chunk-4YMU5MVC.js.map +0 -1
  63. package/dist/chunk-CN7IOF3B.js.map +0 -1
  64. package/dist/chunk-MUUFERDO.js +0 -216
  65. package/dist/chunk-MUUFERDO.js.map +0 -1
  66. package/dist/chunk-VDE5B3IY.js.map +0 -1
  67. package/dist/chunk-WJGJNSNP.js.map +0 -1
  68. package/dist/chunk-YYY5WBR2.js.map +0 -1
@@ -1,7 +1,7 @@
1
- export { BackToTopButton, Button, ButtonGroup, CopyButton, DisclosureButton, FAB, Link, SegmentedControl, SpeedDial, SpeedDialAction, SpeedDialTrigger, ToggleButton, ToggleButtonGroup, Toolbar, ToolbarButton, ToolbarLink, ToolbarSeparator, buttonVariants, fabVariants, linkVariants, toggleButtonVariants } from '../chunk-4YMU5MVC.js';
1
+ export { BackToTopButton, Button, ButtonGroup, CopyButton, DisclosureButton, FAB, Link, SegmentedControl, SpeedDial, SpeedDialAction, SpeedDialTrigger, ToggleButton, ToggleButtonGroup, Toolbar, ToolbarButton, ToolbarLink, ToolbarSeparator, buttonVariants, fabVariants, linkVariants, toggleButtonVariants } from '../chunk-FUBE5PBF.js';
2
2
  import '../chunk-NUMFGKPY.js';
3
3
  import '../chunk-F227LKWK.js';
4
- import '../chunk-MUUFERDO.js';
4
+ import '../chunk-ZXZM4CMW.js';
5
5
  import '../chunk-BMABNEZX.js';
6
6
  import '../chunk-KDXJQNB6.js';
7
7
  import '../chunk-LDRFQG44.js';
@@ -1,13 +1,15 @@
1
- import { type ButtonHTMLAttributes } from 'react';
1
+ import { type ReactNode } from 'react';
2
+ import { type ButtonProps } from '../button/Button';
2
3
  import { type ToggleButtonVariants } from './ToggleButton.variants';
3
- export interface ToggleButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value'>, ToggleButtonVariants {
4
- /** Controlled pressed state. */
4
+ type ToggleButtonChildren = ReactNode | ((args: {
5
+ pressed: boolean;
6
+ }) => ReactNode);
7
+ export interface ToggleButtonProps extends Omit<ButtonProps, 'variant' | 'tone' | 'children'>, ToggleButtonVariants {
5
8
  pressed?: boolean;
6
- /** Uncontrolled initial state. */
7
9
  defaultPressed?: boolean;
8
- /** Fires whenever pressed state changes. */
9
10
  onPressedChange?: (pressed: boolean) => void;
11
+ children?: ToggleButtonChildren;
10
12
  }
11
- /** Two-state button (on/off) — sets `aria-pressed` + `data-state="on|off"`. */
12
13
  export declare const ToggleButton: import("react").ForwardRefExoticComponent<ToggleButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
14
+ export {};
13
15
  //# sourceMappingURL=ToggleButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.d.ts","sourceRoot":"","sources":["../../../src/actions/toggleButton/ToggleButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,EAC5D,oBAAoB;IACtB,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kCAAkC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAED,+EAA+E;AAC/E,eAAO,MAAM,YAAY,iHAsCxB,CAAC"}
1
+ {"version":3,"file":"ToggleButton.d.ts","sourceRoot":"","sources":["../../../src/actions/toggleButton/ToggleButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAK1F,KAAK,oBAAoB,GACrB,SAAS,GACT,CAAC,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,KAAK,SAAS,CAAC,CAAC;AAEhD,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC,EACxD,oBAAoB;IAEtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAG7C,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC;AAGD,eAAO,MAAM,YAAY,iHA2CxB,CAAC"}
@@ -1,80 +1,115 @@
1
1
  import { type VariantProps } from '../../utils';
2
2
  export declare const toggleButtonVariants: import("tailwind-variants").TVReturnType<{
3
3
  variant: {
4
- solid: string;
5
- outline: string;
6
4
  ghost: string;
5
+ soft: string;
6
+ outline: string;
7
+ solid: string;
8
+ glass: string;
9
+ 'glass-surface': string;
7
10
  };
8
- size: {
9
- sm: string;
10
- md: string;
11
- lg: string;
11
+ tone: {
12
+ primary: string;
13
+ neutral: string;
14
+ danger: string;
15
+ success: string;
16
+ warning: string;
12
17
  };
13
- }, undefined, "inline-flex items-center justify-center font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-primary data-[state=on]:text-primary-foreground", import("tailwind-variants/dist/config.js").TVConfig<{
18
+ }, undefined, "", import("tailwind-variants/dist/config.js").TVConfig<{
14
19
  variant: {
15
- solid: string;
16
- outline: string;
17
20
  ghost: string;
21
+ soft: string;
22
+ outline: string;
23
+ solid: string;
24
+ glass: string;
25
+ 'glass-surface': string;
18
26
  };
19
- size: {
20
- sm: string;
21
- md: string;
22
- lg: string;
27
+ tone: {
28
+ primary: string;
29
+ neutral: string;
30
+ danger: string;
31
+ success: string;
32
+ warning: string;
23
33
  };
24
34
  }, {
25
35
  variant: {
26
- solid: string;
27
- outline: string;
28
36
  ghost: string;
37
+ soft: string;
38
+ outline: string;
39
+ solid: string;
40
+ glass: string;
41
+ 'glass-surface': string;
29
42
  };
30
- size: {
31
- sm: string;
32
- md: string;
33
- lg: string;
43
+ tone: {
44
+ primary: string;
45
+ neutral: string;
46
+ danger: string;
47
+ success: string;
48
+ warning: string;
34
49
  };
35
50
  }>, {
36
51
  variant: {
37
- solid: string;
38
- outline: string;
39
52
  ghost: string;
53
+ soft: string;
54
+ outline: string;
55
+ solid: string;
56
+ glass: string;
57
+ 'glass-surface': string;
40
58
  };
41
- size: {
42
- sm: string;
43
- md: string;
44
- lg: string;
59
+ tone: {
60
+ primary: string;
61
+ neutral: string;
62
+ danger: string;
63
+ success: string;
64
+ warning: string;
45
65
  };
46
66
  }, undefined, import("tailwind-variants").TVReturnType<{
47
67
  variant: {
48
- solid: string;
49
- outline: string;
50
68
  ghost: string;
69
+ soft: string;
70
+ outline: string;
71
+ solid: string;
72
+ glass: string;
73
+ 'glass-surface': string;
51
74
  };
52
- size: {
53
- sm: string;
54
- md: string;
55
- lg: string;
75
+ tone: {
76
+ primary: string;
77
+ neutral: string;
78
+ danger: string;
79
+ success: string;
80
+ warning: string;
56
81
  };
57
- }, undefined, "inline-flex items-center justify-center font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-primary data-[state=on]:text-primary-foreground", import("tailwind-variants/dist/config.js").TVConfig<{
82
+ }, undefined, "", import("tailwind-variants/dist/config.js").TVConfig<{
58
83
  variant: {
59
- solid: string;
60
- outline: string;
61
84
  ghost: string;
85
+ soft: string;
86
+ outline: string;
87
+ solid: string;
88
+ glass: string;
89
+ 'glass-surface': string;
62
90
  };
63
- size: {
64
- sm: string;
65
- md: string;
66
- lg: string;
91
+ tone: {
92
+ primary: string;
93
+ neutral: string;
94
+ danger: string;
95
+ success: string;
96
+ warning: string;
67
97
  };
68
98
  }, {
69
99
  variant: {
70
- solid: string;
71
- outline: string;
72
100
  ghost: string;
101
+ soft: string;
102
+ outline: string;
103
+ solid: string;
104
+ glass: string;
105
+ 'glass-surface': string;
73
106
  };
74
- size: {
75
- sm: string;
76
- md: string;
77
- lg: string;
107
+ tone: {
108
+ primary: string;
109
+ neutral: string;
110
+ danger: string;
111
+ success: string;
112
+ warning: string;
78
113
  };
79
114
  }>, unknown, unknown, undefined>>;
80
115
  export type ToggleButtonVariants = VariantProps<typeof toggleButtonVariants>;
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.variants.d.ts","sourceRoot":"","sources":["../../../src/actions/toggleButton/ToggleButton.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAkB/B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"ToggleButton.variants.d.ts","sourceRoot":"","sources":["../../../src/actions/toggleButton/ToggleButton.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAGpD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAkE/B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { tv } from './chunk-MUUFERDO.js';
1
+ import { tv } from './chunk-ZXZM4CMW.js';
2
2
  import { cn } from './chunk-LDRFQG44.js';
3
3
  import { forwardRef } from 'react';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -35,5 +35,5 @@ var Spinner = forwardRef(
35
35
  Spinner.displayName = "Spinner";
36
36
 
37
37
  export { Spinner, spinnerVariants };
38
- //# sourceMappingURL=chunk-R643N32M.js.map
39
- //# sourceMappingURL=chunk-R643N32M.js.map
38
+ //# sourceMappingURL=chunk-66JKAVAM.js.map
39
+ //# sourceMappingURL=chunk-66JKAVAM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/feedback/spinner/Spinner.variants.ts","../src/feedback/spinner/Spinner.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,kBAAkB,EAAA,CAAG;AAAA,EAChC,IAAA,EAAM,4EAAA;AAAA,EACN,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,gBAAA;AAAA,MACJ,EAAA,EAAI,kBAAA;AAAA,MACJ,EAAA,EAAI,kBAAA;AAAA,MACJ,EAAA,EAAI,kBAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,uBAAA;AAAA,MACT,KAAA,EAAO,cAAA;AAAA,MACP,KAAA,EAAO,aAAA;AAAA,MACP,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,IAAA;AAAA,IACN,IAAA,EAAM;AAAA;AAEV,CAAC;ACRM,IAAM,OAAA,GAAU,UAAA;AAAA,EACrB,CAAC,EAAE,SAAA,EAAW,MAAM,IAAA,EAAM,KAAA,GAAQ,WAAW,IAAA,GAAO,QAAA,EAAU,GAAG,KAAA,IAAS,GAAA,qBACxE,IAAA,CAAC,UAAK,GAAA,EAAU,IAAA,EAAa,GAAG,KAAA,EAC9B,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,EAAA,CAAG,eAAA,CAAgB,EAAE,MAAM,IAAA,EAAM,CAAA,EAAG,SAAS,CAAA,EAAG,CAAA;AAAA,oBACjE,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACnC;AAEJ;AACA,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"chunk-R643N32M.js","sourcesContent":["import { tv, type VariantProps } from '../../utils';\n\nexport const spinnerVariants = tv({\n base: 'inline-block animate-spin rounded-full border-current border-b-transparent',\n variants: {\n size: {\n xs: 'h-3 w-3 border',\n sm: 'h-4 w-4 border-2',\n md: 'h-5 w-5 border-2',\n lg: 'h-8 w-8 border-2',\n xl: 'h-12 w-12 border-[3px]',\n },\n tone: {\n default: 'text-muted-foreground',\n brand: 'text-primary',\n muted: 'text-border',\n current: '',\n },\n },\n defaultVariants: {\n size: 'md',\n tone: 'default',\n },\n});\n\nexport type SpinnerVariants = VariantProps<typeof spinnerVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { spinnerVariants, type SpinnerVariants } from './Spinner.variants';\n\nexport interface SpinnerProps\n extends Omit<ComponentPropsWithoutRef<'span'>, 'children'>,\n SpinnerVariants {\n /** Accessible label. Default `\"Loading\"`. */\n label?: string;\n}\n\n/**\n * Indeterminate loading spinner. Renders a spinning circle and a visually\n * hidden text label for screen readers.\n */\nexport const Spinner = forwardRef<HTMLSpanElement, SpinnerProps>(\n ({ className, size, tone, label = 'Loading', role = 'status', ...props }, ref) => (\n <span ref={ref} role={role} {...props}>\n <span className={cn(spinnerVariants({ size, tone }), className)} />\n <span className=\"sr-only\">{label}</span>\n </span>\n ),\n);\nSpinner.displayName = 'Spinner';\n"]}
1
+ {"version":3,"sources":["../src/feedback/spinner/Spinner.variants.ts","../src/feedback/spinner/Spinner.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,kBAAkB,EAAA,CAAG;AAAA,EAChC,IAAA,EAAM,4EAAA;AAAA,EACN,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,gBAAA;AAAA,MACJ,EAAA,EAAI,kBAAA;AAAA,MACJ,EAAA,EAAI,kBAAA;AAAA,MACJ,EAAA,EAAI,kBAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,uBAAA;AAAA,MACT,KAAA,EAAO,cAAA;AAAA,MACP,KAAA,EAAO,aAAA;AAAA,MACP,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,IAAA;AAAA,IACN,IAAA,EAAM;AAAA;AAEV,CAAC;ACRM,IAAM,OAAA,GAAU,UAAA;AAAA,EACrB,CAAC,EAAE,SAAA,EAAW,MAAM,IAAA,EAAM,KAAA,GAAQ,WAAW,IAAA,GAAO,QAAA,EAAU,GAAG,KAAA,IAAS,GAAA,qBACxE,IAAA,CAAC,UAAK,GAAA,EAAU,IAAA,EAAa,GAAG,KAAA,EAC9B,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,EAAA,CAAG,eAAA,CAAgB,EAAE,MAAM,IAAA,EAAM,CAAA,EAAG,SAAS,CAAA,EAAG,CAAA;AAAA,oBACjE,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACnC;AAEJ;AACA,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"chunk-66JKAVAM.js","sourcesContent":["import { tv, type VariantProps } from '../../utils';\n\nexport const spinnerVariants = tv({\n base: 'inline-block animate-spin rounded-full border-current border-b-transparent',\n variants: {\n size: {\n xs: 'h-3 w-3 border',\n sm: 'h-4 w-4 border-2',\n md: 'h-5 w-5 border-2',\n lg: 'h-8 w-8 border-2',\n xl: 'h-12 w-12 border-[3px]',\n },\n tone: {\n default: 'text-muted-foreground',\n brand: 'text-primary',\n muted: 'text-border',\n current: '',\n },\n },\n defaultVariants: {\n size: 'md',\n tone: 'default',\n },\n});\n\nexport type SpinnerVariants = VariantProps<typeof spinnerVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { spinnerVariants, type SpinnerVariants } from './Spinner.variants';\n\nexport interface SpinnerProps\n extends Omit<ComponentPropsWithoutRef<'span'>, 'children'>,\n SpinnerVariants {\n /** Accessible label. Default `\"Loading\"`. */\n label?: string;\n}\n\n/**\n * Indeterminate loading spinner. Renders a spinning circle and a visually\n * hidden text label for screen readers.\n */\nexport const Spinner = forwardRef<HTMLSpanElement, SpinnerProps>(\n ({ className, size, tone, label = 'Loading', role = 'status', ...props }, ref) => (\n <span ref={ref} role={role} {...props}>\n <span className={cn(spinnerVariants({ size, tone }), className)} />\n <span className=\"sr-only\">{label}</span>\n </span>\n ),\n);\nSpinner.displayName = 'Spinner';\n"]}
@@ -1,8 +1,8 @@
1
- import { tv } from './chunk-MUUFERDO.js';
1
+ import { tv } from './chunk-ZXZM4CMW.js';
2
2
 
3
3
  // src/forms/listbox/Listbox.variants.ts
4
4
  var listboxVariants = tv({
5
- base: "flex max-h-72 flex-col gap-0.5 overflow-y-auto rounded-md border border-border bg-popover p-1 text-sm text-popover-foreground shadow-md outline-none"
5
+ base: "flex max-h-72 flex-col gap-0.5 overflow-y-auto text-sm outline-none"
6
6
  });
7
7
  var listboxItemVariants = tv({
8
8
  base: "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none",
@@ -27,5 +27,5 @@ var listboxEmptyVariants = tv({
27
27
  });
28
28
 
29
29
  export { listboxEmptyVariants, listboxGroupLabelVariants, listboxItemVariants, listboxSeparatorVariants, listboxVariants };
30
- //# sourceMappingURL=chunk-YYY5WBR2.js.map
31
- //# sourceMappingURL=chunk-YYY5WBR2.js.map
30
+ //# sourceMappingURL=chunk-E2LZ227G.js.map
31
+ //# sourceMappingURL=chunk-E2LZ227G.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/forms/listbox/Listbox.variants.ts"],"names":[],"mappings":";;;AAIO,IAAM,kBAAkB,EAAA,CAAG;AAAA,EAChC,IAAA,EAAM;AACR,CAAC;AAEM,IAAM,sBAAsB,EAAA,CAAG;AAAA,EACpC,IAAA,EAAM,yGAAA;AAAA,EACN,QAAA,EAAU;AAAA,IACR,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,yBAAA;AAAA,MACT,MAAA,EAAQ,0BAAA;AAAA,MACR,QAAA,EAAU,8CAAA;AAAA,MACV,QAAA,EAAU;AAAA;AACZ,GACF;AAAA,EACA,eAAA,EAAiB,EAAE,KAAA,EAAO,SAAA;AAC5B,CAAC;AAEM,IAAM,4BAA4B,EAAA,CAAG;AAAA,EAC1C,IAAA,EAAM;AACR,CAAC;AAEM,IAAM,2BAA2B,EAAA,CAAG;AAAA,EACzC,IAAA,EAAM;AACR,CAAC;AAEM,IAAM,uBAAuB,EAAA,CAAG;AAAA,EACrC,IAAA,EAAM;AACR,CAAC","file":"chunk-E2LZ227G.js","sourcesContent":["import { tv, type VariantProps } from '../../utils';\n\n/* Listbox container — STRUCTURAL only. Surface chrome (bg, border, shadow,\n rounded, padding) is composed from `surfaceVariants` in `Listbox.tsx`. */\nexport const listboxVariants = tv({\n base: 'flex max-h-72 flex-col gap-0.5 overflow-y-auto text-sm outline-none',\n});\n\nexport const listboxItemVariants = tv({\n base: 'relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none',\n variants: {\n state: {\n default: 'text-popover-foreground',\n active: 'bg-muted text-foreground',\n selected: 'bg-primary-soft text-primary-soft-foreground',\n disabled: 'pointer-events-none opacity-50',\n },\n },\n defaultVariants: { state: 'default' },\n});\n\nexport const listboxGroupLabelVariants = tv({\n base: 'px-2 py-1.5 text-xs font-semibold text-muted-foreground',\n});\n\nexport const listboxSeparatorVariants = tv({\n base: '-mx-1 my-1 h-px bg-border',\n});\n\nexport const listboxEmptyVariants = tv({\n base: 'px-2 py-6 text-center text-sm text-muted-foreground',\n});\n\nexport type ListboxVariants = VariantProps<typeof listboxVariants>;\nexport type ListboxItemVariants = VariantProps<typeof listboxItemVariants>;\n"]}
@@ -1,6 +1,6 @@
1
1
  import { useControlled, useClipboard, useDebounceHandler, useEscape, useOutsideClick } from './chunk-NUMFGKPY.js';
2
2
  import { Icon, Spinner } from './chunk-F227LKWK.js';
3
- import { tv, PressExtensions, HtmlElement, CssExtensions, ButtonType, OptionalExtensions, dataAttr, composeEventHandlers, Key } from './chunk-MUUFERDO.js';
3
+ import { tv, PressExtensions, HtmlElement, CssExtensions, ButtonType, OptionalExtensions, dataAttr, composeEventHandlers, Key } from './chunk-ZXZM4CMW.js';
4
4
  import { Slot, RovingFocusGroup, useRovingFocusItem } from './chunk-BMABNEZX.js';
5
5
  import { cn, composeRefs } from './chunk-LDRFQG44.js';
6
6
  import { forwardRef, Children, isValidElement, cloneElement, useRef, useEffect, useCallback, createContext, useState, useContext, useMemo } from 'react';
@@ -401,62 +401,106 @@ ButtonGroup.displayName = "ButtonGroup";
401
401
 
402
402
  // src/actions/toggleButton/ToggleButton.variants.ts
403
403
  var toggleButtonVariants = tv({
404
- base: "inline-flex items-center justify-center font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-primary data-[state=on]:text-primary-foreground",
404
+ base: "",
405
405
  variants: {
406
406
  variant: {
407
- solid: "bg-muted text-foreground hover:bg-muted/80",
408
- outline: "border border-input bg-background text-foreground hover:bg-muted",
409
- ghost: "bg-transparent text-foreground hover:bg-muted"
407
+ ghost: "",
408
+ soft: "",
409
+ outline: "border",
410
+ solid: "border",
411
+ glass: "border border-transparent backdrop-blur-md",
412
+ "glass-surface": "border backdrop-blur-md"
410
413
  },
411
- size: {
412
- sm: "h-8 px-3 text-sm rounded-md",
413
- md: "h-10 px-4 text-sm rounded-md",
414
- lg: "h-12 px-6 text-base rounded-lg"
414
+ tone: {
415
+ primary: "",
416
+ neutral: "",
417
+ danger: "",
418
+ success: "",
419
+ warning: ""
415
420
  }
416
421
  },
422
+ compoundVariants: [
423
+ // === GHOST × tone — text color only, transparent bg ===
424
+ { variant: "ghost", tone: "primary", class: "text-foreground/50 data-[pressed=true]:text-primary" },
425
+ { variant: "ghost", tone: "neutral", class: "text-foreground/50 data-[pressed=true]:text-foreground" },
426
+ { variant: "ghost", tone: "danger", class: "text-foreground/50 data-[pressed=true]:text-destructive" },
427
+ { variant: "ghost", tone: "success", class: "text-foreground/50 data-[pressed=true]:text-success" },
428
+ { variant: "ghost", tone: "warning", class: "text-foreground/50 data-[pressed=true]:text-warning" },
429
+ // === SOFT × tone — pressed gets tone-soft bg ===
430
+ { variant: "soft", tone: "primary", class: "text-foreground/70 data-[pressed=true]:bg-primary-soft data-[pressed=true]:text-primary-soft-foreground" },
431
+ { variant: "soft", tone: "neutral", class: "text-foreground/70 data-[pressed=true]:bg-muted data-[pressed=true]:text-foreground" },
432
+ { variant: "soft", tone: "danger", class: "text-foreground/70 data-[pressed=true]:bg-destructive-soft data-[pressed=true]:text-destructive-soft-foreground" },
433
+ { variant: "soft", tone: "success", class: "text-foreground/70 data-[pressed=true]:bg-success-soft data-[pressed=true]:text-success-soft-foreground" },
434
+ { variant: "soft", tone: "warning", class: "text-foreground/70 data-[pressed=true]:bg-warning-soft data-[pressed=true]:text-warning-soft-foreground" },
435
+ // === OUTLINE × tone — pressed swaps to tone border + tone text ===
436
+ { variant: "outline", tone: "primary", class: "border-input text-foreground/70 data-[pressed=true]:border-primary data-[pressed=true]:text-primary" },
437
+ { variant: "outline", tone: "neutral", class: "border-input text-foreground/70 data-[pressed=true]:border-foreground data-[pressed=true]:text-foreground" },
438
+ { variant: "outline", tone: "danger", class: "border-input text-foreground/70 data-[pressed=true]:border-destructive data-[pressed=true]:text-destructive" },
439
+ { variant: "outline", tone: "success", class: "border-input text-foreground/70 data-[pressed=true]:border-success data-[pressed=true]:text-success" },
440
+ { variant: "outline", tone: "warning", class: "border-input text-foreground/70 data-[pressed=true]:border-warning data-[pressed=true]:text-warning" },
441
+ // === SOLID × tone — pressed fills with tone ===
442
+ { variant: "solid", tone: "primary", class: "border-input bg-background text-foreground/70 data-[pressed=true]:bg-primary data-[pressed=true]:border-primary data-[pressed=true]:text-primary-foreground" },
443
+ { variant: "solid", tone: "neutral", class: "border-input bg-background text-foreground/70 data-[pressed=true]:bg-foreground data-[pressed=true]:border-foreground data-[pressed=true]:text-background" },
444
+ { variant: "solid", tone: "danger", class: "border-input bg-background text-foreground/70 data-[pressed=true]:bg-destructive data-[pressed=true]:border-destructive data-[pressed=true]:text-destructive-foreground" },
445
+ { variant: "solid", tone: "success", class: "border-input bg-background text-foreground/70 data-[pressed=true]:bg-success data-[pressed=true]:border-success data-[pressed=true]:text-success-foreground" },
446
+ { variant: "solid", tone: "warning", class: "border-input bg-background text-foreground/70 data-[pressed=true]:bg-warning data-[pressed=true]:border-warning data-[pressed=true]:text-warning-foreground" },
447
+ // === GLASS × tone — dark glass; pressed darkens slightly + tone-tinted text on tone variants ===
448
+ { variant: "glass", tone: "primary", class: "bg-black/45 text-white/60 data-[pressed=true]:bg-black/65 data-[pressed=true]:text-white" },
449
+ { variant: "glass", tone: "neutral", class: "bg-black/45 text-white/60 data-[pressed=true]:bg-black/65 data-[pressed=true]:text-white" },
450
+ { variant: "glass", tone: "danger", class: "bg-black/45 text-white/60 data-[pressed=true]:bg-black/65 data-[pressed=true]:text-destructive" },
451
+ { variant: "glass", tone: "success", class: "bg-black/45 text-white/60 data-[pressed=true]:bg-black/65 data-[pressed=true]:text-success" },
452
+ { variant: "glass", tone: "warning", class: "bg-black/45 text-white/60 data-[pressed=true]:bg-black/65 data-[pressed=true]:text-warning" },
453
+ // === GLASS-SURFACE × tone — same as glass + visible border emphasis on press ===
454
+ { variant: "glass-surface", tone: "primary", class: "bg-black/45 text-white/60 border-white/10 data-[pressed=true]:bg-black/65 data-[pressed=true]:text-white data-[pressed=true]:border-white/40" },
455
+ { variant: "glass-surface", tone: "neutral", class: "bg-black/45 text-white/60 border-white/10 data-[pressed=true]:bg-black/65 data-[pressed=true]:text-white data-[pressed=true]:border-white/40" },
456
+ { variant: "glass-surface", tone: "danger", class: "bg-black/45 text-white/60 border-white/10 data-[pressed=true]:bg-black/65 data-[pressed=true]:text-destructive data-[pressed=true]:border-destructive/60" },
457
+ { variant: "glass-surface", tone: "success", class: "bg-black/45 text-white/60 border-white/10 data-[pressed=true]:bg-black/65 data-[pressed=true]:text-success data-[pressed=true]:border-success/60" },
458
+ { variant: "glass-surface", tone: "warning", class: "bg-black/45 text-white/60 border-white/10 data-[pressed=true]:bg-black/65 data-[pressed=true]:text-warning data-[pressed=true]:border-warning/60" }
459
+ ],
417
460
  defaultVariants: {
418
461
  variant: "ghost",
419
- size: "md"
462
+ tone: "primary"
420
463
  }
421
464
  });
465
+ var COMPONENT_NAME2 = "ToggleButton";
422
466
  var ToggleButton = forwardRef(
423
467
  ({
424
468
  pressed,
425
- defaultPressed = false,
469
+ defaultPressed,
426
470
  onPressedChange,
427
471
  onClick,
472
+ variant = "ghost",
473
+ tone = "primary",
428
474
  className,
429
- variant,
430
- size,
431
- disabled,
432
- type = "button",
433
- ...props
475
+ children,
476
+ ...buttonProps
434
477
  }, ref) => {
435
478
  const [value, setValue] = useControlled({
436
479
  controlled: pressed,
437
- default: defaultPressed,
480
+ default: defaultPressed ?? false,
438
481
  onChange: onPressedChange
439
482
  });
483
+ const renderedChildren = typeof children === "function" ? children({ pressed: value }) : children;
440
484
  return /* @__PURE__ */ jsx(
441
- "button",
485
+ Button,
442
486
  {
443
487
  ref,
444
- type,
488
+ variant: "ghost",
489
+ tone: "neutral",
445
490
  "aria-pressed": value,
446
- "data-state": value ? "on" : "off",
447
- "data-disabled": dataAttr(disabled),
448
- disabled,
491
+ "data-pressed": value ? "true" : "false",
449
492
  onClick: (e) => {
450
493
  onClick?.(e);
451
494
  if (!e.defaultPrevented) setValue(!value);
452
495
  },
453
- className: cn(toggleButtonVariants({ variant, size }), className),
454
- ...props
496
+ className: cn(toggleButtonVariants({ variant, tone }), className),
497
+ ...buttonProps,
498
+ children: renderedChildren
455
499
  }
456
500
  );
457
501
  }
458
502
  );
459
- ToggleButton.displayName = "ToggleButton";
503
+ ToggleButton.displayName = COMPONENT_NAME2;
460
504
  var ToggleButtonGroup = forwardRef(
461
505
  (props, ref) => {
462
506
  const { orientation = "horizontal", attached = true, className, children, ...rest } = props;
@@ -569,7 +613,7 @@ var FAB = forwardRef(
569
613
  )
570
614
  );
571
615
  FAB.displayName = "FAB";
572
- var COMPONENT_NAME2 = "CopyButton";
616
+ var COMPONENT_NAME3 = "CopyButton";
573
617
  var CopyButton = forwardRef(
574
618
  ({
575
619
  text,
@@ -608,7 +652,7 @@ var CopyButton = forwardRef(
608
652
  );
609
653
  }
610
654
  );
611
- CopyButton.displayName = COMPONENT_NAME2;
655
+ CopyButton.displayName = COMPONENT_NAME3;
612
656
  var DisclosureButton = forwardRef(
613
657
  ({
614
658
  children,
@@ -993,5 +1037,5 @@ var BackToTopButton = forwardRef(
993
1037
  BackToTopButton.displayName = "BackToTopButton";
994
1038
 
995
1039
  export { BackToTopButton, Button, ButtonGroup, CopyButton, DisclosureButton, FAB, Link, SegmentedControl, SpeedDial, SpeedDialAction, SpeedDialTrigger, ToggleButton, ToggleButtonGroup, Toolbar, ToolbarButton, ToolbarLink, ToolbarSeparator, buttonVariants, fabVariants, linkVariants, toggleButtonVariants };
996
- //# sourceMappingURL=chunk-4YMU5MVC.js.map
997
- //# sourceMappingURL=chunk-4YMU5MVC.js.map
1040
+ //# sourceMappingURL=chunk-FUBE5PBF.js.map
1041
+ //# sourceMappingURL=chunk-FUBE5PBF.js.map