iryx-ui 0.11.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 (258) hide show
  1. package/README.md +35 -1235
  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 +43 -43
  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/Banner.vue_vue_type_script_setup_true_lang.js +40 -40
  25. package/dist/components/BarChart.vue.d.ts +1 -1
  26. package/dist/components/BarChart.vue_vue_type_script_setup_true_lang.js +14 -14
  27. package/dist/components/Breadcrumb.vue_vue_type_script_setup_true_lang.js +28 -28
  28. package/dist/components/Button.vue.d.ts +2 -2
  29. package/dist/components/Button.vue_vue_type_script_setup_true_lang.js +14 -14
  30. package/dist/components/ButtonGroup.vue.d.ts +1 -1
  31. package/dist/components/Card.vue.d.ts +1 -1
  32. package/dist/components/Checkbox.vue_vue_type_script_setup_true_lang.js +37 -30
  33. package/dist/components/Collapsible.js +5 -0
  34. package/dist/components/Collapsible.vue.d.ts +58 -0
  35. package/dist/components/Collapsible.vue_vue_type_script_setup_true_lang.js +67 -0
  36. package/dist/components/ColorPicker.js +5 -0
  37. package/dist/components/ColorPicker.vue.d.ts +49 -0
  38. package/dist/components/ColorPicker.vue_vue_type_script_setup_true_lang.js +172 -0
  39. package/dist/components/Combobox.vue.d.ts +6 -6
  40. package/dist/components/Combobox.vue_vue_type_script_setup_true_lang.js +62 -60
  41. package/dist/components/CommandPalette.js +5 -0
  42. package/dist/components/CommandPalette.vue.d.ts +63 -0
  43. package/dist/components/CommandPalette.vue_vue_type_script_setup_true_lang.js +185 -0
  44. package/dist/components/Container.js +5 -0
  45. package/dist/components/Container.vue.d.ts +33 -0
  46. package/dist/components/Container.vue_vue_type_script_setup_true_lang.js +40 -0
  47. package/dist/components/ContextMenu.js +5 -0
  48. package/dist/components/ContextMenu.vue.d.ts +42 -0
  49. package/dist/components/ContextMenu.vue_vue_type_script_setup_true_lang.js +49 -0
  50. package/dist/components/DatePicker.vue_vue_type_script_setup_true_lang.js +65 -65
  51. package/dist/components/DateRangePicker.vue.d.ts +1 -1
  52. package/dist/components/DateRangePicker.vue_vue_type_script_setup_true_lang.js +74 -74
  53. package/dist/components/Dialog.vue.d.ts +1 -1
  54. package/dist/components/Dialog.vue_vue_type_script_setup_true_lang.js +34 -34
  55. package/dist/components/Drawer.js +5 -0
  56. package/dist/components/Drawer.vue.d.ts +94 -0
  57. package/dist/components/Drawer.vue_vue_type_script_setup_true_lang.js +144 -0
  58. package/dist/components/DropdownMenuItems.vue_vue_type_script_setup_true_lang.js +42 -42
  59. package/dist/components/EmptyState.vue.d.ts +1 -1
  60. package/dist/components/FileUpload.vue_vue_type_script_setup_true_lang.js +77 -77
  61. package/dist/components/Icon.vue_vue_type_script_setup_true_lang.js +11 -11
  62. package/dist/components/Input.vue.d.ts +1 -1
  63. package/dist/components/Input.vue_vue_type_script_setup_true_lang.js +33 -33
  64. package/dist/components/Kbd.js +5 -0
  65. package/dist/components/Kbd.vue.d.ts +46 -0
  66. package/dist/components/Kbd.vue_vue_type_script_setup_true_lang.js +41 -0
  67. package/dist/components/LineChart.vue_vue_type_script_setup_true_lang.js +19 -19
  68. package/dist/components/Menubar.js +5 -0
  69. package/dist/components/Menubar.vue.d.ts +62 -0
  70. package/dist/components/Menubar.vue_vue_type_script_setup_true_lang.js +79 -0
  71. package/dist/components/NavigationMenu.js +5 -0
  72. package/dist/components/NavigationMenu.vue.d.ts +75 -0
  73. package/dist/components/NavigationMenu.vue_vue_type_script_setup_true_lang.js +167 -0
  74. package/dist/components/NumberInput.vue_vue_type_script_setup_true_lang.js +68 -66
  75. package/dist/components/PageHeader.js +5 -0
  76. package/dist/components/PageHeader.vue.d.ts +52 -0
  77. package/dist/components/PageHeader.vue_vue_type_script_setup_true_lang.js +59 -0
  78. package/dist/components/Pagination.vue_vue_type_script_setup_true_lang.js +37 -37
  79. package/dist/components/PasswordInput.vue_vue_type_script_setup_true_lang.js +37 -37
  80. package/dist/components/PinInput.js +5 -0
  81. package/dist/components/PinInput.vue.d.ts +65 -0
  82. package/dist/components/PinInput.vue_vue_type_script_setup_true_lang.js +76 -0
  83. package/dist/components/Popover.js +5 -0
  84. package/dist/components/Popover.vue.d.ts +75 -0
  85. package/dist/components/Popover.vue_vue_type_script_setup_true_lang.js +99 -0
  86. package/dist/components/Progress.vue.d.ts +20 -1
  87. package/dist/components/Progress.vue_vue_type_script_setup_true_lang.js +85 -42
  88. package/dist/components/RadioGroup.vue_vue_type_script_setup_true_lang.js +4 -1
  89. package/dist/components/ScrollArea.js +5 -0
  90. package/dist/components/ScrollArea.vue.d.ts +41 -0
  91. package/dist/components/ScrollArea.vue_vue_type_script_setup_true_lang.js +68 -0
  92. package/dist/components/ScrollFade.js +5 -0
  93. package/dist/components/ScrollFade.vue.d.ts +36 -0
  94. package/dist/components/ScrollFade.vue_vue_type_script_setup_true_lang.js +59 -0
  95. package/dist/components/Select.vue.d.ts +2 -2
  96. package/dist/components/Select.vue_vue_type_script_setup_true_lang.js +47 -45
  97. package/dist/components/Sidebar.js +5 -0
  98. package/dist/components/Sidebar.vue.d.ts +72 -0
  99. package/dist/components/Sidebar.vue_vue_type_script_setup_true_lang.js +183 -0
  100. package/dist/components/SignaturePad.js +5 -0
  101. package/dist/components/SignaturePad.vue.d.ts +60 -0
  102. package/dist/components/SignaturePad.vue_vue_type_script_setup_true_lang.js +158 -0
  103. package/dist/components/Skeleton.vue.d.ts +1 -1
  104. package/dist/components/Skeleton.vue_vue_type_script_setup_true_lang.js +8 -8
  105. package/dist/components/Slider.js +5 -0
  106. package/dist/components/Slider.vue.d.ts +80 -0
  107. package/dist/components/Slider.vue_vue_type_script_setup_true_lang.js +115 -0
  108. package/dist/components/Splitter.js +5 -0
  109. package/dist/components/Splitter.vue.d.ts +59 -0
  110. package/dist/components/Splitter.vue_vue_type_script_setup_true_lang.js +69 -0
  111. package/dist/components/Stat.vue.d.ts +1 -1
  112. package/dist/components/Stat.vue_vue_type_script_setup_true_lang.js +27 -27
  113. package/dist/components/Stepper.vue_vue_type_script_setup_true_lang.js +38 -38
  114. package/dist/components/Switch.vue.d.ts +1 -0
  115. package/dist/components/Switch.vue_vue_type_script_setup_true_lang.js +16 -5
  116. package/dist/components/Table.vue.d.ts +7 -1
  117. package/dist/components/Table.vue_vue_type_script_setup_true_lang.js +120 -105
  118. package/dist/components/TagsInput.js +5 -0
  119. package/dist/components/TagsInput.vue.d.ts +71 -0
  120. package/dist/components/TagsInput.vue_vue_type_script_setup_true_lang.js +119 -0
  121. package/dist/components/Textarea.vue_vue_type_script_setup_true_lang.js +3 -3
  122. package/dist/components/TimeField.js +5 -0
  123. package/dist/components/TimeField.vue.d.ts +50 -0
  124. package/dist/components/TimeField.vue_vue_type_script_setup_true_lang.js +85 -0
  125. package/dist/components/Timeline.js +5 -0
  126. package/dist/components/Timeline.vue.d.ts +61 -0
  127. package/dist/components/Timeline.vue_vue_type_script_setup_true_lang.js +60 -0
  128. package/dist/components/Toaster.vue.d.ts +1 -1
  129. package/dist/components/Toaster.vue_vue_type_script_setup_true_lang.js +41 -41
  130. package/dist/components/Toggle.js +5 -0
  131. package/dist/components/Toggle.vue.d.ts +42 -0
  132. package/dist/components/Toggle.vue_vue_type_script_setup_true_lang.js +52 -0
  133. package/dist/components/ToggleGroup.js +5 -0
  134. package/dist/components/ToggleGroup.vue.d.ts +64 -0
  135. package/dist/components/ToggleGroup.vue_vue_type_script_setup_true_lang.js +78 -0
  136. package/dist/components/Toolbar.js +5 -0
  137. package/dist/components/Toolbar.vue.d.ts +52 -0
  138. package/dist/components/Toolbar.vue_vue_type_script_setup_true_lang.js +94 -0
  139. package/dist/components/Tree.js +5 -0
  140. package/dist/components/Tree.vue.d.ts +70 -0
  141. package/dist/components/Tree.vue_vue_type_script_setup_true_lang.js +112 -0
  142. package/dist/components/index.d.ts +30 -0
  143. package/dist/components/index.js +144 -84
  144. package/dist/composables/appearance.js +5 -1
  145. package/dist/composables/cartesian.d.ts +11 -0
  146. package/dist/composables/cartesian.js +18 -19
  147. package/dist/composables/command-palette.d.ts +42 -0
  148. package/dist/composables/command-palette.js +32 -0
  149. package/dist/composables/date.d.ts +18 -2
  150. package/dist/composables/date.js +23 -15
  151. package/dist/composables/kbd.d.ts +26 -0
  152. package/dist/composables/kbd.js +161 -0
  153. package/dist/composables/navigation-menu.d.ts +29 -0
  154. package/dist/composables/navigation-menu.js +6 -0
  155. package/dist/composables/scroll-fade.d.ts +35 -0
  156. package/dist/composables/scroll-fade.js +36 -0
  157. package/dist/composables/sidebar.d.ts +35 -0
  158. package/dist/composables/sidebar.js +23 -0
  159. package/dist/composables/signature.d.ts +22 -0
  160. package/dist/composables/signature.js +13 -0
  161. package/dist/index.d.ts +36 -0
  162. package/dist/index.js +153 -92
  163. package/dist/theme/accordion.d.ts +68 -0
  164. package/dist/theme/accordion.js +24 -0
  165. package/dist/theme/alert.d.ts +0 -3
  166. package/dist/theme/app-shell.d.ts +77 -0
  167. package/dist/theme/app-shell.js +35 -0
  168. package/dist/theme/avatar.d.ts +253 -0
  169. package/dist/theme/avatar.js +84 -0
  170. package/dist/theme/banner.d.ts +0 -9
  171. package/dist/theme/bar-chart.d.ts +0 -16
  172. package/dist/theme/breadcrumb.d.ts +3 -3
  173. package/dist/theme/button-group.d.ts +0 -3
  174. package/dist/theme/button.d.ts +0 -3
  175. package/dist/theme/card.js +2 -2
  176. package/dist/theme/chart-legend.d.ts +3 -11
  177. package/dist/theme/collapsible.d.ts +44 -0
  178. package/dist/theme/collapsible.js +17 -0
  179. package/dist/theme/color-picker.d.ts +98 -0
  180. package/dist/theme/color-picker.js +19 -0
  181. package/dist/theme/command-palette.d.ts +122 -0
  182. package/dist/theme/command-palette.js +22 -0
  183. package/dist/theme/container.d.ts +101 -0
  184. package/dist/theme/container.js +26 -0
  185. package/dist/theme/date-picker.d.ts +12 -0
  186. package/dist/theme/date-picker.js +1 -1
  187. package/dist/theme/drawer.d.ts +110 -0
  188. package/dist/theme/drawer.js +100 -0
  189. package/dist/theme/dropdown-menu.d.ts +0 -9
  190. package/dist/theme/file-upload.d.ts +0 -3
  191. package/dist/theme/form.d.ts +12 -12
  192. package/dist/theme/index.d.ts +26 -0
  193. package/dist/theme/kbd.d.ts +71 -0
  194. package/dist/theme/kbd.js +29 -0
  195. package/dist/theme/line-chart.d.ts +0 -9
  196. package/dist/theme/menubar.d.ts +29 -0
  197. package/dist/theme/menubar.js +11 -0
  198. package/dist/theme/navigation-menu.d.ts +161 -0
  199. package/dist/theme/navigation-menu.js +43 -0
  200. package/dist/theme/number-input.d.ts +0 -3
  201. package/dist/theme/page-header.d.ts +47 -0
  202. package/dist/theme/page-header.js +17 -0
  203. package/dist/theme/pagination.d.ts +0 -3
  204. package/dist/theme/pin-input.d.ts +86 -0
  205. package/dist/theme/pin-input.js +32 -0
  206. package/dist/theme/popover.d.ts +119 -0
  207. package/dist/theme/popover.js +31 -0
  208. package/dist/theme/presets.d.ts +0 -2
  209. package/dist/theme/progress.d.ts +93 -0
  210. package/dist/theme/progress.js +37 -7
  211. package/dist/theme/radio-group.d.ts +24 -0
  212. package/dist/theme/radio-group.js +23 -14
  213. package/dist/theme/scroll-area.d.ts +65 -0
  214. package/dist/theme/scroll-area.js +57 -0
  215. package/dist/theme/scroll-fade.d.ts +35 -0
  216. package/dist/theme/scroll-fade.js +12 -0
  217. package/dist/theme/sidebar.d.ts +167 -0
  218. package/dist/theme/sidebar.js +43 -0
  219. package/dist/theme/signature-pad.d.ts +50 -0
  220. package/dist/theme/signature-pad.js +17 -0
  221. package/dist/theme/slider.d.ts +128 -0
  222. package/dist/theme/slider.js +49 -0
  223. package/dist/theme/sparkline.d.ts +0 -6
  224. package/dist/theme/splitter.d.ts +59 -0
  225. package/dist/theme/splitter.js +25 -0
  226. package/dist/theme/stat.d.ts +0 -3
  227. package/dist/theme/stepper.js +2 -2
  228. package/dist/theme/switch.d.ts +53 -29
  229. package/dist/theme/switch.js +33 -8
  230. package/dist/theme/table.d.ts +51 -3
  231. package/dist/theme/table.js +8 -3
  232. package/dist/theme/tabs.d.ts +0 -3
  233. package/dist/theme/tags-input.d.ts +110 -0
  234. package/dist/theme/tags-input.js +42 -0
  235. package/dist/theme/time-field.d.ts +68 -0
  236. package/dist/theme/time-field.js +21 -0
  237. package/dist/theme/timeline.d.ts +182 -0
  238. package/dist/theme/timeline.js +83 -0
  239. package/dist/theme/toggle.d.ts +145 -0
  240. package/dist/theme/toggle.js +84 -0
  241. package/dist/theme/toolbar.d.ts +56 -0
  242. package/dist/theme/toolbar.js +21 -0
  243. package/dist/theme/tree.d.ts +68 -0
  244. package/dist/theme/tree.js +28 -0
  245. package/package.json +4 -3
  246. package/theme.css +335 -0
  247. package/dist/node_modules/.pnpm/@hugeicons_core-free-icons@4.2.3/node_modules/@hugeicons/core-free-icons/dist/esm/index.js +0 -377
  248. package/dist/node_modules/.pnpm/@hugeicons_vue@1.0.7_vue@3.5.35_typescript@6.0.3_/node_modules/@hugeicons/vue/dist/esm/_virtual/_plugin-vue_export-helper.js +0 -8
  249. package/dist/node_modules/.pnpm/@hugeicons_vue@1.0.7_vue@3.5.35_typescript@6.0.3_/node_modules/@hugeicons/vue/dist/esm/components/HugeiconsIcon.vue.js +0 -25
  250. package/dist/node_modules/.pnpm/@hugeicons_vue@1.0.7_vue@3.5.35_typescript@6.0.3_/node_modules/@hugeicons/vue/dist/esm/components/HugeiconsIcon.vue2.js +0 -63
  251. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/CalendarDate.js +0 -122
  252. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/DateFormatter.js +0 -84
  253. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/calendars/GregorianCalendar.js +0 -91
  254. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/conversion.js +0 -107
  255. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/manipulation.js +0 -159
  256. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/queries.js +0 -29
  257. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/string.js +0 -37
  258. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/utils.js +0 -6
@@ -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 };
@@ -0,0 +1,167 @@
1
+ export declare const sidebarTheme: import("tailwind-variants").TVReturnType<{
2
+ side: {
3
+ left: {
4
+ root: string;
5
+ };
6
+ right: {
7
+ root: string;
8
+ };
9
+ };
10
+ collapsed: {
11
+ true: {
12
+ root: string;
13
+ header: string;
14
+ footer: string;
15
+ link: string;
16
+ linkLabel: string;
17
+ linkBadge: string;
18
+ sectionLabel: string;
19
+ groupIcon: string;
20
+ };
21
+ false: {
22
+ root: string;
23
+ };
24
+ };
25
+ }, {
26
+ root: string;
27
+ header: string;
28
+ /** The only scrolling region; header and footer stay pinned. */
29
+ nav: string;
30
+ footer: string;
31
+ section: string;
32
+ sectionLabel: string;
33
+ /**
34
+ * `group` drives the collapsed treatment of the label and chevron, so the
35
+ * link needs no separate collapsed class.
36
+ */
37
+ link: string;
38
+ linkLabel: string;
39
+ /** Count or status at the trailing edge. Hidden when collapsed. */
40
+ linkBadge: string;
41
+ /**
42
+ * Rotates when its group is open. The state lives on the trigger, not on
43
+ * the icon, so this reads it through the trigger's `group/link` — a plain
44
+ * `data-[state=open]:` here matches nothing and silently never rotates.
45
+ *
46
+ * Tailwind v4's `rotate-*` sets the independent `rotate` property rather
47
+ * than `transform`, so `transition-transform` would not tween it either.
48
+ */
49
+ groupIcon: string;
50
+ /**
51
+ * The animated height box. Deliberately bare — see the keyframe comment in
52
+ * `theme.css` for why margin and padding cannot live here.
53
+ */
54
+ groupContent: string;
55
+ groupInner: string;
56
+ }, undefined, {
57
+ side: {
58
+ left: {
59
+ root: string;
60
+ };
61
+ right: {
62
+ root: string;
63
+ };
64
+ };
65
+ collapsed: {
66
+ true: {
67
+ root: string;
68
+ header: string;
69
+ footer: string;
70
+ link: string;
71
+ linkLabel: string;
72
+ linkBadge: string;
73
+ sectionLabel: string;
74
+ groupIcon: string;
75
+ };
76
+ false: {
77
+ root: string;
78
+ };
79
+ };
80
+ }, {
81
+ root: string;
82
+ header: string;
83
+ /** The only scrolling region; header and footer stay pinned. */
84
+ nav: string;
85
+ footer: string;
86
+ section: string;
87
+ sectionLabel: string;
88
+ /**
89
+ * `group` drives the collapsed treatment of the label and chevron, so the
90
+ * link needs no separate collapsed class.
91
+ */
92
+ link: string;
93
+ linkLabel: string;
94
+ /** Count or status at the trailing edge. Hidden when collapsed. */
95
+ linkBadge: string;
96
+ /**
97
+ * Rotates when its group is open. The state lives on the trigger, not on
98
+ * the icon, so this reads it through the trigger's `group/link` — a plain
99
+ * `data-[state=open]:` here matches nothing and silently never rotates.
100
+ *
101
+ * Tailwind v4's `rotate-*` sets the independent `rotate` property rather
102
+ * than `transform`, so `transition-transform` would not tween it either.
103
+ */
104
+ groupIcon: string;
105
+ /**
106
+ * The animated height box. Deliberately bare — see the keyframe comment in
107
+ * `theme.css` for why margin and padding cannot live here.
108
+ */
109
+ groupContent: string;
110
+ groupInner: string;
111
+ }, import("tailwind-variants").TVReturnType<{
112
+ side: {
113
+ left: {
114
+ root: string;
115
+ };
116
+ right: {
117
+ root: string;
118
+ };
119
+ };
120
+ collapsed: {
121
+ true: {
122
+ root: string;
123
+ header: string;
124
+ footer: string;
125
+ link: string;
126
+ linkLabel: string;
127
+ linkBadge: string;
128
+ sectionLabel: string;
129
+ groupIcon: string;
130
+ };
131
+ false: {
132
+ root: string;
133
+ };
134
+ };
135
+ }, {
136
+ root: string;
137
+ header: string;
138
+ /** The only scrolling region; header and footer stay pinned. */
139
+ nav: string;
140
+ footer: string;
141
+ section: string;
142
+ sectionLabel: string;
143
+ /**
144
+ * `group` drives the collapsed treatment of the label and chevron, so the
145
+ * link needs no separate collapsed class.
146
+ */
147
+ link: string;
148
+ linkLabel: string;
149
+ /** Count or status at the trailing edge. Hidden when collapsed. */
150
+ linkBadge: string;
151
+ /**
152
+ * Rotates when its group is open. The state lives on the trigger, not on
153
+ * the icon, so this reads it through the trigger's `group/link` — a plain
154
+ * `data-[state=open]:` here matches nothing and silently never rotates.
155
+ *
156
+ * Tailwind v4's `rotate-*` sets the independent `rotate` property rather
157
+ * than `transform`, so `transition-transform` would not tween it either.
158
+ */
159
+ groupIcon: string;
160
+ /**
161
+ * The animated height box. Deliberately bare — see the keyframe comment in
162
+ * `theme.css` for why margin and padding cannot live here.
163
+ */
164
+ groupContent: string;
165
+ groupInner: string;
166
+ }, undefined, unknown, unknown, undefined>>;
167
+ export type SidebarSlots = keyof ReturnType<typeof sidebarTheme>;