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,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>;
@@ -0,0 +1,43 @@
1
+ import { tv as e } from "tailwind-variants";
2
+ //#region src/theme/sidebar.ts
3
+ var t = e({
4
+ slots: {
5
+ root: "flex h-full flex-col gap-2 border-border bg-background text-foreground transition-[width] duration-200 ease-out",
6
+ header: "flex shrink-0 items-center gap-2 px-3 py-3",
7
+ nav: "flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-2 py-1",
8
+ footer: "flex shrink-0 items-center gap-2 border-t border-border px-3 py-3",
9
+ section: "flex flex-col gap-1",
10
+ sectionLabel: "px-2 pt-1 pb-0.5 text-xs font-medium tracking-wide text-muted-foreground uppercase",
11
+ link: "group/link relative flex w-full cursor-pointer items-center gap-3 rounded-lg px-2 py-2 text-sm font-medium text-muted-foreground no-underline transition-colors outline-none select-none hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-primary/50 data-[active]:bg-accent data-[active]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0",
12
+ linkLabel: "flex-1 truncate text-left",
13
+ linkBadge: "ml-auto shrink-0",
14
+ groupIcon: "ml-auto size-4 shrink-0 transition-[rotate] duration-200 ease-out group-data-[state=open]/link:rotate-90",
15
+ groupContent: "group/collapsible overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down",
16
+ groupInner: "iryx-sidebar-submenu mt-1 flex flex-col gap-1 border-l border-border group-data-[state=closed]/collapsible:animate-collapsible-content-out group-data-[state=open]/collapsible:animate-collapsible-content-in"
17
+ },
18
+ variants: {
19
+ side: {
20
+ left: { root: "border-r" },
21
+ right: { root: "border-l" }
22
+ },
23
+ collapsed: {
24
+ true: {
25
+ root: "w-16",
26
+ header: "justify-center px-0",
27
+ footer: "justify-center px-0",
28
+ link: "justify-center px-0",
29
+ linkLabel: "hidden",
30
+ linkBadge: "hidden",
31
+ sectionLabel: "hidden",
32
+ groupIcon: "hidden"
33
+ },
34
+ false: { root: "w-64" }
35
+ }
36
+ },
37
+ defaultVariants: {
38
+ side: "left",
39
+ collapsed: !1
40
+ }
41
+ });
42
+ //#endregion
43
+ export { t as sidebarTheme };
@@ -0,0 +1,50 @@
1
+ export declare const signaturePadTheme: import("tailwind-variants").TVReturnType<{
2
+ invalid: {
3
+ true: {
4
+ root: string;
5
+ };
6
+ };
7
+ disabled: {
8
+ true: {
9
+ root: string;
10
+ };
11
+ };
12
+ }, {
13
+ root: string;
14
+ canvas: string;
15
+ actions: string;
16
+ action: string;
17
+ }, undefined, {
18
+ invalid: {
19
+ true: {
20
+ root: string;
21
+ };
22
+ };
23
+ disabled: {
24
+ true: {
25
+ root: string;
26
+ };
27
+ };
28
+ }, {
29
+ root: string;
30
+ canvas: string;
31
+ actions: string;
32
+ action: string;
33
+ }, import("tailwind-variants").TVReturnType<{
34
+ invalid: {
35
+ true: {
36
+ root: string;
37
+ };
38
+ };
39
+ disabled: {
40
+ true: {
41
+ root: string;
42
+ };
43
+ };
44
+ }, {
45
+ root: string;
46
+ canvas: string;
47
+ actions: string;
48
+ action: string;
49
+ }, undefined, unknown, unknown, undefined>>;
50
+ export type SignaturePadSlots = keyof ReturnType<typeof signaturePadTheme>;
@@ -0,0 +1,17 @@
1
+ import { fieldBase as e } from "./input.js";
2
+ import { tv as t } from "tailwind-variants";
3
+ //#region src/theme/signature-pad.ts
4
+ var n = t({
5
+ slots: {
6
+ root: `relative flex flex-col ${e} h-auto overflow-hidden p-0 focus-within:ring-2 focus-within:ring-primary/50`,
7
+ canvas: "block w-full touch-none",
8
+ actions: "absolute top-2 right-2 flex items-center gap-1",
9
+ action: "inline-flex size-7 items-center justify-center rounded-lg text-muted-foreground transition-colors outline-none hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-primary/50 disabled:pointer-events-none disabled:opacity-40 [&_svg]:size-3.5"
10
+ },
11
+ variants: {
12
+ invalid: { true: { root: "border-red-500 focus-within:ring-red-500/40" } },
13
+ disabled: { true: { root: "cursor-not-allowed opacity-50" } }
14
+ }
15
+ });
16
+ //#endregion
17
+ export { n as signaturePadTheme };
@@ -0,0 +1,128 @@
1
+ export declare const sliderTheme: import("tailwind-variants").TVReturnType<{
2
+ orientation: {
3
+ horizontal: {
4
+ root: string;
5
+ header: string;
6
+ };
7
+ vertical: {
8
+ root: string;
9
+ header: string;
10
+ };
11
+ };
12
+ size: {
13
+ sm: {
14
+ track: string;
15
+ thumb: string;
16
+ };
17
+ md: {
18
+ track: string;
19
+ thumb: string;
20
+ };
21
+ lg: {
22
+ track: string;
23
+ thumb: string;
24
+ };
25
+ };
26
+ /** Without a grab hand the track reads as a progress bar, not a control. */
27
+ disabled: {
28
+ false: {
29
+ thumb: string;
30
+ };
31
+ };
32
+ }, {
33
+ root: string;
34
+ /** Only rendered when a label or value text is shown. */
35
+ header: string;
36
+ label: string;
37
+ value: string;
38
+ slider: string;
39
+ track: string;
40
+ range: string;
41
+ thumb: string;
42
+ scale: string;
43
+ }, undefined, {
44
+ orientation: {
45
+ horizontal: {
46
+ root: string;
47
+ header: string;
48
+ };
49
+ vertical: {
50
+ root: string;
51
+ header: string;
52
+ };
53
+ };
54
+ size: {
55
+ sm: {
56
+ track: string;
57
+ thumb: string;
58
+ };
59
+ md: {
60
+ track: string;
61
+ thumb: string;
62
+ };
63
+ lg: {
64
+ track: string;
65
+ thumb: string;
66
+ };
67
+ };
68
+ /** Without a grab hand the track reads as a progress bar, not a control. */
69
+ disabled: {
70
+ false: {
71
+ thumb: string;
72
+ };
73
+ };
74
+ }, {
75
+ root: string;
76
+ /** Only rendered when a label or value text is shown. */
77
+ header: string;
78
+ label: string;
79
+ value: string;
80
+ slider: string;
81
+ track: string;
82
+ range: string;
83
+ thumb: string;
84
+ scale: string;
85
+ }, import("tailwind-variants").TVReturnType<{
86
+ orientation: {
87
+ horizontal: {
88
+ root: string;
89
+ header: string;
90
+ };
91
+ vertical: {
92
+ root: string;
93
+ header: string;
94
+ };
95
+ };
96
+ size: {
97
+ sm: {
98
+ track: string;
99
+ thumb: string;
100
+ };
101
+ md: {
102
+ track: string;
103
+ thumb: string;
104
+ };
105
+ lg: {
106
+ track: string;
107
+ thumb: string;
108
+ };
109
+ };
110
+ /** Without a grab hand the track reads as a progress bar, not a control. */
111
+ disabled: {
112
+ false: {
113
+ thumb: string;
114
+ };
115
+ };
116
+ }, {
117
+ root: string;
118
+ /** Only rendered when a label or value text is shown. */
119
+ header: string;
120
+ label: string;
121
+ value: string;
122
+ slider: string;
123
+ track: string;
124
+ range: string;
125
+ thumb: string;
126
+ scale: string;
127
+ }, undefined, unknown, unknown, undefined>>;
128
+ export type SliderSlots = keyof ReturnType<typeof sliderTheme>;
@@ -0,0 +1,49 @@
1
+ import { tv as e } from "tailwind-variants";
2
+ //#region src/theme/slider.ts
3
+ var t = e({
4
+ slots: {
5
+ root: "flex flex-col gap-2",
6
+ header: "flex text-sm",
7
+ label: "font-medium text-foreground select-none",
8
+ value: "text-muted-foreground tabular-nums",
9
+ slider: "relative flex touch-none items-center select-none data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-44 data-[orientation=vertical]:flex-col",
10
+ track: "relative grow overflow-hidden rounded-full bg-muted data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full",
11
+ range: "absolute rounded-full bg-linear-to-b from-primary-from to-primary-to data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full",
12
+ thumb: "block shrink-0 rounded-full border-2 border-primary bg-background shadow-sm transition-shadow outline-none focus-visible:ring-2 focus-visible:ring-primary/50 data-[disabled]:cursor-not-allowed",
13
+ scale: "flex justify-between text-xs text-muted-foreground tabular-nums"
14
+ },
15
+ variants: {
16
+ orientation: {
17
+ horizontal: {
18
+ root: "w-full",
19
+ header: "items-baseline justify-between gap-2"
20
+ },
21
+ vertical: {
22
+ root: "inline-flex w-auto items-center",
23
+ header: "flex-col items-center gap-0.5"
24
+ }
25
+ },
26
+ size: {
27
+ sm: {
28
+ track: "data-[orientation=horizontal]:h-1 data-[orientation=vertical]:w-1",
29
+ thumb: "size-3.5"
30
+ },
31
+ md: {
32
+ track: "data-[orientation=horizontal]:h-1.5 data-[orientation=vertical]:w-1.5",
33
+ thumb: "size-4"
34
+ },
35
+ lg: {
36
+ track: "data-[orientation=horizontal]:h-2 data-[orientation=vertical]:w-2",
37
+ thumb: "size-5"
38
+ }
39
+ },
40
+ disabled: { false: { thumb: "cursor-grab active:cursor-grabbing" } }
41
+ },
42
+ defaultVariants: {
43
+ orientation: "horizontal",
44
+ size: "md",
45
+ disabled: !1
46
+ }
47
+ });
48
+ //#endregion
49
+ export { t as sliderTheme };
@@ -13,9 +13,7 @@ export declare const sparklineTheme: import("tailwind-variants").TVReturnType<{
13
13
  /** Carries the inset that keeps every mark inside the component's box. */
14
14
  root: string;
15
15
  plot: string;
16
- /** 2px, round join and cap, per the shared line-mark spec. */
17
16
  line: string;
18
- /** A wash at ~10%, never a saturated block competing with the line. */
19
17
  area: string;
20
18
  dot: string;
21
19
  /** Keeps the end dot legible where it sits on top of the line. */
@@ -30,9 +28,7 @@ export declare const sparklineTheme: import("tailwind-variants").TVReturnType<{
30
28
  /** Carries the inset that keeps every mark inside the component's box. */
31
29
  root: string;
32
30
  plot: string;
33
- /** 2px, round join and cap, per the shared line-mark spec. */
34
31
  line: string;
35
- /** A wash at ~10%, never a saturated block competing with the line. */
36
32
  area: string;
37
33
  dot: string;
38
34
  /** Keeps the end dot legible where it sits on top of the line. */
@@ -47,9 +43,7 @@ export declare const sparklineTheme: import("tailwind-variants").TVReturnType<{
47
43
  /** Carries the inset that keeps every mark inside the component's box. */
48
44
  root: string;
49
45
  plot: string;
50
- /** 2px, round join and cap, per the shared line-mark spec. */
51
46
  line: string;
52
- /** A wash at ~10%, never a saturated block competing with the line. */
53
47
  area: string;
54
48
  dot: string;
55
49
  /** Keeps the end dot legible where it sits on top of the line. */
@@ -0,0 +1,59 @@
1
+ export declare const splitterTheme: import("tailwind-variants").TVReturnType<{
2
+ direction: {
3
+ horizontal: {
4
+ root: string;
5
+ handle: string;
6
+ rule: string;
7
+ };
8
+ vertical: {
9
+ root: string;
10
+ handle: string;
11
+ rule: string;
12
+ };
13
+ };
14
+ }, {
15
+ root: string;
16
+ panel: string;
17
+ handle: string;
18
+ /** The visible rule inside the handle's hit area. */
19
+ rule: string;
20
+ }, undefined, {
21
+ direction: {
22
+ horizontal: {
23
+ root: string;
24
+ handle: string;
25
+ rule: string;
26
+ };
27
+ vertical: {
28
+ root: string;
29
+ handle: string;
30
+ rule: string;
31
+ };
32
+ };
33
+ }, {
34
+ root: string;
35
+ panel: string;
36
+ handle: string;
37
+ /** The visible rule inside the handle's hit area. */
38
+ rule: string;
39
+ }, import("tailwind-variants").TVReturnType<{
40
+ direction: {
41
+ horizontal: {
42
+ root: string;
43
+ handle: string;
44
+ rule: string;
45
+ };
46
+ vertical: {
47
+ root: string;
48
+ handle: string;
49
+ rule: string;
50
+ };
51
+ };
52
+ }, {
53
+ root: string;
54
+ panel: string;
55
+ handle: string;
56
+ /** The visible rule inside the handle's hit area. */
57
+ rule: string;
58
+ }, undefined, unknown, unknown, undefined>>;
59
+ export type SplitterSlots = keyof ReturnType<typeof splitterTheme>;
@@ -0,0 +1,25 @@
1
+ import { tv as e } from "tailwind-variants";
2
+ //#region src/theme/splitter.ts
3
+ var t = e({
4
+ slots: {
5
+ root: "flex size-full",
6
+ panel: "overflow-hidden",
7
+ handle: "group relative flex shrink-0 items-center justify-center outline-none",
8
+ rule: "bg-border transition-colors group-hover:bg-primary group-focus-visible:bg-primary group-data-[state=drag]:bg-primary"
9
+ },
10
+ variants: { direction: {
11
+ horizontal: {
12
+ root: "flex-row",
13
+ handle: "cursor-col-resize px-1",
14
+ rule: "h-full w-px"
15
+ },
16
+ vertical: {
17
+ root: "flex-col",
18
+ handle: "cursor-row-resize py-1",
19
+ rule: "h-px w-full"
20
+ }
21
+ } },
22
+ defaultVariants: { direction: "horizontal" }
23
+ });
24
+ //#endregion
25
+ export { t as splitterTheme };
@@ -27,7 +27,6 @@ export declare const statTheme: import("tailwind-variants").TVReturnType<{
27
27
  };
28
28
  }, {
29
29
  root: string;
30
- /** Small, uppercase and tracked out, so the value carries the weight. */
31
30
  label: string;
32
31
  value: string;
33
32
  delta: string;
@@ -62,7 +61,6 @@ export declare const statTheme: import("tailwind-variants").TVReturnType<{
62
61
  };
63
62
  }, {
64
63
  root: string;
65
- /** Small, uppercase and tracked out, so the value carries the weight. */
66
64
  label: string;
67
65
  value: string;
68
66
  delta: string;
@@ -97,7 +95,6 @@ export declare const statTheme: import("tailwind-variants").TVReturnType<{
97
95
  };
98
96
  }, {
99
97
  root: string;
100
- /** Small, uppercase and tracked out, so the value carries the weight. */
101
98
  label: string;
102
99
  value: string;
103
100
  delta: string;
@@ -3,7 +3,7 @@ import { tv as e } from "tailwind-variants";
3
3
  var t = e({
4
4
  slots: {
5
5
  root: "flex w-full",
6
- item: "group relative flex flex-1 items-center gap-3",
6
+ item: "group relative flex flex-1 items-center gap-3 last:flex-none",
7
7
  trigger: "flex items-center gap-3 rounded-xl text-left outline-none focus-visible:ring-2 focus-visible:ring-primary/50 disabled:pointer-events-none disabled:opacity-50",
8
8
  indicator: "flex size-8 shrink-0 items-center justify-center rounded-full border border-border bg-linear-to-b text-sm font-medium transition-[color,border-color] group-data-[state=active]:border-primary group-data-[state=active]:from-primary-from group-data-[state=active]:to-primary-to group-data-[state=active]:text-primary-foreground group-data-[state=completed]:border-primary group-data-[state=completed]:from-primary-from group-data-[state=completed]:to-primary-to group-data-[state=completed]:text-primary-foreground [&_svg]:size-4",
9
9
  content: "flex flex-col gap-0.5",
@@ -15,7 +15,7 @@ var t = e({
15
15
  horizontal: {},
16
16
  vertical: {
17
17
  root: "flex-col gap-2",
18
- item: "flex-none items-start",
18
+ item: "flex-none flex-col items-stretch gap-2",
19
19
  separator: "ml-4 h-6 w-px flex-none"
20
20
  }
21
21
  } },