@urbicon-ui/blocks 6.21.0 → 6.21.2

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 (142) 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/NumberInput/NumberInput.svelte +197 -0
  12. package/dist/components/NumberInput/NumberInput.svelte.d.ts +4 -0
  13. package/dist/components/NumberInput/index.d.ts +55 -0
  14. package/dist/components/NumberInput/index.js +1 -0
  15. package/dist/components/Planner/planner.variants.d.ts +23 -94
  16. package/dist/components/Sankey/sankey.variants.d.ts +15 -48
  17. package/dist/components/SidebarLayout/sidebar-layout.variants.d.ts +10 -38
  18. package/dist/components/SidebarLayout/sidebar-layout.variants.js +12 -2
  19. package/dist/components/ThemeSwitcher/themeSwitcher.variants.d.ts +9 -36
  20. package/dist/components/index.d.ts +2 -0
  21. package/dist/components/index.js +1 -0
  22. package/dist/i18n/index.d.ts +8 -372
  23. package/dist/internal/charts/variants.d.ts +18 -31
  24. package/dist/primitives/Accordion/Accordion.svelte +11 -0
  25. package/dist/primitives/Accordion/AccordionItem.svelte +9 -3
  26. package/dist/primitives/Accordion/accordion.variants.d.ts +12 -43
  27. package/dist/primitives/Accordion/accordion.variants.js +6 -2
  28. package/dist/primitives/Accordion/index.d.ts +12 -0
  29. package/dist/primitives/Alert/alert.variants.d.ts +21 -62
  30. package/dist/primitives/Avatar/avatar.variants.d.ts +18 -138
  31. package/dist/primitives/Badge/Badge.svelte +12 -4
  32. package/dist/primitives/Badge/badge.variants.d.ts +19 -92
  33. package/dist/primitives/Badge/badge.variants.js +11 -4
  34. package/dist/primitives/Badge/index.d.ts +26 -6
  35. package/dist/primitives/Breadcrumb/Breadcrumb.svelte +11 -6
  36. package/dist/primitives/Breadcrumb/breadcrumb.variants.d.ts +13 -40
  37. package/dist/primitives/Breadcrumb/index.d.ts +2 -2
  38. package/dist/primitives/Button/button.variants.d.ts +19 -98
  39. package/dist/primitives/Button/button.variants.js +13 -9
  40. package/dist/primitives/ButtonGroup/buttongroup.variants.d.ts +9 -29
  41. package/dist/primitives/ButtonGroup/buttongroup.variants.js +3 -1
  42. package/dist/primitives/Card/card.variants.d.ts +14 -81
  43. package/dist/primitives/Checkbox/Checkbox.svelte +3 -3
  44. package/dist/primitives/Checkbox/checkbox.variants.d.ts +18 -77
  45. package/dist/primitives/Collapsible/Collapsible.svelte +10 -0
  46. package/dist/primitives/Collapsible/collapsible.variants.d.ts +11 -40
  47. package/dist/primitives/Collapsible/collapsible.variants.js +7 -2
  48. package/dist/primitives/Collapsible/index.d.ts +16 -0
  49. package/dist/primitives/Combobox/Combobox.svelte +478 -104
  50. package/dist/primitives/Combobox/combobox.variants.d.ts +112 -94
  51. package/dist/primitives/Combobox/combobox.variants.js +94 -13
  52. package/dist/primitives/Combobox/index.d.ts +166 -51
  53. package/dist/primitives/ConfirmDialog/index.d.ts +19 -0
  54. package/dist/primitives/Dialog/Dialog.svelte +95 -10
  55. package/dist/primitives/Dialog/dialog.variants.d.ts +15 -54
  56. package/dist/primitives/Dialog/index.d.ts +12 -1
  57. package/dist/primitives/Drawer/Drawer.svelte +23 -11
  58. package/dist/primitives/Drawer/drawer.variants.d.ts +22 -49
  59. package/dist/primitives/Drawer/drawer.variants.js +45 -10
  60. package/dist/primitives/Drawer/index.d.ts +13 -4
  61. package/dist/primitives/FormField/FormField.svelte +6 -6
  62. package/dist/primitives/FormField/index.d.ts +13 -4
  63. package/dist/primitives/Input/Input.svelte +8 -4
  64. package/dist/primitives/Input/input.variants.d.ts +32 -139
  65. package/dist/primitives/Input/input.variants.js +12 -10
  66. package/dist/primitives/JourneyTimeline/journey-timeline.variants.d.ts +55 -197
  67. package/dist/primitives/JourneyTimeline/journey-timeline.variants.js +4 -1
  68. package/dist/primitives/Menu/Menu.svelte +66 -4
  69. package/dist/primitives/Menu/index.d.ts +25 -0
  70. package/dist/primitives/Menu/menu.variants.d.ts +29 -93
  71. package/dist/primitives/Pagination/Pagination.svelte +28 -13
  72. package/dist/primitives/Pagination/index.d.ts +44 -0
  73. package/dist/primitives/Pagination/pagination.variants.d.ts +16 -54
  74. package/dist/primitives/Pagination/pagination.variants.js +16 -14
  75. package/dist/primitives/Popover/Popover.svelte +11 -1
  76. package/dist/primitives/Popover/index.d.ts +3 -3
  77. package/dist/primitives/Popover/popover.variants.d.ts +4 -2
  78. package/dist/primitives/Progress/progress.variants.d.ts +19 -83
  79. package/dist/primitives/Progress/progress.variants.js +2 -1
  80. package/dist/primitives/RadioGroup/RadioGroup.svelte +3 -3
  81. package/dist/primitives/RadioGroup/radioGroup.variants.d.ts +28 -109
  82. package/dist/primitives/SegmentGroup/SegmentGroup.svelte +14 -6
  83. package/dist/primitives/SegmentGroup/segmentgroup.variants.d.ts +12 -53
  84. package/dist/primitives/SegmentGroup/segmentgroup.variants.js +10 -10
  85. package/dist/primitives/Select/Select.svelte +21 -11
  86. package/dist/primitives/Select/index.d.ts +7 -0
  87. package/dist/primitives/Select/select.variants.d.ts +61 -150
  88. package/dist/primitives/Select/select.variants.js +24 -4
  89. package/dist/primitives/Separator/separator.variants.d.ts +4 -2
  90. package/dist/primitives/Sidebar/Sidebar.svelte +10 -15
  91. package/dist/primitives/Sidebar/sidebar.variants.d.ts +11 -29
  92. package/dist/primitives/Skeleton/skeleton.variants.d.ts +9 -36
  93. package/dist/primitives/Slider/Slider.svelte +4 -8
  94. package/dist/primitives/Slider/slider.variants.d.ts +37 -136
  95. package/dist/primitives/Slider/slider.variants.js +8 -5
  96. package/dist/primitives/Spinner/spinner.variants.d.ts +38 -135
  97. package/dist/primitives/Stepper/stepper.variants.d.ts +32 -130
  98. package/dist/primitives/Tab/Tab.svelte +14 -6
  99. package/dist/primitives/Tab/tab.variants.d.ts +17 -78
  100. package/dist/primitives/Textarea/Textarea.svelte +4 -5
  101. package/dist/primitives/Textarea/textarea.variants.d.ts +33 -118
  102. package/dist/primitives/Textarea/textarea.variants.js +17 -12
  103. package/dist/primitives/Toast/Toaster.svelte +58 -5
  104. package/dist/primitives/Toast/index.d.ts +39 -0
  105. package/dist/primitives/Toast/toast.store.svelte.d.ts +25 -1
  106. package/dist/primitives/Toast/toast.store.svelte.js +91 -1
  107. package/dist/primitives/Toast/toast.variants.d.ts +40 -78
  108. package/dist/primitives/Toast/toast.variants.js +15 -0
  109. package/dist/primitives/Toggle/Toggle.svelte +17 -3
  110. package/dist/primitives/Toggle/index.d.ts +8 -2
  111. package/dist/primitives/Toggle/toggle.variants.d.ts +24 -71
  112. package/dist/primitives/Toggle/toggle.variants.js +26 -0
  113. package/dist/primitives/Toolbar/toolbar.variants.d.ts +9 -60
  114. package/dist/primitives/Tooltip/Tooltip.svelte +58 -21
  115. package/dist/primitives/Tooltip/Tooltip.svelte.d.ts +1 -1
  116. package/dist/primitives/Tooltip/index.d.ts +45 -3
  117. package/dist/primitives/Tooltip/tooltip.variants.d.ts +14 -53
  118. package/dist/primitives/Tooltip/tooltip.variants.js +9 -3
  119. package/dist/primitives/index.d.ts +3 -3
  120. package/dist/style/foundation.css +4 -1
  121. package/dist/style/interaction.css +39 -11
  122. package/dist/style/semantic.css +2 -2
  123. package/dist/style/themes/index.css +1 -1
  124. package/dist/translations/de.d.ts +3 -0
  125. package/dist/translations/de.js +4 -1
  126. package/dist/translations/en.d.ts +3 -0
  127. package/dist/translations/en.js +4 -1
  128. package/dist/utils/guide.svelte.d.ts +8 -2
  129. package/dist/utils/guide.svelte.js +86 -5
  130. package/dist/utils/index.d.ts +2 -1
  131. package/dist/utils/index.js +5 -0
  132. package/dist/utils/overlay.d.ts +33 -4
  133. package/dist/utils/overlay.js +61 -18
  134. package/dist/utils/roving.d.ts +15 -0
  135. package/dist/utils/roving.js +44 -0
  136. package/dist/utils/use-floating-panel.svelte.d.ts +4 -1
  137. package/dist/utils/use-floating-panel.svelte.js +23 -1
  138. package/dist/utils/use-form-field.svelte.d.ts +9 -9
  139. package/dist/utils/use-form-field.svelte.js +12 -12
  140. package/dist/utils/variants.d.ts +60 -16
  141. package/dist/utils/variants.js +424 -123
  142. 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',
@@ -6,7 +6,21 @@ import type { BadgePlacement, BadgeSlots, BadgeVariants } from './badge.variants
6
6
  * Shared fields that apply to every Badge variant — `dot` and the
7
7
  * label-style variants both accept these.
8
8
  */
9
- interface BadgeBaseProps extends Omit<BadgeVariants, 'variant'>, Omit<HTMLAttributes<HTMLElement>, 'children'> {
9
+ interface BadgeBaseProps extends Omit<BadgeVariants, 'variant' | 'counter'>, Omit<HTMLAttributes<HTMLElement>, 'children'> {
10
+ /**
11
+ * The badge's semantic purpose — the canonical axis that resolves what the
12
+ * badge *is*, since a bare Badge served five overlapping roles. Orchestrates
13
+ * the low-level visual props so you rarely set them directly:
14
+ * - `status` — a state marker (Active, Failed); pairs with `intent`.
15
+ * - `tag` — a neutral inline label (category, version).
16
+ * - `counter` — a compact numeric pill (replaces the `counter` boolean).
17
+ * - `dot` — a pure indicator, content hidden (replaces `variant="dot"`).
18
+ * - `chip` — a removable, interactive filter chip; pair with `removable`.
19
+ *
20
+ * Leave unset to drive the badge purely by the low-level props (back-compat).
21
+ * When set, `purpose` wins over `variant="dot"` / the `counter` boolean.
22
+ */
23
+ purpose?: 'status' | 'tag' | 'counter' | 'dot' | 'chip';
10
24
  /** Add a pulsing animation to draw attention (e.g. for live indicators). */
11
25
  pulse?: boolean;
12
26
  /** Visually disable the badge (reduced opacity, no pointer events). */
@@ -60,7 +74,10 @@ interface BadgeStandardProps extends BadgeBaseProps {
60
74
  variant?: 'filled' | 'outlined' | 'soft';
61
75
  /** Badge content (text, icons, numbers). */
62
76
  children?: Snippet;
63
- /** Display as a compact pill for numeric counts. Tightens padding and uses tabular-nums so digits align. */
77
+ /**
78
+ * Display as a compact pill for numeric counts (tightens padding, tabular-nums).
79
+ * @deprecated Prefer `purpose="counter"` — the canonical semantic axis. Kept for back-compat.
80
+ */
64
81
  counter?: boolean;
65
82
  /** Show a remove (×) button. */
66
83
  removable?: boolean;
@@ -81,16 +98,19 @@ interface BadgeStandardProps extends BadgeBaseProps {
81
98
  * `onRemove` at the type level, while `filled` / `outlined` / `soft`
82
99
  * accept the full surface.
83
100
  *
84
- * @example
101
+ * @example Purpose-driven (canonical) — the intent reads from `purpose`
85
102
  * ```svelte
86
- * <Badge variant="filled" intent="primary">New Feature</Badge>
103
+ * <Badge purpose="status" intent="success">Active</Badge>
104
+ * <Badge purpose="counter" intent="danger">5</Badge>
105
+ * <Badge purpose="chip" removable onRemove={() => …}>React</Badge>
106
+ * <Badge purpose="dot" intent="warning" />
87
107
  * ```
88
108
  *
89
- * @example
109
+ * @example Notification counter anchored to a trigger
90
110
  * ```svelte
91
111
  * <div class="relative">
92
112
  * <Button>Notifications</Button>
93
- * <Badge intent="danger" counter placement="top-end" border>5</Badge>
113
+ * <Badge purpose="counter" intent="danger" placement="top-end" border>5</Badge>
94
114
  * </div>
95
115
  * ```
96
116
  */
@@ -1,9 +1,12 @@
1
1
  <script lang="ts">
2
2
  import { tick } from 'svelte';
3
+ import { useBlocksI18n } from '../..';
3
4
  import { getBlocksConfig, resolveSlotClasses } from '../../provider';
4
5
  import { breadcrumbVariants, type BreadcrumbVariants } from './breadcrumb.variants';
5
6
  import type { BreadcrumbProps, BreadcrumbItem } from './index';
6
7
 
8
+ const bt = useBlocksI18n();
9
+
7
10
  let {
8
11
  items,
9
12
  size = 'md',
@@ -12,8 +15,11 @@
12
15
  maxItems,
13
16
  itemsBeforeCollapse = 1,
14
17
  itemsAfterCollapse = 1,
15
- expandLabel = 'Show all breadcrumb items',
16
- 'aria-label': ariaLabel = 'Breadcrumb',
18
+ // A11y labels default to the localized `accessibility.*` strings in the
19
+ // markup below (resolved per render, so a locale switch updates them) —
20
+ // Breadcrumb was the last primitive with built-in English-only strings.
21
+ expandLabel,
22
+ 'aria-label': ariaLabel,
17
23
  class: className = '',
18
24
  unstyled: unstyledProp = false,
19
25
  slotClasses: slotClassesProp = {},
@@ -43,8 +49,7 @@
43
49
  const after = $derived(Math.max(1, itemsAfterCollapse));
44
50
 
45
51
  type BreadcrumbEntry =
46
- | { kind: 'item'; item: BreadcrumbItem; current: boolean }
47
- | { kind: 'ellipsis' };
52
+ { kind: 'item'; item: BreadcrumbItem; current: boolean } | { kind: 'ellipsis' };
48
53
 
49
54
  const entries = $derived.by((): BreadcrumbEntry[] => {
50
55
  const last = items.length - 1;
@@ -90,7 +95,7 @@
90
95
  class={unstyled
91
96
  ? [slotClasses?.nav, className].filter(Boolean).join(' ')
92
97
  : styles.nav({ class: [slotClasses?.nav, className] })}
93
- aria-label={ariaLabel}
98
+ aria-label={ariaLabel ?? bt('accessibility.breadcrumb')}
94
99
  {...restProps}
95
100
  >
96
101
  <ol class={unstyled ? (slotClasses?.list ?? '') : styles.list({ class: slotClasses?.list })}>
@@ -102,7 +107,7 @@
102
107
  class={unstyled
103
108
  ? (slotClasses?.ellipsis ?? '')
104
109
  : styles.ellipsis({ class: slotClasses?.ellipsis })}
105
- aria-label={expandLabel}
110
+ aria-label={expandLabel ?? bt('accessibility.breadcrumbExpand')}
106
111
  onclick={expand}
107
112
  >
108
113
 
@@ -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`. */
@@ -72,9 +72,9 @@ export interface BreadcrumbProps extends BreadcrumbVariants, Omit<HTMLAttributes
72
72
  itemsBeforeCollapse?: number;
73
73
  /** Trailing items kept visible when collapsed; the current page is always included. @default 1 */
74
74
  itemsAfterCollapse?: number;
75
- /** Accessible label for the "…" button that expands a collapsed trail. @default 'Show all breadcrumb items' */
75
+ /** Accessible label for the "…" button that expands a collapsed trail. Defaults to the localized `accessibility.breadcrumbExpand`. */
76
76
  expandLabel?: string;
77
- /** Accessible label for the nav element @default 'Breadcrumb' */
77
+ /** Accessible label for the nav element. Defaults to the localized `accessibility.breadcrumb`. */
78
78
  'aria-label'?: string;
79
79
  /** Custom CSS class */
80
80
  class?: string;
@@ -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`. */