@uisatin/ui 0.2.0 → 0.4.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 (359) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +10 -1
  3. package/{chunk-P4O6TGDR.js → chunk-3VVO5MY5.js} +28 -26
  4. package/chunk-47DDBME3.js +87 -0
  5. package/{chunk-SHDFUXYV.js → chunk-5663JVE5.js} +16 -18
  6. package/chunk-67CBFB6Y.js +99 -0
  7. package/chunk-6DWLTGRQ.js +130 -0
  8. package/chunk-6GNMUJQ4.js +45 -0
  9. package/chunk-6JTSZAGO.js +177 -0
  10. package/chunk-6RLSRMB5.js +14 -0
  11. package/chunk-6Y6CY2DP.js +55 -0
  12. package/{chunk-O7F3CIDV.js → chunk-7NV53EL5.js} +10 -12
  13. package/{chunk-BNZVTLHV.js → chunk-7SVMERPH.js} +25 -21
  14. package/chunk-A52HUWVM.js +24 -0
  15. package/chunk-AKEZCWNW.js +29 -0
  16. package/{chunk-SH6NG6VN.js → chunk-APRVUOD6.js} +6 -8
  17. package/{chunk-QUF2IPOZ.js → chunk-C435UD7V.js} +14 -15
  18. package/{chunk-B2K45IUR.js → chunk-C6WRJ7DG.js} +5 -7
  19. package/{chunk-PF3YBUKT.js → chunk-CQFAMWZI.js} +16 -15
  20. package/chunk-DAKVTPYZ.js +86 -0
  21. package/{chunk-VAGIAREV.js → chunk-DMZW4LGU.js} +29 -26
  22. package/chunk-EBZHGRM5.js +46 -0
  23. package/chunk-EHEXE2UV.js +44 -0
  24. package/{chunk-72OCFAPT.js → chunk-EQAFDIPE.js} +26 -23
  25. package/{chunk-LLHTVIM3.js → chunk-EXKSKYG3.js} +7 -9
  26. package/chunk-FB6DG3LR.js +35 -0
  27. package/chunk-GH2DEOGO.js +67 -0
  28. package/{chunk-YG7JOOLJ.js → chunk-GKDMCY2S.js} +5 -7
  29. package/chunk-GTFUAA6H.js +42 -0
  30. package/{chunk-TX3H3QMA.js → chunk-HI6QIG55.js} +71 -70
  31. package/{chunk-6QMSWITQ.js → chunk-HZV7EXGU.js} +24 -26
  32. package/{chunk-A5XEM3GF.js → chunk-IKJIR6VL.js} +34 -36
  33. package/{chunk-DO3TBNSC.js → chunk-INJWE2LD.js} +15 -17
  34. package/chunk-J5UQPROI.js +56 -0
  35. package/{chunk-6YXUBP27.js → chunk-JCR5TWTF.js} +72 -67
  36. package/chunk-JKOBDLP3.js +25 -0
  37. package/chunk-JR3VVDV6.js +37 -0
  38. package/chunk-JYGCZWET.js +112 -0
  39. package/{chunk-UGRSWP6U.js → chunk-K5G5OEV5.js} +10 -12
  40. package/{chunk-B6V4VSGH.js → chunk-KDU7AT2T.js} +14 -15
  41. package/chunk-KITXKIYW.js +104 -0
  42. package/{chunk-NN6PKJWS.js → chunk-KQNA22D3.js} +7 -9
  43. package/{chunk-YPNKBE5X.js → chunk-L5PPN42A.js} +14 -9
  44. package/chunk-LAOE6Y57.js +95 -0
  45. package/chunk-LI5VYDLN.js +195 -0
  46. package/{chunk-7TXHCRAG.js → chunk-LKSFTNPF.js} +8 -10
  47. package/chunk-LLW3X4ZJ.js +39 -0
  48. package/{chunk-RTJ76X5U.js → chunk-LWRB4DED.js} +2 -4
  49. package/{chunk-NSRTTYQ4.js → chunk-M7RILZVW.js} +42 -35
  50. package/{chunk-LW3TRU5W.js → chunk-MOGWOUCN.js} +28 -16
  51. package/chunk-NCIRJ5V2.js +108 -0
  52. package/chunk-NQL6SIIB.js +168 -0
  53. package/chunk-NTSU44FY.js +81 -0
  54. package/{chunk-3DINAQLL.js → chunk-P36KBUYD.js} +33 -29
  55. package/chunk-P6RHT2VM.js +147 -0
  56. package/{chunk-CL2II6BX.js → chunk-PD2KD5OR.js} +11 -13
  57. package/{chunk-XL75JRUA.js → chunk-PP46SY7M.js} +42 -22
  58. package/{chunk-L6NCCSIP.js → chunk-PTK4QAOQ.js} +36 -29
  59. package/{chunk-HL42K2NH.js → chunk-Q7KVC5B4.js} +17 -17
  60. package/{chunk-H4NU7NPO.js → chunk-R3DTMBDT.js} +62 -61
  61. package/{chunk-KNUWZNFV.js → chunk-R4KPFBMK.js} +4 -6
  62. package/chunk-R5TQ3HNB.js +71 -0
  63. package/chunk-RFSPJECL.js +84 -0
  64. package/chunk-RPL6FRVX.js +88 -0
  65. package/{chunk-AN2RNJLR.js → chunk-STYOBAC7.js} +16 -16
  66. package/{chunk-X3PQANZO.js → chunk-SVUWR3HD.js} +47 -46
  67. package/chunk-T7P3OEBP.js +128 -0
  68. package/{chunk-QS4N4MNP.js → chunk-TB3ZRV3Y.js} +18 -20
  69. package/{chunk-MYEZXZZC.js → chunk-TOY6YPTG.js} +23 -25
  70. package/{chunk-XILQ7GXE.js → chunk-U6X6ODDJ.js} +11 -13
  71. package/{chunk-XZNHT6MO.js → chunk-UAJ6M34K.js} +115 -61
  72. package/chunk-W2EH6RY5.js +42 -0
  73. package/{chunk-FDKIX4DC.js → chunk-W2QQQWNE.js} +7 -9
  74. package/{chunk-LZMKSFCF.js → chunk-WALANB3V.js} +10 -12
  75. package/chunk-WCUR44O6.js +88 -0
  76. package/{chunk-BNTPPZCK.js → chunk-WJYJMX5S.js} +37 -39
  77. package/chunk-WZSLDYUU.js +131 -0
  78. package/{chunk-J3NSDRVH.js → chunk-XETMIETJ.js} +0 -2
  79. package/chunk-XU6JJDMZ.js +117 -0
  80. package/{chunk-BKZBWPUH.js → chunk-XWPH7C2W.js} +9 -11
  81. package/{chunk-GICKPMJU.js → chunk-YXWXSRXG.js} +31 -31
  82. package/{chunk-2HKBZFIK.js → chunk-YY236ZSJ.js} +31 -31
  83. package/{chunk-YX5VNRJX.js → chunk-YYFAZQ25.js} +0 -2
  84. package/{chunk-Y5AYU7PK.js → chunk-ZHFIWDGF.js} +0 -2
  85. package/components/accordion.js +2 -4
  86. package/components/action-button.d.ts +37 -0
  87. package/components/action-button.js +5 -0
  88. package/components/agent-loading.d.ts +2 -0
  89. package/components/agent-loading.js +2 -4
  90. package/components/agent-picker.js +5 -5
  91. package/components/agent-suggestion.js +5 -6
  92. package/components/alert.d.ts +37 -0
  93. package/components/alert.js +5 -0
  94. package/components/announcement-bar.js +7 -7
  95. package/components/attachment.js +5 -5
  96. package/components/avatar.js +4 -6
  97. package/components/badge.js +2 -4
  98. package/components/banner-mesh.js +1 -3
  99. package/components/banner.js +6 -6
  100. package/components/bar-chart.js +10 -11
  101. package/components/breadcrumb.js +5 -6
  102. package/components/button-group.d.ts +26 -0
  103. package/components/button-group.js +5 -0
  104. package/components/button.d.ts +13 -1
  105. package/components/button.js +4 -4
  106. package/components/card.js +5 -5
  107. package/components/channel-chart.js +10 -11
  108. package/components/chart.js +9 -10
  109. package/components/checkbox.js +2 -4
  110. package/components/chip.js +2 -4
  111. package/components/citations.d.ts +6 -4
  112. package/components/citations.js +4 -5
  113. package/components/code-block.js +5 -5
  114. package/components/combobox.d.ts +12 -3
  115. package/components/combobox.js +10 -10
  116. package/components/command-menu.d.ts +6 -2
  117. package/components/command-menu.js +5 -6
  118. package/components/context-menu.d.ts +12 -5
  119. package/components/context-menu.js +5 -6
  120. package/components/cookie-consent.js +5 -5
  121. package/components/date-picker.d.ts +26 -14
  122. package/components/date-picker.js +9 -9
  123. package/components/decision-card.js +7 -7
  124. package/components/dialog.d.ts +6 -8
  125. package/components/dialog.js +6 -5
  126. package/components/donut-chart.js +10 -11
  127. package/components/dot.js +2 -4
  128. package/components/dropdown.d.ts +6 -1
  129. package/components/dropdown.js +4 -5
  130. package/components/empty-state.js +2 -4
  131. package/components/field-group.d.ts +27 -0
  132. package/components/field-group.js +3 -0
  133. package/components/file-upload.js +7 -7
  134. package/components/floating.js +1 -3
  135. package/components/form-field.d.ts +38 -1
  136. package/components/form-field.js +2 -4
  137. package/components/form.d.ts +47 -0
  138. package/components/form.js +3 -0
  139. package/components/hover-card.d.ts +5 -2
  140. package/components/hover-card.js +2 -4
  141. package/components/input-group.d.ts +21 -0
  142. package/components/input-group.js +6 -0
  143. package/components/input-otp.d.ts +4 -2
  144. package/components/input-otp.js +7 -8
  145. package/components/input.d.ts +5 -1
  146. package/components/input.js +3 -5
  147. package/components/kbd.js +2 -4
  148. package/components/labels.d.ts +86 -0
  149. package/components/labels.js +1 -0
  150. package/components/line-chart.js +11 -12
  151. package/components/link.d.ts +20 -0
  152. package/components/link.js +3 -0
  153. package/components/list.d.ts +46 -0
  154. package/components/list.js +2 -0
  155. package/components/message-actions.js +5 -5
  156. package/components/message.js +8 -8
  157. package/components/number-input.d.ts +4 -2
  158. package/components/number-input.js +7 -8
  159. package/components/pagination.js +6 -6
  160. package/components/password-input.d.ts +16 -0
  161. package/components/password-input.js +7 -0
  162. package/components/popover.d.ts +11 -5
  163. package/components/popover.js +3 -4
  164. package/components/progress.js +2 -4
  165. package/components/prompt-bar.js +6 -6
  166. package/components/radio.js +2 -4
  167. package/components/search-bar.js +3 -5
  168. package/components/segmented-control.d.ts +4 -2
  169. package/components/segmented-control.js +3 -5
  170. package/components/select.d.ts +11 -2
  171. package/components/select.js +6 -7
  172. package/components/selectable-card.d.ts +37 -0
  173. package/components/selectable-card.js +2 -0
  174. package/components/selectable-checkbox.d.ts +14 -0
  175. package/components/selectable-checkbox.js +4 -0
  176. package/components/selectable-radio.d.ts +16 -0
  177. package/components/selectable-radio.js +3 -0
  178. package/components/separator.d.ts +18 -0
  179. package/components/separator.js +2 -0
  180. package/components/sheet.d.ts +4 -2
  181. package/components/sheet.js +7 -6
  182. package/components/sidebar.js +2 -4
  183. package/components/skeleton.js +2 -4
  184. package/components/slider.d.ts +6 -2
  185. package/components/slider.js +7 -8
  186. package/components/sliding-indicator.js +1 -3
  187. package/components/spinner.d.ts +18 -0
  188. package/components/spinner.js +3 -0
  189. package/components/split-button.d.ts +24 -0
  190. package/components/split-button.js +8 -0
  191. package/components/streaming-text.js +2 -4
  192. package/components/switch.js +2 -4
  193. package/components/table.d.ts +16 -5
  194. package/components/table.js +4 -5
  195. package/components/tabs.d.ts +4 -2
  196. package/components/tabs.js +3 -5
  197. package/components/textarea.js +3 -5
  198. package/components/thinking.js +3 -5
  199. package/components/toast.js +5 -5
  200. package/components/toggle.js +2 -4
  201. package/components/tooltip.d.ts +5 -2
  202. package/components/tooltip.js +3 -5
  203. package/index.d.ts +17 -2
  204. package/index.js +82 -231
  205. package/lib/utils.d.ts +8 -1
  206. package/lib/utils.js +1 -3
  207. package/package.json +11 -1
  208. package/styles.css +1 -1
  209. package/theme/create-theme.d.ts +6 -2
  210. package/theme/index.js +1 -0
  211. package/chunk-2HKBZFIK.js.map +0 -1
  212. package/chunk-3DINAQLL.js.map +0 -1
  213. package/chunk-3ERGAHKA.js +0 -179
  214. package/chunk-3ERGAHKA.js.map +0 -1
  215. package/chunk-6C7CGJX2.js +0 -86
  216. package/chunk-6C7CGJX2.js.map +0 -1
  217. package/chunk-6QMSWITQ.js.map +0 -1
  218. package/chunk-6YXUBP27.js.map +0 -1
  219. package/chunk-72OCFAPT.js.map +0 -1
  220. package/chunk-7TXHCRAG.js.map +0 -1
  221. package/chunk-A5XEM3GF.js.map +0 -1
  222. package/chunk-AN2RNJLR.js.map +0 -1
  223. package/chunk-B2K45IUR.js.map +0 -1
  224. package/chunk-B6V4VSGH.js.map +0 -1
  225. package/chunk-BKZBWPUH.js.map +0 -1
  226. package/chunk-BNTPPZCK.js.map +0 -1
  227. package/chunk-BNZVTLHV.js.map +0 -1
  228. package/chunk-CL2II6BX.js.map +0 -1
  229. package/chunk-D7RZNTFC.js +0 -95
  230. package/chunk-D7RZNTFC.js.map +0 -1
  231. package/chunk-DETGJAIC.js +0 -147
  232. package/chunk-DETGJAIC.js.map +0 -1
  233. package/chunk-DO3TBNSC.js.map +0 -1
  234. package/chunk-ESC5JCVQ.js +0 -90
  235. package/chunk-ESC5JCVQ.js.map +0 -1
  236. package/chunk-FDKIX4DC.js.map +0 -1
  237. package/chunk-GICKPMJU.js.map +0 -1
  238. package/chunk-GQA24FYG.js +0 -57
  239. package/chunk-GQA24FYG.js.map +0 -1
  240. package/chunk-H4NU7NPO.js.map +0 -1
  241. package/chunk-H63FYCMY.js +0 -11
  242. package/chunk-H63FYCMY.js.map +0 -1
  243. package/chunk-HL42K2NH.js.map +0 -1
  244. package/chunk-HNQUX43Z.js +0 -109
  245. package/chunk-HNQUX43Z.js.map +0 -1
  246. package/chunk-HRKPV66B.js +0 -32
  247. package/chunk-HRKPV66B.js.map +0 -1
  248. package/chunk-J3NSDRVH.js.map +0 -1
  249. package/chunk-JPNWHWAQ.js +0 -151
  250. package/chunk-JPNWHWAQ.js.map +0 -1
  251. package/chunk-KNUWZNFV.js.map +0 -1
  252. package/chunk-L6NCCSIP.js.map +0 -1
  253. package/chunk-LLHTVIM3.js.map +0 -1
  254. package/chunk-LW3TRU5W.js.map +0 -1
  255. package/chunk-LZMKSFCF.js.map +0 -1
  256. package/chunk-MR3JDI7E.js +0 -122
  257. package/chunk-MR3JDI7E.js.map +0 -1
  258. package/chunk-MYEZXZZC.js.map +0 -1
  259. package/chunk-NN6PKJWS.js.map +0 -1
  260. package/chunk-NSRTTYQ4.js.map +0 -1
  261. package/chunk-O7F3CIDV.js.map +0 -1
  262. package/chunk-P4O6TGDR.js.map +0 -1
  263. package/chunk-PF3YBUKT.js.map +0 -1
  264. package/chunk-PVOLDO4G.js +0 -47
  265. package/chunk-PVOLDO4G.js.map +0 -1
  266. package/chunk-QS4N4MNP.js.map +0 -1
  267. package/chunk-QUF2IPOZ.js.map +0 -1
  268. package/chunk-RTJ76X5U.js.map +0 -1
  269. package/chunk-SH6NG6VN.js.map +0 -1
  270. package/chunk-SHDFUXYV.js.map +0 -1
  271. package/chunk-TKO44NDI.js +0 -84
  272. package/chunk-TKO44NDI.js.map +0 -1
  273. package/chunk-TX3H3QMA.js.map +0 -1
  274. package/chunk-UBNHSZSE.js +0 -88
  275. package/chunk-UBNHSZSE.js.map +0 -1
  276. package/chunk-UC3ZJWOD.js +0 -73
  277. package/chunk-UC3ZJWOD.js.map +0 -1
  278. package/chunk-UGRSWP6U.js.map +0 -1
  279. package/chunk-VAGIAREV.js.map +0 -1
  280. package/chunk-WTMZT3IT.js +0 -105
  281. package/chunk-WTMZT3IT.js.map +0 -1
  282. package/chunk-WX6BP5ZP.js +0 -39
  283. package/chunk-WX6BP5ZP.js.map +0 -1
  284. package/chunk-X3PQANZO.js.map +0 -1
  285. package/chunk-XILQ7GXE.js.map +0 -1
  286. package/chunk-XL75JRUA.js.map +0 -1
  287. package/chunk-XZNHT6MO.js.map +0 -1
  288. package/chunk-Y5AYU7PK.js.map +0 -1
  289. package/chunk-YG7JOOLJ.js.map +0 -1
  290. package/chunk-YPJYW624.js +0 -195
  291. package/chunk-YPJYW624.js.map +0 -1
  292. package/chunk-YPNKBE5X.js.map +0 -1
  293. package/chunk-YX5VNRJX.js.map +0 -1
  294. package/components/accordion.js.map +0 -1
  295. package/components/agent-loading.js.map +0 -1
  296. package/components/agent-picker.js.map +0 -1
  297. package/components/agent-suggestion.js.map +0 -1
  298. package/components/announcement-bar.js.map +0 -1
  299. package/components/attachment.js.map +0 -1
  300. package/components/avatar.js.map +0 -1
  301. package/components/badge.js.map +0 -1
  302. package/components/banner-mesh.js.map +0 -1
  303. package/components/banner.js.map +0 -1
  304. package/components/bar-chart.js.map +0 -1
  305. package/components/breadcrumb.js.map +0 -1
  306. package/components/button.js.map +0 -1
  307. package/components/card.js.map +0 -1
  308. package/components/channel-chart.js.map +0 -1
  309. package/components/chart.js.map +0 -1
  310. package/components/checkbox.js.map +0 -1
  311. package/components/chip.js.map +0 -1
  312. package/components/citations.js.map +0 -1
  313. package/components/code-block.js.map +0 -1
  314. package/components/combobox.js.map +0 -1
  315. package/components/command-menu.js.map +0 -1
  316. package/components/context-menu.js.map +0 -1
  317. package/components/cookie-consent.js.map +0 -1
  318. package/components/date-picker.js.map +0 -1
  319. package/components/decision-card.js.map +0 -1
  320. package/components/dialog.js.map +0 -1
  321. package/components/donut-chart.js.map +0 -1
  322. package/components/dot.js.map +0 -1
  323. package/components/dropdown.js.map +0 -1
  324. package/components/empty-state.js.map +0 -1
  325. package/components/file-upload.js.map +0 -1
  326. package/components/floating.js.map +0 -1
  327. package/components/form-field.js.map +0 -1
  328. package/components/hover-card.js.map +0 -1
  329. package/components/input-otp.js.map +0 -1
  330. package/components/input.js.map +0 -1
  331. package/components/kbd.js.map +0 -1
  332. package/components/line-chart.js.map +0 -1
  333. package/components/message-actions.js.map +0 -1
  334. package/components/message.js.map +0 -1
  335. package/components/number-input.js.map +0 -1
  336. package/components/pagination.js.map +0 -1
  337. package/components/popover.js.map +0 -1
  338. package/components/progress.js.map +0 -1
  339. package/components/prompt-bar.js.map +0 -1
  340. package/components/radio.js.map +0 -1
  341. package/components/search-bar.js.map +0 -1
  342. package/components/segmented-control.js.map +0 -1
  343. package/components/select.js.map +0 -1
  344. package/components/sheet.js.map +0 -1
  345. package/components/sidebar.js.map +0 -1
  346. package/components/skeleton.js.map +0 -1
  347. package/components/slider.js.map +0 -1
  348. package/components/sliding-indicator.js.map +0 -1
  349. package/components/streaming-text.js.map +0 -1
  350. package/components/switch.js.map +0 -1
  351. package/components/table.js.map +0 -1
  352. package/components/tabs.js.map +0 -1
  353. package/components/textarea.js.map +0 -1
  354. package/components/thinking.js.map +0 -1
  355. package/components/toast.js.map +0 -1
  356. package/components/toggle.js.map +0 -1
  357. package/components/tooltip.js.map +0 -1
  358. package/index.js.map +0 -1
  359. package/lib/utils.js.map +0 -1
@@ -1,4 +1,2 @@
1
- 'use client';export { Toggle, toggleVariants } from '../chunk-UC3ZJWOD.js';
2
- import '../chunk-H63FYCMY.js';
3
- //# sourceMappingURL=toggle.js.map
4
- //# sourceMappingURL=toggle.js.map
1
+ 'use client';export { Toggle, toggleVariants } from '../chunk-R5TQ3HNB.js';
2
+ import '../chunk-EHEXE2UV.js';
@@ -10,8 +10,11 @@ import * as React from 'react';
10
10
  * Built on the Radix tooltip: it opens on hover after `delay` and at once on keyboard focus,
11
11
  * waits `closeDelay` after the pointer leaves before closing, closes on Escape, and links itself to the trigger with aria-describedby. It sits 8px from
12
12
  * the trigger and fades in from 4px towards it (`@starting-style`, ease-out, 150 ms).
13
+ *
14
+ * Other props, `ref` included, go to the visible bubble (the element `className` styles), not to
15
+ * the Radix Content around it.
13
16
  */
14
- export interface TooltipProps {
17
+ export interface TooltipProps extends Omit<React.ComponentProps<'div'>, 'children'> {
15
18
  /** The action, in one or two words. */
16
19
  label: React.ReactNode;
17
20
  /** Keys that run the action, e.g. "⌘K" or "⌃⇧V". */
@@ -32,4 +35,4 @@ export interface TooltipProps {
32
35
  className?: string;
33
36
  }
34
37
  export declare function TooltipBubble({ label, shortcut, shape, className, ...props }: Pick<TooltipProps, 'label' | 'shortcut' | 'shape' | 'className'> & React.ComponentProps<'div'>): React.JSX.Element;
35
- export declare function Tooltip({ label, shortcut, shape, side, delay, closeDelay, children, open: openProp, defaultOpen, onOpenChange, container, className, }: TooltipProps): React.JSX.Element;
38
+ export declare function Tooltip({ label, shortcut, shape, side, delay, closeDelay, children, open: openProp, defaultOpen, onOpenChange, container, className, ...props }: TooltipProps): React.JSX.Element;
@@ -1,5 +1,3 @@
1
- 'use client';export { Tooltip, TooltipBubble } from '../chunk-B6V4VSGH.js';
2
- import '../chunk-BKZBWPUH.js';
3
- import '../chunk-H63FYCMY.js';
4
- //# sourceMappingURL=tooltip.js.map
5
- //# sourceMappingURL=tooltip.js.map
1
+ 'use client';export { Tooltip, TooltipBubble } from '../chunk-KDU7AT2T.js';
2
+ import '../chunk-XWPH7C2W.js';
3
+ import '../chunk-EHEXE2UV.js';
package/index.d.ts CHANGED
@@ -1,11 +1,16 @@
1
1
  export { cn } from './lib/utils.js';
2
2
  export * from './theme/index.js';
3
+ export * from './components/labels.js';
3
4
  export * from './components/accordion.js';
5
+ export { ActionButton, type ActionButtonProps, type ActionButtonState } from './components/action-button.js';
6
+ export { Alert, type AlertProps, type AlertIntent } from './components/alert.js';
4
7
  export * from './components/avatar.js';
5
8
  export { Badge, badgeVariants, type BadgeProps, type BadgeTone } from './components/badge.js';
6
9
  export * from './components/banner.js';
7
10
  export { Breadcrumb, type BreadcrumbProps, type BreadcrumbItem } from './components/breadcrumb.js';
8
- export { Button, buttonVariants, type ButtonProps } from './components/button.js';
11
+ export { Button, buttonVariants, ButtonDefaultsContext, type ButtonProps, type ButtonDefaults } from './components/button.js';
12
+ export { ButtonGroup, ButtonGroupSeparator, type ButtonGroupProps } from './components/button-group.js';
13
+ export { SplitButton, type SplitButtonProps } from './components/split-button.js';
9
14
  export * from './components/card.js';
10
15
  export { ChartCard, ChartTooltip, ChartLegendRow, ChartLegendPill, type ChartDatum, type ChartCardBaseProps } from './components/chart.js';
11
16
  export { LineCard, AreaCard, type LineCardProps } from './components/line-chart.js';
@@ -21,8 +26,14 @@ export { Dialog, DialogClose, DialogAlert, CloseIcon, type DialogProps, type Dia
21
26
  export * from './components/dot.js';
22
27
  export { Floating, type FloatingProps, type FloatingSide } from './components/floating.js';
23
28
  export { DropdownMenu, DropdownMenuGroup, DropdownMenuItem, MenuItemContent, menuItemClass, menuSurfaceClass, menuGroupClass, menuGroupLabelClass, type DropdownMenuProps, type DropdownMenuGroupProps, type DropdownMenuItemProps, type MenuItemContentProps } from './components/dropdown.js';
24
- export { FormField, useFormField, type FormFieldProps, type FormFieldContextValue } from './components/form-field.js';
29
+ export { FormField, useFormField, useFormContext, FormContext, FieldSizeContext, FieldError, FieldDescription, RequiredMark, type FormFieldProps, type FormFieldContextValue, type FormContextValue } from './components/form-field.js';
30
+ export { Form, FormSection, FormActions, formValues, type FormProps, type FormSectionProps, type FormActionsProps, type FormValues } from './components/form.js';
31
+ export { FieldGroup, type FieldGroupProps } from './components/field-group.js';
25
32
  export { Input, type InputProps } from './components/input.js';
33
+ export { InputGroup, InputGroupAddon, type InputGroupProps } from './components/input-group.js';
34
+ export { PasswordInput, type PasswordInputProps } from './components/password-input.js';
35
+ export { Item, List, type ItemProps, type ListProps } from './components/list.js';
36
+ export { Link, type LinkProps } from './components/link.js';
26
37
  export * from './components/kbd.js';
27
38
  export { Pagination, paginationRange, type PaginationProps } from './components/pagination.js';
28
39
  export { Popover, PopoverClose, PopoverPanel, type PopoverProps } from './components/popover.js';
@@ -31,10 +42,14 @@ export { Radio, RadioGroup, type RadioProps, type RadioGroupProps } from './comp
31
42
  export { SearchBar, type SearchBarProps } from './components/search-bar.js';
32
43
  export { Select, FieldChrome, useFieldChrome, SelectChevron, type SelectProps, type SelectOption, type SelectGroup } from './components/select.js';
33
44
  export { SegmentedControl, type SegmentedControlItem, type SegmentedControlProps } from './components/segmented-control.js';
45
+ export { SelectableRadio, type SelectableRadioProps } from './components/selectable-radio.js';
46
+ export { SelectableCheckbox, type SelectableCheckboxProps } from './components/selectable-checkbox.js';
47
+ export { Separator, type SeparatorProps } from './components/separator.js';
34
48
  export { Sheet, SheetClose, type SheetProps } from './components/sheet.js';
35
49
  export * from './components/sidebar.js';
36
50
  export { Skeleton, type SkeletonProps } from './components/skeleton.js';
37
51
  export { Slider, type SliderProps } from './components/slider.js';
52
+ export { Spinner, type SpinnerProps } from './components/spinner.js';
38
53
  export { Switch, type SwitchProps } from './components/switch.js';
39
54
  export { Table, type TableProps, type Column, type Row, type Sort } from './components/table.js';
40
55
  export { Tabs, TabsContent, type TabsProps, type TabItem } from './components/tabs.js';
package/index.js CHANGED
@@ -1,231 +1,82 @@
1
- 'use client';export { Toggle, toggleVariants } from './chunk-UC3ZJWOD.js';
2
- export { StreamingText } from './chunk-RTJ76X5U.js';
3
- export { Switch } from './chunk-SH6NG6VN.js';
4
- export { Table } from './chunk-X3PQANZO.js';
5
- export { Tabs, TabsContent } from './chunk-DETGJAIC.js';
6
- export { Textarea } from './chunk-QUF2IPOZ.js';
7
- export { Toast, Toaster, toast } from './chunk-2HKBZFIK.js';
8
- export { Radio, RadioGroup } from './chunk-LLHTVIM3.js';
9
- export { SearchBar } from './chunk-UGRSWP6U.js';
10
- export { SegmentedControl } from './chunk-WTMZT3IT.js';
11
- export { Sheet, SheetClose } from './chunk-TKO44NDI.js';
12
- export { Sidebar, SidebarGroup, SidebarItem, SidebarSubGroup, SidebarSubItem } from './chunk-BNTPPZCK.js';
13
- export { Skeleton } from './chunk-YG7JOOLJ.js';
14
- export { Slider } from './chunk-L6NCCSIP.js';
15
- export { AreaCard, LineCard } from './chunk-SHDFUXYV.js';
16
- export { Message } from './chunk-PVOLDO4G.js';
17
- export { Thinking } from './chunk-ESC5JCVQ.js';
18
- export { MessageActions } from './chunk-AN2RNJLR.js';
19
- export { NumberInput } from './chunk-LW3TRU5W.js';
20
- export { Pagination, paginationRange } from './chunk-QS4N4MNP.js';
21
- export { Popover, PopoverClose, PopoverPanel } from './chunk-BNZVTLHV.js';
22
- export { PromptBar, defaultActions as promptBarDefaultActions } from './chunk-6YXUBP27.js';
23
- export { EmptyState, emptyStateVariants } from './chunk-WX6BP5ZP.js';
24
- export { FileUpload, FileUploadItem, fileIconFor, formatBytes } from './chunk-GICKPMJU.js';
25
- export { InputOTP } from './chunk-XL75JRUA.js';
26
- export { Input } from './chunk-YPNKBE5X.js';
27
- export { ContextMenu, ContextMenuItem, ContextMenuSeparator, ContextMenuSub } from './chunk-PF3YBUKT.js';
28
- export { CookieConsent } from './chunk-NN6PKJWS.js';
29
- export { Calendar, DatePicker, DatePickerPanel, DateRangePicker, DateRangePickerPanel, formatDate, formatRange } from './chunk-XZNHT6MO.js';
30
- export { DecisionCard, DecisionItemPreview } from './chunk-TX3H3QMA.js';
31
- import './chunk-J3NSDRVH.js';
32
- export { CloseIcon, Dialog, DialogAlert, DialogClose } from './chunk-JPNWHWAQ.js';
33
- export { DonutCard } from './chunk-CL2II6BX.js';
34
- export { Dot, dotVariants } from './chunk-B2K45IUR.js';
35
- export { ChannelCard } from './chunk-LZMKSFCF.js';
36
- export { Checkbox } from './chunk-FDKIX4DC.js';
37
- export { Citation, Sources } from './chunk-6C7CGJX2.js';
38
- export { HoverCard, hoverCardClass } from './chunk-HRKPV66B.js';
39
- export { CodeBlock } from './chunk-A5XEM3GF.js';
40
- export { Combobox } from './chunk-NSRTTYQ4.js';
41
- export { Chip, ChipAvatar, chipVariants } from './chunk-3ERGAHKA.js';
42
- export { CommandMenu } from './chunk-P4O6TGDR.js';
43
- export { AVATAR_TOOLTIP_DELAY, Avatar, AvatarGroup, avatarVariants } from './chunk-MYEZXZZC.js';
44
- export { Tooltip, TooltipBubble } from './chunk-B6V4VSGH.js';
45
- export { BarCard } from './chunk-DO3TBNSC.js';
46
- export { ChartCard, ChartLegendPill, ChartLegendRow, ChartTooltip } from './chunk-YPJYW624.js';
47
- export { Floating } from './chunk-Y5AYU7PK.js';
48
- export { FieldChrome, Select, SelectChevron, useFieldChrome } from './chunk-72OCFAPT.js';
49
- export { FormField, useFormField } from './chunk-UBNHSZSE.js';
50
- export { Breadcrumb } from './chunk-HL42K2NH.js';
51
- export { DropdownMenu, DropdownMenuGroup, DropdownMenuItem, MenuItemContent, menuGroupClass, menuGroupLabelClass, menuItemClass, menuSurfaceClass } from './chunk-3DINAQLL.js';
52
- export { Kbd, KbdArrowDown, KbdArrowUp, KbdGroup, KbdHint, KbdReturn, keysOf } from './chunk-BKZBWPUH.js';
53
- export { Card, cardVariants } from './chunk-XILQ7GXE.js';
54
- export { Accordion, AccordionItem } from './chunk-GQA24FYG.js';
55
- export { AgentLoading, FlappySprite, ShimmerLabel, TetrisLabel, TetrisMark, TetrisStill } from './chunk-KNUWZNFV.js';
56
- export { AgentAvatar, AgentMenuItem, AgentPicker, AgentPickerRow } from './chunk-VAGIAREV.js';
57
- export { AgentSuggestion, AgentSuggestionChanges, AgentSuggestionDiff, AgentSuggestionMetric, AgentSuggestionQuote } from './chunk-MR3JDI7E.js';
58
- export { Progress } from './chunk-7TXHCRAG.js';
59
- export { Badge, badgeVariants } from './chunk-O7F3CIDV.js';
60
- export { AnnouncementBar } from './chunk-D7RZNTFC.js';
61
- export { Banner, bannerVariants } from './chunk-6QMSWITQ.js';
62
- export { bannerMesh } from './chunk-YX5VNRJX.js';
63
- export { Attachment, AttachmentGroup, AttachmentPreview, AttachmentPreviewPager, AttachmentPreviewSheets, FileIcon } from './chunk-H4NU7NPO.js';
64
- export { Button, buttonVariants } from './chunk-HNQUX43Z.js';
65
- export { cn } from './chunk-H63FYCMY.js';
66
-
67
- // src/theme/create-theme.ts
68
- var defaultTheme = { brand: "#4633D7", radius: 1 };
69
- var toLinear = (c) => c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
70
- var toGamma = (c) => c <= 31308e-7 ? 12.92 * c : 1.055 * c ** (1 / 2.4) - 0.055;
71
- function hexToRgb(hex) {
72
- const h = hex.replace("#", "");
73
- const full = h.length === 3 ? [...h].map((c) => c + c).join("") : h.slice(0, 6);
74
- return [0, 2, 4].map((i) => parseInt(full.slice(i, i + 2), 16) / 255);
75
- }
76
- function rgbToOklch([r, g, b]) {
77
- const [lr, lg, lb] = [r, g, b].map(toLinear);
78
- const l = Math.cbrt(0.4122214708 * lr + 0.5363325363 * lg + 0.0514459929 * lb);
79
- const m = Math.cbrt(0.2119034982 * lr + 0.6806995451 * lg + 0.1073969566 * lb);
80
- const s = Math.cbrt(0.0883024619 * lr + 0.2817188376 * lg + 0.6299787005 * lb);
81
- const L = 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s;
82
- const A = 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s;
83
- const B = 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s;
84
- return [L, Math.hypot(A, B), (Math.atan2(B, A) * 180 / Math.PI + 360) % 360];
85
- }
86
- function oklchToRgb([L, C, H]) {
87
- const a = C * Math.cos(H * Math.PI / 180);
88
- const b = C * Math.sin(H * Math.PI / 180);
89
- const l = (L + 0.3963377774 * a + 0.2158037573 * b) ** 3;
90
- const m = (L - 0.1055613458 * a - 0.0638541728 * b) ** 3;
91
- const s = (L - 0.0894841775 * a - 1.291485548 * b) ** 3;
92
- return [
93
- 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s,
94
- -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s,
95
- -0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s
96
- ];
97
- }
98
- var inGamut = (rgb) => rgb.every((c) => c >= -5e-4 && c <= 1.0005);
99
- function oklchToHex([L, C, H]) {
100
- let c = C;
101
- let rgb = oklchToRgb([L, c, H]);
102
- while (!inGamut(rgb) && c > 0) {
103
- c = Math.max(0, c - 5e-3);
104
- rgb = oklchToRgb([L, c, H]);
105
- }
106
- return "#" + rgb.map((v) => Math.round(Math.min(1, Math.max(0, toGamma(v))) * 255).toString(16).padStart(2, "0")).join("").toUpperCase();
107
- }
108
- var luminance = (hex) => {
109
- const [r, g, b] = hexToRgb(hex).map(toLinear);
110
- return 0.2126 * r + 0.7152 * g + 0.0722 * b;
111
- };
112
- var contrast = (a, b) => {
113
- const [x, y] = [luminance(a), luminance(b)].sort((p, q) => q - p);
114
- return (x + 0.05) / (y + 0.05);
115
- };
116
- var RAMP = {
117
- "blue-50": "#F2F4FF",
118
- "blue-200": "#CFD6FF",
119
- "blue-300": "#B1BBFE",
120
- "blue-500": "#5146E9",
121
- "blue-600": "#4633D7",
122
- "blue-700": "#3923B9",
123
- "blue-900": "#1D1168",
124
- "blue-950": "#110A47",
125
- "blue-soft-50": "#F3F5FF",
126
- "blue-soft-200": "#D9DEFB",
127
- "blue-soft-300": "#BEC7FC",
128
- "blue-soft-700": "#5158A0",
129
- "blue-soft-900": "#30344F",
130
- "blue-soft-950": "#1F2132",
131
- "primary-dark": "#493DD6",
132
- "primary-hover-dark": "#554FE7",
133
- "primary-pressed-dark": "#3E2AC5",
134
- "primary-border-light": "#9085E7",
135
- "primary-border-dark": "#928BE6"
136
- };
137
- var SOLID = /* @__PURE__ */ new Set(["blue-500", "blue-600", "blue-700", "primary-dark", "primary-hover-dark", "primary-pressed-dark"]);
138
- function solidLightness(c, h, base, hoverStep) {
139
- const passes = (L) => contrast(oklchToHex([L, c, h]), "#FFFFFF") >= 4.7 && contrast(oklchToHex([L + hoverStep, c, h]), "#FFFFFF") >= 4.7;
140
- if (passes(base)) return base;
141
- let lo = 0.2;
142
- let hi = base;
143
- for (let i = 0; i < 20; i++) {
144
- const mid = (lo + hi) / 2;
145
- if (passes(mid)) lo = mid;
146
- else hi = mid;
147
- }
148
- return lo;
149
- }
150
- function brandVars(brand) {
151
- const [bl, bc, bh] = rgbToOklch(hexToRgb(brand));
152
- const lch = (step) => rgbToOklch(hexToRgb(RAMP[step]));
153
- const [rl, rc, rh] = lch("blue-600");
154
- const chroma = bc / rc;
155
- const light = solidLightness(bc, bh, bl, lch("blue-500")[0] - rl);
156
- const darkRest = lch("primary-dark")[0];
157
- const dark = solidLightness(bc, bh, light + (darkRest - rl), lch("primary-hover-dark")[0] - darkRest);
158
- const root = {};
159
- for (const [step, hex] of Object.entries(RAMP)) {
160
- const [l, c, h] = rgbToOklch(hexToRgb(hex));
161
- const isDark = step.endsWith("-dark") && step !== "primary-border-dark";
162
- const L = SOLID.has(step) ? isDark ? dark + (l - darkRest) : light + (l - rl) : l;
163
- root[`--color-${step}`] = step === "blue-600" && light === bl ? brand.toUpperCase() : oklchToHex([Math.min(0.97, Math.max(0.15, L)), c * chroma, bh + (h - rh)]);
164
- }
165
- root["--color-blue-600-a20"] = `${root["--color-blue-600"]}33`;
166
- root["--color-blue-500-a20"] = `${root["--color-blue-500"]}33`;
167
- root["--color-primary-focus-dark"] = `${root["--color-primary-dark"]}33`;
168
- return root;
169
- }
170
- var RADII = { xs: 4, sm: 6, md: 8, xl: 12, "2xl": 16, "3xl": 20 };
171
- function radiusVars(scale) {
172
- const v = {};
173
- for (const [k, px] of Object.entries(RADII)) v[`--radius-${k}`] = `${Math.round(px * scale * 2) / 2}px`;
174
- v["--radius"] = `${Math.round(10 * scale * 2) / 2}px`;
175
- v["--radius-pill"] = scale >= 1 ? "9999px" : `${Math.round(16 * scale)}px`;
176
- return v;
177
- }
178
- function themeVars(theme) {
179
- return { root: { ...brandVars(theme.brand), ...radiusVars(theme.radius) }, dark: {} };
180
- }
181
- var SCOPED_LIGHT = {
182
- "--border-focus": "var(--color-blue-600)",
183
- "--action-primary-bg": "var(--color-blue-600)",
184
- "--action-primary-bg-hover": "var(--color-blue-500)",
185
- "--action-primary-bg-pressed": "var(--color-blue-700)",
186
- "--action-primary-border": "var(--color-primary-border-light)",
187
- "--action-focus-ring": "var(--color-blue-600-a20)",
188
- "--status-brand-bg": "var(--color-blue-soft-50)",
189
- "--status-brand-border": "var(--color-blue-soft-200)",
190
- "--status-brand-fg": "var(--color-blue-soft-700)",
191
- "--radius-lg": "var(--radius)"
192
- };
193
- var SCOPED_DARK = {
194
- "--border-focus": "var(--color-primary-hover-dark)",
195
- "--action-primary-bg": "var(--color-primary-dark)",
196
- "--action-primary-bg-hover": "var(--color-primary-hover-dark)",
197
- "--action-primary-bg-pressed": "var(--color-primary-pressed-dark)",
198
- "--action-primary-border": "var(--color-primary-border-dark)",
199
- "--action-focus-ring": "var(--color-primary-focus-dark)",
200
- "--status-brand-bg": "var(--color-blue-soft-950)",
201
- "--status-brand-border": "var(--color-blue-soft-900)",
202
- "--status-brand-fg": "var(--color-blue-soft-300)"
203
- };
204
- function themeCss(theme, scope) {
205
- const vars = themeVars(theme);
206
- const root = scope ? { ...vars.root, ...SCOPED_LIGHT } : vars.root;
207
- const dark = scope ? { ...vars.dark, ...SCOPED_DARK } : vars.dark;
208
- const block = (sel, vars2) => `${sel} {
209
- ${Object.entries(vars2).map(([k, v]) => ` ${k}: ${v};`).join("\n")}
210
- }`;
211
- return [
212
- `/* Satin theme: brand ${theme.brand.toUpperCase()}, radius ${theme.radius}. */`,
213
- // :root:root outranks Satin's own :root, so the theme wins wherever the file is loaded.
214
- block(scope ?? ":root:root", root),
215
- ...Object.keys(dark).length ? [block(scope ? `.dark ${scope}` : ":root.dark", dark)] : [],
216
- ""
217
- ].join("\n\n");
218
- }
219
- function randomTheme(current) {
220
- const [, , currentHue] = current ? rgbToOklch(hexToRgb(current.brand)) : [0, 0, -360];
221
- const hue = (currentHue + 60 + Math.random() * 240) % 360;
222
- const l = 0.5 + Math.random() * 0.25;
223
- const brand = oklchToHex([l, 0.12 + Math.random() * 0.08, hue]);
224
- const radii = [0, 0.5, 1, 1.5].filter((r) => r !== current?.radius);
225
- const radius = radii[Math.floor(Math.random() * radii.length)];
226
- return { brand, radius };
227
- }
228
-
229
- export { contrast, defaultTheme, randomTheme, themeCss, themeVars };
230
- //# sourceMappingURL=index.js.map
231
- //# sourceMappingURL=index.js.map
1
+ 'use client';export { Toast, Toaster, toast } from './chunk-YY236ZSJ.js';
2
+ export { Toggle, toggleVariants } from './chunk-R5TQ3HNB.js';
3
+ export { SplitButton } from './chunk-FB6DG3LR.js';
4
+ export { StreamingText } from './chunk-LWRB4DED.js';
5
+ export { Switch } from './chunk-APRVUOD6.js';
6
+ export { Table } from './chunk-SVUWR3HD.js';
7
+ export { Tabs, TabsContent } from './chunk-P6RHT2VM.js';
8
+ export { Textarea } from './chunk-C435UD7V.js';
9
+ export { SelectableCheckbox } from './chunk-6RLSRMB5.js';
10
+ export { SelectableRadio } from './chunk-A52HUWVM.js';
11
+ export { Separator } from './chunk-LLW3X4ZJ.js';
12
+ export { Sheet, SheetClose } from './chunk-DAKVTPYZ.js';
13
+ export { Sidebar, SidebarGroup, SidebarItem, SidebarSubGroup, SidebarSubItem } from './chunk-WJYJMX5S.js';
14
+ export { Skeleton } from './chunk-GKDMCY2S.js';
15
+ export { Slider } from './chunk-PTK4QAOQ.js';
16
+ export { Popover, PopoverClose, PopoverPanel } from './chunk-7SVMERPH.js';
17
+ export { PromptBar, defaultActions as promptBarDefaultActions } from './chunk-JCR5TWTF.js';
18
+ export { Radio, RadioGroup } from './chunk-EXKSKYG3.js';
19
+ export { SearchBar } from './chunk-K5G5OEV5.js';
20
+ export { SegmentedControl } from './chunk-JYGCZWET.js';
21
+ import './chunk-EBZHGRM5.js';
22
+ export { AreaCard, LineCard } from './chunk-5663JVE5.js';
23
+ export { Link } from './chunk-J5UQPROI.js';
24
+ export { Item, List } from './chunk-67CBFB6Y.js';
25
+ export { Message } from './chunk-6GNMUJQ4.js';
26
+ export { Thinking } from './chunk-WCUR44O6.js';
27
+ export { MessageActions } from './chunk-STYOBAC7.js';
28
+ export { NumberInput } from './chunk-MOGWOUCN.js';
29
+ export { Pagination, paginationRange } from './chunk-TB3ZRV3Y.js';
30
+ export { PasswordInput } from './chunk-GTFUAA6H.js';
31
+ export { Form, FormActions, FormSection, formValues } from './chunk-NCIRJ5V2.js';
32
+ export { InputGroup, InputGroupAddon } from './chunk-JKOBDLP3.js';
33
+ export { InputOTP } from './chunk-PP46SY7M.js';
34
+ export { Input } from './chunk-L5PPN42A.js';
35
+ export { Dialog, DialogAlert, DialogClose } from './chunk-WZSLDYUU.js';
36
+ export { DonutCard } from './chunk-PD2KD5OR.js';
37
+ export { Dot, dotVariants } from './chunk-C6WRJ7DG.js';
38
+ export { EmptyState, emptyStateVariants } from './chunk-JR3VVDV6.js';
39
+ export { FieldGroup } from './chunk-RFSPJECL.js';
40
+ export { FileUpload, FileUploadItem, fileIconFor, formatBytes } from './chunk-YXWXSRXG.js';
41
+ export { Citation, Sources } from './chunk-47DDBME3.js';
42
+ export { HoverCard, hoverCardClass } from './chunk-W2EH6RY5.js';
43
+ export { CodeBlock } from './chunk-IKJIR6VL.js';
44
+ export { Combobox } from './chunk-M7RILZVW.js';
45
+ export { CommandMenu } from './chunk-3VVO5MY5.js';
46
+ export { ContextMenu, ContextMenuItem, ContextMenuSeparator, ContextMenuSub } from './chunk-CQFAMWZI.js';
47
+ export { CookieConsent } from './chunk-KQNA22D3.js';
48
+ export { Calendar, DatePicker, DatePickerPanel, DateRangePicker, DateRangePickerPanel, formatDate, formatRange } from './chunk-UAJ6M34K.js';
49
+ export { DecisionCard, DecisionItemPreview } from './chunk-HI6QIG55.js';
50
+ import './chunk-XETMIETJ.js';
51
+ export { Breadcrumb } from './chunk-Q7KVC5B4.js';
52
+ export { ButtonGroup, ButtonGroupSeparator } from './chunk-GH2DEOGO.js';
53
+ export { Card, cardVariants } from './chunk-U6X6ODDJ.js';
54
+ export { ChannelCard } from './chunk-WALANB3V.js';
55
+ export { Checkbox } from './chunk-W2QQQWNE.js';
56
+ export { Chip, ChipAvatar, chipVariants } from './chunk-6JTSZAGO.js';
57
+ export { Alert, CloseIcon } from './chunk-RPL6FRVX.js';
58
+ export { AnnouncementBar } from './chunk-LAOE6Y57.js';
59
+ export { Attachment, AttachmentGroup, AttachmentPreview, AttachmentPreviewPager, AttachmentPreviewSheets, FileIcon } from './chunk-R3DTMBDT.js';
60
+ export { AVATAR_TOOLTIP_DELAY, Avatar, AvatarGroup, avatarVariants } from './chunk-TOY6YPTG.js';
61
+ export { Tooltip, TooltipBubble } from './chunk-KDU7AT2T.js';
62
+ export { Banner, bannerVariants } from './chunk-HZV7EXGU.js';
63
+ export { bannerMesh } from './chunk-YYFAZQ25.js';
64
+ export { BarCard } from './chunk-INJWE2LD.js';
65
+ export { ChartCard, ChartLegendPill, ChartLegendRow, ChartTooltip } from './chunk-LI5VYDLN.js';
66
+ export { Floating } from './chunk-ZHFIWDGF.js';
67
+ export { FieldChrome, Select, SelectChevron, useFieldChrome } from './chunk-EQAFDIPE.js';
68
+ export { FieldDescription, FieldError, FieldSizeContext, FormContext, FormField, RequiredMark, useFormContext, useFormField } from './chunk-KITXKIYW.js';
69
+ export { DropdownMenu, DropdownMenuGroup, DropdownMenuItem, MenuItemContent, menuGroupClass, menuGroupLabelClass, menuItemClass, menuSurfaceClass } from './chunk-P36KBUYD.js';
70
+ export { Kbd, KbdArrowDown, KbdArrowUp, KbdGroup, KbdHint, KbdReturn, keysOf } from './chunk-XWPH7C2W.js';
71
+ export { contrast, defaultTheme, randomTheme, themeCss, themeVars } from './chunk-NQL6SIIB.js';
72
+ export { Accordion, AccordionItem } from './chunk-6Y6CY2DP.js';
73
+ export { ActionButton } from './chunk-XU6JJDMZ.js';
74
+ export { AgentLoading, FlappySprite, ShimmerLabel, TetrisLabel, TetrisMark, TetrisStill } from './chunk-R4KPFBMK.js';
75
+ export { AgentAvatar, AgentMenuItem, AgentPicker, AgentPickerRow } from './chunk-DMZW4LGU.js';
76
+ export { Button, ButtonDefaultsContext, buttonVariants } from './chunk-6DWLTGRQ.js';
77
+ export { Spinner } from './chunk-AKEZCWNW.js';
78
+ export { AgentSuggestion, AgentSuggestionChanges, AgentSuggestionDiff, AgentSuggestionMetric, AgentSuggestionQuote } from './chunk-T7P3OEBP.js';
79
+ export { Progress } from './chunk-LKSFTNPF.js';
80
+ export { Badge, badgeVariants } from './chunk-7NV53EL5.js';
81
+ export { SatinLabels, defaultLabels, useSatinLabels } from './chunk-NTSU44FY.js';
82
+ export { cn } from './chunk-EHEXE2UV.js';
package/lib/utils.d.ts CHANGED
@@ -1,3 +1,10 @@
1
1
  import { type ClassValue } from 'clsx';
2
- /** Joins class names and lets the later Tailwind class win, like shadcn's `cn`. */
2
+ /**
3
+ * Joins class names and lets the later Tailwind class win, like shadcn's `cn`.
4
+ *
5
+ * In the npm package Satin's own classes carry the `sa:` prefix, while an app's `className`
6
+ * holds its own Tailwind classes without it. They are merged as if neither had a prefix, so
7
+ * `cn('sa:px-2.5', 'px-4')` keeps only `px-4`: an app's class still replaces the Satin class
8
+ * it overrides, prefixed or not.
9
+ */
3
10
  export declare function cn(...inputs: ClassValue[]): string;
package/lib/utils.js CHANGED
@@ -1,3 +1 @@
1
- export { cn } from '../chunk-H63FYCMY.js';
2
- //# sourceMappingURL=utils.js.map
3
- //# sourceMappingURL=utils.js.map
1
+ export { cn } from '../chunk-EHEXE2UV.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uisatin/ui",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Satin Free: the open-source React components of the Satin design system. shadcn-based, built on Radix, themed with Satin tokens.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -40,6 +40,16 @@
40
40
  },
41
41
  "./styles.css": "./styles.css",
42
42
  "./package.json": "./package.json",
43
+ "./theme": {
44
+ "types": "./theme/index.d.ts",
45
+ "import": "./theme/index.js",
46
+ "default": "./theme/index.js"
47
+ },
48
+ "./lib/utils": {
49
+ "types": "./lib/utils.d.ts",
50
+ "import": "./lib/utils.js",
51
+ "default": "./lib/utils.js"
52
+ },
43
53
  "./*": {
44
54
  "types": "./components/*.d.ts",
45
55
  "import": "./components/*.js",