@psnext/design-system 1.2.0 → 1.3.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 (442) hide show
  1. package/dist/Header.cjs +2 -2
  2. package/dist/Header.cjs.map +1 -1
  3. package/dist/Header.js +2 -2
  4. package/dist/Header.js.map +1 -1
  5. package/dist/Icon.cjs +8 -8
  6. package/dist/Icon.cjs.map +1 -1
  7. package/dist/Icon.js +8 -8
  8. package/dist/Icon.js.map +1 -1
  9. package/dist/Logo.cjs +163 -137
  10. package/dist/Logo.cjs.map +1 -1
  11. package/dist/Logo.js +163 -137
  12. package/dist/Logo.js.map +1 -1
  13. package/dist/index.cjs +1 -1
  14. package/dist/index.d.cts +5 -5
  15. package/dist/index.d.cts.map +1 -1
  16. package/dist/index.d.ts +5 -5
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -1
  19. package/dist/index10.d.cts +6 -6
  20. package/dist/index10.d.cts.map +1 -1
  21. package/dist/index10.d.ts +7 -7
  22. package/dist/index10.d.ts.map +1 -1
  23. package/dist/index11.d.cts +3 -3
  24. package/dist/index11.d.ts +3 -3
  25. package/dist/index11.d.ts.map +1 -1
  26. package/dist/index12.d.cts +12 -12
  27. package/dist/index12.d.ts +12 -12
  28. package/dist/index12.d.ts.map +1 -1
  29. package/dist/index13.d.cts +6 -6
  30. package/dist/index13.d.ts +6 -6
  31. package/dist/index13.d.ts.map +1 -1
  32. package/dist/index14.d.cts +5 -5
  33. package/dist/index14.d.ts +5 -5
  34. package/dist/index15.d.cts +3 -3
  35. package/dist/index15.d.ts +3 -3
  36. package/dist/index15.d.ts.map +1 -1
  37. package/dist/index16.d.cts +2 -2
  38. package/dist/index16.d.ts +2 -2
  39. package/dist/index16.d.ts.map +1 -1
  40. package/dist/index17.d.ts +4 -4
  41. package/dist/index17.d.ts.map +1 -1
  42. package/dist/index18.d.cts +11 -11
  43. package/dist/index18.d.cts.map +1 -1
  44. package/dist/index18.d.ts +11 -11
  45. package/dist/index18.d.ts.map +1 -1
  46. package/dist/index19.d.cts +10 -10
  47. package/dist/index19.d.ts +10 -10
  48. package/dist/index19.d.ts.map +1 -1
  49. package/dist/index2.d.cts +8 -8
  50. package/dist/index2.d.cts.map +1 -1
  51. package/dist/index2.d.ts +8 -8
  52. package/dist/index2.d.ts.map +1 -1
  53. package/dist/index20.d.cts +16 -16
  54. package/dist/index20.d.cts.map +1 -1
  55. package/dist/index20.d.ts +16 -16
  56. package/dist/index21.d.cts +4 -4
  57. package/dist/index21.d.ts +4 -4
  58. package/dist/index21.d.ts.map +1 -1
  59. package/dist/index22.d.cts +11 -11
  60. package/dist/index22.d.ts +11 -11
  61. package/dist/index22.d.ts.map +1 -1
  62. package/dist/index23.d.cts +16 -16
  63. package/dist/index23.d.ts +16 -16
  64. package/dist/index24.d.cts +7 -7
  65. package/dist/index24.d.cts.map +1 -1
  66. package/dist/index24.d.ts +10 -10
  67. package/dist/index25.d.cts +2 -2
  68. package/dist/index25.d.ts +2 -2
  69. package/dist/index25.d.ts.map +1 -1
  70. package/dist/index26.d.cts +13 -13
  71. package/dist/index26.d.cts.map +1 -1
  72. package/dist/index26.d.ts +14 -14
  73. package/dist/index26.d.ts.map +1 -1
  74. package/dist/index27.d.cts +7 -7
  75. package/dist/index27.d.ts +7 -7
  76. package/dist/index28.d.cts +5 -5
  77. package/dist/index28.d.cts.map +1 -1
  78. package/dist/index28.d.ts +5 -5
  79. package/dist/index29.d.cts +4 -4
  80. package/dist/index29.d.cts.map +1 -1
  81. package/dist/index29.d.ts +4 -4
  82. package/dist/index29.d.ts.map +1 -1
  83. package/dist/index3.d.cts +13 -13
  84. package/dist/index3.d.cts.map +1 -1
  85. package/dist/index3.d.ts +13 -13
  86. package/dist/index3.d.ts.map +1 -1
  87. package/dist/index30.d.cts +5 -5
  88. package/dist/index30.d.cts.map +1 -1
  89. package/dist/index30.d.ts +6 -6
  90. package/dist/index30.d.ts.map +1 -1
  91. package/dist/index31.d.cts +2 -2
  92. package/dist/index31.d.ts +3 -3
  93. package/dist/index32.d.cts +6 -6
  94. package/dist/index32.d.cts.map +1 -1
  95. package/dist/index32.d.ts +6 -6
  96. package/dist/index32.d.ts.map +1 -1
  97. package/dist/index33.d.cts +10 -10
  98. package/dist/index33.d.cts.map +1 -1
  99. package/dist/index33.d.ts +11 -11
  100. package/dist/index33.d.ts.map +1 -1
  101. package/dist/index34.d.cts +5 -5
  102. package/dist/index34.d.ts +5 -5
  103. package/dist/index35.d.cts +17 -17
  104. package/dist/index35.d.cts.map +1 -1
  105. package/dist/index35.d.ts +15 -15
  106. package/dist/index35.d.ts.map +1 -1
  107. package/dist/index36.d.cts +3 -3
  108. package/dist/index36.d.cts.map +1 -1
  109. package/dist/index36.d.ts +3 -3
  110. package/dist/index36.d.ts.map +1 -1
  111. package/dist/index37.d.cts +4 -4
  112. package/dist/index37.d.ts +5 -5
  113. package/dist/index38.d.cts +2 -2
  114. package/dist/index38.d.ts +2 -2
  115. package/dist/index39.d.cts +17 -17
  116. package/dist/index39.d.ts +17 -17
  117. package/dist/index4.d.cts +2 -2
  118. package/dist/index4.d.ts +2 -2
  119. package/dist/index4.d.ts.map +1 -1
  120. package/dist/index40.d.cts +5 -5
  121. package/dist/index40.d.cts.map +1 -1
  122. package/dist/index40.d.ts +5 -5
  123. package/dist/index40.d.ts.map +1 -1
  124. package/dist/index41.d.cts +11 -11
  125. package/dist/index41.d.cts.map +1 -1
  126. package/dist/index41.d.ts +11 -11
  127. package/dist/index42.d.cts +8 -8
  128. package/dist/index42.d.cts.map +1 -1
  129. package/dist/index42.d.ts +8 -8
  130. package/dist/index42.d.ts.map +1 -1
  131. package/dist/index43.d.cts +9 -9
  132. package/dist/index43.d.cts.map +1 -1
  133. package/dist/index43.d.ts +9 -9
  134. package/dist/index44.d.cts +8 -8
  135. package/dist/index44.d.ts +8 -8
  136. package/dist/index44.d.ts.map +1 -1
  137. package/dist/index45.d.cts +2 -2
  138. package/dist/index45.d.cts.map +1 -1
  139. package/dist/index45.d.ts +2 -2
  140. package/dist/index45.d.ts.map +1 -1
  141. package/dist/index46.d.cts +4 -4
  142. package/dist/index46.d.ts +4 -4
  143. package/dist/index46.d.ts.map +1 -1
  144. package/dist/index47.d.cts +4 -4
  145. package/dist/index47.d.cts.map +1 -1
  146. package/dist/index47.d.ts +4 -4
  147. package/dist/index47.d.ts.map +1 -1
  148. package/dist/index48.d.cts +3 -3
  149. package/dist/index48.d.cts.map +1 -1
  150. package/dist/index48.d.ts +3 -3
  151. package/dist/index48.d.ts.map +1 -1
  152. package/dist/index49.d.cts +11 -11
  153. package/dist/index49.d.cts.map +1 -1
  154. package/dist/index49.d.ts +11 -11
  155. package/dist/index49.d.ts.map +1 -1
  156. package/dist/index5.d.cts +7 -7
  157. package/dist/index5.d.cts.map +1 -1
  158. package/dist/index5.d.ts +7 -7
  159. package/dist/index5.d.ts.map +1 -1
  160. package/dist/index50.d.cts +9 -9
  161. package/dist/index50.d.ts +9 -9
  162. package/dist/index50.d.ts.map +1 -1
  163. package/dist/index51.d.cts +5 -5
  164. package/dist/index51.d.ts +5 -5
  165. package/dist/index51.d.ts.map +1 -1
  166. package/dist/index52.d.cts +27 -27
  167. package/dist/index52.d.cts.map +1 -1
  168. package/dist/index52.d.ts +25 -25
  169. package/dist/index52.d.ts.map +1 -1
  170. package/dist/index53.d.cts +5 -5
  171. package/dist/index53.d.ts +5 -5
  172. package/dist/index54.d.cts +2 -2
  173. package/dist/index54.d.ts +2 -2
  174. package/dist/index54.d.ts.map +1 -1
  175. package/dist/index55.d.cts +2 -2
  176. package/dist/index55.d.cts.map +1 -1
  177. package/dist/index55.d.ts +2 -2
  178. package/dist/index55.d.ts.map +1 -1
  179. package/dist/index56.d.cts +2 -2
  180. package/dist/index56.d.ts +2 -2
  181. package/dist/index56.d.ts.map +1 -1
  182. package/dist/index57.d.cts +4 -4
  183. package/dist/index57.d.ts +4 -4
  184. package/dist/index57.d.ts.map +1 -1
  185. package/dist/index58.d.cts +9 -9
  186. package/dist/index58.d.ts +9 -9
  187. package/dist/index58.d.ts.map +1 -1
  188. package/dist/index59.d.cts +9 -9
  189. package/dist/index59.d.ts +13 -13
  190. package/dist/index59.d.ts.map +1 -1
  191. package/dist/index6.d.cts +5 -5
  192. package/dist/index6.d.cts.map +1 -1
  193. package/dist/index6.d.ts +5 -5
  194. package/dist/index6.d.ts.map +1 -1
  195. package/dist/index60.d.cts +6 -6
  196. package/dist/index60.d.cts.map +1 -1
  197. package/dist/index60.d.ts +7 -7
  198. package/dist/index60.d.ts.map +1 -1
  199. package/dist/index61.d.cts +4 -4
  200. package/dist/index61.d.cts.map +1 -1
  201. package/dist/index61.d.ts +4 -4
  202. package/dist/index61.d.ts.map +1 -1
  203. package/dist/index62.d.cts +2 -2
  204. package/dist/index62.d.cts.map +1 -1
  205. package/dist/index62.d.ts +2 -2
  206. package/dist/index62.d.ts.map +1 -1
  207. package/dist/index63.d.cts +5 -5
  208. package/dist/index63.d.ts +3 -3
  209. package/dist/index64.d.cts +3 -3
  210. package/dist/index64.d.ts +3 -3
  211. package/dist/index64.d.ts.map +1 -1
  212. package/dist/index65.d.cts +4 -4
  213. package/dist/index65.d.cts.map +1 -1
  214. package/dist/index65.d.ts +4 -4
  215. package/dist/index65.d.ts.map +1 -1
  216. package/dist/index66.d.cts +2 -2
  217. package/dist/index66.d.ts +2 -2
  218. package/dist/index66.d.ts.map +1 -1
  219. package/dist/index67.d.cts +7 -7
  220. package/dist/index67.d.cts.map +1 -1
  221. package/dist/index67.d.ts +8 -8
  222. package/dist/index67.d.ts.map +1 -1
  223. package/dist/index68.d.cts +7 -7
  224. package/dist/index68.d.ts +7 -7
  225. package/dist/index68.d.ts.map +1 -1
  226. package/dist/index7.d.cts +8 -8
  227. package/dist/index7.d.cts.map +1 -1
  228. package/dist/index7.d.ts +8 -8
  229. package/dist/index7.d.ts.map +1 -1
  230. package/dist/index70.d.cts +8 -8
  231. package/dist/index70.d.ts +8 -8
  232. package/dist/index8.d.cts +4 -4
  233. package/dist/index8.d.ts +4 -4
  234. package/dist/index8.d.ts.map +1 -1
  235. package/dist/index9.d.cts +2 -2
  236. package/dist/index9.d.cts.map +1 -1
  237. package/dist/index9.d.ts +2 -2
  238. package/dist/index9.d.ts.map +1 -1
  239. package/dist/layouts/Container/index.cjs +1 -1
  240. package/dist/layouts/Container/index.cjs.map +1 -1
  241. package/dist/layouts/Container/index.js +1 -1
  242. package/dist/layouts/Container/index.js.map +1 -1
  243. package/dist/layouts/PageBackground/index.cjs +1 -1
  244. package/dist/layouts/PageBackground/index.cjs.map +1 -1
  245. package/dist/layouts/PageBackground/index.js +1 -1
  246. package/dist/layouts/PageBackground/index.js.map +1 -1
  247. package/dist/patterns/DataTable/index.d.cts +3 -3
  248. package/dist/patterns/DataTable/index.d.ts +3 -3
  249. package/dist/patterns/Footer/index.cjs +1 -1
  250. package/dist/patterns/Footer/index.cjs.map +1 -1
  251. package/dist/patterns/Footer/index.d.cts +8 -8
  252. package/dist/patterns/Footer/index.d.cts.map +1 -1
  253. package/dist/patterns/Footer/index.d.ts +8 -8
  254. package/dist/patterns/Footer/index.d.ts.map +1 -1
  255. package/dist/patterns/Footer/index.js +1 -1
  256. package/dist/patterns/Footer/index.js.map +1 -1
  257. package/dist/patterns/MediaObject/index.d.cts +11 -11
  258. package/dist/patterns/MediaObject/index.d.ts +13 -13
  259. package/dist/patterns/MediaObject/index.d.ts.map +1 -1
  260. package/dist/patterns/SectionCard/index.d.cts +2 -2
  261. package/dist/patterns/SectionCard/index.d.ts +2 -2
  262. package/dist/patterns/SectionCard/index.d.ts.map +1 -1
  263. package/dist/patterns/SectionHeading/index.d.cts +2 -2
  264. package/dist/patterns/SectionHeading/index.d.ts +2 -2
  265. package/dist/patterns/SectionHeading/index.d.ts.map +1 -1
  266. package/dist/primitives/Accordion/index.cjs +1 -1
  267. package/dist/primitives/Accordion/index.cjs.map +1 -1
  268. package/dist/primitives/Accordion/index.js +1 -1
  269. package/dist/primitives/Accordion/index.js.map +1 -1
  270. package/dist/primitives/Alert/index.cjs +2 -2
  271. package/dist/primitives/Alert/index.cjs.map +1 -1
  272. package/dist/primitives/Alert/index.js +2 -2
  273. package/dist/primitives/Alert/index.js.map +1 -1
  274. package/dist/primitives/AlertDialog/index.cjs +2 -2
  275. package/dist/primitives/AlertDialog/index.cjs.map +1 -1
  276. package/dist/primitives/AlertDialog/index.js +2 -2
  277. package/dist/primitives/AlertDialog/index.js.map +1 -1
  278. package/dist/primitives/Avatar/index.cjs +2 -2
  279. package/dist/primitives/Avatar/index.cjs.map +1 -1
  280. package/dist/primitives/Avatar/index.js +2 -2
  281. package/dist/primitives/Avatar/index.js.map +1 -1
  282. package/dist/primitives/Badge/index.cjs +4 -4
  283. package/dist/primitives/Badge/index.cjs.map +1 -1
  284. package/dist/primitives/Badge/index.js +4 -4
  285. package/dist/primitives/Badge/index.js.map +1 -1
  286. package/dist/primitives/Button/index.cjs +5 -5
  287. package/dist/primitives/Button/index.cjs.map +1 -1
  288. package/dist/primitives/Button/index.js +5 -5
  289. package/dist/primitives/Button/index.js.map +1 -1
  290. package/dist/primitives/ButtonGroup/index.cjs +2 -2
  291. package/dist/primitives/ButtonGroup/index.cjs.map +1 -1
  292. package/dist/primitives/ButtonGroup/index.js +2 -2
  293. package/dist/primitives/ButtonGroup/index.js.map +1 -1
  294. package/dist/primitives/Calendar/index.cjs +1 -1
  295. package/dist/primitives/Calendar/index.cjs.map +1 -1
  296. package/dist/primitives/Calendar/index.js +1 -1
  297. package/dist/primitives/Calendar/index.js.map +1 -1
  298. package/dist/primitives/Card/index.cjs +4 -4
  299. package/dist/primitives/Card/index.cjs.map +1 -1
  300. package/dist/primitives/Card/index.js +4 -4
  301. package/dist/primitives/Card/index.js.map +1 -1
  302. package/dist/primitives/Chart/index.cjs +1 -1
  303. package/dist/primitives/Chart/index.cjs.map +1 -1
  304. package/dist/primitives/Chart/index.js +1 -1
  305. package/dist/primitives/Chart/index.js.map +1 -1
  306. package/dist/primitives/Checkbox/index.cjs +1 -1
  307. package/dist/primitives/Checkbox/index.cjs.map +1 -1
  308. package/dist/primitives/Checkbox/index.js +1 -1
  309. package/dist/primitives/Checkbox/index.js.map +1 -1
  310. package/dist/primitives/Command/index.cjs +1 -1
  311. package/dist/primitives/Command/index.cjs.map +1 -1
  312. package/dist/primitives/Command/index.js +1 -1
  313. package/dist/primitives/Command/index.js.map +1 -1
  314. package/dist/primitives/ContextMenu/index.cjs +1 -1
  315. package/dist/primitives/ContextMenu/index.cjs.map +1 -1
  316. package/dist/primitives/ContextMenu/index.js +1 -1
  317. package/dist/primitives/ContextMenu/index.js.map +1 -1
  318. package/dist/primitives/Credits/index.cjs +1 -1
  319. package/dist/primitives/Credits/index.cjs.map +1 -1
  320. package/dist/primitives/Credits/index.js +1 -1
  321. package/dist/primitives/Credits/index.js.map +1 -1
  322. package/dist/primitives/Dialog/index.cjs +2 -2
  323. package/dist/primitives/Dialog/index.cjs.map +1 -1
  324. package/dist/primitives/Dialog/index.js +2 -2
  325. package/dist/primitives/Dialog/index.js.map +1 -1
  326. package/dist/primitives/Drawer/index.cjs +1 -1
  327. package/dist/primitives/Drawer/index.cjs.map +1 -1
  328. package/dist/primitives/Drawer/index.js +1 -1
  329. package/dist/primitives/Drawer/index.js.map +1 -1
  330. package/dist/primitives/DropdownMenu/index.cjs +1 -1
  331. package/dist/primitives/DropdownMenu/index.cjs.map +1 -1
  332. package/dist/primitives/DropdownMenu/index.js +1 -1
  333. package/dist/primitives/DropdownMenu/index.js.map +1 -1
  334. package/dist/primitives/Field/index.cjs +1 -1
  335. package/dist/primitives/Field/index.cjs.map +1 -1
  336. package/dist/primitives/Field/index.js +1 -1
  337. package/dist/primitives/Field/index.js.map +1 -1
  338. package/dist/primitives/HoverCard/index.cjs +1 -1
  339. package/dist/primitives/HoverCard/index.cjs.map +1 -1
  340. package/dist/primitives/HoverCard/index.js +1 -1
  341. package/dist/primitives/HoverCard/index.js.map +1 -1
  342. package/dist/primitives/Input/index.cjs +4 -4
  343. package/dist/primitives/Input/index.cjs.map +1 -1
  344. package/dist/primitives/Input/index.js +4 -4
  345. package/dist/primitives/Input/index.js.map +1 -1
  346. package/dist/primitives/InputGroup/index.cjs +6 -6
  347. package/dist/primitives/InputGroup/index.cjs.map +1 -1
  348. package/dist/primitives/InputGroup/index.js +6 -6
  349. package/dist/primitives/InputGroup/index.js.map +1 -1
  350. package/dist/primitives/InputOtp/index.cjs +1 -1
  351. package/dist/primitives/InputOtp/index.cjs.map +1 -1
  352. package/dist/primitives/InputOtp/index.js +1 -1
  353. package/dist/primitives/InputOtp/index.js.map +1 -1
  354. package/dist/primitives/Item/index.cjs +2 -2
  355. package/dist/primitives/Item/index.cjs.map +1 -1
  356. package/dist/primitives/Item/index.js +2 -2
  357. package/dist/primitives/Item/index.js.map +1 -1
  358. package/dist/primitives/Kbd/index.cjs +1 -1
  359. package/dist/primitives/Kbd/index.cjs.map +1 -1
  360. package/dist/primitives/Kbd/index.js +1 -1
  361. package/dist/primitives/Kbd/index.js.map +1 -1
  362. package/dist/primitives/Menubar/index.cjs +1 -1
  363. package/dist/primitives/Menubar/index.cjs.map +1 -1
  364. package/dist/primitives/Menubar/index.js +1 -1
  365. package/dist/primitives/Menubar/index.js.map +1 -1
  366. package/dist/primitives/NativeSelect/index.cjs +1 -1
  367. package/dist/primitives/NativeSelect/index.cjs.map +1 -1
  368. package/dist/primitives/NativeSelect/index.js +1 -1
  369. package/dist/primitives/NativeSelect/index.js.map +1 -1
  370. package/dist/primitives/NavRail/index.cjs +2 -2
  371. package/dist/primitives/NavRail/index.cjs.map +1 -1
  372. package/dist/primitives/NavRail/index.js +2 -2
  373. package/dist/primitives/NavRail/index.js.map +1 -1
  374. package/dist/primitives/NavigationMenu/index.cjs +1 -1
  375. package/dist/primitives/NavigationMenu/index.cjs.map +1 -1
  376. package/dist/primitives/NavigationMenu/index.js +1 -1
  377. package/dist/primitives/NavigationMenu/index.js.map +1 -1
  378. package/dist/primitives/Popover/index.cjs +1 -1
  379. package/dist/primitives/Popover/index.cjs.map +1 -1
  380. package/dist/primitives/Popover/index.js +1 -1
  381. package/dist/primitives/Popover/index.js.map +1 -1
  382. package/dist/primitives/Progress/index.cjs +1 -1
  383. package/dist/primitives/Progress/index.cjs.map +1 -1
  384. package/dist/primitives/Progress/index.js +1 -1
  385. package/dist/primitives/Progress/index.js.map +1 -1
  386. package/dist/primitives/RadioGroup/index.cjs +1 -1
  387. package/dist/primitives/RadioGroup/index.cjs.map +1 -1
  388. package/dist/primitives/RadioGroup/index.js +1 -1
  389. package/dist/primitives/RadioGroup/index.js.map +1 -1
  390. package/dist/primitives/ScrollArea/index.cjs +1 -1
  391. package/dist/primitives/ScrollArea/index.cjs.map +1 -1
  392. package/dist/primitives/ScrollArea/index.js +1 -1
  393. package/dist/primitives/ScrollArea/index.js.map +1 -1
  394. package/dist/primitives/Select/index.cjs +1 -1
  395. package/dist/primitives/Select/index.cjs.map +1 -1
  396. package/dist/primitives/Select/index.js +1 -1
  397. package/dist/primitives/Select/index.js.map +1 -1
  398. package/dist/primitives/Skeleton/index.cjs +2 -2
  399. package/dist/primitives/Skeleton/index.cjs.map +1 -1
  400. package/dist/primitives/Skeleton/index.js +2 -2
  401. package/dist/primitives/Skeleton/index.js.map +1 -1
  402. package/dist/primitives/Slider/index.cjs +1 -1
  403. package/dist/primitives/Slider/index.cjs.map +1 -1
  404. package/dist/primitives/Slider/index.js +1 -1
  405. package/dist/primitives/Slider/index.js.map +1 -1
  406. package/dist/primitives/Sonner/index.cjs +1 -1
  407. package/dist/primitives/Sonner/index.cjs.map +1 -1
  408. package/dist/primitives/Sonner/index.js +1 -1
  409. package/dist/primitives/Sonner/index.js.map +1 -1
  410. package/dist/primitives/Switch/index.cjs +3 -3
  411. package/dist/primitives/Switch/index.cjs.map +1 -1
  412. package/dist/primitives/Switch/index.js +3 -3
  413. package/dist/primitives/Switch/index.js.map +1 -1
  414. package/dist/primitives/Table/index.cjs +3 -3
  415. package/dist/primitives/Table/index.cjs.map +1 -1
  416. package/dist/primitives/Table/index.js +3 -3
  417. package/dist/primitives/Table/index.js.map +1 -1
  418. package/dist/primitives/Tabs/index.cjs +4 -4
  419. package/dist/primitives/Tabs/index.cjs.map +1 -1
  420. package/dist/primitives/Tabs/index.js +4 -4
  421. package/dist/primitives/Tabs/index.js.map +1 -1
  422. package/dist/primitives/Textarea/index.cjs +2 -2
  423. package/dist/primitives/Textarea/index.cjs.map +1 -1
  424. package/dist/primitives/Textarea/index.js +2 -2
  425. package/dist/primitives/Textarea/index.js.map +1 -1
  426. package/dist/primitives/Toggle/index.cjs +2 -2
  427. package/dist/primitives/Toggle/index.cjs.map +1 -1
  428. package/dist/primitives/Toggle/index.js +2 -2
  429. package/dist/primitives/Toggle/index.js.map +1 -1
  430. package/dist/primitives/Tooltip/index.cjs +2 -2
  431. package/dist/primitives/Tooltip/index.cjs.map +1 -1
  432. package/dist/primitives/Tooltip/index.js +2 -2
  433. package/dist/primitives/Tooltip/index.js.map +1 -1
  434. package/dist/primitives/index.cjs +1 -1
  435. package/dist/primitives/index.js +1 -1
  436. package/dist/styles/index.css +3 -0
  437. package/dist/styles/semantic.css +23 -12
  438. package/dist/styles/theme.css +43 -4
  439. package/dist/styles/tokens/border-radius.css +2 -1
  440. package/dist/styles/tokens/mode-dark.css +1 -1
  441. package/dist/styles/typography.css +136 -0
  442. package/package.json +7 -2
@@ -1,5 +1,5 @@
1
1
  import { n as HeadingProps } from "../../index28.cjs";
2
- import * as react_jsx_runtime202 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime249 from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
 
5
5
  //#region src/patterns/SectionHeading/SectionHeading.d.ts
@@ -31,7 +31,7 @@ declare function SectionHeading({
31
31
  titleAs,
32
32
  className,
33
33
  ...props
34
- }: SectionHeadingProps): react_jsx_runtime202.JSX.Element;
34
+ }: SectionHeadingProps): react_jsx_runtime249.JSX.Element;
35
35
  //#endregion
36
36
  export { SectionHeading, type SectionHeadingProps };
37
37
  //# sourceMappingURL=index.d.cts.map
@@ -1,6 +1,6 @@
1
1
  import { n as HeadingProps } from "../../index28.js";
2
2
  import * as React from "react";
3
- import * as react_jsx_runtime121 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime27 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/patterns/SectionHeading/SectionHeading.d.ts
6
6
  /** Props for the {@link SectionHeading} pattern. */
@@ -31,7 +31,7 @@ declare function SectionHeading({
31
31
  titleAs,
32
32
  className,
33
33
  ...props
34
- }: SectionHeadingProps): react_jsx_runtime121.JSX.Element;
34
+ }: SectionHeadingProps): react_jsx_runtime27.JSX.Element;
35
35
  //#endregion
36
36
  export { SectionHeading, type SectionHeadingProps };
37
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/patterns/SectionHeading/SectionHeading.tsx"],"mappings":";;;;;;KAYK,mBAAA,GAAsB,KAAK,KAAA,CAAM;;EAAjC,KAAA,EAEI,KAAA,CAAM,SAFS;EAAA;UAAQ,CAAM,EAIzB,KAAA,CAAM,SAJmB;;SAE7B,CAAA,EAIG,KAAA,CAAM,SAJH;;OAIH,CAAA,EAAA,QAAM,GAAA,MAAA;;UAQN,CAAM,EAAA,OAAA;EAAW;EAIpB,SAAA,CAAA,EANK,YAMS,CAAA,MAAA,CAAA;EAAA;SACrB,CAAA,EALU,KAAA,CAAM,WAKhB;;;iBADO,cAAA,CAIP;EAAA,KAAA;EAAA,QAAA;EAAA,OAAA;EAAA,KAAA;EAAA,QAAA;EAAA,SAAA;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAMC,mBAND,CAAA,EAMoB,oBAAA,CAAA,GAAA,CAAA,OANpB"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/patterns/SectionHeading/SectionHeading.tsx"],"mappings":";;;;;;KAYK,mBAAA,GAAsB,KAAK,KAAA,CAAM;;EAAjC,KAAA,EAEI,KAAA,CAAM,SAFS;EAAA;UAAQ,CAAM,EAIzB,KAAA,CAAM,SAJmB;;SAE7B,CAAA,EAIG,KAAA,CAAM,SAJH;;OAIH,CAAA,EAAA,QAAM,GAAA,MAAA;;UAQN,CAAM,EAAA,OAAA;EAAW;EAIpB,SAAA,CAAA,EANK,YAMS,CAAA,MAAA,CAAA;EAAA;SACrB,CAAA,EALU,KAAA,CAAM,WAKhB;;;iBADO,cAAA,CAIP;EAAA,KAAA;EAAA,QAAA;EAAA,OAAA;EAAA,KAAA;EAAA,QAAA;EAAA,SAAA;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAMC,mBAND,CAAA,EAMoB,mBAAA,CAAA,GAAA,CAAA,OANpB"}
@@ -27,7 +27,7 @@ function AccordionTrigger({ className, children, ...props }) {
27
27
  className: "flex",
28
28
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(radix_ui.Accordion.Trigger, {
29
29
  "data-slot": "accordion-trigger",
30
- className: require_cn.cn("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180", "group-data-[variant=bordered]/accordion:px-4", className),
30
+ className: require_cn.cn("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-lg py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180", "group-data-[variant=bordered]/accordion:px-4", className),
31
31
  ...props,
32
32
  children: [children, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDownIcon, { className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" })]
33
33
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["AccordionPrimitive","cn","ChevronDownIcon"],"sources":["../../../src/primitives/Accordion/Accordion.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport { Accordion as AccordionPrimitive } from \"radix-ui\";\n\n/** A vertically stacked set of collapsible sections built on Radix Accordion. */\nfunction Accordion({\n className,\n variant = \"line\",\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root> & {\n /** Visual style: `line` (divider rows) or `bordered` (rounded border with inset rows). */\n variant?: \"line\" | \"bordered\";\n}) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n data-variant={variant}\n // `bordered` wraps the group in a rounded border; items keep their\n // dividers and triggers/content inset via the group-data selector below.\n className={cn(\"group/accordion\", variant === \"bordered\" && \"rounded-md border\", className)}\n {...props}\n />\n );\n}\n\n/** A single collapsible section; identified by its required `value`. */\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n );\n}\n\n/** The clickable header that toggles its section open or closed. */\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n \"group-data-[variant=bordered]/accordion:px-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\n/** The animated collapsible panel revealed when its section is open. */\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn(\"pt-0 pb-4 group-data-[variant=bordered]/accordion:px-4\", className)}>\n {children}\n </div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":";;;;;;;AAKA,SAAS,UAAU,EACjB,WACA,UAAU,QACV,GAAG,SAIF;CACD,OACE,iBAAA,GAAA,kBAAA,KAACA,SAAAA,UAAmB,MAApB;EACE,aAAU;EACV,gBAAc;EAGd,WAAWC,WAAAA,GAAG,mBAAmB,YAAY,cAAc,qBAAqB,SAAS;EACzF,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;CACvD,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,UAAmB,MAApB;EACE,aAAU;EACV,WAAWC,WAAAA,GAAG,4BAA4B,SAAS;EACnD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;CAC1D,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,UAAmB,QAApB;EAA2B,WAAU;YACnC,iBAAA,GAAA,kBAAA,MAACA,SAAAA,UAAmB,SAApB;GACE,aAAU;GACV,WAAWC,WAAAA,GACT,8SACA,gDACA,SACF;GACA,GAAI;aAPN,CASG,UACD,iBAAA,GAAA,kBAAA,KAACC,aAAAA,iBAAD,EAAiB,WAAU,8GAA+G,CAAA,CAChH;;CACH,CAAA;AAE/B;;AAGA,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;CAC1D,OACE,iBAAA,GAAA,kBAAA,KAACF,SAAAA,UAAmB,SAApB;EACE,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,WAAWC,WAAAA,GAAG,0DAA0D,SAAS;GACnF;EACE,CAAA;CACqB,CAAA;AAEhC"}
1
+ {"version":3,"file":"index.cjs","names":["AccordionPrimitive","cn","ChevronDownIcon"],"sources":["../../../src/primitives/Accordion/Accordion.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport { Accordion as AccordionPrimitive } from \"radix-ui\";\n\n/** A vertically stacked set of collapsible sections built on Radix Accordion. */\nfunction Accordion({\n className,\n variant = \"line\",\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root> & {\n /** Visual style: `line` (divider rows) or `bordered` (rounded border with inset rows). */\n variant?: \"line\" | \"bordered\";\n}) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n data-variant={variant}\n // `bordered` wraps the group in a rounded border; items keep their\n // dividers and triggers/content inset via the group-data selector below.\n className={cn(\"group/accordion\", variant === \"bordered\" && \"rounded-md border\", className)}\n {...props}\n />\n );\n}\n\n/** A single collapsible section; identified by its required `value`. */\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n );\n}\n\n/** The clickable header that toggles its section open or closed. */\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-lg py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n \"group-data-[variant=bordered]/accordion:px-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\n/** The animated collapsible panel revealed when its section is open. */\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn(\"pt-0 pb-4 group-data-[variant=bordered]/accordion:px-4\", className)}>\n {children}\n </div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":";;;;;;;AAKA,SAAS,UAAU,EACjB,WACA,UAAU,QACV,GAAG,SAIF;CACD,OACE,iBAAA,GAAA,kBAAA,KAACA,SAAAA,UAAmB,MAApB;EACE,aAAU;EACV,gBAAc;EAGd,WAAWC,WAAAA,GAAG,mBAAmB,YAAY,cAAc,qBAAqB,SAAS;EACzF,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;CACvD,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,UAAmB,MAApB;EACE,aAAU;EACV,WAAWC,WAAAA,GAAG,4BAA4B,SAAS;EACnD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;CAC1D,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,UAAmB,QAApB;EAA2B,WAAU;YACnC,iBAAA,GAAA,kBAAA,MAACA,SAAAA,UAAmB,SAApB;GACE,aAAU;GACV,WAAWC,WAAAA,GACT,8SACA,gDACA,SACF;GACA,GAAI;aAPN,CASG,UACD,iBAAA,GAAA,kBAAA,KAACC,aAAAA,iBAAD,EAAiB,WAAU,8GAA+G,CAAA,CAChH;;CACH,CAAA;AAE/B;;AAGA,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;CAC1D,OACE,iBAAA,GAAA,kBAAA,KAACF,SAAAA,UAAmB,SAApB;EACE,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,WAAWC,WAAAA,GAAG,0DAA0D,SAAS;GACnF;EACE,CAAA;CACqB,CAAA;AAEhC"}
@@ -26,7 +26,7 @@ function AccordionTrigger({ className, children, ...props }) {
26
26
  className: "flex",
27
27
  children: /* @__PURE__ */ jsxs(Accordion$1.Trigger, {
28
28
  "data-slot": "accordion-trigger",
29
- className: cn("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180", "group-data-[variant=bordered]/accordion:px-4", className),
29
+ className: cn("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-lg py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180", "group-data-[variant=bordered]/accordion:px-4", className),
30
30
  ...props,
31
31
  children: [children, /* @__PURE__ */ jsx(ChevronDownIcon, { className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" })]
32
32
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AccordionPrimitive"],"sources":["../../../src/primitives/Accordion/Accordion.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport { Accordion as AccordionPrimitive } from \"radix-ui\";\n\n/** A vertically stacked set of collapsible sections built on Radix Accordion. */\nfunction Accordion({\n className,\n variant = \"line\",\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root> & {\n /** Visual style: `line` (divider rows) or `bordered` (rounded border with inset rows). */\n variant?: \"line\" | \"bordered\";\n}) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n data-variant={variant}\n // `bordered` wraps the group in a rounded border; items keep their\n // dividers and triggers/content inset via the group-data selector below.\n className={cn(\"group/accordion\", variant === \"bordered\" && \"rounded-md border\", className)}\n {...props}\n />\n );\n}\n\n/** A single collapsible section; identified by its required `value`. */\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n );\n}\n\n/** The clickable header that toggles its section open or closed. */\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n \"group-data-[variant=bordered]/accordion:px-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\n/** The animated collapsible panel revealed when its section is open. */\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn(\"pt-0 pb-4 group-data-[variant=bordered]/accordion:px-4\", className)}>\n {children}\n </div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":";;;;;;AAKA,SAAS,UAAU,EACjB,WACA,UAAU,QACV,GAAG,SAIF;CACD,OACE,oBAACA,YAAmB,MAApB;EACE,aAAU;EACV,gBAAc;EAGd,WAAW,GAAG,mBAAmB,YAAY,cAAc,qBAAqB,SAAS;EACzF,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;CACvD,OACE,oBAACA,YAAmB,MAApB;EACE,aAAU;EACV,WAAW,GAAG,4BAA4B,SAAS;EACnD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;CAC1D,OACE,oBAACA,YAAmB,QAApB;EAA2B,WAAU;YACnC,qBAACA,YAAmB,SAApB;GACE,aAAU;GACV,WAAW,GACT,8SACA,gDACA,SACF;GACA,GAAI;aAPN,CASG,UACD,oBAAC,iBAAD,EAAiB,WAAU,8GAA+G,CAAA,CAChH;;CACH,CAAA;AAE/B;;AAGA,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;CAC1D,OACE,oBAACA,YAAmB,SAApB;EACE,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,oBAAC,OAAD;GAAK,WAAW,GAAG,0DAA0D,SAAS;GACnF;EACE,CAAA;CACqB,CAAA;AAEhC"}
1
+ {"version":3,"file":"index.js","names":["AccordionPrimitive"],"sources":["../../../src/primitives/Accordion/Accordion.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport { Accordion as AccordionPrimitive } from \"radix-ui\";\n\n/** A vertically stacked set of collapsible sections built on Radix Accordion. */\nfunction Accordion({\n className,\n variant = \"line\",\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root> & {\n /** Visual style: `line` (divider rows) or `bordered` (rounded border with inset rows). */\n variant?: \"line\" | \"bordered\";\n}) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n data-variant={variant}\n // `bordered` wraps the group in a rounded border; items keep their\n // dividers and triggers/content inset via the group-data selector below.\n className={cn(\"group/accordion\", variant === \"bordered\" && \"rounded-md border\", className)}\n {...props}\n />\n );\n}\n\n/** A single collapsible section; identified by its required `value`. */\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n );\n}\n\n/** The clickable header that toggles its section open or closed. */\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-lg py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n \"group-data-[variant=bordered]/accordion:px-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\n/** The animated collapsible panel revealed when its section is open. */\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn(\"pt-0 pb-4 group-data-[variant=bordered]/accordion:px-4\", className)}>\n {children}\n </div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":";;;;;;AAKA,SAAS,UAAU,EACjB,WACA,UAAU,QACV,GAAG,SAIF;CACD,OACE,oBAACA,YAAmB,MAApB;EACE,aAAU;EACV,gBAAc;EAGd,WAAW,GAAG,mBAAmB,YAAY,cAAc,qBAAqB,SAAS;EACzF,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;CACvD,OACE,oBAACA,YAAmB,MAApB;EACE,aAAU;EACV,WAAW,GAAG,4BAA4B,SAAS;EACnD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;CAC1D,OACE,oBAACA,YAAmB,QAApB;EAA2B,WAAU;YACnC,qBAACA,YAAmB,SAApB;GACE,aAAU;GACV,WAAW,GACT,8SACA,gDACA,SACF;GACA,GAAI;aAPN,CASG,UACD,oBAAC,iBAAD,EAAiB,WAAU,8GAA+G,CAAA,CAChH;;CACH,CAAA;AAE/B;;AAGA,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;CAC1D,OACE,oBAACA,YAAmB,SAApB;EACE,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,oBAAC,OAAD;GAAK,WAAW,GAAG,0DAA0D,SAAS;GACnF;EACE,CAAA;CACqB,CAAA;AAEhC"}
@@ -4,8 +4,8 @@ let react_jsx_runtime = require("react/jsx-runtime");
4
4
  //#region src/primitives/Alert/Alert.tsx
5
5
  const alertVariants = (0, require("class-variance-authority").cva)(require_cn.cn("relative flex w-full items-start gap-3 rounded-lg border px-4 py-3 text-sm", "[&>svg]:order-1 [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:translate-y-0.5 [&>svg]:text-current", "data-[flip-icon=true]:[&>svg]:order-3"), {
6
6
  variants: { variant: {
7
- default: "bg-card text-card-foreground",
8
- destructive: "text-destructive bg-card [&_[data-slot=alert-description]]:text-destructive/90"
7
+ default: "bg-card text-foreground",
8
+ destructive: "text-destructive-foreground bg-card [&_[data-slot=alert-description]]:text-destructive-foreground"
9
9
  } },
10
10
  defaultVariants: { variant: "default" }
11
11
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["cn"],"sources":["../../../src/primitives/Alert/Alert.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../utils\";\n\nconst alertVariants = cva(\n cn(\n \"relative flex w-full items-start gap-3 rounded-lg border px-4 py-3 text-sm\",\n \"[&>svg]:order-1 [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n // `flipIcon` moves the icon to the trailing edge (Figma \"Flip Icon\").\n \"data-[flip-icon=true]:[&>svg]:order-3\",\n ),\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card [&_[data-slot=alert-description]]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\n/** Callout banner for surfacing contextual messages, statuses, and errors. */\nfunction Alert({\n className,\n variant,\n flipIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> &\n VariantProps<typeof alertVariants> & {\n /** Visual tone of the alert. */\n variant?: VariantProps<typeof alertVariants>[\"variant\"];\n /** Moves the leading icon to the trailing edge (Figma \"Flip Icon\"). */\n flipIcon?: boolean;\n }) {\n return (\n <div\n data-slot=\"alert\"\n data-flip-icon={flipIcon}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\n/** Wraps the title + description so the icon and action can sit beside them. */\nfunction AlertContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-content\"\n className={cn(\"order-2 flex min-w-0 flex-1 flex-col gap-0.5\", className)}\n {...props}\n />\n );\n}\n\n/** Primary heading line of the alert. */\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"h5\">) {\n return (\n <h5\n data-slot=\"alert-title\"\n className={cn(\"min-h-4 font-medium tracking-tight\", className)}\n {...props}\n />\n );\n}\n\n/** Secondary supporting text shown beneath the title. */\nfunction AlertDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\"text-muted-foreground text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n );\n}\n\n/** Trailing action slot (Figma \"Show Button\"); always sits at the trailing edge. */\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-action\"\n className={cn(\"order-4 flex shrink-0 items-center self-center\", className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertContent, AlertAction };\n"],"mappings":";;;;AAKA,MAAM,iBAAA,qCAAA,EAAA,KACJA,WAAAA,GACE,8EACA,gGAEA,uCACF,GACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;CACJ,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;;AAGA,SAAS,MAAM,EACb,WACA,SACA,WAAW,OACX,GAAG,SAOA;CACH,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,kBAAgB;EAChB,MAAK;EACL,WAAWA,WAAAA,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;EACnD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;CAC1E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,gDAAgD,SAAS;EACvE,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAqC;CACvE,OACE,iBAAA,GAAA,kBAAA,KAAC,MAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,sCAAsC,SAAS;EAC7D,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,uDAAuD,SAAS;EAC9E,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,kDAAkD,SAAS;EACzE,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"index.cjs","names":["cn"],"sources":["../../../src/primitives/Alert/Alert.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../utils\";\n\nconst alertVariants = cva(\n cn(\n \"relative flex w-full items-start gap-3 rounded-lg border px-4 py-3 text-sm\",\n \"[&>svg]:order-1 [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n // `flipIcon` moves the icon to the trailing edge (Figma \"Flip Icon\").\n \"data-[flip-icon=true]:[&>svg]:order-3\",\n ),\n {\n variants: {\n variant: {\n default: \"bg-card text-foreground\",\n destructive:\n \"text-destructive-foreground bg-card [&_[data-slot=alert-description]]:text-destructive-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\n/** Callout banner for surfacing contextual messages, statuses, and errors. */\nfunction Alert({\n className,\n variant,\n flipIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> &\n VariantProps<typeof alertVariants> & {\n /** Visual tone of the alert. */\n variant?: VariantProps<typeof alertVariants>[\"variant\"];\n /** Moves the leading icon to the trailing edge (Figma \"Flip Icon\"). */\n flipIcon?: boolean;\n }) {\n return (\n <div\n data-slot=\"alert\"\n data-flip-icon={flipIcon}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\n/** Wraps the title + description so the icon and action can sit beside them. */\nfunction AlertContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-content\"\n className={cn(\"order-2 flex min-w-0 flex-1 flex-col gap-0.5\", className)}\n {...props}\n />\n );\n}\n\n/** Primary heading line of the alert. */\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"h5\">) {\n return (\n <h5\n data-slot=\"alert-title\"\n className={cn(\"min-h-4 font-medium tracking-tight\", className)}\n {...props}\n />\n );\n}\n\n/** Secondary supporting text shown beneath the title. */\nfunction AlertDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\"text-muted-foreground text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n );\n}\n\n/** Trailing action slot (Figma \"Show Button\"); always sits at the trailing edge. */\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-action\"\n className={cn(\"order-4 flex shrink-0 items-center self-center\", className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertContent, AlertAction };\n"],"mappings":";;;;AAKA,MAAM,iBAAA,qCAAA,EAAA,KACJA,WAAAA,GACE,8EACA,gGAEA,uCACF,GACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;CACJ,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;;AAGA,SAAS,MAAM,EACb,WACA,SACA,WAAW,OACX,GAAG,SAOA;CACH,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,kBAAgB;EAChB,MAAK;EACL,WAAWA,WAAAA,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;EACnD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;CAC1E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,gDAAgD,SAAS;EACvE,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAqC;CACvE,OACE,iBAAA,GAAA,kBAAA,KAAC,MAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,sCAAsC,SAAS;EAC7D,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,uDAAuD,SAAS;EAC9E,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,kDAAkD,SAAS;EACzE,GAAI;CACL,CAAA;AAEL"}
@@ -4,8 +4,8 @@ import { cva } from "class-variance-authority";
4
4
  //#region src/primitives/Alert/Alert.tsx
5
5
  const alertVariants = cva(cn("relative flex w-full items-start gap-3 rounded-lg border px-4 py-3 text-sm", "[&>svg]:order-1 [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:translate-y-0.5 [&>svg]:text-current", "data-[flip-icon=true]:[&>svg]:order-3"), {
6
6
  variants: { variant: {
7
- default: "bg-card text-card-foreground",
8
- destructive: "text-destructive bg-card [&_[data-slot=alert-description]]:text-destructive/90"
7
+ default: "bg-card text-foreground",
8
+ destructive: "text-destructive-foreground bg-card [&_[data-slot=alert-description]]:text-destructive-foreground"
9
9
  } },
10
10
  defaultVariants: { variant: "default" }
11
11
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/primitives/Alert/Alert.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../utils\";\n\nconst alertVariants = cva(\n cn(\n \"relative flex w-full items-start gap-3 rounded-lg border px-4 py-3 text-sm\",\n \"[&>svg]:order-1 [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n // `flipIcon` moves the icon to the trailing edge (Figma \"Flip Icon\").\n \"data-[flip-icon=true]:[&>svg]:order-3\",\n ),\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card [&_[data-slot=alert-description]]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\n/** Callout banner for surfacing contextual messages, statuses, and errors. */\nfunction Alert({\n className,\n variant,\n flipIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> &\n VariantProps<typeof alertVariants> & {\n /** Visual tone of the alert. */\n variant?: VariantProps<typeof alertVariants>[\"variant\"];\n /** Moves the leading icon to the trailing edge (Figma \"Flip Icon\"). */\n flipIcon?: boolean;\n }) {\n return (\n <div\n data-slot=\"alert\"\n data-flip-icon={flipIcon}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\n/** Wraps the title + description so the icon and action can sit beside them. */\nfunction AlertContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-content\"\n className={cn(\"order-2 flex min-w-0 flex-1 flex-col gap-0.5\", className)}\n {...props}\n />\n );\n}\n\n/** Primary heading line of the alert. */\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"h5\">) {\n return (\n <h5\n data-slot=\"alert-title\"\n className={cn(\"min-h-4 font-medium tracking-tight\", className)}\n {...props}\n />\n );\n}\n\n/** Secondary supporting text shown beneath the title. */\nfunction AlertDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\"text-muted-foreground text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n );\n}\n\n/** Trailing action slot (Figma \"Show Button\"); always sits at the trailing edge. */\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-action\"\n className={cn(\"order-4 flex shrink-0 items-center self-center\", className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertContent, AlertAction };\n"],"mappings":";;;;AAKA,MAAM,gBAAgB,IACpB,GACE,8EACA,gGAEA,uCACF,GACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;CACJ,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;;AAGA,SAAS,MAAM,EACb,WACA,SACA,WAAW,OACX,GAAG,SAOA;CACH,OACE,oBAAC,OAAD;EACE,aAAU;EACV,kBAAgB;EAChB,MAAK;EACL,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;EACnD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;CAC1E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,gDAAgD,SAAS;EACvE,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAqC;CACvE,OACE,oBAAC,MAAD;EACE,aAAU;EACV,WAAW,GAAG,sCAAsC,SAAS;EAC7D,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,uDAAuD,SAAS;EAC9E,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,kDAAkD,SAAS;EACzE,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/primitives/Alert/Alert.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../utils\";\n\nconst alertVariants = cva(\n cn(\n \"relative flex w-full items-start gap-3 rounded-lg border px-4 py-3 text-sm\",\n \"[&>svg]:order-1 [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n // `flipIcon` moves the icon to the trailing edge (Figma \"Flip Icon\").\n \"data-[flip-icon=true]:[&>svg]:order-3\",\n ),\n {\n variants: {\n variant: {\n default: \"bg-card text-foreground\",\n destructive:\n \"text-destructive-foreground bg-card [&_[data-slot=alert-description]]:text-destructive-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\n/** Callout banner for surfacing contextual messages, statuses, and errors. */\nfunction Alert({\n className,\n variant,\n flipIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> &\n VariantProps<typeof alertVariants> & {\n /** Visual tone of the alert. */\n variant?: VariantProps<typeof alertVariants>[\"variant\"];\n /** Moves the leading icon to the trailing edge (Figma \"Flip Icon\"). */\n flipIcon?: boolean;\n }) {\n return (\n <div\n data-slot=\"alert\"\n data-flip-icon={flipIcon}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\n/** Wraps the title + description so the icon and action can sit beside them. */\nfunction AlertContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-content\"\n className={cn(\"order-2 flex min-w-0 flex-1 flex-col gap-0.5\", className)}\n {...props}\n />\n );\n}\n\n/** Primary heading line of the alert. */\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"h5\">) {\n return (\n <h5\n data-slot=\"alert-title\"\n className={cn(\"min-h-4 font-medium tracking-tight\", className)}\n {...props}\n />\n );\n}\n\n/** Secondary supporting text shown beneath the title. */\nfunction AlertDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\"text-muted-foreground text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n );\n}\n\n/** Trailing action slot (Figma \"Show Button\"); always sits at the trailing edge. */\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-action\"\n className={cn(\"order-4 flex shrink-0 items-center self-center\", className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertContent, AlertAction };\n"],"mappings":";;;;AAKA,MAAM,gBAAgB,IACpB,GACE,8EACA,gGAEA,uCACF,GACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;CACJ,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;;AAGA,SAAS,MAAM,EACb,WACA,SACA,WAAW,OACX,GAAG,SAOA;CACH,OACE,oBAAC,OAAD;EACE,aAAU;EACV,kBAAgB;EAChB,MAAK;EACL,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;EACnD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;CAC1E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,gDAAgD,SAAS;EACvE,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAqC;CACvE,OACE,oBAAC,MAAD;EACE,aAAU;EACV,WAAW,GAAG,sCAAsC,SAAS;EAC7D,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,uDAAuD,SAAS;EAC9E,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,kDAAkD,SAAS;EACzE,GAAI;CACL,CAAA;AAEL"}
@@ -34,7 +34,7 @@ function AlertDialogContent({ className, size = "default", ...props }) {
34
34
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(AlertDialogPortal, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(AlertDialogOverlay, {}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.AlertDialog.Content, {
35
35
  "data-slot": "alert-dialog-content",
36
36
  "data-size": size,
37
- className: require_cn.cn("group/alert-dialog-content bg-background fixed top-[50%] left-[50%] z-50 flex w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] flex-col gap-4 rounded-lg border p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[size=default]:sm:max-w-sm data-[size=large]:sm:max-w-lg", className),
37
+ className: require_cn.cn("group/alert-dialog-content bg-background fixed top-[50%] left-[50%] z-50 flex w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] flex-col gap-4 rounded-2xl border p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[size=default]:sm:max-w-sm data-[size=large]:sm:max-w-lg", className),
38
38
  ...props
39
39
  })] });
40
40
  }
@@ -55,7 +55,7 @@ function AlertDialogFooter({ className, ...props }) {
55
55
  function AlertDialogTitle({ className, ...props }) {
56
56
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.AlertDialog.Title, {
57
57
  "data-slot": "alert-dialog-title",
58
- className: require_cn.cn("text-lg font-semibold", className),
58
+ className: require_cn.cn("font-heading text-[length:var(--heading-4-font-size)] leading-[var(--heading-4-line-height)] font-normal", className),
59
59
  ...props
60
60
  });
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["AlertDialogPrimitive","cn","buttonVariants"],"sources":["../../../src/primitives/AlertDialog/AlertDialog.tsx"],"sourcesContent":["import { AlertDialog as AlertDialogPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { buttonVariants } from \"../Button\";\n\n/** A modal confirmation dialog that interrupts the user and expects a deliberate response. */\nfunction AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />;\n}\n\nfunction AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />;\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-[var(--overlay)]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n /** Layout preset: `default` is compact + centered, `large` is wide + left-aligned. */\n size?: \"default\" | \"large\";\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"group/alert-dialog-content bg-background fixed top-[50%] left-[50%] z-50 flex w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] flex-col gap-4 rounded-lg border p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n // Width by size: default = compact / centered, large = wide / left-aligned.\n \"data-[size=default]:sm:max-w-sm data-[size=large]:sm:max-w-lg\",\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"flex flex-col gap-2\",\n \"group-data-[size=default]/alert-dialog-content:items-center group-data-[size=default]/alert-dialog-content:text-center\",\n \"group-data-[size=large]/alert-dialog-content:text-left\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex gap-2\",\n // default: buttons share the width side-by-side; large: trailing-aligned.\n \"group-data-[size=default]/alert-dialog-content:flex-row group-data-[size=default]/alert-dialog-content:[&>*]:flex-1\",\n \"group-data-[size=large]/alert-dialog-content:flex-row group-data-[size=large]/alert-dialog-content:justify-end\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\n// Small icon slot — centered for the default size, leading for large.\nfunction AlertDialogMedia({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"flex items-center [&>svg]:size-5\",\n \"group-data-[size=default]/alert-dialog-content:justify-center\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action> & {\n /** Button style for the confirming action; use `destructive` for irreversible actions. */\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: \"outline\" }), className)}\n {...props}\n />\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n"],"mappings":";;;;;;;AAOA,SAAS,YAAY,EAAE,GAAG,SAAiE;CACzF,OAAO,iBAAA,GAAA,kBAAA,KAACA,SAAAA,YAAqB,MAAtB;EAA2B,aAAU;EAAe,GAAI;CAAQ,CAAA;AACzE;AAEA,SAAS,mBAAmB,EAC1B,GAAG,SACyD;CAC5D,OAAO,iBAAA,GAAA,kBAAA,KAACA,SAAAA,YAAqB,SAAtB;EAA8B,aAAU;EAAuB,GAAI;CAAQ,CAAA;AACpF;AAEA,SAAS,kBAAkB,EAAE,GAAG,SAAmE;CACjG,OAAO,iBAAA,GAAA,kBAAA,KAACA,SAAAA,YAAqB,QAAtB;EAA6B,aAAU;EAAsB,GAAI;CAAQ,CAAA;AAClF;AAEA,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;CAC5D,OACE,iBAAA,GAAA,kBAAA,KAACA,SAAAA,YAAqB,SAAtB;EACE,aAAU;EACV,WAAWC,WAAAA,GACT,kKACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,mBAAmB,EAC1B,WACA,OAAO,WACP,GAAG,SAIF;CACD,OACE,iBAAA,GAAA,kBAAA,MAAC,mBAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAC,oBAAD,CAAqB,CAAA,GACrB,iBAAA,GAAA,kBAAA,KAACD,SAAAA,YAAqB,SAAtB;EACE,aAAU;EACV,aAAW;EACX,WAAWC,WAAAA,GACT,uYAEA,iEACA,SACF;EACA,GAAI;CACL,CAAA,CACgB,EAAA,CAAA;AAEvB;AAEA,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAsC;CAC/E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,uBACA,0HACA,0DACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAsC;CAC/E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,cAEA,uHACA,kHACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;CAC1D,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,YAAqB,OAAtB;EACE,aAAU;EACV,WAAWC,WAAAA,GAAG,yBAAyB,SAAS;EAChD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;CAChE,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,YAAqB,aAAtB;EACE,aAAU;EACV,WAAWC,WAAAA,GAAG,iCAAiC,SAAS;EACxD,GAAI;CACL,CAAA;AAEL;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,oCACA,iEACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EACzB,WACA,UAAU,WACV,GAAG,SAIF;CACD,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,YAAqB,QAAtB;EACE,WAAWC,WAAAA,GAAGC,gCAAAA,eAAe,EAAE,QAAQ,CAAC,GAAG,SAAS;EACpD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;CAC3D,OACE,iBAAA,GAAA,kBAAA,KAACF,SAAAA,YAAqB,QAAtB;EACE,WAAWC,WAAAA,GAAGC,gCAAAA,eAAe,EAAE,SAAS,UAAU,CAAC,GAAG,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"index.cjs","names":["AlertDialogPrimitive","cn","buttonVariants"],"sources":["../../../src/primitives/AlertDialog/AlertDialog.tsx"],"sourcesContent":["import { AlertDialog as AlertDialogPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { buttonVariants } from \"../Button\";\n\n/** A modal confirmation dialog that interrupts the user and expects a deliberate response. */\nfunction AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />;\n}\n\nfunction AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />;\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-[var(--overlay)]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n /** Layout preset: `default` is compact + centered, `large` is wide + left-aligned. */\n size?: \"default\" | \"large\";\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"group/alert-dialog-content bg-background fixed top-[50%] left-[50%] z-50 flex w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] flex-col gap-4 rounded-2xl border p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n // Width by size: default = compact / centered, large = wide / left-aligned.\n \"data-[size=default]:sm:max-w-sm data-[size=large]:sm:max-w-lg\",\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"flex flex-col gap-2\",\n \"group-data-[size=default]/alert-dialog-content:items-center group-data-[size=default]/alert-dialog-content:text-center\",\n \"group-data-[size=large]/alert-dialog-content:text-left\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex gap-2\",\n // default: buttons share the width side-by-side; large: trailing-aligned.\n \"group-data-[size=default]/alert-dialog-content:flex-row group-data-[size=default]/alert-dialog-content:[&>*]:flex-1\",\n \"group-data-[size=large]/alert-dialog-content:flex-row group-data-[size=large]/alert-dialog-content:justify-end\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n \"font-heading text-[length:var(--heading-4-font-size)] leading-[var(--heading-4-line-height)] font-normal\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\n// Small icon slot — centered for the default size, leading for large.\nfunction AlertDialogMedia({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"flex items-center [&>svg]:size-5\",\n \"group-data-[size=default]/alert-dialog-content:justify-center\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action> & {\n /** Button style for the confirming action; use `destructive` for irreversible actions. */\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: \"outline\" }), className)}\n {...props}\n />\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n"],"mappings":";;;;;;;AAOA,SAAS,YAAY,EAAE,GAAG,SAAiE;CACzF,OAAO,iBAAA,GAAA,kBAAA,KAACA,SAAAA,YAAqB,MAAtB;EAA2B,aAAU;EAAe,GAAI;CAAQ,CAAA;AACzE;AAEA,SAAS,mBAAmB,EAC1B,GAAG,SACyD;CAC5D,OAAO,iBAAA,GAAA,kBAAA,KAACA,SAAAA,YAAqB,SAAtB;EAA8B,aAAU;EAAuB,GAAI;CAAQ,CAAA;AACpF;AAEA,SAAS,kBAAkB,EAAE,GAAG,SAAmE;CACjG,OAAO,iBAAA,GAAA,kBAAA,KAACA,SAAAA,YAAqB,QAAtB;EAA6B,aAAU;EAAsB,GAAI;CAAQ,CAAA;AAClF;AAEA,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;CAC5D,OACE,iBAAA,GAAA,kBAAA,KAACA,SAAAA,YAAqB,SAAtB;EACE,aAAU;EACV,WAAWC,WAAAA,GACT,kKACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,mBAAmB,EAC1B,WACA,OAAO,WACP,GAAG,SAIF;CACD,OACE,iBAAA,GAAA,kBAAA,MAAC,mBAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAC,oBAAD,CAAqB,CAAA,GACrB,iBAAA,GAAA,kBAAA,KAACD,SAAAA,YAAqB,SAAtB;EACE,aAAU;EACV,aAAW;EACX,WAAWC,WAAAA,GACT,wYAEA,iEACA,SACF;EACA,GAAI;CACL,CAAA,CACgB,EAAA,CAAA;AAEvB;AAEA,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAsC;CAC/E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,uBACA,0HACA,0DACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAsC;CAC/E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,cAEA,uHACA,kHACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;CAC1D,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,YAAqB,OAAtB;EACE,aAAU;EACV,WAAWC,WAAAA,GACT,4GACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;CAChE,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,YAAqB,aAAtB;EACE,aAAU;EACV,WAAWC,WAAAA,GAAG,iCAAiC,SAAS;EACxD,GAAI;CACL,CAAA;AAEL;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,oCACA,iEACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EACzB,WACA,UAAU,WACV,GAAG,SAIF;CACD,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,YAAqB,QAAtB;EACE,WAAWC,WAAAA,GAAGC,gCAAAA,eAAe,EAAE,QAAQ,CAAC,GAAG,SAAS;EACpD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;CAC3D,OACE,iBAAA,GAAA,kBAAA,KAACF,SAAAA,YAAqB,QAAtB;EACE,WAAWC,WAAAA,GAAGC,gCAAAA,eAAe,EAAE,SAAS,UAAU,CAAC,GAAG,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL"}
@@ -33,7 +33,7 @@ function AlertDialogContent({ className, size = "default", ...props }) {
33
33
  return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [/* @__PURE__ */ jsx(AlertDialogOverlay, {}), /* @__PURE__ */ jsx(AlertDialog$1.Content, {
34
34
  "data-slot": "alert-dialog-content",
35
35
  "data-size": size,
36
- className: cn("group/alert-dialog-content bg-background fixed top-[50%] left-[50%] z-50 flex w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] flex-col gap-4 rounded-lg border p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[size=default]:sm:max-w-sm data-[size=large]:sm:max-w-lg", className),
36
+ className: cn("group/alert-dialog-content bg-background fixed top-[50%] left-[50%] z-50 flex w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] flex-col gap-4 rounded-2xl border p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[size=default]:sm:max-w-sm data-[size=large]:sm:max-w-lg", className),
37
37
  ...props
38
38
  })] });
39
39
  }
@@ -54,7 +54,7 @@ function AlertDialogFooter({ className, ...props }) {
54
54
  function AlertDialogTitle({ className, ...props }) {
55
55
  return /* @__PURE__ */ jsx(AlertDialog$1.Title, {
56
56
  "data-slot": "alert-dialog-title",
57
- className: cn("text-lg font-semibold", className),
57
+ className: cn("font-heading text-[length:var(--heading-4-font-size)] leading-[var(--heading-4-line-height)] font-normal", className),
58
58
  ...props
59
59
  });
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AlertDialogPrimitive"],"sources":["../../../src/primitives/AlertDialog/AlertDialog.tsx"],"sourcesContent":["import { AlertDialog as AlertDialogPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { buttonVariants } from \"../Button\";\n\n/** A modal confirmation dialog that interrupts the user and expects a deliberate response. */\nfunction AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />;\n}\n\nfunction AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />;\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-[var(--overlay)]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n /** Layout preset: `default` is compact + centered, `large` is wide + left-aligned. */\n size?: \"default\" | \"large\";\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"group/alert-dialog-content bg-background fixed top-[50%] left-[50%] z-50 flex w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] flex-col gap-4 rounded-lg border p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n // Width by size: default = compact / centered, large = wide / left-aligned.\n \"data-[size=default]:sm:max-w-sm data-[size=large]:sm:max-w-lg\",\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"flex flex-col gap-2\",\n \"group-data-[size=default]/alert-dialog-content:items-center group-data-[size=default]/alert-dialog-content:text-center\",\n \"group-data-[size=large]/alert-dialog-content:text-left\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex gap-2\",\n // default: buttons share the width side-by-side; large: trailing-aligned.\n \"group-data-[size=default]/alert-dialog-content:flex-row group-data-[size=default]/alert-dialog-content:[&>*]:flex-1\",\n \"group-data-[size=large]/alert-dialog-content:flex-row group-data-[size=large]/alert-dialog-content:justify-end\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\n// Small icon slot — centered for the default size, leading for large.\nfunction AlertDialogMedia({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"flex items-center [&>svg]:size-5\",\n \"group-data-[size=default]/alert-dialog-content:justify-center\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action> & {\n /** Button style for the confirming action; use `destructive` for irreversible actions. */\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: \"outline\" }), className)}\n {...props}\n />\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n"],"mappings":";;;;;;AAOA,SAAS,YAAY,EAAE,GAAG,SAAiE;CACzF,OAAO,oBAACA,cAAqB,MAAtB;EAA2B,aAAU;EAAe,GAAI;CAAQ,CAAA;AACzE;AAEA,SAAS,mBAAmB,EAC1B,GAAG,SACyD;CAC5D,OAAO,oBAACA,cAAqB,SAAtB;EAA8B,aAAU;EAAuB,GAAI;CAAQ,CAAA;AACpF;AAEA,SAAS,kBAAkB,EAAE,GAAG,SAAmE;CACjG,OAAO,oBAACA,cAAqB,QAAtB;EAA6B,aAAU;EAAsB,GAAI;CAAQ,CAAA;AAClF;AAEA,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;CAC5D,OACE,oBAACA,cAAqB,SAAtB;EACE,aAAU;EACV,WAAW,GACT,kKACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,mBAAmB,EAC1B,WACA,OAAO,WACP,GAAG,SAIF;CACD,OACE,qBAAC,mBAAD,EAAA,UAAA,CACE,oBAAC,oBAAD,CAAqB,CAAA,GACrB,oBAACA,cAAqB,SAAtB;EACE,aAAU;EACV,aAAW;EACX,WAAW,GACT,uYAEA,iEACA,SACF;EACA,GAAI;CACL,CAAA,CACgB,EAAA,CAAA;AAEvB;AAEA,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAsC;CAC/E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,uBACA,0HACA,0DACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAsC;CAC/E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,cAEA,uHACA,kHACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;CAC1D,OACE,oBAACA,cAAqB,OAAtB;EACE,aAAU;EACV,WAAW,GAAG,yBAAyB,SAAS;EAChD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;CAChE,OACE,oBAACA,cAAqB,aAAtB;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,SAAS;EACxD,GAAI;CACL,CAAA;AAEL;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,oCACA,iEACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EACzB,WACA,UAAU,WACV,GAAG,SAIF;CACD,OACE,oBAACA,cAAqB,QAAtB;EACE,WAAW,GAAG,eAAe,EAAE,QAAQ,CAAC,GAAG,SAAS;EACpD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;CAC3D,OACE,oBAACA,cAAqB,QAAtB;EACE,WAAW,GAAG,eAAe,EAAE,SAAS,UAAU,CAAC,GAAG,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"index.js","names":["AlertDialogPrimitive"],"sources":["../../../src/primitives/AlertDialog/AlertDialog.tsx"],"sourcesContent":["import { AlertDialog as AlertDialogPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { buttonVariants } from \"../Button\";\n\n/** A modal confirmation dialog that interrupts the user and expects a deliberate response. */\nfunction AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />;\n}\n\nfunction AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />;\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-[var(--overlay)]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n /** Layout preset: `default` is compact + centered, `large` is wide + left-aligned. */\n size?: \"default\" | \"large\";\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"group/alert-dialog-content bg-background fixed top-[50%] left-[50%] z-50 flex w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] flex-col gap-4 rounded-2xl border p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n // Width by size: default = compact / centered, large = wide / left-aligned.\n \"data-[size=default]:sm:max-w-sm data-[size=large]:sm:max-w-lg\",\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"flex flex-col gap-2\",\n \"group-data-[size=default]/alert-dialog-content:items-center group-data-[size=default]/alert-dialog-content:text-center\",\n \"group-data-[size=large]/alert-dialog-content:text-left\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex gap-2\",\n // default: buttons share the width side-by-side; large: trailing-aligned.\n \"group-data-[size=default]/alert-dialog-content:flex-row group-data-[size=default]/alert-dialog-content:[&>*]:flex-1\",\n \"group-data-[size=large]/alert-dialog-content:flex-row group-data-[size=large]/alert-dialog-content:justify-end\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n \"font-heading text-[length:var(--heading-4-font-size)] leading-[var(--heading-4-line-height)] font-normal\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\n// Small icon slot — centered for the default size, leading for large.\nfunction AlertDialogMedia({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"flex items-center [&>svg]:size-5\",\n \"group-data-[size=default]/alert-dialog-content:justify-center\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action> & {\n /** Button style for the confirming action; use `destructive` for irreversible actions. */\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: \"outline\" }), className)}\n {...props}\n />\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n"],"mappings":";;;;;;AAOA,SAAS,YAAY,EAAE,GAAG,SAAiE;CACzF,OAAO,oBAACA,cAAqB,MAAtB;EAA2B,aAAU;EAAe,GAAI;CAAQ,CAAA;AACzE;AAEA,SAAS,mBAAmB,EAC1B,GAAG,SACyD;CAC5D,OAAO,oBAACA,cAAqB,SAAtB;EAA8B,aAAU;EAAuB,GAAI;CAAQ,CAAA;AACpF;AAEA,SAAS,kBAAkB,EAAE,GAAG,SAAmE;CACjG,OAAO,oBAACA,cAAqB,QAAtB;EAA6B,aAAU;EAAsB,GAAI;CAAQ,CAAA;AAClF;AAEA,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;CAC5D,OACE,oBAACA,cAAqB,SAAtB;EACE,aAAU;EACV,WAAW,GACT,kKACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,mBAAmB,EAC1B,WACA,OAAO,WACP,GAAG,SAIF;CACD,OACE,qBAAC,mBAAD,EAAA,UAAA,CACE,oBAAC,oBAAD,CAAqB,CAAA,GACrB,oBAACA,cAAqB,SAAtB;EACE,aAAU;EACV,aAAW;EACX,WAAW,GACT,wYAEA,iEACA,SACF;EACA,GAAI;CACL,CAAA,CACgB,EAAA,CAAA;AAEvB;AAEA,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAsC;CAC/E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,uBACA,0HACA,0DACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAsC;CAC/E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,cAEA,uHACA,kHACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;CAC1D,OACE,oBAACA,cAAqB,OAAtB;EACE,aAAU;EACV,WAAW,GACT,4GACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;CAChE,OACE,oBAACA,cAAqB,aAAtB;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,SAAS;EACxD,GAAI;CACL,CAAA;AAEL;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,oCACA,iEACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EACzB,WACA,UAAU,WACV,GAAG,SAIF;CACD,OACE,oBAACA,cAAqB,QAAtB;EACE,WAAW,GAAG,eAAe,EAAE,QAAQ,CAAC,GAAG,SAAS;EACpD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;CAC3D,OACE,oBAACA,cAAqB,QAAtB;EACE,WAAW,GAAG,eAAe,EAAE,SAAS,UAAU,CAAC,GAAG,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL"}
@@ -9,7 +9,7 @@ function Avatar({ className, size = "default", shape = "round", ...props }) {
9
9
  "data-slot": "avatar",
10
10
  "data-size": size,
11
11
  "data-shape": shape,
12
- className: require_cn.cn("group/avatar relative flex size-10 shrink-0 overflow-hidden rounded-full select-none", "data-[size=sm]:size-8 data-[size=xs]:size-6 data-[size=xxs]:size-5", "data-[shape=roundrect]:rounded-lg", className),
12
+ className: require_cn.cn("group/avatar relative flex size-10 shrink-0 overflow-hidden rounded-full select-none", "data-[size=sm]:size-8 data-[size=xs]:size-6 data-[size=xxs]:size-5", "data-[shape=roundrect]:data-[size=default]:rounded-10 data-[shape=roundrect]:data-[size=sm]:rounded-10 data-[shape=roundrect]:data-[size=xs]:rounded-md data-[shape=roundrect]:data-[size=xxs]:rounded-sm", className),
13
13
  ...props
14
14
  });
15
15
  }
@@ -25,7 +25,7 @@ function AvatarImage({ className, ...props }) {
25
25
  function AvatarFallback({ className, ...props }) {
26
26
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Avatar.Fallback, {
27
27
  "data-slot": "avatar-fallback",
28
- className: require_cn.cn("bg-muted flex size-full items-center justify-center rounded-full", "group-data-[shape=roundrect]/avatar:rounded-lg", "group-data-[size=sm]/avatar:text-sm group-data-[size=xs]/avatar:text-xs group-data-[size=xxs]/avatar:text-[10px]", className),
28
+ className: require_cn.cn("bg-accent flex size-full items-center justify-center rounded-full", "group-[[data-shape=roundrect][data-size=default]]/avatar:rounded-10 group-[[data-shape=roundrect][data-size=sm]]/avatar:rounded-10 group-[[data-shape=roundrect][data-size=xs]]/avatar:rounded-md group-[[data-shape=roundrect][data-size=xxs]]/avatar:rounded-sm", "group-data-[size=sm]/avatar:text-sm group-data-[size=xs]/avatar:text-xs group-data-[size=xxs]/avatar:text-[10px]", className),
29
29
  ...props
30
30
  });
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["AvatarPrimitive","cn"],"sources":["../../../src/primitives/Avatar/Avatar.tsx"],"sourcesContent":["import { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\n/** Root avatar container — sizes/shapes the image+fallback and exposes data attrs for descendants. */\nfunction Avatar({\n className,\n size = \"default\",\n shape = \"round\",\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & {\n /** Pixel footprint of the avatar. */\n size?: \"default\" | \"sm\" | \"xs\" | \"xxs\";\n /** Corner treatment: a circle (`round`) or a rounded square (`roundrect`). */\n shape?: \"round\" | \"roundrect\";\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n data-shape={shape}\n className={cn(\n \"group/avatar relative flex size-10 shrink-0 overflow-hidden rounded-full select-none\",\n \"data-[size=sm]:size-8 data-[size=xs]:size-6 data-[size=xxs]:size-5\",\n \"data-[shape=roundrect]:rounded-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** The avatar photo; falls back to `AvatarFallback` when the source fails to load. */\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\n/** Placeholder (typically initials) rendered when no image is available. */\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"bg-muted flex size-full items-center justify-center rounded-full\",\n \"group-data-[shape=roundrect]/avatar:rounded-lg\",\n \"group-data-[size=sm]/avatar:text-sm group-data-[size=xs]/avatar:text-xs group-data-[size=xxs]/avatar:text-[10px]\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Small status indicator (e.g. presence dot) anchored to the avatar's bottom-right corner. */\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none\",\n \"group-data-[size=default]/avatar:size-3 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=sm]/avatar:size-2.5 group-data-[size=sm]/avatar:[&>svg]:size-2\",\n \"group-data-[size=xs]/avatar:size-2 group-data-[size=xs]/avatar:[&>svg]:size-1.5\",\n \"group-data-[size=xxs]/avatar:size-1.5 group-data-[size=xxs]/avatar:[&>svg]:size-1\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Wrapper that overlaps a row of avatars into a stacked cluster. */\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Trailing chip in an `AvatarGroup` showing the overflow count (e.g. `+3`). */\nfunction AvatarGroupCount({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n \"relative flex size-10 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=sm]/avatar-group:size-8 [&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback, AvatarBadge, AvatarGroup, AvatarGroupCount };\n"],"mappings":";;;;;;AAMA,SAAS,OAAO,EACd,WACA,OAAO,WACP,QAAQ,SACR,GAAG,SAMF;CACD,OACE,iBAAA,GAAA,kBAAA,KAACA,SAAAA,OAAgB,MAAjB;EACE,aAAU;EACV,aAAW;EACX,cAAY;EACZ,WAAWC,WAAAA,GACT,wFACA,sEACA,qCACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;CAChG,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,OAAgB,OAAjB;EACE,aAAU;EACV,WAAWC,WAAAA,GAAG,2BAA2B,SAAS;EAClD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;CACxD,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,OAAgB,UAAjB;EACE,aAAU;EACV,WAAWC,WAAAA,GACT,oEACA,kDACA,oHACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAuC;CAC1E,OACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,6JACA,2FACA,mFACA,mFACA,qFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,uGACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,0PACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"index.cjs","names":["AvatarPrimitive","cn"],"sources":["../../../src/primitives/Avatar/Avatar.tsx"],"sourcesContent":["import { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\n/** Root avatar container — sizes/shapes the image+fallback and exposes data attrs for descendants. */\nfunction Avatar({\n className,\n size = \"default\",\n shape = \"round\",\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & {\n /** Pixel footprint of the avatar. */\n size?: \"default\" | \"sm\" | \"xs\" | \"xxs\";\n /** Corner treatment: a circle (`round`) or a rounded square (`roundrect`). */\n shape?: \"round\" | \"roundrect\";\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n data-shape={shape}\n className={cn(\n \"group/avatar relative flex size-10 shrink-0 overflow-hidden rounded-full select-none\",\n \"data-[size=sm]:size-8 data-[size=xs]:size-6 data-[size=xxs]:size-5\",\n // Roundrect corner radius per size (Figma): default/sm 10px (--radius), xs 6px, xxs 4px.\n \"data-[shape=roundrect]:data-[size=default]:rounded-10 data-[shape=roundrect]:data-[size=sm]:rounded-10 data-[shape=roundrect]:data-[size=xs]:rounded-md data-[shape=roundrect]:data-[size=xxs]:rounded-sm\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** The avatar photo; falls back to `AvatarFallback` when the source fails to load. */\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\n/** Placeholder (typically initials) rendered when no image is available. */\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"bg-accent flex size-full items-center justify-center rounded-full\",\n \"group-[[data-shape=roundrect][data-size=default]]/avatar:rounded-10 group-[[data-shape=roundrect][data-size=sm]]/avatar:rounded-10 group-[[data-shape=roundrect][data-size=xs]]/avatar:rounded-md group-[[data-shape=roundrect][data-size=xxs]]/avatar:rounded-sm\",\n \"group-data-[size=sm]/avatar:text-sm group-data-[size=xs]/avatar:text-xs group-data-[size=xxs]/avatar:text-[10px]\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Small status indicator (e.g. presence dot) anchored to the avatar's bottom-right corner. */\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none\",\n \"group-data-[size=default]/avatar:size-3 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=sm]/avatar:size-2.5 group-data-[size=sm]/avatar:[&>svg]:size-2\",\n \"group-data-[size=xs]/avatar:size-2 group-data-[size=xs]/avatar:[&>svg]:size-1.5\",\n \"group-data-[size=xxs]/avatar:size-1.5 group-data-[size=xxs]/avatar:[&>svg]:size-1\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Wrapper that overlaps a row of avatars into a stacked cluster. */\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Trailing chip in an `AvatarGroup` showing the overflow count (e.g. `+3`). */\nfunction AvatarGroupCount({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n \"relative flex size-10 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=sm]/avatar-group:size-8 [&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback, AvatarBadge, AvatarGroup, AvatarGroupCount };\n"],"mappings":";;;;;;AAMA,SAAS,OAAO,EACd,WACA,OAAO,WACP,QAAQ,SACR,GAAG,SAMF;CACD,OACE,iBAAA,GAAA,kBAAA,KAACA,SAAAA,OAAgB,MAAjB;EACE,aAAU;EACV,aAAW;EACX,cAAY;EACZ,WAAWC,WAAAA,GACT,wFACA,sEAEA,6MACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;CAChG,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,OAAgB,OAAjB;EACE,aAAU;EACV,WAAWC,WAAAA,GAAG,2BAA2B,SAAS;EAClD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;CACxD,OACE,iBAAA,GAAA,kBAAA,KAACD,SAAAA,OAAgB,UAAjB;EACE,aAAU;EACV,WAAWC,WAAAA,GACT,qEACA,qQACA,oHACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAuC;CAC1E,OACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,6JACA,2FACA,mFACA,mFACA,qFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,uGACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,0PACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -8,7 +8,7 @@ function Avatar({ className, size = "default", shape = "round", ...props }) {
8
8
  "data-slot": "avatar",
9
9
  "data-size": size,
10
10
  "data-shape": shape,
11
- className: cn("group/avatar relative flex size-10 shrink-0 overflow-hidden rounded-full select-none", "data-[size=sm]:size-8 data-[size=xs]:size-6 data-[size=xxs]:size-5", "data-[shape=roundrect]:rounded-lg", className),
11
+ className: cn("group/avatar relative flex size-10 shrink-0 overflow-hidden rounded-full select-none", "data-[size=sm]:size-8 data-[size=xs]:size-6 data-[size=xxs]:size-5", "data-[shape=roundrect]:data-[size=default]:rounded-10 data-[shape=roundrect]:data-[size=sm]:rounded-10 data-[shape=roundrect]:data-[size=xs]:rounded-md data-[shape=roundrect]:data-[size=xxs]:rounded-sm", className),
12
12
  ...props
13
13
  });
14
14
  }
@@ -24,7 +24,7 @@ function AvatarImage({ className, ...props }) {
24
24
  function AvatarFallback({ className, ...props }) {
25
25
  return /* @__PURE__ */ jsx(Avatar$1.Fallback, {
26
26
  "data-slot": "avatar-fallback",
27
- className: cn("bg-muted flex size-full items-center justify-center rounded-full", "group-data-[shape=roundrect]/avatar:rounded-lg", "group-data-[size=sm]/avatar:text-sm group-data-[size=xs]/avatar:text-xs group-data-[size=xxs]/avatar:text-[10px]", className),
27
+ className: cn("bg-accent flex size-full items-center justify-center rounded-full", "group-[[data-shape=roundrect][data-size=default]]/avatar:rounded-10 group-[[data-shape=roundrect][data-size=sm]]/avatar:rounded-10 group-[[data-shape=roundrect][data-size=xs]]/avatar:rounded-md group-[[data-shape=roundrect][data-size=xxs]]/avatar:rounded-sm", "group-data-[size=sm]/avatar:text-sm group-data-[size=xs]/avatar:text-xs group-data-[size=xxs]/avatar:text-[10px]", className),
28
28
  ...props
29
29
  });
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AvatarPrimitive"],"sources":["../../../src/primitives/Avatar/Avatar.tsx"],"sourcesContent":["import { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\n/** Root avatar container — sizes/shapes the image+fallback and exposes data attrs for descendants. */\nfunction Avatar({\n className,\n size = \"default\",\n shape = \"round\",\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & {\n /** Pixel footprint of the avatar. */\n size?: \"default\" | \"sm\" | \"xs\" | \"xxs\";\n /** Corner treatment: a circle (`round`) or a rounded square (`roundrect`). */\n shape?: \"round\" | \"roundrect\";\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n data-shape={shape}\n className={cn(\n \"group/avatar relative flex size-10 shrink-0 overflow-hidden rounded-full select-none\",\n \"data-[size=sm]:size-8 data-[size=xs]:size-6 data-[size=xxs]:size-5\",\n \"data-[shape=roundrect]:rounded-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** The avatar photo; falls back to `AvatarFallback` when the source fails to load. */\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\n/** Placeholder (typically initials) rendered when no image is available. */\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"bg-muted flex size-full items-center justify-center rounded-full\",\n \"group-data-[shape=roundrect]/avatar:rounded-lg\",\n \"group-data-[size=sm]/avatar:text-sm group-data-[size=xs]/avatar:text-xs group-data-[size=xxs]/avatar:text-[10px]\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Small status indicator (e.g. presence dot) anchored to the avatar's bottom-right corner. */\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none\",\n \"group-data-[size=default]/avatar:size-3 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=sm]/avatar:size-2.5 group-data-[size=sm]/avatar:[&>svg]:size-2\",\n \"group-data-[size=xs]/avatar:size-2 group-data-[size=xs]/avatar:[&>svg]:size-1.5\",\n \"group-data-[size=xxs]/avatar:size-1.5 group-data-[size=xxs]/avatar:[&>svg]:size-1\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Wrapper that overlaps a row of avatars into a stacked cluster. */\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Trailing chip in an `AvatarGroup` showing the overflow count (e.g. `+3`). */\nfunction AvatarGroupCount({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n \"relative flex size-10 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=sm]/avatar-group:size-8 [&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback, AvatarBadge, AvatarGroup, AvatarGroupCount };\n"],"mappings":";;;;;AAMA,SAAS,OAAO,EACd,WACA,OAAO,WACP,QAAQ,SACR,GAAG,SAMF;CACD,OACE,oBAACA,SAAgB,MAAjB;EACE,aAAU;EACV,aAAW;EACX,cAAY;EACZ,WAAW,GACT,wFACA,sEACA,qCACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;CAChG,OACE,oBAACA,SAAgB,OAAjB;EACE,aAAU;EACV,WAAW,GAAG,2BAA2B,SAAS;EAClD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;CACxD,OACE,oBAACA,SAAgB,UAAjB;EACE,aAAU;EACV,WAAW,GACT,oEACA,kDACA,oHACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAuC;CAC1E,OACE,oBAAC,QAAD;EACE,aAAU;EACV,WAAW,GACT,6JACA,2FACA,mFACA,mFACA,qFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,uGACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,0PACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"index.js","names":["AvatarPrimitive"],"sources":["../../../src/primitives/Avatar/Avatar.tsx"],"sourcesContent":["import { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\n/** Root avatar container — sizes/shapes the image+fallback and exposes data attrs for descendants. */\nfunction Avatar({\n className,\n size = \"default\",\n shape = \"round\",\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & {\n /** Pixel footprint of the avatar. */\n size?: \"default\" | \"sm\" | \"xs\" | \"xxs\";\n /** Corner treatment: a circle (`round`) or a rounded square (`roundrect`). */\n shape?: \"round\" | \"roundrect\";\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n data-shape={shape}\n className={cn(\n \"group/avatar relative flex size-10 shrink-0 overflow-hidden rounded-full select-none\",\n \"data-[size=sm]:size-8 data-[size=xs]:size-6 data-[size=xxs]:size-5\",\n // Roundrect corner radius per size (Figma): default/sm 10px (--radius), xs 6px, xxs 4px.\n \"data-[shape=roundrect]:data-[size=default]:rounded-10 data-[shape=roundrect]:data-[size=sm]:rounded-10 data-[shape=roundrect]:data-[size=xs]:rounded-md data-[shape=roundrect]:data-[size=xxs]:rounded-sm\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** The avatar photo; falls back to `AvatarFallback` when the source fails to load. */\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\n/** Placeholder (typically initials) rendered when no image is available. */\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"bg-accent flex size-full items-center justify-center rounded-full\",\n \"group-[[data-shape=roundrect][data-size=default]]/avatar:rounded-10 group-[[data-shape=roundrect][data-size=sm]]/avatar:rounded-10 group-[[data-shape=roundrect][data-size=xs]]/avatar:rounded-md group-[[data-shape=roundrect][data-size=xxs]]/avatar:rounded-sm\",\n \"group-data-[size=sm]/avatar:text-sm group-data-[size=xs]/avatar:text-xs group-data-[size=xxs]/avatar:text-[10px]\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Small status indicator (e.g. presence dot) anchored to the avatar's bottom-right corner. */\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none\",\n \"group-data-[size=default]/avatar:size-3 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=sm]/avatar:size-2.5 group-data-[size=sm]/avatar:[&>svg]:size-2\",\n \"group-data-[size=xs]/avatar:size-2 group-data-[size=xs]/avatar:[&>svg]:size-1.5\",\n \"group-data-[size=xxs]/avatar:size-1.5 group-data-[size=xxs]/avatar:[&>svg]:size-1\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Wrapper that overlaps a row of avatars into a stacked cluster. */\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Trailing chip in an `AvatarGroup` showing the overflow count (e.g. `+3`). */\nfunction AvatarGroupCount({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n \"relative flex size-10 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=sm]/avatar-group:size-8 [&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback, AvatarBadge, AvatarGroup, AvatarGroupCount };\n"],"mappings":";;;;;AAMA,SAAS,OAAO,EACd,WACA,OAAO,WACP,QAAQ,SACR,GAAG,SAMF;CACD,OACE,oBAACA,SAAgB,MAAjB;EACE,aAAU;EACV,aAAW;EACX,cAAY;EACZ,WAAW,GACT,wFACA,sEAEA,6MACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;CAChG,OACE,oBAACA,SAAgB,OAAjB;EACE,aAAU;EACV,WAAW,GAAG,2BAA2B,SAAS;EAClD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;CACxD,OACE,oBAACA,SAAgB,UAAjB;EACE,aAAU;EACV,WAAW,GACT,qEACA,qQACA,oHACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAuC;CAC1E,OACE,oBAAC,QAAD;EACE,aAAU;EACV,WAAW,GACT,6JACA,2FACA,mFACA,mFACA,qFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,uGACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,0PACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -3,20 +3,20 @@ const require_cn = require("../../cn.cjs");
3
3
  let radix_ui = require("radix-ui");
4
4
  let react_jsx_runtime = require("react/jsx-runtime");
5
5
  //#region src/primitives/Badge/Badge.tsx
6
- const badgeVariants = (0, require("class-variance-authority").cva)("inline-flex items-center justify-center border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
6
+ const badgeVariants = (0, require("class-variance-authority").cva)("inline-flex items-center justify-center border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-ring-error aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
7
7
  variants: {
8
8
  variant: {
9
9
  default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
10
10
  secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
11
- destructive: "border-transparent bg-[var(--bg-error-subtle)] text-[var(--content-error-bold)] [a&]:hover:brightness-95 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
12
- outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
11
+ destructive: "border-transparent bg-error-subtle text-destructive-foreground [a&]:hover:brightness-95 focus-visible:ring-ring-error",
12
+ outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
13
13
  ghost: "border-transparent text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
14
14
  success: "border-transparent bg-[var(--bg-success-subtle)] text-[var(--content-success-bold)] [a&]:hover:brightness-95",
15
15
  warning: "border-transparent bg-[var(--bg-warning-subtle)] text-[var(--content-warning-bold)] [a&]:hover:brightness-95",
16
16
  info: "border-transparent bg-[var(--bg-info-subtle)] text-[var(--content-info-bold)] [a&]:hover:brightness-95"
17
17
  },
18
18
  shape: {
19
- default: "rounded-md",
19
+ default: "rounded-lg",
20
20
  round: "rounded-full"
21
21
  }
22
22
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["Slot","cn"],"sources":["../../../src/primitives/Badge/Badge.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils/index\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default: \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n // Semantic variants are soft per Figma: a subtle tinted fill with a bold\n // text color, drawn from the same --bg-*-subtle / --content-*-bold token\n // sets InfoBanner uses (light + dark aware).\n destructive:\n \"border-transparent bg-[var(--bg-error-subtle)] text-[var(--content-error-bold)] [a&]:hover:brightness-95 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40\",\n outline: \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n ghost:\n \"border-transparent text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n success:\n \"border-transparent bg-[var(--bg-success-subtle)] text-[var(--content-success-bold)] [a&]:hover:brightness-95\",\n warning:\n \"border-transparent bg-[var(--bg-warning-subtle)] text-[var(--content-warning-bold)] [a&]:hover:brightness-95\",\n info: \"border-transparent bg-[var(--bg-info-subtle)] text-[var(--content-info-bold)] [a&]:hover:brightness-95\",\n },\n shape: {\n default: \"rounded-md\",\n round: \"rounded-full\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n shape: \"default\",\n },\n },\n);\n\n/** A compact label for status, counts, or metadata. Renders a `span` by default. */\nfunction Badge({\n className,\n /** Visual style — solid (`default`/`secondary`), `outline`/`ghost`, or a soft semantic tint (`destructive`/`success`/`warning`/`info`). */\n variant = \"default\",\n /** Corner radius — `default` is `rounded-md`, `round` is a full pill. */\n shape = \"default\",\n /** Render the child element instead of a `span` (Radix `Slot`), e.g. to make a link badge. */\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> & VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n className={cn(badgeVariants({ variant, shape }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n"],"mappings":";;;;;AAMA,MAAM,iBAAA,qCAAA,EAAA,KACJ,uYACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,WACE;GAIF,aACE;GACF,SAAS;GACT,OACE;GACF,SACE;GACF,SACE;GACF,MAAM;EACR;EACA,OAAO;GACL,SAAS;GACT,OAAO;EACT;CACF;CACA,iBAAiB;EACf,SAAS;EACT,OAAO;CACT;AACF,CACF;;AAGA,SAAS,MAAM,EACb,WAEA,UAAU,WAEV,QAAQ,WAER,UAAU,OACV,GAAG,SACyF;CAG5F,OACE,iBAAA,GAAA,kBAAA,KAHW,UAAUA,SAAAA,KAAK,OAAO,QAGjC;EACE,aAAU;EACV,gBAAc;EACd,WAAWC,WAAAA,GAAG,cAAc;GAAE;GAAS;EAAM,CAAC,GAAG,SAAS;EAC1D,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"index.cjs","names":["Slot","cn"],"sources":["../../../src/primitives/Badge/Badge.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils/index\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-ring-error aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default: \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n // Semantic variants are soft per Figma: a subtle tinted fill with a bold\n // text color, drawn from the same --bg-*-subtle / --content-*-bold token\n // sets InfoBanner uses (light + dark aware).\n destructive:\n \"border-transparent bg-error-subtle text-destructive-foreground [a&]:hover:brightness-95 focus-visible:ring-ring-error\",\n outline:\n \"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n ghost:\n \"border-transparent text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n success:\n \"border-transparent bg-[var(--bg-success-subtle)] text-[var(--content-success-bold)] [a&]:hover:brightness-95\",\n warning:\n \"border-transparent bg-[var(--bg-warning-subtle)] text-[var(--content-warning-bold)] [a&]:hover:brightness-95\",\n info: \"border-transparent bg-[var(--bg-info-subtle)] text-[var(--content-info-bold)] [a&]:hover:brightness-95\",\n },\n shape: {\n default: \"rounded-lg\",\n round: \"rounded-full\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n shape: \"default\",\n },\n },\n);\n\n/** A compact label for status, counts, or metadata. Renders a `span` by default. */\nfunction Badge({\n className,\n /** Visual style — solid (`default`/`secondary`), `outline`/`ghost`, or a soft semantic tint (`destructive`/`success`/`warning`/`info`). */\n variant = \"default\",\n /** Corner radius — `default` is `rounded-md`, `round` is a full pill. */\n shape = \"default\",\n /** Render the child element instead of a `span` (Radix `Slot`), e.g. to make a link badge. */\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> & VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n className={cn(badgeVariants({ variant, shape }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n"],"mappings":";;;;;AAMA,MAAM,iBAAA,qCAAA,EAAA,KACJ,6VACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,WACE;GAIF,aACE;GACF,SACE;GACF,OACE;GACF,SACE;GACF,SACE;GACF,MAAM;EACR;EACA,OAAO;GACL,SAAS;GACT,OAAO;EACT;CACF;CACA,iBAAiB;EACf,SAAS;EACT,OAAO;CACT;AACF,CACF;;AAGA,SAAS,MAAM,EACb,WAEA,UAAU,WAEV,QAAQ,WAER,UAAU,OACV,GAAG,SACyF;CAG5F,OACE,iBAAA,GAAA,kBAAA,KAHW,UAAUA,SAAAA,KAAK,OAAO,QAGjC;EACE,aAAU;EACV,gBAAc;EACd,WAAWC,WAAAA,GAAG,cAAc;GAAE;GAAS;EAAM,CAAC,GAAG,SAAS;EAC1D,GAAI;CACL,CAAA;AAEL"}
@@ -3,20 +3,20 @@ import { Slot } from "radix-ui";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { cva } from "class-variance-authority";
5
5
  //#region src/primitives/Badge/Badge.tsx
6
- const badgeVariants = cva("inline-flex items-center justify-center border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
6
+ const badgeVariants = cva("inline-flex items-center justify-center border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-ring-error aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
7
7
  variants: {
8
8
  variant: {
9
9
  default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
10
10
  secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
11
- destructive: "border-transparent bg-[var(--bg-error-subtle)] text-[var(--content-error-bold)] [a&]:hover:brightness-95 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
12
- outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
11
+ destructive: "border-transparent bg-error-subtle text-destructive-foreground [a&]:hover:brightness-95 focus-visible:ring-ring-error",
12
+ outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
13
13
  ghost: "border-transparent text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
14
14
  success: "border-transparent bg-[var(--bg-success-subtle)] text-[var(--content-success-bold)] [a&]:hover:brightness-95",
15
15
  warning: "border-transparent bg-[var(--bg-warning-subtle)] text-[var(--content-warning-bold)] [a&]:hover:brightness-95",
16
16
  info: "border-transparent bg-[var(--bg-info-subtle)] text-[var(--content-info-bold)] [a&]:hover:brightness-95"
17
17
  },
18
18
  shape: {
19
- default: "rounded-md",
19
+ default: "rounded-lg",
20
20
  round: "rounded-full"
21
21
  }
22
22
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/primitives/Badge/Badge.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils/index\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default: \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n // Semantic variants are soft per Figma: a subtle tinted fill with a bold\n // text color, drawn from the same --bg-*-subtle / --content-*-bold token\n // sets InfoBanner uses (light + dark aware).\n destructive:\n \"border-transparent bg-[var(--bg-error-subtle)] text-[var(--content-error-bold)] [a&]:hover:brightness-95 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40\",\n outline: \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n ghost:\n \"border-transparent text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n success:\n \"border-transparent bg-[var(--bg-success-subtle)] text-[var(--content-success-bold)] [a&]:hover:brightness-95\",\n warning:\n \"border-transparent bg-[var(--bg-warning-subtle)] text-[var(--content-warning-bold)] [a&]:hover:brightness-95\",\n info: \"border-transparent bg-[var(--bg-info-subtle)] text-[var(--content-info-bold)] [a&]:hover:brightness-95\",\n },\n shape: {\n default: \"rounded-md\",\n round: \"rounded-full\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n shape: \"default\",\n },\n },\n);\n\n/** A compact label for status, counts, or metadata. Renders a `span` by default. */\nfunction Badge({\n className,\n /** Visual style — solid (`default`/`secondary`), `outline`/`ghost`, or a soft semantic tint (`destructive`/`success`/`warning`/`info`). */\n variant = \"default\",\n /** Corner radius — `default` is `rounded-md`, `round` is a full pill. */\n shape = \"default\",\n /** Render the child element instead of a `span` (Radix `Slot`), e.g. to make a link badge. */\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> & VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n className={cn(badgeVariants({ variant, shape }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n"],"mappings":";;;;;AAMA,MAAM,gBAAgB,IACpB,uYACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,WACE;GAIF,aACE;GACF,SAAS;GACT,OACE;GACF,SACE;GACF,SACE;GACF,MAAM;EACR;EACA,OAAO;GACL,SAAS;GACT,OAAO;EACT;CACF;CACA,iBAAiB;EACf,SAAS;EACT,OAAO;CACT;AACF,CACF;;AAGA,SAAS,MAAM,EACb,WAEA,UAAU,WAEV,QAAQ,WAER,UAAU,OACV,GAAG,SACyF;CAG5F,OACE,oBAHW,UAAU,KAAK,OAAO,QAGjC;EACE,aAAU;EACV,gBAAc;EACd,WAAW,GAAG,cAAc;GAAE;GAAS;EAAM,CAAC,GAAG,SAAS;EAC1D,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/primitives/Badge/Badge.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils/index\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-ring-error aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default: \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n // Semantic variants are soft per Figma: a subtle tinted fill with a bold\n // text color, drawn from the same --bg-*-subtle / --content-*-bold token\n // sets InfoBanner uses (light + dark aware).\n destructive:\n \"border-transparent bg-error-subtle text-destructive-foreground [a&]:hover:brightness-95 focus-visible:ring-ring-error\",\n outline:\n \"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n ghost:\n \"border-transparent text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n success:\n \"border-transparent bg-[var(--bg-success-subtle)] text-[var(--content-success-bold)] [a&]:hover:brightness-95\",\n warning:\n \"border-transparent bg-[var(--bg-warning-subtle)] text-[var(--content-warning-bold)] [a&]:hover:brightness-95\",\n info: \"border-transparent bg-[var(--bg-info-subtle)] text-[var(--content-info-bold)] [a&]:hover:brightness-95\",\n },\n shape: {\n default: \"rounded-lg\",\n round: \"rounded-full\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n shape: \"default\",\n },\n },\n);\n\n/** A compact label for status, counts, or metadata. Renders a `span` by default. */\nfunction Badge({\n className,\n /** Visual style — solid (`default`/`secondary`), `outline`/`ghost`, or a soft semantic tint (`destructive`/`success`/`warning`/`info`). */\n variant = \"default\",\n /** Corner radius — `default` is `rounded-md`, `round` is a full pill. */\n shape = \"default\",\n /** Render the child element instead of a `span` (Radix `Slot`), e.g. to make a link badge. */\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> & VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n className={cn(badgeVariants({ variant, shape }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n"],"mappings":";;;;;AAMA,MAAM,gBAAgB,IACpB,6VACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,WACE;GAIF,aACE;GACF,SACE;GACF,OACE;GACF,SACE;GACF,SACE;GACF,MAAM;EACR;EACA,OAAO;GACL,SAAS;GACT,OAAO;EACT;CACF;CACA,iBAAiB;EACf,SAAS;EACT,OAAO;CACT;AACF,CACF;;AAGA,SAAS,MAAM,EACb,WAEA,UAAU,WAEV,QAAQ,WAER,UAAU,OACV,GAAG,SACyF;CAG5F,OACE,oBAHW,UAAU,KAAK,OAAO,QAGjC;EACE,aAAU;EACV,gBAAc;EACd,WAAW,GAAG,cAAc;GAAE;GAAS;EAAM,CAAC,GAAG,SAAS;EAC1D,GAAI;CACL,CAAA;AAEL"}
@@ -5,15 +5,15 @@ let react = require("react");
5
5
  let radix_ui = require("radix-ui");
6
6
  let react_jsx_runtime = require("react/jsx-runtime");
7
7
  //#region src/primitives/Button/Button.tsx
8
- const buttonVariants = (0, require("class-variance-authority").cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium cursor-pointer transition-[background-color,color,border-color,box-shadow,opacity,transform] duration-150 ease-out active:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 disabled:active:scale-100 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
8
+ const buttonVariants = (0, require("class-variance-authority").cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium cursor-pointer transition-[background-color,color,border-color,box-shadow,opacity,transform] duration-150 ease-out active:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 disabled:active:scale-100 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-ring-error aria-invalid:border-destructive", {
9
9
  variants: {
10
10
  variant: {
11
11
  default: "bg-primary text-primary-foreground hover:bg-primary/90",
12
- destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
13
- outline: "border bg-background text-foreground hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
12
+ destructive: "bg-destructive-alpha text-error-bold-foreground hover:bg-destructive-alpha/80 focus-visible:ring-ring-error",
13
+ outline: "border border-input bg-background text-foreground hover:bg-accent hover:text-accent-foreground",
14
14
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
15
- ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
16
- link: "text-primary underline-offset-4 hover:underline"
15
+ ghost: "hover:bg-accent hover:text-accent-foreground",
16
+ link: "text-foreground underline-offset-4 hover:underline"
17
17
  },
18
18
  size: {
19
19
  xs: "h-7 gap-1 px-2.5 text-xs has-[>svg]:px-2",
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["Slot","cn","Spinner"],"sources":["../../../src/primitives/Button/Button.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport { type ComponentProps, forwardRef } from \"react\";\n\nimport { Spinner } from \"@/primitives/Spinner\";\nimport { cn } from \"@/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium cursor-pointer transition-[background-color,color,border-color,box-shadow,opacity,transform] duration-150 ease-out active:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 disabled:active:scale-100 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40\",\n outline:\n \"border bg-background text-foreground hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n xs: \"h-7 gap-1 px-2.5 text-xs has-[>svg]:px-2\",\n sm: \"h-8 gap-1.5 px-3 has-[>svg]:px-2.5\",\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n lg: \"h-10 px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n // Default is a pill (Figma); `square` gives the standard rounded-md corner.\n shape: {\n default: \"rounded-full\",\n square: \"rounded-md\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n shape: \"default\",\n },\n },\n);\n\ntype ButtonProps = ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n /** Render as the child element (Radix `Slot`) instead of a native `<button>`. */\n asChild?: boolean;\n /** Show a spinner and disable the button while an action is in flight. */\n loading?: boolean;\n };\n\n/**\n * Clickable button supporting visual variants, sizes, shapes, async loading, and\n * `asChild` composition. Forwards its ref so it can be used as a Radix trigger\n * (`asChild`) for floating overlays (Popover, Tooltip, DropdownMenu, …).\n */\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button(\n {\n className,\n variant,\n size,\n shape,\n asChild = false,\n loading = false,\n disabled,\n children,\n ...props\n },\n ref,\n) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n return (\n <Comp\n ref={ref}\n data-slot=\"button\"\n data-loading={loading || undefined}\n className={cn(buttonVariants({ variant, size, shape, className }))}\n disabled={disabled || loading}\n {...props}\n >\n {/* asChild expects a single child, so only plain buttons get the spinner. */}\n {asChild ? (\n children\n ) : (\n <>\n {loading ? <Spinner /> : null}\n {children}\n </>\n )}\n </Comp>\n );\n});\n\nexport { Button, buttonVariants, type ButtonProps };\n"],"mappings":";;;;;;;AAOA,MAAM,kBAAA,qCAAA,EAAA,KACJ,skBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,aACE;GACF,SACE;GACF,WAAW;GACX,OAAO;GACP,MAAM;EACR;EACA,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,MAAM;EACR;EAEA,OAAO;GACL,SAAS;GACT,QAAQ;EACV;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;EACN,OAAO;CACT;AACF,CACF;;;;;;AAeA,MAAM,UAAA,GAAA,MAAA,YAAoD,SAAS,OACjE,EACE,WACA,SACA,MACA,OACA,UAAU,OACV,UAAU,OACV,UACA,UACA,GAAG,SAEL,KACA;CAGA,OACE,iBAAA,GAAA,kBAAA,KAHW,UAAUA,SAAAA,KAAK,OAAO,UAGjC;EACO;EACL,aAAU;EACV,gBAAc,WAAW,KAAA;EACzB,WAAWC,WAAAA,GAAG,eAAe;GAAE;GAAS;GAAM;GAAO;EAAU,CAAC,CAAC;EACjE,UAAU,YAAY;EACtB,GAAI;YAGH,UACC,WAEA,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACG,UAAU,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,SAAD,CAAU,CAAA,IAAI,MACxB,QACD,EAAA,CAAA;CAEA,CAAA;AAEV,CAAC"}
1
+ {"version":3,"file":"index.cjs","names":["Slot","cn","Spinner"],"sources":["../../../src/primitives/Button/Button.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport { type ComponentProps, forwardRef } from \"react\";\n\nimport { Spinner } from \"@/primitives/Spinner\";\nimport { cn } from \"@/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium cursor-pointer transition-[background-color,color,border-color,box-shadow,opacity,transform] duration-150 ease-out active:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 disabled:active:scale-100 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-ring-error aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive-alpha text-error-bold-foreground hover:bg-destructive-alpha/80 focus-visible:ring-ring-error\",\n outline:\n \"border border-input bg-background text-foreground hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-foreground underline-offset-4 hover:underline\",\n },\n size: {\n xs: \"h-7 gap-1 px-2.5 text-xs has-[>svg]:px-2\",\n sm: \"h-8 gap-1.5 px-3 has-[>svg]:px-2.5\",\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n lg: \"h-10 px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n // Default is a pill (Figma); `square` gives the standard rounded-md corner.\n shape: {\n default: \"rounded-full\",\n square: \"rounded-md\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n shape: \"default\",\n },\n },\n);\n\ntype ButtonProps = ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n /** Render as the child element (Radix `Slot`) instead of a native `<button>`. */\n asChild?: boolean;\n /** Show a spinner and disable the button while an action is in flight. */\n loading?: boolean;\n };\n\n/**\n * Clickable button supporting visual variants, sizes, shapes, async loading, and\n * `asChild` composition. Forwards its ref so it can be used as a Radix trigger\n * (`asChild`) for floating overlays (Popover, Tooltip, DropdownMenu, …).\n */\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button(\n {\n className,\n variant,\n size,\n shape,\n asChild = false,\n loading = false,\n disabled,\n children,\n ...props\n },\n ref,\n) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n return (\n <Comp\n ref={ref}\n data-slot=\"button\"\n data-loading={loading || undefined}\n className={cn(buttonVariants({ variant, size, shape, className }))}\n disabled={disabled || loading}\n {...props}\n >\n {/* asChild expects a single child, so only plain buttons get the spinner. */}\n {asChild ? (\n children\n ) : (\n <>\n {loading ? <Spinner /> : null}\n {children}\n </>\n )}\n </Comp>\n );\n});\n\nexport { Button, buttonVariants, type ButtonProps };\n"],"mappings":";;;;;;;AAOA,MAAM,kBAAA,qCAAA,EAAA,KACJ,4hBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,aACE;GACF,SACE;GACF,WAAW;GACX,OAAO;GACP,MAAM;EACR;EACA,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,MAAM;EACR;EAEA,OAAO;GACL,SAAS;GACT,QAAQ;EACV;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;EACN,OAAO;CACT;AACF,CACF;;;;;;AAeA,MAAM,UAAA,GAAA,MAAA,YAAoD,SAAS,OACjE,EACE,WACA,SACA,MACA,OACA,UAAU,OACV,UAAU,OACV,UACA,UACA,GAAG,SAEL,KACA;CAGA,OACE,iBAAA,GAAA,kBAAA,KAHW,UAAUA,SAAAA,KAAK,OAAO,UAGjC;EACO;EACL,aAAU;EACV,gBAAc,WAAW,KAAA;EACzB,WAAWC,WAAAA,GAAG,eAAe;GAAE;GAAS;GAAM;GAAO;EAAU,CAAC,CAAC;EACjE,UAAU,YAAY;EACtB,GAAI;YAGH,UACC,WAEA,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACG,UAAU,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,SAAD,CAAU,CAAA,IAAI,MACxB,QACD,EAAA,CAAA;CAEA,CAAA;AAEV,CAAC"}