@invergent/ui-sdk 0.0.0-stage → 2.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/README.md +70 -2
  2. package/dist/accordion.cjs +97 -0
  3. package/dist/accordion.cjs.map +1 -0
  4. package/dist/accordion.d.cts +10 -0
  5. package/dist/accordion.d.ts +10 -0
  6. package/dist/accordion.js +92 -0
  7. package/dist/accordion.js.map +1 -0
  8. package/dist/alert.cjs +82 -0
  9. package/dist/alert.cjs.map +1 -0
  10. package/dist/alert.d.cts +14 -0
  11. package/dist/alert.d.ts +14 -0
  12. package/dist/alert.js +77 -0
  13. package/dist/alert.js.map +1 -0
  14. package/dist/avatar.cjs +110 -0
  15. package/dist/avatar.cjs.map +1 -0
  16. package/dist/avatar.d.cts +14 -0
  17. package/dist/avatar.d.ts +14 -0
  18. package/dist/avatar.js +103 -0
  19. package/dist/avatar.js.map +1 -0
  20. package/dist/badge.cjs +47 -0
  21. package/dist/badge.cjs.map +1 -0
  22. package/dist/badge.d.cts +13 -0
  23. package/dist/badge.d.ts +13 -0
  24. package/dist/badge.js +44 -0
  25. package/dist/badge.js.map +1 -0
  26. package/dist/brand-beam.cjs +2303 -0
  27. package/dist/brand-beam.cjs.map +1 -0
  28. package/dist/brand-beam.d.cts +36 -0
  29. package/dist/brand-beam.d.ts +36 -0
  30. package/dist/brand-beam.js +2301 -0
  31. package/dist/brand-beam.js.map +1 -0
  32. package/dist/button-group.cjs +80 -0
  33. package/dist/button-group.cjs.map +1 -0
  34. package/dist/button-group.d.cts +17 -0
  35. package/dist/button-group.d.ts +17 -0
  36. package/dist/button-group.js +75 -0
  37. package/dist/button-group.js.map +1 -0
  38. package/dist/button.cjs +17 -0
  39. package/dist/button.cjs.map +1 -0
  40. package/dist/button.d.cts +14 -0
  41. package/dist/button.d.ts +14 -0
  42. package/dist/button.js +4 -0
  43. package/dist/button.js.map +1 -0
  44. package/dist/card.cjs +109 -0
  45. package/dist/card.cjs.map +1 -0
  46. package/dist/card.d.cts +14 -0
  47. package/dist/card.d.ts +14 -0
  48. package/dist/card.js +101 -0
  49. package/dist/card.js.map +1 -0
  50. package/dist/chart.cjs +275 -0
  51. package/dist/chart.cjs.map +1 -0
  52. package/dist/chart.d.cts +47 -0
  53. package/dist/chart.d.ts +47 -0
  54. package/dist/chart.js +247 -0
  55. package/dist/chart.js.map +1 -0
  56. package/dist/checkbox.cjs +41 -0
  57. package/dist/checkbox.cjs.map +1 -0
  58. package/dist/checkbox.d.cts +7 -0
  59. package/dist/checkbox.d.ts +7 -0
  60. package/dist/checkbox.js +39 -0
  61. package/dist/checkbox.js.map +1 -0
  62. package/dist/chip.cjs +92 -0
  63. package/dist/chip.cjs.map +1 -0
  64. package/dist/chip.d.cts +33 -0
  65. package/dist/chip.d.ts +33 -0
  66. package/dist/chip.js +86 -0
  67. package/dist/chip.js.map +1 -0
  68. package/dist/choice-card.cjs +127 -0
  69. package/dist/choice-card.cjs.map +1 -0
  70. package/dist/choice-card.d.cts +20 -0
  71. package/dist/choice-card.d.ts +20 -0
  72. package/dist/choice-card.js +124 -0
  73. package/dist/choice-card.js.map +1 -0
  74. package/dist/chunk-2UHRDVPT.cjs +183 -0
  75. package/dist/chunk-2UHRDVPT.cjs.map +1 -0
  76. package/dist/chunk-5CRE35VX.js +20 -0
  77. package/dist/chunk-5CRE35VX.js.map +1 -0
  78. package/dist/chunk-6ARYCL4L.cjs +30 -0
  79. package/dist/chunk-6ARYCL4L.cjs.map +1 -0
  80. package/dist/chunk-6JCVTRUK.js +21 -0
  81. package/dist/chunk-6JCVTRUK.js.map +1 -0
  82. package/dist/chunk-6YHDDRIM.cjs +13 -0
  83. package/dist/chunk-6YHDDRIM.cjs.map +1 -0
  84. package/dist/chunk-A44JJ6NH.js +58 -0
  85. package/dist/chunk-A44JJ6NH.js.map +1 -0
  86. package/dist/chunk-CPAFEXKR.js +63 -0
  87. package/dist/chunk-CPAFEXKR.js.map +1 -0
  88. package/dist/chunk-CTIEUG5L.js +28 -0
  89. package/dist/chunk-CTIEUG5L.js.map +1 -0
  90. package/dist/chunk-DSDDDYG3.cjs +60 -0
  91. package/dist/chunk-DSDDDYG3.cjs.map +1 -0
  92. package/dist/chunk-IB7LTHEQ.js +55 -0
  93. package/dist/chunk-IB7LTHEQ.js.map +1 -0
  94. package/dist/chunk-ID7MWMJO.cjs +162 -0
  95. package/dist/chunk-ID7MWMJO.cjs.map +1 -0
  96. package/dist/chunk-IVMZANP7.cjs +67 -0
  97. package/dist/chunk-IVMZANP7.cjs.map +1 -0
  98. package/dist/chunk-L73QIINW.js +157 -0
  99. package/dist/chunk-L73QIINW.js.map +1 -0
  100. package/dist/chunk-LZGII7SX.js +11 -0
  101. package/dist/chunk-LZGII7SX.js.map +1 -0
  102. package/dist/chunk-M677T75H.js +24 -0
  103. package/dist/chunk-M677T75H.js.map +1 -0
  104. package/dist/chunk-NSK344BJ.js +80 -0
  105. package/dist/chunk-NSK344BJ.js.map +1 -0
  106. package/dist/chunk-OAVCB3MR.cjs +26 -0
  107. package/dist/chunk-OAVCB3MR.cjs.map +1 -0
  108. package/dist/chunk-PH733KDD.js +141 -0
  109. package/dist/chunk-PH733KDD.js.map +1 -0
  110. package/dist/chunk-QEBQ5NUN.cjs +148 -0
  111. package/dist/chunk-QEBQ5NUN.cjs.map +1 -0
  112. package/dist/chunk-RVX6SN4U.cjs +23 -0
  113. package/dist/chunk-RVX6SN4U.cjs.map +1 -0
  114. package/dist/chunk-T74Z3WTK.js +151 -0
  115. package/dist/chunk-T74Z3WTK.js.map +1 -0
  116. package/dist/chunk-UOUXW63J.cjs +22 -0
  117. package/dist/chunk-UOUXW63J.cjs.map +1 -0
  118. package/dist/chunk-UXSDDJXM.cjs +88 -0
  119. package/dist/chunk-UXSDDJXM.cjs.map +1 -0
  120. package/dist/chunk-VBICNC43.cjs +61 -0
  121. package/dist/chunk-VBICNC43.cjs.map +1 -0
  122. package/dist/collapsible-header.cjs +66 -0
  123. package/dist/collapsible-header.cjs.map +1 -0
  124. package/dist/collapsible-header.d.cts +15 -0
  125. package/dist/collapsible-header.d.ts +15 -0
  126. package/dist/collapsible-header.js +63 -0
  127. package/dist/collapsible-header.js.map +1 -0
  128. package/dist/collapsible.cjs +38 -0
  129. package/dist/collapsible.cjs.map +1 -0
  130. package/dist/collapsible.d.cts +8 -0
  131. package/dist/collapsible.d.ts +8 -0
  132. package/dist/collapsible.js +34 -0
  133. package/dist/collapsible.js.map +1 -0
  134. package/dist/color-picker.cjs +60 -0
  135. package/dist/color-picker.cjs.map +1 -0
  136. package/dist/color-picker.d.cts +12 -0
  137. package/dist/color-picker.d.ts +12 -0
  138. package/dist/color-picker.js +57 -0
  139. package/dist/color-picker.js.map +1 -0
  140. package/dist/command.cjs +177 -0
  141. package/dist/command.cjs.map +1 -0
  142. package/dist/command.d.cts +22 -0
  143. package/dist/command.d.ts +22 -0
  144. package/dist/command.js +167 -0
  145. package/dist/command.js.map +1 -0
  146. package/dist/confirm-dialog.cjs +72 -0
  147. package/dist/confirm-dialog.cjs.map +1 -0
  148. package/dist/confirm-dialog.d.cts +19 -0
  149. package/dist/confirm-dialog.d.ts +19 -0
  150. package/dist/confirm-dialog.js +70 -0
  151. package/dist/confirm-dialog.js.map +1 -0
  152. package/dist/control-styles.cjs +16 -0
  153. package/dist/control-styles.cjs.map +1 -0
  154. package/dist/control-styles.d.cts +7 -0
  155. package/dist/control-styles.d.ts +7 -0
  156. package/dist/control-styles.js +10 -0
  157. package/dist/control-styles.js.map +1 -0
  158. package/dist/dialog.cjs +50 -0
  159. package/dist/dialog.cjs.map +1 -0
  160. package/dist/dialog.d.cts +20 -0
  161. package/dist/dialog.d.ts +20 -0
  162. package/dist/dialog.js +5 -0
  163. package/dist/dialog.js.map +1 -0
  164. package/dist/dropdown-menu.cjs +265 -0
  165. package/dist/dropdown-menu.cjs.map +1 -0
  166. package/dist/dropdown-menu.d.cts +32 -0
  167. package/dist/dropdown-menu.d.ts +32 -0
  168. package/dist/dropdown-menu.js +249 -0
  169. package/dist/dropdown-menu.js.map +1 -0
  170. package/dist/empty-state.cjs +50 -0
  171. package/dist/empty-state.cjs.map +1 -0
  172. package/dist/empty-state.d.cts +23 -0
  173. package/dist/empty-state.d.ts +23 -0
  174. package/dist/empty-state.js +47 -0
  175. package/dist/empty-state.js.map +1 -0
  176. package/dist/field.cjs +221 -0
  177. package/dist/field.cjs.map +1 -0
  178. package/dist/field.d.cts +30 -0
  179. package/dist/field.d.ts +30 -0
  180. package/dist/field.js +210 -0
  181. package/dist/field.js.map +1 -0
  182. package/dist/hover-card.cjs +43 -0
  183. package/dist/hover-card.cjs.map +1 -0
  184. package/dist/hover-card.d.cts +9 -0
  185. package/dist/hover-card.d.ts +9 -0
  186. package/dist/hover-card.js +39 -0
  187. package/dist/hover-card.js.map +1 -0
  188. package/dist/input-group.cjs +36 -0
  189. package/dist/input-group.cjs.map +1 -0
  190. package/dist/input-group.d.cts +20 -0
  191. package/dist/input-group.d.ts +20 -0
  192. package/dist/input-group.js +7 -0
  193. package/dist/input-group.js.map +1 -0
  194. package/dist/input.cjs +13 -0
  195. package/dist/input.cjs.map +1 -0
  196. package/dist/input.d.cts +6 -0
  197. package/dist/input.d.ts +6 -0
  198. package/dist/input.js +4 -0
  199. package/dist/input.js.map +1 -0
  200. package/dist/item.cjs +196 -0
  201. package/dist/item.cjs.map +1 -0
  202. package/dist/item.d.cts +28 -0
  203. package/dist/item.d.ts +28 -0
  204. package/dist/item.js +185 -0
  205. package/dist/item.js.map +1 -0
  206. package/dist/label.cjs +13 -0
  207. package/dist/label.cjs.map +1 -0
  208. package/dist/label.d.cts +7 -0
  209. package/dist/label.d.ts +7 -0
  210. package/dist/label.js +4 -0
  211. package/dist/label.js.map +1 -0
  212. package/dist/lib/utils.cjs +12 -0
  213. package/dist/lib/utils.cjs.map +1 -0
  214. package/dist/lib/utils.d.cts +5 -0
  215. package/dist/lib/utils.d.ts +5 -0
  216. package/dist/lib/utils.js +3 -0
  217. package/dist/lib/utils.js.map +1 -0
  218. package/dist/list-row.cjs +188 -0
  219. package/dist/list-row.cjs.map +1 -0
  220. package/dist/list-row.d.cts +51 -0
  221. package/dist/list-row.d.ts +51 -0
  222. package/dist/list-row.js +164 -0
  223. package/dist/list-row.js.map +1 -0
  224. package/dist/pill-tabs.cjs +109 -0
  225. package/dist/pill-tabs.cjs.map +1 -0
  226. package/dist/pill-tabs.d.cts +24 -0
  227. package/dist/pill-tabs.d.ts +24 -0
  228. package/dist/pill-tabs.js +107 -0
  229. package/dist/pill-tabs.js.map +1 -0
  230. package/dist/popover.cjs +37 -0
  231. package/dist/popover.cjs.map +1 -0
  232. package/dist/popover.d.cts +13 -0
  233. package/dist/popover.d.ts +13 -0
  234. package/dist/popover.js +4 -0
  235. package/dist/popover.js.map +1 -0
  236. package/dist/progress-bar.cjs +40 -0
  237. package/dist/progress-bar.cjs.map +1 -0
  238. package/dist/progress-bar.d.cts +12 -0
  239. package/dist/progress-bar.d.ts +12 -0
  240. package/dist/progress-bar.js +38 -0
  241. package/dist/progress-bar.js.map +1 -0
  242. package/dist/rabbit-mark.cjs +30 -0
  243. package/dist/rabbit-mark.cjs.map +1 -0
  244. package/dist/rabbit-mark.d.cts +16 -0
  245. package/dist/rabbit-mark.d.ts +16 -0
  246. package/dist/rabbit-mark.js +26 -0
  247. package/dist/rabbit-mark.js.map +1 -0
  248. package/dist/responsive-panel.cjs +85 -0
  249. package/dist/responsive-panel.cjs.map +1 -0
  250. package/dist/responsive-panel.d.cts +33 -0
  251. package/dist/responsive-panel.d.ts +33 -0
  252. package/dist/responsive-panel.js +83 -0
  253. package/dist/responsive-panel.js.map +1 -0
  254. package/dist/scroll-area.cjs +63 -0
  255. package/dist/scroll-area.cjs.map +1 -0
  256. package/dist/scroll-area.d.cts +8 -0
  257. package/dist/scroll-area.d.ts +8 -0
  258. package/dist/scroll-area.js +60 -0
  259. package/dist/scroll-area.js.map +1 -0
  260. package/dist/section-label.cjs +30 -0
  261. package/dist/section-label.cjs.map +1 -0
  262. package/dist/section-label.d.cts +13 -0
  263. package/dist/section-label.d.ts +13 -0
  264. package/dist/section-label.js +28 -0
  265. package/dist/section-label.js.map +1 -0
  266. package/dist/segmented-control.cjs +75 -0
  267. package/dist/segmented-control.cjs.map +1 -0
  268. package/dist/segmented-control.d.cts +26 -0
  269. package/dist/segmented-control.d.ts +26 -0
  270. package/dist/segmented-control.js +53 -0
  271. package/dist/segmented-control.js.map +1 -0
  272. package/dist/select.cjs +193 -0
  273. package/dist/select.cjs.map +1 -0
  274. package/dist/select.d.cts +18 -0
  275. package/dist/select.d.ts +18 -0
  276. package/dist/select.js +182 -0
  277. package/dist/select.js.map +1 -0
  278. package/dist/separator.cjs +13 -0
  279. package/dist/separator.cjs.map +1 -0
  280. package/dist/separator.d.cts +7 -0
  281. package/dist/separator.d.ts +7 -0
  282. package/dist/separator.js +4 -0
  283. package/dist/separator.js.map +1 -0
  284. package/dist/sidebar.cjs +29 -0
  285. package/dist/sidebar.cjs.map +1 -0
  286. package/dist/sidebar.d.cts +58 -0
  287. package/dist/sidebar.d.ts +58 -0
  288. package/dist/sidebar.js +4 -0
  289. package/dist/sidebar.js.map +1 -0
  290. package/dist/skeleton.cjs +19 -0
  291. package/dist/skeleton.cjs.map +1 -0
  292. package/dist/skeleton.d.cts +5 -0
  293. package/dist/skeleton.d.ts +5 -0
  294. package/dist/skeleton.js +17 -0
  295. package/dist/skeleton.js.map +1 -0
  296. package/dist/sonner.cjs +40 -0
  297. package/dist/sonner.cjs.map +1 -0
  298. package/dist/sonner.d.cts +6 -0
  299. package/dist/sonner.d.ts +6 -0
  300. package/dist/sonner.js +38 -0
  301. package/dist/sonner.js.map +1 -0
  302. package/dist/sparkline.cjs +44 -0
  303. package/dist/sparkline.cjs.map +1 -0
  304. package/dist/sparkline.d.cts +12 -0
  305. package/dist/sparkline.d.ts +12 -0
  306. package/dist/sparkline.js +42 -0
  307. package/dist/sparkline.js.map +1 -0
  308. package/dist/spinner.cjs +13 -0
  309. package/dist/spinner.cjs.map +1 -0
  310. package/dist/spinner.d.cts +5 -0
  311. package/dist/spinner.d.ts +5 -0
  312. package/dist/spinner.js +11 -0
  313. package/dist/spinner.js.map +1 -0
  314. package/dist/stat-card.cjs +65 -0
  315. package/dist/stat-card.cjs.map +1 -0
  316. package/dist/stat-card.d.cts +22 -0
  317. package/dist/stat-card.d.ts +22 -0
  318. package/dist/stat-card.js +61 -0
  319. package/dist/stat-card.js.map +1 -0
  320. package/dist/status-dot.cjs +32 -0
  321. package/dist/status-dot.cjs.map +1 -0
  322. package/dist/status-dot.d.cts +11 -0
  323. package/dist/status-dot.d.ts +11 -0
  324. package/dist/status-dot.js +29 -0
  325. package/dist/status-dot.js.map +1 -0
  326. package/dist/switch.cjs +38 -0
  327. package/dist/switch.cjs.map +1 -0
  328. package/dist/switch.d.cts +9 -0
  329. package/dist/switch.d.ts +9 -0
  330. package/dist/switch.js +36 -0
  331. package/dist/switch.js.map +1 -0
  332. package/dist/table.cjs +118 -0
  333. package/dist/table.cjs.map +1 -0
  334. package/dist/table.d.cts +13 -0
  335. package/dist/table.d.ts +13 -0
  336. package/dist/table.js +109 -0
  337. package/dist/table.js.map +1 -0
  338. package/dist/tabs.cjs +124 -0
  339. package/dist/tabs.cjs.map +1 -0
  340. package/dist/tabs.d.cts +15 -0
  341. package/dist/tabs.d.ts +15 -0
  342. package/dist/tabs.js +118 -0
  343. package/dist/tabs.js.map +1 -0
  344. package/dist/text-link.cjs +51 -0
  345. package/dist/text-link.cjs.map +1 -0
  346. package/dist/text-link.d.cts +15 -0
  347. package/dist/text-link.d.ts +15 -0
  348. package/dist/text-link.js +48 -0
  349. package/dist/text-link.js.map +1 -0
  350. package/dist/textarea.cjs +13 -0
  351. package/dist/textarea.cjs.map +1 -0
  352. package/dist/textarea.d.cts +6 -0
  353. package/dist/textarea.d.ts +6 -0
  354. package/dist/textarea.js +4 -0
  355. package/dist/textarea.js.map +1 -0
  356. package/dist/theme.css +109 -0
  357. package/dist/timeline.cjs +171 -0
  358. package/dist/timeline.cjs.map +1 -0
  359. package/dist/timeline.d.cts +28 -0
  360. package/dist/timeline.d.ts +28 -0
  361. package/dist/timeline.js +162 -0
  362. package/dist/timeline.js.map +1 -0
  363. package/dist/toggle-group.cjs +155 -0
  364. package/dist/toggle-group.cjs.map +1 -0
  365. package/dist/toggle-group.d.cts +31 -0
  366. package/dist/toggle-group.d.ts +31 -0
  367. package/dist/toggle-group.js +130 -0
  368. package/dist/toggle-group.js.map +1 -0
  369. package/dist/toggle.cjs +21 -0
  370. package/dist/toggle.cjs.map +1 -0
  371. package/dist/toggle.d.cts +23 -0
  372. package/dist/toggle.d.ts +23 -0
  373. package/dist/toggle.js +4 -0
  374. package/dist/toggle.js.map +1 -0
  375. package/dist/tokens.css +77 -0
  376. package/dist/tooltip.cjs +25 -0
  377. package/dist/tooltip.cjs.map +1 -0
  378. package/dist/tooltip.d.cts +10 -0
  379. package/dist/tooltip.d.ts +10 -0
  380. package/dist/tooltip.js +4 -0
  381. package/dist/tooltip.js.map +1 -0
  382. package/package.json +61 -4
package/dist/tabs.cjs ADDED
@@ -0,0 +1,124 @@
1
+ 'use strict';
2
+
3
+ var chunk6YHDDRIM_cjs = require('./chunk-6YHDDRIM.cjs');
4
+ var classVarianceAuthority = require('class-variance-authority');
5
+ var radixUi = require('radix-ui');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function Tabs({
9
+ className,
10
+ orientation = "horizontal",
11
+ ...props
12
+ }) {
13
+ return /* @__PURE__ */ jsxRuntime.jsx(
14
+ radixUi.Tabs.Root,
15
+ {
16
+ "data-slot": "tabs",
17
+ "data-orientation": orientation,
18
+ className: chunk6YHDDRIM_cjs.cn(
19
+ "group/tabs flex gap-2 data-horizontal:flex-col",
20
+ className
21
+ ),
22
+ ...props
23
+ }
24
+ );
25
+ }
26
+ var tabsListVariants = classVarianceAuthority.cva(
27
+ "group/tabs-list inline-flex w-fit items-center gap-1.5 text-muted-foreground group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col group-data-vertical/tabs:items-stretch",
28
+ {
29
+ variants: {
30
+ variant: {
31
+ default: "rounded-[12px] bg-foreground/[0.04] p-1",
32
+ line: "bg-transparent"
33
+ }
34
+ },
35
+ defaultVariants: {
36
+ variant: "default"
37
+ }
38
+ }
39
+ );
40
+ function TabsList({
41
+ className,
42
+ variant = "default",
43
+ ...props
44
+ }) {
45
+ return /* @__PURE__ */ jsxRuntime.jsx(
46
+ radixUi.Tabs.List,
47
+ {
48
+ "data-slot": "tabs-list",
49
+ "data-variant": variant,
50
+ className: chunk6YHDDRIM_cjs.cn(tabsListVariants({ variant }), className),
51
+ ...props
52
+ }
53
+ );
54
+ }
55
+ var RING_MASK = {
56
+ WebkitMask: "linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",
57
+ WebkitMaskComposite: "xor",
58
+ maskComposite: "exclude"
59
+ };
60
+ function TabsTrigger({
61
+ className,
62
+ children,
63
+ ...props
64
+ }) {
65
+ return /* @__PURE__ */ jsxRuntime.jsxs(
66
+ radixUi.Tabs.Trigger,
67
+ {
68
+ "data-slot": "tabs-trigger",
69
+ className: chunk6YHDDRIM_cjs.cn(
70
+ "group/tabs-trigger relative inline-flex min-h-11 shrink-0 items-center justify-center gap-2 rounded-[10px] px-3.5 text-sm font-medium whitespace-nowrap text-muted-foreground transition-colors outline-none pointer-fine:min-h-0 md:px-3 md:py-1.5 hover:bg-surface/60 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 data-active:bg-surface data-active:text-foreground group-data-vertical/tabs:justify-start [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
71
+ className
72
+ ),
73
+ ...props,
74
+ children: [
75
+ /* @__PURE__ */ jsxRuntime.jsx(
76
+ "span",
77
+ {
78
+ "aria-hidden": "true",
79
+ className: "pointer-events-none absolute inset-0 hidden rounded-[10px] blur-[2px] group-data-active/tabs-trigger:block",
80
+ style: {
81
+ padding: "2px",
82
+ background: "linear-gradient(to top, rgba(245,158,11,0.75) 10%, rgba(245,158,11,0) 40%)",
83
+ ...RING_MASK
84
+ }
85
+ }
86
+ ),
87
+ /* @__PURE__ */ jsxRuntime.jsx(
88
+ "span",
89
+ {
90
+ "aria-hidden": "true",
91
+ className: "pointer-events-none absolute inset-0 hidden rounded-[10px] group-data-active/tabs-trigger:block",
92
+ style: {
93
+ padding: "1px",
94
+ background: "linear-gradient(to top, rgba(245,158,11,1) 10%, rgba(245,158,11,0) 40%)",
95
+ ...RING_MASK
96
+ }
97
+ }
98
+ ),
99
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "relative inline-flex items-center gap-2", children })
100
+ ]
101
+ }
102
+ );
103
+ }
104
+ function TabsContent({
105
+ className,
106
+ ...props
107
+ }) {
108
+ return /* @__PURE__ */ jsxRuntime.jsx(
109
+ radixUi.Tabs.Content,
110
+ {
111
+ "data-slot": "tabs-content",
112
+ className: chunk6YHDDRIM_cjs.cn("flex-1 text-sm outline-none", className),
113
+ ...props
114
+ }
115
+ );
116
+ }
117
+
118
+ exports.Tabs = Tabs;
119
+ exports.TabsContent = TabsContent;
120
+ exports.TabsList = TabsList;
121
+ exports.TabsTrigger = TabsTrigger;
122
+ exports.tabsListVariants = tabsListVariants;
123
+ //# sourceMappingURL=tabs.cjs.map
124
+ //# sourceMappingURL=tabs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tabs.tsx"],"names":["jsx","TabsPrimitive","cn","cva","jsxs"],"mappings":";;;;;;;AAMA,SAAS,IAAA,CAAK;AAAA,EACZ,SAAA;AAAA,EACA,WAAA,GAAc,YAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAoD;AAClD,EAAA,uBACEA,cAAA;AAAA,IAACC,YAAA,CAAc,IAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,MAAA;AAAA,MACV,kBAAA,EAAkB,WAAA;AAAA,MAClB,SAAA,EAAWC,oBAAA;AAAA,QACT,gDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAKA,IAAM,gBAAA,GAAmBC,0BAAA;AAAA,EACvB,sLAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,yCAAA;AAAA,QACT,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAEA,SAAS,QAAA,CAAS;AAAA,EAChB,SAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,GAAG;AACL,CAAA,EACyC;AACvC,EAAA,uBACEH,cAAA;AAAA,IAACC,YAAA,CAAc,IAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,WAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,WAAWC,oBAAA,CAAG,gBAAA,CAAiB,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MACrD,GAAG;AAAA;AAAA,GACN;AAEJ;AAIA,IAAM,SAAA,GAAiC;AAAA,EACrC,UAAA,EAAY,kEAAA;AAAA,EACZ,mBAAA,EAAqB,KAAA;AAAA,EACrB,aAAA,EAAe;AACjB,CAAA;AAEA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACEE,eAAA;AAAA,IAACH,YAAA,CAAc,OAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAWC,oBAAA;AAAA,QACT,4iBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAF,cAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAY,MAAA;AAAA,YACZ,SAAA,EAAU,4GAAA;AAAA,YACV,KAAA,EAAO;AAAA,cACL,OAAA,EAAS,KAAA;AAAA,cACT,UAAA,EAAY,4EAAA;AAAA,cACZ,GAAG;AAAA;AACL;AAAA,SACF;AAAA,wBACAA,cAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAY,MAAA;AAAA,YACZ,SAAA,EAAU,iGAAA;AAAA,YACV,KAAA,EAAO;AAAA,cACL,OAAA,EAAS,KAAA;AAAA,cACT,UAAA,EAAY,yEAAA;AAAA,cACZ,GAAG;AAAA;AACL;AAAA,SACF;AAAA,wBACAA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,yCAAA,EAA2C,QAAA,EAAS;AAAA;AAAA;AAAA,GACtE;AAEJ;AAEA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACEA,cAAA;AAAA,IAACC,YAAA,CAAc,OAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAWC,oBAAA,CAAG,6BAAA,EAA+B,SAAS,CAAA;AAAA,MACrD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"tabs.cjs","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Tabs as TabsPrimitive } from \"radix-ui\"\n\nimport { cn } from \"./lib/utils\"\n\nfunction Tabs({\n className,\n orientation = \"horizontal\",\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-orientation={orientation}\n className={cn(\n \"group/tabs flex gap-2 data-horizontal:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\n// The ops console's tab bar: sentence-case pills, the active one on the\n// chrome surface with an amber edge along its bottom. Both variants draw it;\n// `default` sits the pills on a faint track, `line` on nothing.\nconst tabsListVariants = cva(\n \"group/tabs-list inline-flex w-fit items-center gap-1.5 text-muted-foreground group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col group-data-vertical/tabs:items-stretch\",\n {\n variants: {\n variant: {\n default: \"rounded-[12px] bg-foreground/[0.04] p-1\",\n line: \"bg-transparent\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction TabsList({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List> &\n VariantProps<typeof tabsListVariants>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n className={cn(tabsListVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\n// Bright along the bottom edge, fading upward round the corners: a ring cut\n// out of a gradient by the mask; the blurred copy adds the bloom.\nconst RING_MASK: React.CSSProperties = {\n WebkitMask: \"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)\",\n WebkitMaskComposite: \"xor\",\n maskComposite: \"exclude\",\n}\n\nfunction TabsTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"group/tabs-trigger relative inline-flex min-h-11 shrink-0 items-center justify-center gap-2 rounded-[10px] px-3.5 text-sm font-medium whitespace-nowrap text-muted-foreground transition-colors outline-none pointer-fine:min-h-0 md:px-3 md:py-1.5 hover:bg-surface/60 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 data-active:bg-surface data-active:text-foreground group-data-vertical/tabs:justify-start [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-0 hidden rounded-[10px] blur-[2px] group-data-active/tabs-trigger:block\"\n style={{\n padding: \"2px\",\n background: \"linear-gradient(to top, rgba(245,158,11,0.75) 10%, rgba(245,158,11,0) 40%)\",\n ...RING_MASK,\n }}\n />\n <span\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-0 hidden rounded-[10px] group-data-active/tabs-trigger:block\"\n style={{\n padding: \"1px\",\n background: \"linear-gradient(to top, rgba(245,158,11,1) 10%, rgba(245,158,11,0) 40%)\",\n ...RING_MASK,\n }}\n />\n <span className=\"relative inline-flex items-center gap-2\">{children}</span>\n </TabsPrimitive.Trigger>\n )\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 text-sm outline-none\", className)}\n {...props}\n />\n )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }\n"]}
@@ -0,0 +1,15 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import * as React from 'react';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import { Tabs as Tabs$1 } from 'radix-ui';
6
+
7
+ declare function Tabs({ className, orientation, ...props }: React.ComponentProps<typeof Tabs$1.Root>): react_jsx_runtime.JSX.Element;
8
+ declare const tabsListVariants: (props?: ({
9
+ variant?: "default" | "line" | null | undefined;
10
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
11
+ declare function TabsList({ className, variant, ...props }: React.ComponentProps<typeof Tabs$1.List> & VariantProps<typeof tabsListVariants>): react_jsx_runtime.JSX.Element;
12
+ declare function TabsTrigger({ className, children, ...props }: React.ComponentProps<typeof Tabs$1.Trigger>): react_jsx_runtime.JSX.Element;
13
+ declare function TabsContent({ className, ...props }: React.ComponentProps<typeof Tabs$1.Content>): react_jsx_runtime.JSX.Element;
14
+
15
+ export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
package/dist/tabs.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import * as React from 'react';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import { Tabs as Tabs$1 } from 'radix-ui';
6
+
7
+ declare function Tabs({ className, orientation, ...props }: React.ComponentProps<typeof Tabs$1.Root>): react_jsx_runtime.JSX.Element;
8
+ declare const tabsListVariants: (props?: ({
9
+ variant?: "default" | "line" | null | undefined;
10
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
11
+ declare function TabsList({ className, variant, ...props }: React.ComponentProps<typeof Tabs$1.List> & VariantProps<typeof tabsListVariants>): react_jsx_runtime.JSX.Element;
12
+ declare function TabsTrigger({ className, children, ...props }: React.ComponentProps<typeof Tabs$1.Trigger>): react_jsx_runtime.JSX.Element;
13
+ declare function TabsContent({ className, ...props }: React.ComponentProps<typeof Tabs$1.Content>): react_jsx_runtime.JSX.Element;
14
+
15
+ export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
package/dist/tabs.js ADDED
@@ -0,0 +1,118 @@
1
+ import { cn } from './chunk-LZGII7SX.js';
2
+ import { cva } from 'class-variance-authority';
3
+ import { Tabs as Tabs$1 } from 'radix-ui';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ function Tabs({
7
+ className,
8
+ orientation = "horizontal",
9
+ ...props
10
+ }) {
11
+ return /* @__PURE__ */ jsx(
12
+ Tabs$1.Root,
13
+ {
14
+ "data-slot": "tabs",
15
+ "data-orientation": orientation,
16
+ className: cn(
17
+ "group/tabs flex gap-2 data-horizontal:flex-col",
18
+ className
19
+ ),
20
+ ...props
21
+ }
22
+ );
23
+ }
24
+ var tabsListVariants = cva(
25
+ "group/tabs-list inline-flex w-fit items-center gap-1.5 text-muted-foreground group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col group-data-vertical/tabs:items-stretch",
26
+ {
27
+ variants: {
28
+ variant: {
29
+ default: "rounded-[12px] bg-foreground/[0.04] p-1",
30
+ line: "bg-transparent"
31
+ }
32
+ },
33
+ defaultVariants: {
34
+ variant: "default"
35
+ }
36
+ }
37
+ );
38
+ function TabsList({
39
+ className,
40
+ variant = "default",
41
+ ...props
42
+ }) {
43
+ return /* @__PURE__ */ jsx(
44
+ Tabs$1.List,
45
+ {
46
+ "data-slot": "tabs-list",
47
+ "data-variant": variant,
48
+ className: cn(tabsListVariants({ variant }), className),
49
+ ...props
50
+ }
51
+ );
52
+ }
53
+ var RING_MASK = {
54
+ WebkitMask: "linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",
55
+ WebkitMaskComposite: "xor",
56
+ maskComposite: "exclude"
57
+ };
58
+ function TabsTrigger({
59
+ className,
60
+ children,
61
+ ...props
62
+ }) {
63
+ return /* @__PURE__ */ jsxs(
64
+ Tabs$1.Trigger,
65
+ {
66
+ "data-slot": "tabs-trigger",
67
+ className: cn(
68
+ "group/tabs-trigger relative inline-flex min-h-11 shrink-0 items-center justify-center gap-2 rounded-[10px] px-3.5 text-sm font-medium whitespace-nowrap text-muted-foreground transition-colors outline-none pointer-fine:min-h-0 md:px-3 md:py-1.5 hover:bg-surface/60 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 data-active:bg-surface data-active:text-foreground group-data-vertical/tabs:justify-start [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
69
+ className
70
+ ),
71
+ ...props,
72
+ children: [
73
+ /* @__PURE__ */ jsx(
74
+ "span",
75
+ {
76
+ "aria-hidden": "true",
77
+ className: "pointer-events-none absolute inset-0 hidden rounded-[10px] blur-[2px] group-data-active/tabs-trigger:block",
78
+ style: {
79
+ padding: "2px",
80
+ background: "linear-gradient(to top, rgba(245,158,11,0.75) 10%, rgba(245,158,11,0) 40%)",
81
+ ...RING_MASK
82
+ }
83
+ }
84
+ ),
85
+ /* @__PURE__ */ jsx(
86
+ "span",
87
+ {
88
+ "aria-hidden": "true",
89
+ className: "pointer-events-none absolute inset-0 hidden rounded-[10px] group-data-active/tabs-trigger:block",
90
+ style: {
91
+ padding: "1px",
92
+ background: "linear-gradient(to top, rgba(245,158,11,1) 10%, rgba(245,158,11,0) 40%)",
93
+ ...RING_MASK
94
+ }
95
+ }
96
+ ),
97
+ /* @__PURE__ */ jsx("span", { className: "relative inline-flex items-center gap-2", children })
98
+ ]
99
+ }
100
+ );
101
+ }
102
+ function TabsContent({
103
+ className,
104
+ ...props
105
+ }) {
106
+ return /* @__PURE__ */ jsx(
107
+ Tabs$1.Content,
108
+ {
109
+ "data-slot": "tabs-content",
110
+ className: cn("flex-1 text-sm outline-none", className),
111
+ ...props
112
+ }
113
+ );
114
+ }
115
+
116
+ export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
117
+ //# sourceMappingURL=tabs.js.map
118
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tabs.tsx"],"names":["TabsPrimitive"],"mappings":";;;;;AAMA,SAAS,IAAA,CAAK;AAAA,EACZ,SAAA;AAAA,EACA,WAAA,GAAc,YAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAoD;AAClD,EAAA,uBACE,GAAA;AAAA,IAACA,MAAA,CAAc,IAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,MAAA;AAAA,MACV,kBAAA,EAAkB,WAAA;AAAA,MAClB,SAAA,EAAW,EAAA;AAAA,QACT,gDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAKA,IAAM,gBAAA,GAAmB,GAAA;AAAA,EACvB,sLAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,yCAAA;AAAA,QACT,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAEA,SAAS,QAAA,CAAS;AAAA,EAChB,SAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,GAAG;AACL,CAAA,EACyC;AACvC,EAAA,uBACE,GAAA;AAAA,IAACA,MAAA,CAAc,IAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,WAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,WAAW,EAAA,CAAG,gBAAA,CAAiB,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MACrD,GAAG;AAAA;AAAA,GACN;AAEJ;AAIA,IAAM,SAAA,GAAiC;AAAA,EACrC,UAAA,EAAY,kEAAA;AAAA,EACZ,mBAAA,EAAqB,KAAA;AAAA,EACrB,aAAA,EAAe;AACjB,CAAA;AAEA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACE,IAAA;AAAA,IAACA,MAAA,CAAc,OAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,4iBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAY,MAAA;AAAA,YACZ,SAAA,EAAU,4GAAA;AAAA,YACV,KAAA,EAAO;AAAA,cACL,OAAA,EAAS,KAAA;AAAA,cACT,UAAA,EAAY,4EAAA;AAAA,cACZ,GAAG;AAAA;AACL;AAAA,SACF;AAAA,wBACA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAY,MAAA;AAAA,YACZ,SAAA,EAAU,iGAAA;AAAA,YACV,KAAA,EAAO;AAAA,cACL,OAAA,EAAS,KAAA;AAAA,cACT,UAAA,EAAY,yEAAA;AAAA,cACZ,GAAG;AAAA;AACL;AAAA,SACF;AAAA,wBACA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,yCAAA,EAA2C,QAAA,EAAS;AAAA;AAAA;AAAA,GACtE;AAEJ;AAEA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACE,GAAA;AAAA,IAACA,MAAA,CAAc,OAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,6BAAA,EAA+B,SAAS,CAAA;AAAA,MACrD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"tabs.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Tabs as TabsPrimitive } from \"radix-ui\"\n\nimport { cn } from \"./lib/utils\"\n\nfunction Tabs({\n className,\n orientation = \"horizontal\",\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-orientation={orientation}\n className={cn(\n \"group/tabs flex gap-2 data-horizontal:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\n// The ops console's tab bar: sentence-case pills, the active one on the\n// chrome surface with an amber edge along its bottom. Both variants draw it;\n// `default` sits the pills on a faint track, `line` on nothing.\nconst tabsListVariants = cva(\n \"group/tabs-list inline-flex w-fit items-center gap-1.5 text-muted-foreground group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col group-data-vertical/tabs:items-stretch\",\n {\n variants: {\n variant: {\n default: \"rounded-[12px] bg-foreground/[0.04] p-1\",\n line: \"bg-transparent\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction TabsList({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List> &\n VariantProps<typeof tabsListVariants>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n className={cn(tabsListVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\n// Bright along the bottom edge, fading upward round the corners: a ring cut\n// out of a gradient by the mask; the blurred copy adds the bloom.\nconst RING_MASK: React.CSSProperties = {\n WebkitMask: \"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)\",\n WebkitMaskComposite: \"xor\",\n maskComposite: \"exclude\",\n}\n\nfunction TabsTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"group/tabs-trigger relative inline-flex min-h-11 shrink-0 items-center justify-center gap-2 rounded-[10px] px-3.5 text-sm font-medium whitespace-nowrap text-muted-foreground transition-colors outline-none pointer-fine:min-h-0 md:px-3 md:py-1.5 hover:bg-surface/60 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 data-active:bg-surface data-active:text-foreground group-data-vertical/tabs:justify-start [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-0 hidden rounded-[10px] blur-[2px] group-data-active/tabs-trigger:block\"\n style={{\n padding: \"2px\",\n background: \"linear-gradient(to top, rgba(245,158,11,0.75) 10%, rgba(245,158,11,0) 40%)\",\n ...RING_MASK,\n }}\n />\n <span\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-0 hidden rounded-[10px] group-data-active/tabs-trigger:block\"\n style={{\n padding: \"1px\",\n background: \"linear-gradient(to top, rgba(245,158,11,1) 10%, rgba(245,158,11,0) 40%)\",\n ...RING_MASK,\n }}\n />\n <span className=\"relative inline-flex items-center gap-2\">{children}</span>\n </TabsPrimitive.Trigger>\n )\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 text-sm outline-none\", className)}\n {...props}\n />\n )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }\n"]}
@@ -0,0 +1,51 @@
1
+ 'use strict';
2
+
3
+ var chunk6YHDDRIM_cjs = require('./chunk-6YHDDRIM.cjs');
4
+ var classVarianceAuthority = require('class-variance-authority');
5
+ var radixUi = require('radix-ui');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ var textLinkVariants = classVarianceAuthority.cva(
9
+ "cursor-pointer font-medium transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5",
10
+ {
11
+ variants: {
12
+ variant: {
13
+ default: "text-amber-500 hover:text-amber-400",
14
+ muted: "text-muted-foreground hover:text-foreground"
15
+ },
16
+ size: {
17
+ default: "-mx-2 inline-flex min-h-11 w-fit items-center gap-1.5 rounded-lg px-2 text-[13px] pointer-fine:mx-0 pointer-fine:min-h-0 pointer-fine:px-0",
18
+ sm: "-mx-2 inline-flex min-h-11 w-fit items-center gap-1 rounded-lg px-2 text-[12px] pointer-fine:mx-0 pointer-fine:min-h-0 pointer-fine:px-0",
19
+ inline: "rounded-[2px] underline underline-offset-2"
20
+ }
21
+ },
22
+ defaultVariants: {
23
+ variant: "default",
24
+ size: "default"
25
+ }
26
+ }
27
+ );
28
+ function TextLink({
29
+ className,
30
+ variant = "default",
31
+ size = "default",
32
+ asChild = false,
33
+ ...props
34
+ }) {
35
+ const Comp = asChild ? radixUi.Slot.Root : "a";
36
+ return /* @__PURE__ */ jsxRuntime.jsx(
37
+ Comp,
38
+ {
39
+ "data-slot": "text-link",
40
+ "data-variant": variant,
41
+ "data-size": size,
42
+ className: chunk6YHDDRIM_cjs.cn(textLinkVariants({ variant, size }), className),
43
+ ...props
44
+ }
45
+ );
46
+ }
47
+
48
+ exports.TextLink = TextLink;
49
+ exports.textLinkVariants = textLinkVariants;
50
+ //# sourceMappingURL=text-link.cjs.map
51
+ //# sourceMappingURL=text-link.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/text-link.tsx"],"names":["cva","Slot","jsx","cn"],"mappings":";;;;;;;AAYA,IAAM,gBAAA,GAAmBA,0BAAA;AAAA,EACvB,gPAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,qCAAA;AAAA,QACT,KAAA,EAAO;AAAA,OACT;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,OAAA,EACE,4IAAA;AAAA,QACF,EAAA,EAAI,0IAAA;AAAA,QACJ,MAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAEA,SAAS,QAAA,CAAS;AAAA,EAChB,SAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,IAAA,GAAO,SAAA;AAAA,EACP,OAAA,GAAU,KAAA;AAAA,EACV,GAAG;AACL,CAAA,EAIK;AACH,EAAA,MAAM,IAAA,GAAO,OAAA,GAAUC,YAAA,CAAK,IAAA,GAAO,GAAA;AAEnC,EAAA,uBACEC,cAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,WAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,WAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAWC,qBAAG,gBAAA,CAAiB,EAAE,SAAS,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MAC3D,GAAG;AAAA;AAAA,GACN;AAEJ","file":"text-link.cjs","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { cn } from \"./lib/utils\"\n\n// The Work console's text links. `default` is its amber link (\"Manage\n// channels\", \"View all →\"), `muted` the quiet one that brightens on hover\n// (\"Cancel\", \"Back\"). No underline when standing alone: the colour carries\n// it. A standalone link reaches 44px on touch without moving its text (the\n// negative margin eats the padding); `inline` is for a link inside a\n// sentence, underlined there so it reads as one.\nconst textLinkVariants = cva(\n \"cursor-pointer font-medium transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5\",\n {\n variants: {\n variant: {\n default: \"text-amber-500 hover:text-amber-400\",\n muted: \"text-muted-foreground hover:text-foreground\",\n },\n size: {\n default:\n \"-mx-2 inline-flex min-h-11 w-fit items-center gap-1.5 rounded-lg px-2 text-[13px] pointer-fine:mx-0 pointer-fine:min-h-0 pointer-fine:px-0\",\n sm: \"-mx-2 inline-flex min-h-11 w-fit items-center gap-1 rounded-lg px-2 text-[12px] pointer-fine:mx-0 pointer-fine:min-h-0 pointer-fine:px-0\",\n inline: \"rounded-[2px] underline underline-offset-2\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction TextLink({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"a\"> &\n VariantProps<typeof textLinkVariants> & {\n /** Render as the single child (a router link, a button). */\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"a\"\n\n return (\n <Comp\n data-slot=\"text-link\"\n data-variant={variant}\n data-size={size}\n className={cn(textLinkVariants({ variant, size }), className)}\n {...props}\n />\n )\n}\n\nexport { TextLink, textLinkVariants }\n"]}
@@ -0,0 +1,15 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import * as React from 'react';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare const textLinkVariants: (props?: ({
7
+ variant?: "default" | "muted" | null | undefined;
8
+ size?: "default" | "sm" | "inline" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ declare function TextLink({ className, variant, size, asChild, ...props }: React.ComponentProps<"a"> & VariantProps<typeof textLinkVariants> & {
11
+ /** Render as the single child (a router link, a button). */
12
+ asChild?: boolean;
13
+ }): react_jsx_runtime.JSX.Element;
14
+
15
+ export { TextLink, textLinkVariants };
@@ -0,0 +1,15 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import * as React from 'react';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare const textLinkVariants: (props?: ({
7
+ variant?: "default" | "muted" | null | undefined;
8
+ size?: "default" | "sm" | "inline" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ declare function TextLink({ className, variant, size, asChild, ...props }: React.ComponentProps<"a"> & VariantProps<typeof textLinkVariants> & {
11
+ /** Render as the single child (a router link, a button). */
12
+ asChild?: boolean;
13
+ }): react_jsx_runtime.JSX.Element;
14
+
15
+ export { TextLink, textLinkVariants };
@@ -0,0 +1,48 @@
1
+ import { cn } from './chunk-LZGII7SX.js';
2
+ import { cva } from 'class-variance-authority';
3
+ import { Slot } from 'radix-ui';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ var textLinkVariants = cva(
7
+ "cursor-pointer font-medium transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5",
8
+ {
9
+ variants: {
10
+ variant: {
11
+ default: "text-amber-500 hover:text-amber-400",
12
+ muted: "text-muted-foreground hover:text-foreground"
13
+ },
14
+ size: {
15
+ default: "-mx-2 inline-flex min-h-11 w-fit items-center gap-1.5 rounded-lg px-2 text-[13px] pointer-fine:mx-0 pointer-fine:min-h-0 pointer-fine:px-0",
16
+ sm: "-mx-2 inline-flex min-h-11 w-fit items-center gap-1 rounded-lg px-2 text-[12px] pointer-fine:mx-0 pointer-fine:min-h-0 pointer-fine:px-0",
17
+ inline: "rounded-[2px] underline underline-offset-2"
18
+ }
19
+ },
20
+ defaultVariants: {
21
+ variant: "default",
22
+ size: "default"
23
+ }
24
+ }
25
+ );
26
+ function TextLink({
27
+ className,
28
+ variant = "default",
29
+ size = "default",
30
+ asChild = false,
31
+ ...props
32
+ }) {
33
+ const Comp = asChild ? Slot.Root : "a";
34
+ return /* @__PURE__ */ jsx(
35
+ Comp,
36
+ {
37
+ "data-slot": "text-link",
38
+ "data-variant": variant,
39
+ "data-size": size,
40
+ className: cn(textLinkVariants({ variant, size }), className),
41
+ ...props
42
+ }
43
+ );
44
+ }
45
+
46
+ export { TextLink, textLinkVariants };
47
+ //# sourceMappingURL=text-link.js.map
48
+ //# sourceMappingURL=text-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/text-link.tsx"],"names":[],"mappings":";;;;;AAYA,IAAM,gBAAA,GAAmB,GAAA;AAAA,EACvB,gPAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,qCAAA;AAAA,QACT,KAAA,EAAO;AAAA,OACT;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,OAAA,EACE,4IAAA;AAAA,QACF,EAAA,EAAI,0IAAA;AAAA,QACJ,MAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAEA,SAAS,QAAA,CAAS;AAAA,EAChB,SAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,IAAA,GAAO,SAAA;AAAA,EACP,OAAA,GAAU,KAAA;AAAA,EACV,GAAG;AACL,CAAA,EAIK;AACH,EAAA,MAAM,IAAA,GAAO,OAAA,GAAU,IAAA,CAAK,IAAA,GAAO,GAAA;AAEnC,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,WAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,WAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAW,GAAG,gBAAA,CAAiB,EAAE,SAAS,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MAC3D,GAAG;AAAA;AAAA,GACN;AAEJ","file":"text-link.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { cn } from \"./lib/utils\"\n\n// The Work console's text links. `default` is its amber link (\"Manage\n// channels\", \"View all →\"), `muted` the quiet one that brightens on hover\n// (\"Cancel\", \"Back\"). No underline when standing alone: the colour carries\n// it. A standalone link reaches 44px on touch without moving its text (the\n// negative margin eats the padding); `inline` is for a link inside a\n// sentence, underlined there so it reads as one.\nconst textLinkVariants = cva(\n \"cursor-pointer font-medium transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5\",\n {\n variants: {\n variant: {\n default: \"text-amber-500 hover:text-amber-400\",\n muted: \"text-muted-foreground hover:text-foreground\",\n },\n size: {\n default:\n \"-mx-2 inline-flex min-h-11 w-fit items-center gap-1.5 rounded-lg px-2 text-[13px] pointer-fine:mx-0 pointer-fine:min-h-0 pointer-fine:px-0\",\n sm: \"-mx-2 inline-flex min-h-11 w-fit items-center gap-1 rounded-lg px-2 text-[12px] pointer-fine:mx-0 pointer-fine:min-h-0 pointer-fine:px-0\",\n inline: \"rounded-[2px] underline underline-offset-2\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction TextLink({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"a\"> &\n VariantProps<typeof textLinkVariants> & {\n /** Render as the single child (a router link, a button). */\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"a\"\n\n return (\n <Comp\n data-slot=\"text-link\"\n data-variant={variant}\n data-size={size}\n className={cn(textLinkVariants({ variant, size }), className)}\n {...props}\n />\n )\n}\n\nexport { TextLink, textLinkVariants }\n"]}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var chunkUOUXW63J_cjs = require('./chunk-UOUXW63J.cjs');
4
+ require('./chunk-6YHDDRIM.cjs');
5
+
6
+
7
+
8
+ Object.defineProperty(exports, "Textarea", {
9
+ enumerable: true,
10
+ get: function () { return chunkUOUXW63J_cjs.Textarea; }
11
+ });
12
+ //# sourceMappingURL=textarea.cjs.map
13
+ //# sourceMappingURL=textarea.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"textarea.cjs"}
@@ -0,0 +1,6 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ declare function Textarea({ className, ...props }: React.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
5
+
6
+ export { Textarea };
@@ -0,0 +1,6 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ declare function Textarea({ className, ...props }: React.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
5
+
6
+ export { Textarea };
@@ -0,0 +1,4 @@
1
+ export { Textarea } from './chunk-5CRE35VX.js';
2
+ import './chunk-LZGII7SX.js';
3
+ //# sourceMappingURL=textarea.js.map
4
+ //# sourceMappingURL=textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"textarea.js"}
package/dist/theme.css ADDED
@@ -0,0 +1,109 @@
1
+ /* The Tailwind side of the theme: import it once, after `tailwindcss`,
2
+ in the app's stylesheet. It brings the tokens, the fonts, the type scale,
3
+ the colour and radius utilities, the dark variant and the base styles,
4
+ and points Tailwind at this package's components. */
5
+
6
+ @import "./tokens.css";
7
+ @import "@fontsource-variable/fraunces";
8
+ @import "@fontsource-variable/inter";
9
+ @import "@fontsource-variable/jetbrains-mono";
10
+
11
+ /* The components in this package (their source, or the built files where
12
+ the package is installed), so their classes are generated. */
13
+ @source "./";
14
+
15
+ @custom-variant dark (&:is(.dark *));
16
+
17
+ /* The apps read almost entirely at text-sm and text-xs, and 14/12px is too
18
+ small a default. One pixel up across the reading sizes — type only:
19
+ spacing stays rem-based against the unchanged root, so density holds.
20
+ Heading sizes (lg and up) are untouched. */
21
+ @theme {
22
+ --text-xs: 0.8125rem;
23
+ --text-xs--line-height: 1.125rem;
24
+ --text-sm: 0.9375rem;
25
+ --text-sm--line-height: 1.375rem;
26
+ --text-base: 1.0625rem;
27
+ }
28
+
29
+ @theme inline {
30
+ --font-heading: var(--font-sans);
31
+ --font-sans: var(--sans);
32
+ --font-serif: var(--serif);
33
+ --font-mono: var(--mono);
34
+ --color-sidebar-ring: var(--sidebar-ring);
35
+ --color-sidebar-border: var(--sidebar-border);
36
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
37
+ --color-sidebar-accent: var(--sidebar-accent);
38
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
39
+ --color-sidebar-primary: var(--sidebar-primary);
40
+ --color-sidebar-foreground: var(--sidebar-foreground);
41
+ --color-sidebar: var(--sidebar);
42
+ --color-chart-5: var(--chart-5);
43
+ --color-chart-4: var(--chart-4);
44
+ --color-chart-3: var(--chart-3);
45
+ --color-chart-2: var(--chart-2);
46
+ --color-chart-1: var(--chart-1);
47
+ --color-ring: var(--ring);
48
+ --color-input: var(--input);
49
+ --color-border: var(--border);
50
+ --color-destructive: var(--destructive);
51
+ --color-accent-foreground: var(--accent-foreground);
52
+ --color-accent: var(--accent);
53
+ --color-muted-foreground: var(--muted-foreground);
54
+ --color-muted: var(--muted);
55
+ --color-secondary-foreground: var(--secondary-foreground);
56
+ --color-secondary: var(--secondary);
57
+ --color-primary-foreground: var(--primary-foreground);
58
+ --color-primary: var(--primary);
59
+ --color-popover-foreground: var(--popover-foreground);
60
+ --color-popover: var(--popover);
61
+ --color-card-foreground: var(--card-foreground);
62
+ --color-card: var(--card);
63
+ --color-surface: var(--surface);
64
+ --color-foreground: var(--foreground);
65
+ --color-background: var(--background);
66
+ --color-line: var(--line);
67
+ --color-subtle: var(--subtle);
68
+ --color-faint: var(--faint);
69
+ --color-success: var(--success);
70
+ --radius-sm: calc(var(--radius) * 0.6);
71
+ --radius-md: calc(var(--radius) * 0.8);
72
+ --radius-lg: var(--radius);
73
+ --radius-xl: calc(var(--radius) * 1.4);
74
+ --radius-2xl: calc(var(--radius) * 1.8);
75
+ --radius-3xl: calc(var(--radius) * 2.2);
76
+ --radius-4xl: calc(var(--radius) * 2.6);
77
+ }
78
+
79
+ ::placeholder {
80
+ color: var(--faint);
81
+ }
82
+
83
+ @layer base {
84
+ * {
85
+ @apply border-border outline-ring/50;
86
+ }
87
+ body {
88
+ @apply bg-background text-foreground;
89
+ }
90
+ html {
91
+ @apply font-sans;
92
+ /* Landscape rotation on iOS otherwise inflates every font size. */
93
+ -webkit-text-size-adjust: 100%;
94
+ text-size-adjust: 100%;
95
+ }
96
+ h1,
97
+ h2,
98
+ h3,
99
+ h4,
100
+ h5,
101
+ h6 {
102
+ @apply font-serif;
103
+ letter-spacing: -0.01em;
104
+ }
105
+ }
106
+
107
+ .font-heading {
108
+ @apply font-serif;
109
+ }