@urbicon-ui/blocks 6.21.0 → 6.21.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.
Files changed (95) hide show
  1. package/dist/components/Calendar/calendar.variants.d.ts +132 -419
  2. package/dist/components/CommandPalette/commandPalette.variants.d.ts +24 -51
  3. package/dist/components/CompositionBar/CompositionBar.svelte +6 -1
  4. package/dist/components/CompositionBar/composition-bar.variants.d.ts +23 -83
  5. package/dist/components/CompositionBar/composition-bar.variants.js +9 -3
  6. package/dist/components/EmptyState/emptyState.variants.d.ts +11 -27
  7. package/dist/components/FileUpload/fileUpload.variants.d.ts +24 -93
  8. package/dist/components/Guide/GuidePanel.svelte +38 -0
  9. package/dist/components/Guide/guide.variants.d.ts +69 -124
  10. package/dist/components/Guide/guide.variants.js +6 -1
  11. package/dist/components/Planner/planner.variants.d.ts +23 -94
  12. package/dist/components/Sankey/sankey.variants.d.ts +15 -48
  13. package/dist/components/SidebarLayout/sidebar-layout.variants.d.ts +10 -38
  14. package/dist/components/SidebarLayout/sidebar-layout.variants.js +12 -2
  15. package/dist/components/ThemeSwitcher/themeSwitcher.variants.d.ts +9 -36
  16. package/dist/i18n/index.d.ts +2 -372
  17. package/dist/internal/charts/variants.d.ts +18 -31
  18. package/dist/primitives/Accordion/Accordion.svelte +11 -0
  19. package/dist/primitives/Accordion/AccordionItem.svelte +9 -3
  20. package/dist/primitives/Accordion/accordion.variants.d.ts +12 -43
  21. package/dist/primitives/Accordion/accordion.variants.js +6 -2
  22. package/dist/primitives/Accordion/index.d.ts +12 -0
  23. package/dist/primitives/Alert/alert.variants.d.ts +21 -62
  24. package/dist/primitives/Avatar/avatar.variants.d.ts +18 -138
  25. package/dist/primitives/Badge/badge.variants.d.ts +19 -92
  26. package/dist/primitives/Badge/badge.variants.js +11 -4
  27. package/dist/primitives/Breadcrumb/breadcrumb.variants.d.ts +13 -40
  28. package/dist/primitives/Button/button.variants.d.ts +19 -98
  29. package/dist/primitives/Button/button.variants.js +13 -9
  30. package/dist/primitives/ButtonGroup/buttongroup.variants.d.ts +9 -29
  31. package/dist/primitives/ButtonGroup/buttongroup.variants.js +3 -1
  32. package/dist/primitives/Card/card.variants.d.ts +14 -81
  33. package/dist/primitives/Checkbox/checkbox.variants.d.ts +18 -77
  34. package/dist/primitives/Collapsible/Collapsible.svelte +10 -0
  35. package/dist/primitives/Collapsible/collapsible.variants.d.ts +11 -40
  36. package/dist/primitives/Collapsible/collapsible.variants.js +7 -2
  37. package/dist/primitives/Collapsible/index.d.ts +16 -0
  38. package/dist/primitives/Combobox/combobox.variants.d.ts +24 -78
  39. package/dist/primitives/Dialog/Dialog.svelte +21 -10
  40. package/dist/primitives/Dialog/dialog.variants.d.ts +15 -54
  41. package/dist/primitives/Drawer/Drawer.svelte +21 -10
  42. package/dist/primitives/Drawer/drawer.variants.d.ts +14 -49
  43. package/dist/primitives/Input/input.variants.d.ts +32 -139
  44. package/dist/primitives/Input/input.variants.js +12 -10
  45. package/dist/primitives/JourneyTimeline/journey-timeline.variants.d.ts +55 -197
  46. package/dist/primitives/JourneyTimeline/journey-timeline.variants.js +4 -1
  47. package/dist/primitives/Menu/menu.variants.d.ts +29 -93
  48. package/dist/primitives/Pagination/pagination.variants.d.ts +16 -54
  49. package/dist/primitives/Pagination/pagination.variants.js +16 -14
  50. package/dist/primitives/Popover/Popover.svelte +1 -1
  51. package/dist/primitives/Popover/popover.variants.d.ts +4 -2
  52. package/dist/primitives/Progress/progress.variants.d.ts +19 -83
  53. package/dist/primitives/Progress/progress.variants.js +2 -1
  54. package/dist/primitives/RadioGroup/radioGroup.variants.d.ts +28 -109
  55. package/dist/primitives/SegmentGroup/SegmentGroup.svelte +14 -6
  56. package/dist/primitives/SegmentGroup/segmentgroup.variants.d.ts +12 -53
  57. package/dist/primitives/SegmentGroup/segmentgroup.variants.js +10 -10
  58. package/dist/primitives/Select/select.variants.d.ts +45 -134
  59. package/dist/primitives/Select/select.variants.js +6 -4
  60. package/dist/primitives/Separator/separator.variants.d.ts +4 -2
  61. package/dist/primitives/Sidebar/Sidebar.svelte +10 -15
  62. package/dist/primitives/Sidebar/sidebar.variants.d.ts +11 -29
  63. package/dist/primitives/Skeleton/skeleton.variants.d.ts +9 -36
  64. package/dist/primitives/Slider/slider.variants.d.ts +37 -136
  65. package/dist/primitives/Slider/slider.variants.js +8 -5
  66. package/dist/primitives/Spinner/spinner.variants.d.ts +38 -135
  67. package/dist/primitives/Stepper/stepper.variants.d.ts +32 -130
  68. package/dist/primitives/Tab/Tab.svelte +14 -6
  69. package/dist/primitives/Tab/tab.variants.d.ts +17 -78
  70. package/dist/primitives/Textarea/textarea.variants.d.ts +27 -112
  71. package/dist/primitives/Textarea/textarea.variants.js +12 -10
  72. package/dist/primitives/Toast/Toaster.svelte +16 -3
  73. package/dist/primitives/Toast/index.d.ts +9 -0
  74. package/dist/primitives/Toast/toast.variants.d.ts +22 -78
  75. package/dist/primitives/Toggle/toggle.variants.d.ts +17 -71
  76. package/dist/primitives/Toolbar/toolbar.variants.d.ts +9 -60
  77. package/dist/primitives/Tooltip/Tooltip.svelte +11 -0
  78. package/dist/primitives/Tooltip/index.d.ts +14 -0
  79. package/dist/primitives/Tooltip/tooltip.variants.d.ts +11 -50
  80. package/dist/primitives/Tooltip/tooltip.variants.js +7 -1
  81. package/dist/style/foundation.css +4 -1
  82. package/dist/style/interaction.css +39 -11
  83. package/dist/style/semantic.css +2 -2
  84. package/dist/style/themes/index.css +1 -1
  85. package/dist/utils/index.d.ts +2 -1
  86. package/dist/utils/index.js +5 -0
  87. package/dist/utils/overlay.d.ts +33 -4
  88. package/dist/utils/overlay.js +61 -18
  89. package/dist/utils/roving.d.ts +15 -0
  90. package/dist/utils/roving.js +44 -0
  91. package/dist/utils/use-floating-panel.svelte.d.ts +4 -1
  92. package/dist/utils/use-floating-panel.svelte.js +23 -1
  93. package/dist/utils/variants.d.ts +60 -16
  94. package/dist/utils/variants.js +424 -123
  95. package/package.json +9 -6
@@ -1,89 +1,18 @@
1
1
  import { type SlotNames, type VariantProps } from '../../utils/variants.js';
2
2
  export declare const PLACEMENT_VALUES: readonly ["top", "top-start", "top-end", "bottom", "bottom-start", "bottom-end", "left", "right"];
3
- export declare const badgeVariants: (props?: import("../../utils/variants.js").TVProps<{
4
- tier: {
5
- commit: {
6
- base: string;
7
- };
8
- modify: {
9
- base: string;
10
- };
11
- };
12
- intent: {
13
- primary: {};
14
- secondary: {};
15
- success: {};
16
- warning: {};
17
- danger: {};
18
- neutral: {};
19
- };
20
- variant: {
21
- filled: {};
22
- outlined: {
23
- base: string;
24
- };
25
- soft: {
26
- base: string;
27
- };
28
- dot: {
29
- base: string;
30
- };
31
- };
32
- size: {
33
- xs: {
34
- base: string;
35
- };
36
- sm: {
37
- base: string;
38
- };
39
- md: {
40
- base: string;
41
- };
42
- lg: {
43
- base: string;
44
- };
45
- };
46
- placement: {
47
- top: string;
48
- 'top-start': string;
49
- 'top-end': string;
50
- bottom: string;
51
- 'bottom-start': string;
52
- 'bottom-end': string;
53
- left: string;
54
- right: string;
55
- };
56
- counter: {
57
- true: {
58
- base: string;
59
- };
60
- };
61
- pulse: {
62
- true: {
63
- base: string;
64
- };
65
- };
66
- removable: {
67
- true: {
68
- base: string;
69
- };
70
- };
71
- interactive: {
72
- true: {
73
- base: string;
74
- };
75
- };
76
- disabled: {
77
- true: {
78
- base: string;
79
- };
80
- };
81
- border: {
82
- true: {
83
- base: string;
84
- };
85
- };
86
- }> | undefined) => {
3
+ export declare const badgeVariants: ((props?: {
4
+ tier?: "commit" | "modify" | undefined;
5
+ intent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
6
+ variant?: "dot" | "filled" | "outlined" | "soft" | undefined;
7
+ size?: "sm" | "md" | "lg" | "xs" | undefined;
8
+ placement?: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | undefined;
9
+ counter?: boolean | undefined;
10
+ pulse?: boolean | undefined;
11
+ removable?: boolean | undefined;
12
+ interactive?: boolean | undefined;
13
+ disabled?: boolean | undefined;
14
+ border?: boolean | undefined;
15
+ } | undefined) => {
87
16
  base: (props?: ({
88
17
  tier?: "commit" | "modify" | undefined;
89
18
  intent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
@@ -97,8 +26,7 @@ export declare const badgeVariants: (props?: import("../../utils/variants.js").T
97
26
  disabled?: boolean | undefined;
98
27
  border?: boolean | undefined;
99
28
  } & {
100
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
101
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
29
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
102
30
  }) | undefined) => string;
103
31
  content: (props?: ({
104
32
  tier?: "commit" | "modify" | undefined;
@@ -113,8 +41,7 @@ export declare const badgeVariants: (props?: import("../../utils/variants.js").T
113
41
  disabled?: boolean | undefined;
114
42
  border?: boolean | undefined;
115
43
  } & {
116
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
117
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
44
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
118
45
  }) | undefined) => string;
119
46
  removeButton: (props?: ({
120
47
  tier?: "commit" | "modify" | undefined;
@@ -129,8 +56,7 @@ export declare const badgeVariants: (props?: import("../../utils/variants.js").T
129
56
  disabled?: boolean | undefined;
130
57
  border?: boolean | undefined;
131
58
  } & {
132
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
133
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
59
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
134
60
  }) | undefined) => string;
135
61
  removeIcon: (props?: ({
136
62
  tier?: "commit" | "modify" | undefined;
@@ -145,9 +71,10 @@ export declare const badgeVariants: (props?: import("../../utils/variants.js").T
145
71
  disabled?: boolean | undefined;
146
72
  border?: boolean | undefined;
147
73
  } & {
148
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
149
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
74
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
150
75
  }) | undefined) => string;
76
+ }) & {
77
+ readonly config: import("../../utils/variants.js").TVConfig;
151
78
  };
152
79
  export type BadgeVariants = VariantProps<typeof badgeVariants>;
153
80
  /** Slot names derived from the tv() config — single source of truth for slotClasses. */
@@ -53,7 +53,9 @@ export const badgeVariants = tv({
53
53
  base: 'bg-transparent border-2'
54
54
  },
55
55
  soft: {
56
- base: 'bg-transparent border-transparent'
56
+ // No bg here: every intent×soft compound supplies its bg-*-subtle,
57
+ // so an axis-level bg-transparent could never win the fold.
58
+ base: 'border-transparent'
57
59
  },
58
60
  dot: {
59
61
  base: '!p-0 rounded-commit border-none'
@@ -98,10 +100,11 @@ export const badgeVariants = tv({
98
100
  base: 'animate-[badge-pulse_2s_cubic-bezier(0.4,0,0.6,1)_infinite]'
99
101
  }
100
102
  },
103
+ // The removable right-padding lives in compoundVariants (after the
104
+ // counter px-* compounds) — a later px-* shorthand would dominate an
105
+ // axis-level pr-2, and the ✕ button needs its room in counter badges.
101
106
  removable: {
102
- true: {
103
- base: 'pr-2'
104
- }
107
+ true: {}
105
108
  },
106
109
  interactive: {
107
110
  true: {
@@ -131,6 +134,10 @@ export const badgeVariants = tv({
131
134
  { counter: true, size: 'sm', class: { base: 'min-w-5 px-1.5' } },
132
135
  { counter: true, size: 'md', class: { base: 'min-w-6 px-1.5' } },
133
136
  { counter: true, size: 'lg', class: { base: 'min-w-7 px-2' } },
137
+ // Removable ✕ needs right-hand room. Placed after the counter compounds
138
+ // so the pr-2 longhand refines their px-* (longhands never get
139
+ // dominance-stripped by an EARLIER shorthand — later sources win).
140
+ { removable: true, class: { base: 'pr-2' } },
134
141
  // Dot size overrides
135
142
  {
136
143
  variant: 'dot',
@@ -1,79 +1,52 @@
1
1
  import { type SlotNames, type VariantProps } from '../../utils/variants.js';
2
- export declare const breadcrumbVariants: (props?: import("../../utils/variants.js").TVProps<{
3
- size: {
4
- sm: {
5
- list: string;
6
- separator: string;
7
- };
8
- md: {
9
- list: string;
10
- separator: string;
11
- };
12
- lg: {
13
- list: string;
14
- separator: string;
15
- };
16
- };
17
- wrap: {
18
- true: {
19
- list: string;
20
- };
21
- false: {
22
- nav: string;
23
- list: string;
24
- currentPage: string;
25
- };
26
- };
27
- }> | undefined) => {
2
+ export declare const breadcrumbVariants: ((props?: {
3
+ size?: "sm" | "md" | "lg" | undefined;
4
+ wrap?: boolean | undefined;
5
+ } | undefined) => {
28
6
  nav: (props?: ({
29
7
  size?: "sm" | "md" | "lg" | undefined;
30
8
  wrap?: boolean | undefined;
31
9
  } & {
32
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
33
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
10
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
34
11
  }) | undefined) => string;
35
12
  list: (props?: ({
36
13
  size?: "sm" | "md" | "lg" | undefined;
37
14
  wrap?: boolean | undefined;
38
15
  } & {
39
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
40
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
16
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
41
17
  }) | undefined) => string;
42
18
  item: (props?: ({
43
19
  size?: "sm" | "md" | "lg" | undefined;
44
20
  wrap?: boolean | undefined;
45
21
  } & {
46
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
47
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
22
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
48
23
  }) | undefined) => string;
49
24
  link: (props?: ({
50
25
  size?: "sm" | "md" | "lg" | undefined;
51
26
  wrap?: boolean | undefined;
52
27
  } & {
53
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
54
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
28
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
55
29
  }) | undefined) => string;
56
30
  currentPage: (props?: ({
57
31
  size?: "sm" | "md" | "lg" | undefined;
58
32
  wrap?: boolean | undefined;
59
33
  } & {
60
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
61
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
34
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
62
35
  }) | undefined) => string;
63
36
  ellipsis: (props?: ({
64
37
  size?: "sm" | "md" | "lg" | undefined;
65
38
  wrap?: boolean | undefined;
66
39
  } & {
67
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
68
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
40
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
69
41
  }) | undefined) => string;
70
42
  separator: (props?: ({
71
43
  size?: "sm" | "md" | "lg" | undefined;
72
44
  wrap?: boolean | undefined;
73
45
  } & {
74
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
75
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
46
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
76
47
  }) | undefined) => string;
48
+ }) & {
49
+ readonly config: import("../../utils/variants.js").TVConfig;
77
50
  };
78
51
  export type BreadcrumbVariants = VariantProps<typeof breadcrumbVariants>;
79
52
  /** Slot names derived from the `tv()` config above — single source of truth for `slotClasses`. */
@@ -1,135 +1,56 @@
1
1
  import { type SlotNames, type VariantProps } from '../../utils/variants.js';
2
- export declare const buttonVariants: (props?: import("../../utils/variants.js").TVProps<{
3
- tier: {
4
- commit: {
5
- base: string;
6
- };
7
- modify: {
8
- base: string;
9
- };
10
- };
11
- intent: {
12
- primary: {
13
- base: string[];
14
- };
15
- secondary: {
16
- base: string[];
17
- };
18
- success: {
19
- base: string[];
20
- };
21
- warning: {
22
- base: string[];
23
- };
24
- danger: {
25
- base: string[];
26
- };
27
- neutral: {
28
- base: string[];
29
- };
30
- };
31
- variant: {
32
- filled: {};
33
- outlined: {
34
- base: string[];
35
- };
36
- ghost: {
37
- base: string[];
38
- };
39
- text: {
40
- base: string[];
41
- };
42
- };
43
- size: {
44
- '2xs': {
45
- base: string;
46
- };
47
- xs: {
48
- base: string;
49
- };
50
- sm: {
51
- base: string;
52
- };
53
- md: {
54
- base: string;
55
- };
56
- lg: {
57
- base: string;
58
- };
59
- xl: {
60
- base: string;
61
- };
62
- };
63
- loading: {
64
- true: {
65
- base: string;
66
- };
67
- false: {
68
- spinner: string;
69
- };
70
- };
71
- loadingPlacement: {
72
- overlay: {};
73
- start: {};
74
- end: {};
75
- };
76
- pressed: {
77
- true: {
78
- base: string;
79
- };
80
- };
81
- active: {
82
- true: {};
83
- false: {};
84
- };
85
- buttonGroupConnected: {
86
- true: {
87
- base: string;
88
- };
89
- };
90
- }> | undefined) => {
2
+ export declare const buttonVariants: ((props?: {
3
+ tier?: "commit" | "modify" | undefined;
4
+ intent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
5
+ pressed?: boolean | undefined;
6
+ variant?: "text" | "ghost" | "filled" | "outlined" | undefined;
7
+ size?: "sm" | "md" | "lg" | "xl" | "xs" | "2xs" | undefined;
8
+ loading?: boolean | undefined;
9
+ loadingPlacement?: "start" | "end" | "overlay" | undefined;
10
+ active?: boolean | undefined;
11
+ buttonGroupConnected?: boolean | undefined;
12
+ } | undefined) => {
91
13
  base: (props?: ({
92
14
  tier?: "commit" | "modify" | undefined;
93
15
  intent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
16
+ pressed?: boolean | undefined;
94
17
  variant?: "text" | "ghost" | "filled" | "outlined" | undefined;
95
18
  size?: "sm" | "md" | "lg" | "xl" | "xs" | "2xs" | undefined;
96
19
  loading?: boolean | undefined;
97
20
  loadingPlacement?: "start" | "end" | "overlay" | undefined;
98
- pressed?: boolean | undefined;
99
21
  active?: boolean | undefined;
100
22
  buttonGroupConnected?: boolean | undefined;
101
23
  } & {
102
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
103
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
24
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
104
25
  }) | undefined) => string;
105
26
  content: (props?: ({
106
27
  tier?: "commit" | "modify" | undefined;
107
28
  intent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
29
+ pressed?: boolean | undefined;
108
30
  variant?: "text" | "ghost" | "filled" | "outlined" | undefined;
109
31
  size?: "sm" | "md" | "lg" | "xl" | "xs" | "2xs" | undefined;
110
32
  loading?: boolean | undefined;
111
33
  loadingPlacement?: "start" | "end" | "overlay" | undefined;
112
- pressed?: boolean | undefined;
113
34
  active?: boolean | undefined;
114
35
  buttonGroupConnected?: boolean | undefined;
115
36
  } & {
116
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
117
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
37
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
118
38
  }) | undefined) => string;
119
39
  spinner: (props?: ({
120
40
  tier?: "commit" | "modify" | undefined;
121
41
  intent?: "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
42
+ pressed?: boolean | undefined;
122
43
  variant?: "text" | "ghost" | "filled" | "outlined" | undefined;
123
44
  size?: "sm" | "md" | "lg" | "xl" | "xs" | "2xs" | undefined;
124
45
  loading?: boolean | undefined;
125
46
  loadingPlacement?: "start" | "end" | "overlay" | undefined;
126
- pressed?: boolean | undefined;
127
47
  active?: boolean | undefined;
128
48
  buttonGroupConnected?: boolean | undefined;
129
49
  } & {
130
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
131
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
50
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
132
51
  }) | undefined) => string;
52
+ }) & {
53
+ readonly config: import("../../utils/variants.js").TVConfig;
133
54
  };
134
55
  export type ButtonVariants = VariantProps<typeof buttonVariants>;
135
56
  /** Slot names derived from the `tv()` config above — single source of truth for `slotClasses`. */
@@ -81,6 +81,15 @@ export const buttonVariants = tv({
81
81
  ]
82
82
  }
83
83
  },
84
+ // Declared BEFORE `variant` so the flat variants (ghost/text
85
+ // `shadow-none`) win the shadow bucket over the pressed depth cue —
86
+ // a pressed ghost button stays flat. For filled/outlined (no shadow of
87
+ // their own) the pressed `shadow-xs` still applies.
88
+ pressed: {
89
+ true: {
90
+ base: 'scale-[0.98] brightness-90 shadow-[var(--blocks-shadow-xs)]'
91
+ }
92
+ },
84
93
  variant: {
85
94
  filled: {},
86
95
  outlined: {
@@ -90,10 +99,10 @@ export const buttonVariants = tv({
90
99
  base: ['bg-transparent border-transparent shadow-none']
91
100
  },
92
101
  text: {
93
- base: [
94
- 'bg-transparent border-none shadow-none px-2',
95
- 'hover:bg-transparent hover:underline'
96
- ]
102
+ // No `px-*` here: the size axis (declared later) always supplies the
103
+ // horizontal padding, so a variant-level `px-2` could never win —
104
+ // it was dead weight under the old CSS-order tie-break too.
105
+ base: ['bg-transparent border-none shadow-none', 'hover:bg-transparent hover:underline']
97
106
  }
98
107
  },
99
108
  size: {
@@ -129,11 +138,6 @@ export const buttonVariants = tv({
129
138
  start: {},
130
139
  end: {}
131
140
  },
132
- pressed: {
133
- true: {
134
- base: 'scale-[0.98] brightness-90 shadow-[var(--blocks-shadow-xs)]'
135
- }
136
- },
137
141
  active: {
138
142
  true: {},
139
143
  false: {}
@@ -1,40 +1,20 @@
1
1
  import { type SlotNames, type VariantProps } from '../../utils/variants.js';
2
- export declare const buttonGroupVariants: (props?: import("../../utils/variants.js").TVProps<{
3
- orientation: {
4
- horizontal: {
5
- base: string;
6
- };
7
- vertical: {
8
- base: string;
9
- };
10
- };
11
- connected: {
12
- true: {
13
- base: string;
14
- };
15
- false: {
16
- base: string;
17
- };
18
- };
19
- tier: {
20
- commit: {};
21
- modify: {};
22
- };
23
- disabled: {
24
- true: {
25
- base: string;
26
- };
27
- };
28
- }> | undefined) => {
2
+ export declare const buttonGroupVariants: ((props?: {
3
+ orientation?: "horizontal" | "vertical" | undefined;
4
+ connected?: boolean | undefined;
5
+ tier?: "commit" | "modify" | undefined;
6
+ disabled?: boolean | undefined;
7
+ } | undefined) => {
29
8
  base: (props?: ({
30
9
  orientation?: "horizontal" | "vertical" | undefined;
31
10
  connected?: boolean | undefined;
32
11
  tier?: "commit" | "modify" | undefined;
33
12
  disabled?: boolean | undefined;
34
13
  } & {
35
- class?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
36
- className?: string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | (string | false | /*elided*/ any | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined)[] | null | undefined;
14
+ class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
37
15
  }) | undefined) => string;
16
+ }) & {
17
+ readonly config: import("../../utils/variants.js").TVConfig;
38
18
  };
39
19
  export type ButtonGroupVariants = VariantProps<typeof buttonGroupVariants>;
40
20
  /** Slot names derived from the tv() config — single source of truth for slotClasses. */
@@ -6,7 +6,9 @@ export const buttonGroupVariants = tv({
6
6
  variants: {
7
7
  orientation: {
8
8
  horizontal: { base: 'flex-row' },
9
- vertical: { base: 'flex-col w-fit' }
9
+ // Width lives in the vertical compound below (w-full, sm:w-fit)
10
+ // an axis-level w-fit could never win against it.
11
+ vertical: { base: 'flex-col' }
10
12
  },
11
13
  connected: {
12
14
  true: { base: '' },