iryx-ui 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/README.md +35 -1315
  2. package/dist/component-names.d.ts +1 -1
  3. package/dist/component-names.js +1 -1
  4. package/dist/components/Accordion.js +5 -0
  5. package/dist/components/Accordion.vue.d.ts +80 -0
  6. package/dist/components/Accordion.vue_vue_type_script_setup_true_lang.js +87 -0
  7. package/dist/components/Alert.vue.d.ts +1 -1
  8. package/dist/components/Alert.vue_vue_type_script_setup_true_lang.js +7 -7
  9. package/dist/components/App.vue.d.ts +1 -1
  10. package/dist/components/AppShell.js +5 -0
  11. package/dist/components/AppShell.vue.d.ts +46 -0
  12. package/dist/components/AppShell.vue_vue_type_script_setup_true_lang.js +59 -0
  13. package/dist/components/AspectRatio.js +5 -0
  14. package/dist/components/AspectRatio.vue.d.ts +26 -0
  15. package/dist/components/AspectRatio.vue_vue_type_script_setup_true_lang.js +27 -0
  16. package/dist/components/Avatar.js +5 -0
  17. package/dist/components/Avatar.vue.d.ts +52 -0
  18. package/dist/components/Avatar.vue_vue_type_script_setup_true_lang.js +67 -0
  19. package/dist/components/AvatarGroup.js +5 -0
  20. package/dist/components/AvatarGroup.vue.d.ts +39 -0
  21. package/dist/components/AvatarGroup.vue_vue_type_script_setup_true_lang.js +45 -0
  22. package/dist/components/Badge.vue.d.ts +1 -1
  23. package/dist/components/Banner.vue.d.ts +2 -2
  24. package/dist/components/BarChart.vue.d.ts +1 -1
  25. package/dist/components/BarChart.vue_vue_type_script_setup_true_lang.js +14 -14
  26. package/dist/components/Button.vue.d.ts +2 -2
  27. package/dist/components/ButtonGroup.vue.d.ts +1 -1
  28. package/dist/components/Card.vue.d.ts +1 -1
  29. package/dist/components/Collapsible.js +5 -0
  30. package/dist/components/Collapsible.vue.d.ts +58 -0
  31. package/dist/components/Collapsible.vue_vue_type_script_setup_true_lang.js +67 -0
  32. package/dist/components/ColorPicker.js +5 -0
  33. package/dist/components/ColorPicker.vue.d.ts +49 -0
  34. package/dist/components/ColorPicker.vue_vue_type_script_setup_true_lang.js +172 -0
  35. package/dist/components/Combobox.vue.d.ts +6 -6
  36. package/dist/components/CommandPalette.js +5 -0
  37. package/dist/components/CommandPalette.vue.d.ts +63 -0
  38. package/dist/components/CommandPalette.vue_vue_type_script_setup_true_lang.js +185 -0
  39. package/dist/components/Container.js +5 -0
  40. package/dist/components/Container.vue.d.ts +33 -0
  41. package/dist/components/Container.vue_vue_type_script_setup_true_lang.js +40 -0
  42. package/dist/components/ContextMenu.js +5 -0
  43. package/dist/components/ContextMenu.vue.d.ts +42 -0
  44. package/dist/components/ContextMenu.vue_vue_type_script_setup_true_lang.js +49 -0
  45. package/dist/components/DateRangePicker.vue.d.ts +1 -1
  46. package/dist/components/Dialog.vue.d.ts +1 -1
  47. package/dist/components/Drawer.vue.d.ts +2 -2
  48. package/dist/components/EmptyState.vue.d.ts +1 -1
  49. package/dist/components/Input.vue.d.ts +1 -1
  50. package/dist/components/Input.vue_vue_type_script_setup_true_lang.js +4 -4
  51. package/dist/components/Kbd.js +5 -0
  52. package/dist/components/Kbd.vue.d.ts +46 -0
  53. package/dist/components/Kbd.vue_vue_type_script_setup_true_lang.js +41 -0
  54. package/dist/components/LineChart.vue_vue_type_script_setup_true_lang.js +19 -19
  55. package/dist/components/Menubar.js +5 -0
  56. package/dist/components/Menubar.vue.d.ts +62 -0
  57. package/dist/components/Menubar.vue_vue_type_script_setup_true_lang.js +79 -0
  58. package/dist/components/NavigationMenu.js +5 -0
  59. package/dist/components/NavigationMenu.vue.d.ts +75 -0
  60. package/dist/components/NavigationMenu.vue_vue_type_script_setup_true_lang.js +167 -0
  61. package/dist/components/NumberInput.vue_vue_type_script_setup_true_lang.js +2 -2
  62. package/dist/components/PageHeader.js +5 -0
  63. package/dist/components/PageHeader.vue.d.ts +52 -0
  64. package/dist/components/PageHeader.vue_vue_type_script_setup_true_lang.js +59 -0
  65. package/dist/components/PinInput.js +5 -0
  66. package/dist/components/PinInput.vue.d.ts +65 -0
  67. package/dist/components/PinInput.vue_vue_type_script_setup_true_lang.js +76 -0
  68. package/dist/components/Popover.js +5 -0
  69. package/dist/components/Popover.vue.d.ts +75 -0
  70. package/dist/components/Popover.vue_vue_type_script_setup_true_lang.js +99 -0
  71. package/dist/components/Progress.vue.d.ts +20 -1
  72. package/dist/components/Progress.vue_vue_type_script_setup_true_lang.js +84 -44
  73. package/dist/components/RadioGroup.vue_vue_type_script_setup_true_lang.js +4 -1
  74. package/dist/components/ScrollArea.js +5 -0
  75. package/dist/components/ScrollArea.vue.d.ts +41 -0
  76. package/dist/components/ScrollArea.vue_vue_type_script_setup_true_lang.js +68 -0
  77. package/dist/components/ScrollFade.js +5 -0
  78. package/dist/components/ScrollFade.vue.d.ts +36 -0
  79. package/dist/components/ScrollFade.vue_vue_type_script_setup_true_lang.js +59 -0
  80. package/dist/components/Select.vue.d.ts +2 -2
  81. package/dist/components/Sidebar.js +5 -0
  82. package/dist/components/Sidebar.vue.d.ts +72 -0
  83. package/dist/components/Sidebar.vue_vue_type_script_setup_true_lang.js +183 -0
  84. package/dist/components/SignaturePad.js +5 -0
  85. package/dist/components/SignaturePad.vue.d.ts +60 -0
  86. package/dist/components/SignaturePad.vue_vue_type_script_setup_true_lang.js +158 -0
  87. package/dist/components/Skeleton.vue.d.ts +1 -1
  88. package/dist/components/Skeleton.vue_vue_type_script_setup_true_lang.js +8 -8
  89. package/dist/components/Slider.js +5 -0
  90. package/dist/components/Slider.vue.d.ts +80 -0
  91. package/dist/components/Slider.vue_vue_type_script_setup_true_lang.js +115 -0
  92. package/dist/components/Splitter.js +5 -0
  93. package/dist/components/Splitter.vue.d.ts +59 -0
  94. package/dist/components/Splitter.vue_vue_type_script_setup_true_lang.js +69 -0
  95. package/dist/components/Stat.vue.d.ts +1 -1
  96. package/dist/components/Switch.vue.d.ts +1 -0
  97. package/dist/components/Switch.vue_vue_type_script_setup_true_lang.js +7 -3
  98. package/dist/components/Table.vue.d.ts +7 -1
  99. package/dist/components/Table.vue_vue_type_script_setup_true_lang.js +73 -58
  100. package/dist/components/TagsInput.js +5 -0
  101. package/dist/components/TagsInput.vue.d.ts +71 -0
  102. package/dist/components/TagsInput.vue_vue_type_script_setup_true_lang.js +119 -0
  103. package/dist/components/Textarea.vue_vue_type_script_setup_true_lang.js +3 -3
  104. package/dist/components/TimeField.js +5 -0
  105. package/dist/components/TimeField.vue.d.ts +50 -0
  106. package/dist/components/TimeField.vue_vue_type_script_setup_true_lang.js +85 -0
  107. package/dist/components/Timeline.js +5 -0
  108. package/dist/components/Timeline.vue.d.ts +61 -0
  109. package/dist/components/Timeline.vue_vue_type_script_setup_true_lang.js +60 -0
  110. package/dist/components/Toaster.vue.d.ts +1 -1
  111. package/dist/components/Toggle.js +5 -0
  112. package/dist/components/Toggle.vue.d.ts +42 -0
  113. package/dist/components/Toggle.vue_vue_type_script_setup_true_lang.js +52 -0
  114. package/dist/components/ToggleGroup.js +5 -0
  115. package/dist/components/ToggleGroup.vue.d.ts +64 -0
  116. package/dist/components/ToggleGroup.vue_vue_type_script_setup_true_lang.js +78 -0
  117. package/dist/components/Toolbar.js +5 -0
  118. package/dist/components/Toolbar.vue.d.ts +52 -0
  119. package/dist/components/Toolbar.vue_vue_type_script_setup_true_lang.js +94 -0
  120. package/dist/components/Tree.js +5 -0
  121. package/dist/components/Tree.vue.d.ts +70 -0
  122. package/dist/components/Tree.vue_vue_type_script_setup_true_lang.js +112 -0
  123. package/dist/components/index.d.ts +29 -0
  124. package/dist/components/index.js +144 -86
  125. package/dist/composables/appearance.js +5 -1
  126. package/dist/composables/cartesian.d.ts +11 -0
  127. package/dist/composables/cartesian.js +18 -19
  128. package/dist/composables/command-palette.d.ts +42 -0
  129. package/dist/composables/command-palette.js +32 -0
  130. package/dist/composables/date.d.ts +18 -2
  131. package/dist/composables/date.js +23 -12
  132. package/dist/composables/kbd.d.ts +26 -0
  133. package/dist/composables/kbd.js +161 -0
  134. package/dist/composables/navigation-menu.d.ts +29 -0
  135. package/dist/composables/navigation-menu.js +6 -0
  136. package/dist/composables/scroll-fade.d.ts +35 -0
  137. package/dist/composables/scroll-fade.js +36 -0
  138. package/dist/composables/sidebar.d.ts +35 -0
  139. package/dist/composables/sidebar.js +23 -0
  140. package/dist/composables/signature.d.ts +22 -0
  141. package/dist/composables/signature.js +13 -0
  142. package/dist/index.d.ts +35 -0
  143. package/dist/index.js +153 -93
  144. package/dist/theme/accordion.d.ts +68 -0
  145. package/dist/theme/accordion.js +24 -0
  146. package/dist/theme/alert.d.ts +0 -3
  147. package/dist/theme/app-shell.d.ts +77 -0
  148. package/dist/theme/app-shell.js +35 -0
  149. package/dist/theme/avatar.d.ts +253 -0
  150. package/dist/theme/avatar.js +84 -0
  151. package/dist/theme/banner.d.ts +0 -9
  152. package/dist/theme/bar-chart.d.ts +0 -16
  153. package/dist/theme/breadcrumb.d.ts +3 -3
  154. package/dist/theme/button-group.d.ts +0 -3
  155. package/dist/theme/button.d.ts +0 -3
  156. package/dist/theme/card.js +2 -2
  157. package/dist/theme/chart-legend.d.ts +3 -11
  158. package/dist/theme/collapsible.d.ts +44 -0
  159. package/dist/theme/collapsible.js +17 -0
  160. package/dist/theme/color-picker.d.ts +98 -0
  161. package/dist/theme/color-picker.js +19 -0
  162. package/dist/theme/command-palette.d.ts +122 -0
  163. package/dist/theme/command-palette.js +22 -0
  164. package/dist/theme/container.d.ts +101 -0
  165. package/dist/theme/container.js +26 -0
  166. package/dist/theme/date-picker.d.ts +12 -0
  167. package/dist/theme/date-picker.js +1 -1
  168. package/dist/theme/dropdown-menu.d.ts +0 -9
  169. package/dist/theme/file-upload.d.ts +0 -3
  170. package/dist/theme/form.d.ts +12 -12
  171. package/dist/theme/index.d.ts +25 -0
  172. package/dist/theme/kbd.d.ts +71 -0
  173. package/dist/theme/kbd.js +29 -0
  174. package/dist/theme/line-chart.d.ts +0 -9
  175. package/dist/theme/menubar.d.ts +29 -0
  176. package/dist/theme/menubar.js +11 -0
  177. package/dist/theme/navigation-menu.d.ts +161 -0
  178. package/dist/theme/navigation-menu.js +43 -0
  179. package/dist/theme/number-input.d.ts +0 -3
  180. package/dist/theme/page-header.d.ts +47 -0
  181. package/dist/theme/page-header.js +17 -0
  182. package/dist/theme/pagination.d.ts +0 -3
  183. package/dist/theme/pin-input.d.ts +86 -0
  184. package/dist/theme/pin-input.js +32 -0
  185. package/dist/theme/popover.d.ts +119 -0
  186. package/dist/theme/popover.js +31 -0
  187. package/dist/theme/presets.d.ts +0 -2
  188. package/dist/theme/progress.d.ts +93 -0
  189. package/dist/theme/progress.js +37 -7
  190. package/dist/theme/radio-group.d.ts +24 -0
  191. package/dist/theme/radio-group.js +23 -14
  192. package/dist/theme/scroll-area.d.ts +65 -0
  193. package/dist/theme/scroll-area.js +57 -0
  194. package/dist/theme/scroll-fade.d.ts +35 -0
  195. package/dist/theme/scroll-fade.js +12 -0
  196. package/dist/theme/sidebar.d.ts +167 -0
  197. package/dist/theme/sidebar.js +43 -0
  198. package/dist/theme/signature-pad.d.ts +50 -0
  199. package/dist/theme/signature-pad.js +17 -0
  200. package/dist/theme/slider.d.ts +128 -0
  201. package/dist/theme/slider.js +49 -0
  202. package/dist/theme/sparkline.d.ts +0 -6
  203. package/dist/theme/splitter.d.ts +59 -0
  204. package/dist/theme/splitter.js +25 -0
  205. package/dist/theme/stat.d.ts +0 -3
  206. package/dist/theme/stepper.js +2 -2
  207. package/dist/theme/switch.d.ts +53 -29
  208. package/dist/theme/switch.js +33 -8
  209. package/dist/theme/table.d.ts +51 -3
  210. package/dist/theme/table.js +8 -3
  211. package/dist/theme/tabs.d.ts +0 -3
  212. package/dist/theme/tags-input.d.ts +110 -0
  213. package/dist/theme/tags-input.js +42 -0
  214. package/dist/theme/time-field.d.ts +68 -0
  215. package/dist/theme/time-field.js +21 -0
  216. package/dist/theme/timeline.d.ts +182 -0
  217. package/dist/theme/timeline.js +83 -0
  218. package/dist/theme/toggle.d.ts +145 -0
  219. package/dist/theme/toggle.js +84 -0
  220. package/dist/theme/toolbar.d.ts +56 -0
  221. package/dist/theme/toolbar.js +21 -0
  222. package/dist/theme/tree.d.ts +68 -0
  223. package/dist/theme/tree.js +28 -0
  224. package/package.json +2 -2
  225. package/theme.css +221 -0
@@ -0,0 +1,119 @@
1
+ export declare const popoverTheme: import("tailwind-variants").TVReturnType<{
2
+ /** Insets the heading alone, leaving the body free to fill the panel. */
3
+ withClose: {
4
+ true: {
5
+ title: string;
6
+ };
7
+ };
8
+ padding: {
9
+ none: {
10
+ content: string;
11
+ };
12
+ sm: {
13
+ content: string;
14
+ };
15
+ md: {
16
+ content: string;
17
+ };
18
+ lg: {
19
+ content: string;
20
+ };
21
+ };
22
+ width: {
23
+ none: {};
24
+ sm: {
25
+ content: string;
26
+ };
27
+ md: {
28
+ content: string;
29
+ };
30
+ lg: {
31
+ content: string;
32
+ };
33
+ };
34
+ }, {
35
+ content: string;
36
+ arrow: string;
37
+ close: string;
38
+ /** Heading line. The only row that has to make way for the close button. */
39
+ title: string;
40
+ }, undefined, {
41
+ /** Insets the heading alone, leaving the body free to fill the panel. */
42
+ withClose: {
43
+ true: {
44
+ title: string;
45
+ };
46
+ };
47
+ padding: {
48
+ none: {
49
+ content: string;
50
+ };
51
+ sm: {
52
+ content: string;
53
+ };
54
+ md: {
55
+ content: string;
56
+ };
57
+ lg: {
58
+ content: string;
59
+ };
60
+ };
61
+ width: {
62
+ none: {};
63
+ sm: {
64
+ content: string;
65
+ };
66
+ md: {
67
+ content: string;
68
+ };
69
+ lg: {
70
+ content: string;
71
+ };
72
+ };
73
+ }, {
74
+ content: string;
75
+ arrow: string;
76
+ close: string;
77
+ /** Heading line. The only row that has to make way for the close button. */
78
+ title: string;
79
+ }, import("tailwind-variants").TVReturnType<{
80
+ /** Insets the heading alone, leaving the body free to fill the panel. */
81
+ withClose: {
82
+ true: {
83
+ title: string;
84
+ };
85
+ };
86
+ padding: {
87
+ none: {
88
+ content: string;
89
+ };
90
+ sm: {
91
+ content: string;
92
+ };
93
+ md: {
94
+ content: string;
95
+ };
96
+ lg: {
97
+ content: string;
98
+ };
99
+ };
100
+ width: {
101
+ none: {};
102
+ sm: {
103
+ content: string;
104
+ };
105
+ md: {
106
+ content: string;
107
+ };
108
+ lg: {
109
+ content: string;
110
+ };
111
+ };
112
+ }, {
113
+ content: string;
114
+ arrow: string;
115
+ close: string;
116
+ /** Heading line. The only row that has to make way for the close button. */
117
+ title: string;
118
+ }, undefined, unknown, unknown, undefined>>;
119
+ export type PopoverSlots = keyof ReturnType<typeof popoverTheme>;
@@ -0,0 +1,31 @@
1
+ import { tv as e } from "tailwind-variants";
2
+ //#region src/theme/popover.ts
3
+ var t = e({
4
+ slots: {
5
+ content: "z-50 rounded-xl border border-border bg-background text-foreground shadow-lg outline-none data-[state=closed]:animate-fade-out data-[state=open]:animate-fade-in",
6
+ arrow: "fill-background stroke-border",
7
+ close: "absolute top-2 right-2 rounded-lg p-1 text-muted-foreground transition-colors outline-none hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-primary/50 [&_svg]:size-4",
8
+ title: "mb-2 text-sm font-medium text-foreground"
9
+ },
10
+ variants: {
11
+ withClose: { true: { title: "pr-6" } },
12
+ padding: {
13
+ none: { content: "p-0" },
14
+ sm: { content: "p-3" },
15
+ md: { content: "p-4" },
16
+ lg: { content: "p-6" }
17
+ },
18
+ width: {
19
+ none: {},
20
+ sm: { content: "w-56" },
21
+ md: { content: "w-72" },
22
+ lg: { content: "w-88" }
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ padding: "md",
27
+ width: "md"
28
+ }
29
+ });
30
+ //#endregion
31
+ export { t as popoverTheme };
@@ -3,9 +3,7 @@ export interface ThemeColors {
3
3
  foreground?: string;
4
4
  primary?: string;
5
5
  primaryForeground?: string;
6
- /** Top stop of the solid button's vertical gradient. */
7
6
  primaryFrom?: string;
8
- /** Bottom stop of the solid button's vertical gradient. */
9
7
  primaryTo?: string;
10
8
  accent?: string;
11
9
  accentForeground?: string;
@@ -2,18 +2,34 @@ export declare const progressTheme: import("tailwind-variants").TVReturnType<{
2
2
  variant: {
3
3
  primary: {
4
4
  indicator: string;
5
+ segment: string;
6
+ legendSwatch: string;
5
7
  };
6
8
  success: {
7
9
  indicator: string;
10
+ segment: string;
11
+ legendSwatch: string;
8
12
  };
9
13
  warning: {
10
14
  indicator: string;
15
+ segment: string;
16
+ legendSwatch: string;
11
17
  };
12
18
  danger: {
13
19
  indicator: string;
20
+ segment: string;
21
+ legendSwatch: string;
14
22
  };
15
23
  info: {
16
24
  indicator: string;
25
+ segment: string;
26
+ legendSwatch: string;
27
+ };
28
+ /** Unclaimed remainder, and the fallback for a segment with no variant. */
29
+ neutral: {
30
+ indicator: string;
31
+ segment: string;
32
+ legendSwatch: string;
17
33
  };
18
34
  };
19
35
  size: {
@@ -31,6 +47,11 @@ export declare const progressTheme: import("tailwind-variants").TVReturnType<{
31
47
  * Unknown duration: the indicator slides back and forth instead of
32
48
  * tracking a value. `animate-progress-indeterminate` is defined in
33
49
  * theme.css so consumers get it without extra config.
50
+ *
51
+ * `iryx-progress-indeterminate` is a plain hook, not a utility: the
52
+ * reduced-motion rule in theme.css has to park this bar rather than let
53
+ * the blanket guard run it once and leave it past the end of its track,
54
+ * and a Tailwind class is not something that rule can address.
34
55
  */
35
56
  indeterminate: {
36
57
  true: {
@@ -45,22 +66,48 @@ export declare const progressTheme: import("tailwind-variants").TVReturnType<{
45
66
  value: string;
46
67
  track: string;
47
68
  indicator: string;
69
+ /**
70
+ * One run of a stacked bar. Width is inline (it is data), and only the
71
+ * outer edges are rounded — an inner radius would leave notches where two
72
+ * segments meet and read as a gap in the data rather than a boundary.
73
+ */
74
+ segment: string;
75
+ legend: string;
76
+ legendItem: string;
77
+ legendSwatch: string;
78
+ legendValue: string;
48
79
  }, undefined, {
49
80
  variant: {
50
81
  primary: {
51
82
  indicator: string;
83
+ segment: string;
84
+ legendSwatch: string;
52
85
  };
53
86
  success: {
54
87
  indicator: string;
88
+ segment: string;
89
+ legendSwatch: string;
55
90
  };
56
91
  warning: {
57
92
  indicator: string;
93
+ segment: string;
94
+ legendSwatch: string;
58
95
  };
59
96
  danger: {
60
97
  indicator: string;
98
+ segment: string;
99
+ legendSwatch: string;
61
100
  };
62
101
  info: {
63
102
  indicator: string;
103
+ segment: string;
104
+ legendSwatch: string;
105
+ };
106
+ /** Unclaimed remainder, and the fallback for a segment with no variant. */
107
+ neutral: {
108
+ indicator: string;
109
+ segment: string;
110
+ legendSwatch: string;
64
111
  };
65
112
  };
66
113
  size: {
@@ -78,6 +125,11 @@ export declare const progressTheme: import("tailwind-variants").TVReturnType<{
78
125
  * Unknown duration: the indicator slides back and forth instead of
79
126
  * tracking a value. `animate-progress-indeterminate` is defined in
80
127
  * theme.css so consumers get it without extra config.
128
+ *
129
+ * `iryx-progress-indeterminate` is a plain hook, not a utility: the
130
+ * reduced-motion rule in theme.css has to park this bar rather than let
131
+ * the blanket guard run it once and leave it past the end of its track,
132
+ * and a Tailwind class is not something that rule can address.
81
133
  */
82
134
  indeterminate: {
83
135
  true: {
@@ -92,22 +144,48 @@ export declare const progressTheme: import("tailwind-variants").TVReturnType<{
92
144
  value: string;
93
145
  track: string;
94
146
  indicator: string;
147
+ /**
148
+ * One run of a stacked bar. Width is inline (it is data), and only the
149
+ * outer edges are rounded — an inner radius would leave notches where two
150
+ * segments meet and read as a gap in the data rather than a boundary.
151
+ */
152
+ segment: string;
153
+ legend: string;
154
+ legendItem: string;
155
+ legendSwatch: string;
156
+ legendValue: string;
95
157
  }, import("tailwind-variants").TVReturnType<{
96
158
  variant: {
97
159
  primary: {
98
160
  indicator: string;
161
+ segment: string;
162
+ legendSwatch: string;
99
163
  };
100
164
  success: {
101
165
  indicator: string;
166
+ segment: string;
167
+ legendSwatch: string;
102
168
  };
103
169
  warning: {
104
170
  indicator: string;
171
+ segment: string;
172
+ legendSwatch: string;
105
173
  };
106
174
  danger: {
107
175
  indicator: string;
176
+ segment: string;
177
+ legendSwatch: string;
108
178
  };
109
179
  info: {
110
180
  indicator: string;
181
+ segment: string;
182
+ legendSwatch: string;
183
+ };
184
+ /** Unclaimed remainder, and the fallback for a segment with no variant. */
185
+ neutral: {
186
+ indicator: string;
187
+ segment: string;
188
+ legendSwatch: string;
111
189
  };
112
190
  };
113
191
  size: {
@@ -125,6 +203,11 @@ export declare const progressTheme: import("tailwind-variants").TVReturnType<{
125
203
  * Unknown duration: the indicator slides back and forth instead of
126
204
  * tracking a value. `animate-progress-indeterminate` is defined in
127
205
  * theme.css so consumers get it without extra config.
206
+ *
207
+ * `iryx-progress-indeterminate` is a plain hook, not a utility: the
208
+ * reduced-motion rule in theme.css has to park this bar rather than let
209
+ * the blanket guard run it once and leave it past the end of its track,
210
+ * and a Tailwind class is not something that rule can address.
128
211
  */
129
212
  indeterminate: {
130
213
  true: {
@@ -139,5 +222,15 @@ export declare const progressTheme: import("tailwind-variants").TVReturnType<{
139
222
  value: string;
140
223
  track: string;
141
224
  indicator: string;
225
+ /**
226
+ * One run of a stacked bar. Width is inline (it is data), and only the
227
+ * outer edges are rounded — an inner radius would leave notches where two
228
+ * segments meet and read as a gap in the data rather than a boundary.
229
+ */
230
+ segment: string;
231
+ legend: string;
232
+ legendItem: string;
233
+ legendSwatch: string;
234
+ legendValue: string;
142
235
  }, undefined, unknown, unknown, undefined>>;
143
236
  export type ProgressSlots = keyof ReturnType<typeof progressTheme>;
@@ -7,22 +7,52 @@ var t = e({
7
7
  label: "font-medium text-foreground",
8
8
  value: "text-muted-foreground tabular-nums",
9
9
  track: "relative w-full overflow-hidden rounded-full bg-muted",
10
- indicator: "h-full w-full flex-1 rounded-full transition-transform duration-300 ease-out"
10
+ indicator: "h-full w-full flex-1 rounded-full transition-transform duration-300 ease-out",
11
+ segment: "h-full transition-[width] duration-300 ease-out first:rounded-l-full last:rounded-r-full",
12
+ legend: "flex flex-wrap items-center gap-x-4 gap-y-1",
13
+ legendItem: "flex items-center gap-1.5 text-xs text-muted-foreground",
14
+ legendSwatch: "size-2 shrink-0 rounded-full",
15
+ legendValue: "text-foreground tabular-nums"
11
16
  },
12
17
  variants: {
13
18
  variant: {
14
- primary: { indicator: "bg-linear-to-b from-primary-from to-primary-to" },
15
- success: { indicator: "bg-success" },
16
- warning: { indicator: "bg-warning" },
17
- danger: { indicator: "bg-danger" },
18
- info: { indicator: "bg-info" }
19
+ primary: {
20
+ indicator: "bg-linear-to-b from-primary-from to-primary-to",
21
+ segment: "bg-linear-to-b from-primary-from to-primary-to",
22
+ legendSwatch: "bg-primary"
23
+ },
24
+ success: {
25
+ indicator: "bg-success",
26
+ segment: "bg-success",
27
+ legendSwatch: "bg-success"
28
+ },
29
+ warning: {
30
+ indicator: "bg-warning",
31
+ segment: "bg-warning",
32
+ legendSwatch: "bg-warning"
33
+ },
34
+ danger: {
35
+ indicator: "bg-danger",
36
+ segment: "bg-danger",
37
+ legendSwatch: "bg-danger"
38
+ },
39
+ info: {
40
+ indicator: "bg-info",
41
+ segment: "bg-info",
42
+ legendSwatch: "bg-info"
43
+ },
44
+ neutral: {
45
+ indicator: "bg-muted-foreground",
46
+ segment: "bg-muted-foreground",
47
+ legendSwatch: "bg-muted-foreground"
48
+ }
19
49
  },
20
50
  size: {
21
51
  sm: { track: "h-1" },
22
52
  md: { track: "h-2" },
23
53
  lg: { track: "h-3" }
24
54
  },
25
- indeterminate: { true: { indicator: "w-1/3 animate-progress-indeterminate" } }
55
+ indeterminate: { true: { indicator: "iryx-progress-indeterminate w-1/3 animate-progress-indeterminate" } }
26
56
  },
27
57
  defaultVariants: {
28
58
  variant: "primary",
@@ -13,6 +13,14 @@ export declare const radioGroupTheme: import("tailwind-variants").TVReturnType<{
13
13
  indicator: string;
14
14
  };
15
15
  };
16
+ orientation: {
17
+ vertical: {
18
+ root: string;
19
+ };
20
+ horizontal: {
21
+ root: string;
22
+ };
23
+ };
16
24
  }, {
17
25
  root: string;
18
26
  wrapper: string;
@@ -36,6 +44,14 @@ export declare const radioGroupTheme: import("tailwind-variants").TVReturnType<{
36
44
  indicator: string;
37
45
  };
38
46
  };
47
+ orientation: {
48
+ vertical: {
49
+ root: string;
50
+ };
51
+ horizontal: {
52
+ root: string;
53
+ };
54
+ };
39
55
  }, {
40
56
  root: string;
41
57
  wrapper: string;
@@ -59,6 +75,14 @@ export declare const radioGroupTheme: import("tailwind-variants").TVReturnType<{
59
75
  indicator: string;
60
76
  };
61
77
  };
78
+ orientation: {
79
+ vertical: {
80
+ root: string;
81
+ };
82
+ horizontal: {
83
+ root: string;
84
+ };
85
+ };
62
86
  }, {
63
87
  root: string;
64
88
  wrapper: string;
@@ -2,7 +2,7 @@ import { tv as e } from "tailwind-variants";
2
2
  //#region src/theme/radio-group.ts
3
3
  var t = e({
4
4
  slots: {
5
- root: "grid gap-2",
5
+ root: "",
6
6
  wrapper: "flex items-start gap-2.5",
7
7
  item: "aspect-square shrink-0 cursor-pointer rounded-full border border-border bg-background transition-colors outline-none focus:ring-2 focus:ring-primary/50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary",
8
8
  indicator: "flex size-full items-center justify-center after:block after:rounded-full after:bg-primary",
@@ -10,21 +10,30 @@ var t = e({
10
10
  label: "text-sm leading-5 text-foreground select-none",
11
11
  description: "text-sm leading-snug text-muted-foreground"
12
12
  },
13
- variants: { size: {
14
- sm: {
15
- item: "mt-0.5 size-3.5",
16
- indicator: "after:size-1.5"
13
+ variants: {
14
+ size: {
15
+ sm: {
16
+ item: "mt-0.5 size-3.5",
17
+ indicator: "after:size-1.5"
18
+ },
19
+ md: {
20
+ item: "mt-0.5 size-4",
21
+ indicator: "after:size-2"
22
+ },
23
+ lg: {
24
+ item: "size-5",
25
+ indicator: "after:size-2.5"
26
+ }
17
27
  },
18
- md: {
19
- item: "mt-0.5 size-4",
20
- indicator: "after:size-2"
21
- },
22
- lg: {
23
- item: "size-5",
24
- indicator: "after:size-2.5"
28
+ orientation: {
29
+ vertical: { root: "grid gap-2" },
30
+ horizontal: { root: "flex flex-wrap items-start gap-x-6 gap-y-2" }
25
31
  }
26
- } },
27
- defaultVariants: { size: "md" }
32
+ },
33
+ defaultVariants: {
34
+ size: "md",
35
+ orientation: "vertical"
36
+ }
28
37
  });
29
38
  //#endregion
30
39
  export { t as radioGroupTheme };
@@ -0,0 +1,65 @@
1
+ export declare const scrollAreaTheme: import("tailwind-variants").TVReturnType<{
2
+ orientation: {
3
+ vertical: {
4
+ scrollbar: string;
5
+ };
6
+ horizontal: {
7
+ scrollbar: string;
8
+ };
9
+ };
10
+ size: {
11
+ sm: {};
12
+ md: {};
13
+ lg: {};
14
+ };
15
+ }, {
16
+ root: string;
17
+ viewport: string;
18
+ scrollbar: string;
19
+ thumb: string;
20
+ /** Fills the square where a horizontal and a vertical bar meet. */
21
+ corner: string;
22
+ }, undefined, {
23
+ orientation: {
24
+ vertical: {
25
+ scrollbar: string;
26
+ };
27
+ horizontal: {
28
+ scrollbar: string;
29
+ };
30
+ };
31
+ size: {
32
+ sm: {};
33
+ md: {};
34
+ lg: {};
35
+ };
36
+ }, {
37
+ root: string;
38
+ viewport: string;
39
+ scrollbar: string;
40
+ thumb: string;
41
+ /** Fills the square where a horizontal and a vertical bar meet. */
42
+ corner: string;
43
+ }, import("tailwind-variants").TVReturnType<{
44
+ orientation: {
45
+ vertical: {
46
+ scrollbar: string;
47
+ };
48
+ horizontal: {
49
+ scrollbar: string;
50
+ };
51
+ };
52
+ size: {
53
+ sm: {};
54
+ md: {};
55
+ lg: {};
56
+ };
57
+ }, {
58
+ root: string;
59
+ viewport: string;
60
+ scrollbar: string;
61
+ thumb: string;
62
+ /** Fills the square where a horizontal and a vertical bar meet. */
63
+ corner: string;
64
+ }, undefined, unknown, unknown, undefined>>;
65
+ export type ScrollAreaSlots = keyof ReturnType<typeof scrollAreaTheme>;
@@ -0,0 +1,57 @@
1
+ import { tv as e } from "tailwind-variants";
2
+ //#region src/theme/scroll-area.ts
3
+ var t = e({
4
+ slots: {
5
+ root: "relative overflow-hidden",
6
+ viewport: "size-full rounded-[inherit]",
7
+ scrollbar: "flex touch-none p-0.5 transition-colors select-none",
8
+ thumb: "relative flex-1 rounded-full bg-border transition-colors hover:bg-muted-foreground",
9
+ corner: "bg-transparent"
10
+ },
11
+ variants: {
12
+ orientation: {
13
+ vertical: { scrollbar: "h-full border-l border-l-transparent" },
14
+ horizontal: { scrollbar: "flex-col border-t border-t-transparent" }
15
+ },
16
+ size: {
17
+ sm: {},
18
+ md: {},
19
+ lg: {}
20
+ }
21
+ },
22
+ compoundVariants: [
23
+ {
24
+ orientation: "vertical",
25
+ size: "sm",
26
+ class: { scrollbar: "w-1.5" }
27
+ },
28
+ {
29
+ orientation: "vertical",
30
+ size: "md",
31
+ class: { scrollbar: "w-2.5" }
32
+ },
33
+ {
34
+ orientation: "vertical",
35
+ size: "lg",
36
+ class: { scrollbar: "w-3.5" }
37
+ },
38
+ {
39
+ orientation: "horizontal",
40
+ size: "sm",
41
+ class: { scrollbar: "h-1.5" }
42
+ },
43
+ {
44
+ orientation: "horizontal",
45
+ size: "md",
46
+ class: { scrollbar: "h-2.5" }
47
+ },
48
+ {
49
+ orientation: "horizontal",
50
+ size: "lg",
51
+ class: { scrollbar: "h-3.5" }
52
+ }
53
+ ],
54
+ defaultVariants: { size: "md" }
55
+ });
56
+ //#endregion
57
+ export { t as scrollAreaTheme };
@@ -0,0 +1,35 @@
1
+ export declare const scrollFadeTheme: import("tailwind-variants").TVReturnType<{
2
+ orientation: {
3
+ vertical: {
4
+ root: string;
5
+ };
6
+ horizontal: {
7
+ root: string;
8
+ };
9
+ };
10
+ }, {
11
+ root: string;
12
+ }, undefined, {
13
+ orientation: {
14
+ vertical: {
15
+ root: string;
16
+ };
17
+ horizontal: {
18
+ root: string;
19
+ };
20
+ };
21
+ }, {
22
+ root: string;
23
+ }, import("tailwind-variants").TVReturnType<{
24
+ orientation: {
25
+ vertical: {
26
+ root: string;
27
+ };
28
+ horizontal: {
29
+ root: string;
30
+ };
31
+ };
32
+ }, {
33
+ root: string;
34
+ }, undefined, unknown, unknown, undefined>>;
35
+ export type ScrollFadeSlots = keyof ReturnType<typeof scrollFadeTheme>;
@@ -0,0 +1,12 @@
1
+ import { tv as e } from "tailwind-variants";
2
+ //#region src/theme/scroll-fade.ts
3
+ var t = e({
4
+ slots: { root: "relative min-h-0 overscroll-contain" },
5
+ variants: { orientation: {
6
+ vertical: { root: "overflow-y-auto" },
7
+ horizontal: { root: "overflow-x-auto" }
8
+ } },
9
+ defaultVariants: { orientation: "vertical" }
10
+ });
11
+ //#endregion
12
+ export { t as scrollFadeTheme };