@alexgorbatchev/shadcn 0.0.48 → 0.0.50

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 (544) hide show
  1. package/README.md +64 -2
  2. package/dist/{chunk-snq5m541.js → chunk-02a3sgge.js} +3 -3
  3. package/dist/{chunk-mqea74ex.js → chunk-032fn19y.js} +2 -2
  4. package/dist/{chunk-tg5grn8f.js → chunk-056z8fc3.js} +2 -2
  5. package/dist/{chunk-fz2x6hvf.js → chunk-09x5ne2y.js} +4 -4
  6. package/dist/{chunk-0q9n4syq.js → chunk-0bwg27nq.js} +3 -3
  7. package/dist/{chunk-hyq4nwg2.js → chunk-0hq6rg7w.js} +1 -1
  8. package/dist/{chunk-6kygf29c.js → chunk-0jz2mp48.js} +2 -2
  9. package/dist/{chunk-fvg93469.js → chunk-0ybqnkcy.js} +1 -1
  10. package/dist/{chunk-m9rrhywc.js → chunk-10bcpsft.js} +6 -6
  11. package/dist/{chunk-cfnkbp0y.js → chunk-10vjajh7.js} +1 -1
  12. package/dist/{chunk-588wj6g4.js → chunk-11m1mwv4.js} +3 -3
  13. package/dist/{chunk-wnhxn2se.js → chunk-16qrkr8k.js} +1 -1
  14. package/dist/{chunk-c9ypcp4s.js → chunk-1f6p05qh.js} +5 -5
  15. package/dist/{chunk-d70rcwk7.js → chunk-1fzwfn11.js} +1 -1
  16. package/dist/{chunk-3wap1z7h.js → chunk-1k2g7rpj.js} +2 -2
  17. package/dist/{chunk-c4m53x5s.js → chunk-1wrsg75m.js} +1 -1
  18. package/dist/{chunk-zj30cfgx.js → chunk-1xgqshkv.js} +1 -1
  19. package/dist/{chunk-s3wqwhxc.js → chunk-228jkv3n.js} +1 -1
  20. package/dist/{chunk-f6rbv5gf.js → chunk-2b5f37wj.js} +3 -3
  21. package/dist/{chunk-kxx5fnpb.js → chunk-2fxzw0xc.js} +2 -2
  22. package/dist/{chunk-xq579zwh.js → chunk-2z53taz1.js} +1 -1
  23. package/dist/{chunk-a6mes7w0.js → chunk-31wptjv4.js} +52 -93
  24. package/dist/{chunk-wgxs6b5t.js → chunk-39q6906v.js} +1 -1
  25. package/dist/{chunk-s8ejm9d8.js → chunk-3b15harp.js} +1 -1
  26. package/dist/{chunk-6jw87d07.js → chunk-3gc5n7dc.js} +2 -2
  27. package/dist/{chunk-05shyxqp.js → chunk-3gxptxxs.js} +1 -1
  28. package/dist/{chunk-jhw9q2eq.js → chunk-3j9enr2q.js} +1 -1
  29. package/dist/{chunk-ybyx7vt4.js → chunk-3kw3nft7.js} +3 -3
  30. package/dist/{chunk-vfhztmet.js → chunk-3p6085ag.js} +1 -1
  31. package/dist/{chunk-fb6h4fzt.js → chunk-3qq9yhn2.js} +1 -1
  32. package/dist/{chunk-a82d9z1e.js → chunk-3qrvksfh.js} +1 -1
  33. package/dist/{chunk-fxfwgr5g.js → chunk-3rjm30tj.js} +7 -7
  34. package/dist/{chunk-e9756880.js → chunk-4143tbd7.js} +2 -2
  35. package/dist/{chunk-645dhey7.js → chunk-424xrf3x.js} +11 -9
  36. package/dist/{chunk-23jrbq6y.js → chunk-4531ygnr.js} +1 -1
  37. package/dist/{chunk-9de1htr5.js → chunk-4e96tpw0.js} +1 -1
  38. package/dist/{chunk-jgdpa00w.js → chunk-4t23yhc0.js} +2 -2
  39. package/dist/{chunk-wh7rmym5.js → chunk-4z3c9p9y.js} +3 -3
  40. package/dist/{chunk-1t959882.js → chunk-4zm4dn1a.js} +2 -2
  41. package/dist/{chunk-f08tw6hg.js → chunk-50ykf6dc.js} +2 -2
  42. package/dist/{chunk-zksbrzf6.js → chunk-51t02gb9.js} +3 -3
  43. package/dist/{chunk-rajgnfbr.js → chunk-52aadmkc.js} +1 -1
  44. package/dist/{chunk-srr328m4.js → chunk-58cpjhsr.js} +30 -15
  45. package/dist/{chunk-0twprqdp.js → chunk-5bq2j907.js} +3 -3
  46. package/dist/{chunk-7w8yemba.js → chunk-5jgfh8t9.js} +1 -1
  47. package/dist/{chunk-8k18tnap.js → chunk-5pgk9qar.js} +3 -3
  48. package/dist/{chunk-7mnba0d8.js → chunk-5rxjvjkq.js} +6 -6
  49. package/dist/{chunk-fky4t8cc.js → chunk-5tag5wg4.js} +9 -9
  50. package/dist/{chunk-xvmv0xm5.js → chunk-5wk6h8rc.js} +3 -3
  51. package/dist/{chunk-m0agthfm.js → chunk-65xd5we6.js} +2 -2
  52. package/dist/{chunk-23419f5j.js → chunk-6bsys2p8.js} +2 -2
  53. package/dist/{chunk-84gs32n6.js → chunk-6en4vrjc.js} +79 -48
  54. package/dist/{chunk-w1jm0rx3.js → chunk-6eseyyv3.js} +4 -4
  55. package/dist/{chunk-96x8wa8w.js → chunk-6gmarxhb.js} +2 -2
  56. package/dist/{chunk-vhm7fpav.js → chunk-6pj5fxa2.js} +10 -10
  57. package/dist/{chunk-v8gdzaxt.js → chunk-6wqp7xn4.js} +1 -1
  58. package/dist/{chunk-10t1w38s.js → chunk-70rxgqd7.js} +3 -3
  59. package/dist/{chunk-8xnjf4ef.js → chunk-737c03z9.js} +3 -3
  60. package/dist/{chunk-3xw5sdfk.js → chunk-73s0vkbs.js} +2 -2
  61. package/dist/{chunk-2mn2ctsk.js → chunk-7cq1s2ey.js} +1 -1
  62. package/dist/{chunk-ydfsxbrn.js → chunk-7dpp28jx.js} +2 -2
  63. package/dist/{chunk-79vgr8w9.js → chunk-7gjmprwx.js} +5 -5
  64. package/dist/{chunk-x6vx0v6d.js → chunk-7srpghny.js} +2 -2
  65. package/dist/{chunk-bnaejcfx.js → chunk-7v8ry91s.js} +2 -2
  66. package/dist/{chunk-0fmrwsgp.js → chunk-7vg045gd.js} +1 -1
  67. package/dist/{chunk-vyve5wf3.js → chunk-7vnpp3ya.js} +1 -1
  68. package/dist/{chunk-pws4vb8r.js → chunk-7yc7phbt.js} +3 -3
  69. package/dist/{chunk-cn1ns1xj.js → chunk-7zf1pehx.js} +2 -2
  70. package/dist/{chunk-2krw4tjq.js → chunk-8b4gq4xb.js} +3 -3
  71. package/dist/{chunk-m71d0g7v.js → chunk-8gtsqm4v.js} +6 -6
  72. package/dist/{chunk-kbcprevc.js → chunk-8jyhvaer.js} +1 -1
  73. package/dist/{chunk-prp1x0by.js → chunk-8sktrf74.js} +1 -1
  74. package/dist/{chunk-ewhk1ze1.js → chunk-8vw7ycbs.js} +2 -2
  75. package/dist/{chunk-td7ra5d2.js → chunk-8w8mnk5h.js} +2 -2
  76. package/dist/{chunk-71efbr5n.js → chunk-8xk2zeg2.js} +1 -1
  77. package/dist/{chunk-60p7sagm.js → chunk-9ecf92s6.js} +1 -1
  78. package/dist/{chunk-1zbtg30t.js → chunk-9gdt00hm.js} +1 -1
  79. package/dist/{chunk-6jpz5geq.js → chunk-9n0axzd5.js} +3 -3
  80. package/dist/{chunk-wjx6zf94.js → chunk-9t530p75.js} +1 -1
  81. package/dist/{chunk-dfkzm4f1.js → chunk-9yjrw75r.js} +14 -14
  82. package/dist/{chunk-pa8yemp1.js → chunk-a1c1yrkz.js} +1 -1
  83. package/dist/{chunk-9qcqxp3v.js → chunk-a3n2jee5.js} +1 -1
  84. package/dist/{chunk-hj9avapz.js → chunk-ab932mya.js} +5 -5
  85. package/dist/{chunk-9vm8fks0.js → chunk-ajnmzqsv.js} +1 -1
  86. package/dist/{chunk-khkdgmvm.js → chunk-amdsd0g4.js} +1 -1
  87. package/dist/{chunk-ghz2g6j5.js → chunk-an661kn2.js} +3 -3
  88. package/dist/{chunk-06c2d8rd.js → chunk-b19nmr0m.js} +2 -2
  89. package/dist/{chunk-caz81rnv.js → chunk-b5s5y5wq.js} +1 -1
  90. package/dist/{chunk-5j39rehg.js → chunk-bcwbh20z.js} +1 -1
  91. package/dist/{chunk-38301e40.js → chunk-bd09gygt.js} +1 -1
  92. package/dist/{chunk-21ab0jsp.js → chunk-bf8kbj33.js} +1 -1
  93. package/dist/{chunk-h3qqt3rg.js → chunk-bgvjmnst.js} +3 -3
  94. package/dist/{chunk-x1598f0d.js → chunk-bkb7mahn.js} +3 -3
  95. package/dist/{chunk-jadf0xqn.js → chunk-brxk90eb.js} +2 -2
  96. package/dist/{chunk-ct6ayjkt.js → chunk-bxzbrzbb.js} +2 -2
  97. package/dist/{chunk-ngq209hr.js → chunk-cjx1ry29.js} +3 -3
  98. package/dist/{chunk-t97ts9df.js → chunk-d1z748rn.js} +1 -1
  99. package/dist/{chunk-1hy9rfvc.js → chunk-d1zj7xk2.js} +2 -2
  100. package/dist/{chunk-cn81dnqb.js → chunk-d93zpy8g.js} +1 -1
  101. package/dist/{chunk-mwzmmeeq.js → chunk-ddbc17b4.js} +1 -1
  102. package/dist/{chunk-d444bwwf.js → chunk-dq2s4vwc.js} +3 -3
  103. package/dist/{chunk-tbd56x4h.js → chunk-dvzs0424.js} +3 -3
  104. package/dist/{chunk-k6hfm259.js → chunk-dyg4pwcd.js} +1 -1
  105. package/dist/{chunk-f9twxy4y.js → chunk-e55n7tff.js} +2 -2
  106. package/dist/{chunk-f72tygjq.js → chunk-ee098znw.js} +2 -2
  107. package/dist/{chunk-dhmtrz6f.js → chunk-efm3b1py.js} +3 -3
  108. package/dist/{chunk-cp2m7y7v.js → chunk-en44w1pn.js} +3 -1
  109. package/dist/{chunk-tq0pfv5h.js → chunk-er6e5fj8.js} +1 -1
  110. package/dist/{chunk-gykrcxd1.js → chunk-f281m4a9.js} +1 -1
  111. package/dist/{chunk-m99hfsps.js → chunk-f2p7w894.js} +1 -1
  112. package/dist/{chunk-h5zhqdmb.js → chunk-f37ge3wq.js} +3 -3
  113. package/dist/{chunk-svr3r7pj.js → chunk-f43963xy.js} +998 -570
  114. package/dist/{chunk-q7zc22qp.js → chunk-f4xwjhmy.js} +1 -1
  115. package/dist/{chunk-3t7h84te.js → chunk-f63kp4af.js} +3 -3
  116. package/dist/{chunk-x6zmnr8m.js → chunk-f6qkck8r.js} +6 -6
  117. package/dist/{chunk-2mswp6h1.js → chunk-f7cczxya.js} +4 -4
  118. package/dist/{chunk-y7tyyzfy.js → chunk-f97wwbfy.js} +3 -3
  119. package/dist/chunk-f9sm5zpv.js +47 -0
  120. package/dist/{chunk-v9r6zprz.js → chunk-fdhssr0q.js} +1 -1
  121. package/dist/{chunk-pj01ybcm.js → chunk-fjw7yyt3.js} +3 -3
  122. package/dist/{chunk-fba5hr7b.js → chunk-fm1b6e79.js} +2 -2
  123. package/dist/{chunk-83v2vma2.js → chunk-fnqc1181.js} +2 -2
  124. package/dist/{chunk-khtt3f21.js → chunk-fp4dkem8.js} +2 -2
  125. package/dist/{chunk-4gcpx4pm.js → chunk-fvg6symh.js} +2 -2
  126. package/dist/{chunk-1q30wk9x.js → chunk-g5dzh9rr.js} +3 -3
  127. package/dist/{chunk-6475gsta.js → chunk-g975kjdm.js} +2 -2
  128. package/dist/{chunk-xwf411kf.js → chunk-gb16cwpw.js} +2 -2
  129. package/dist/{chunk-axw1yqxz.js → chunk-gg37cyfd.js} +2 -2
  130. package/dist/{chunk-8jnfvgvk.js → chunk-ghv4vcae.js} +2 -2
  131. package/dist/{chunk-f9kdk0q4.js → chunk-gns8a3x5.js} +1 -1
  132. package/dist/{chunk-j2hawnp9.js → chunk-gremnsj0.js} +2 -2
  133. package/dist/{chunk-rr74321a.js → chunk-gx8z1f8n.js} +2 -2
  134. package/dist/{chunk-fgfaarep.js → chunk-h2hpkawe.js} +2 -2
  135. package/dist/{chunk-fkzh31y0.js → chunk-h7zgbreq.js} +1 -1
  136. package/dist/{chunk-jk941nke.js → chunk-h9tjva8p.js} +2 -2
  137. package/dist/{chunk-svz0farj.js → chunk-ha7g0gt2.js} +2 -2
  138. package/dist/{chunk-mtx71g1t.js → chunk-hkqjfk9w.js} +5 -5
  139. package/dist/{chunk-beywepck.js → chunk-hp9vkfh5.js} +2 -2
  140. package/dist/chunk-hpf8s83c.js +89 -0
  141. package/dist/{chunk-63gvcckp.js → chunk-hw988ram.js} +1 -1
  142. package/dist/{chunk-8r57zwqg.js → chunk-hyaz95gc.js} +1 -1
  143. package/dist/{chunk-7qwp41y5.js → chunk-j2zxqzta.js} +2 -2
  144. package/dist/{chunk-f63cr8mx.js → chunk-j6rp3w59.js} +1 -1
  145. package/dist/{chunk-s0ecp1mv.js → chunk-jbrt06va.js} +3 -3
  146. package/dist/{chunk-qmfxytfb.js → chunk-jhpeb72r.js} +3 -3
  147. package/dist/{chunk-6fp821jv.js → chunk-jswxzynj.js} +2 -2
  148. package/dist/{chunk-nxkbx5r2.js → chunk-jvmm6k16.js} +2 -2
  149. package/dist/{chunk-bygq5yqf.js → chunk-k1f35j55.js} +1 -1
  150. package/dist/{chunk-w9jyajx3.js → chunk-k2t9ey7z.js} +1 -1
  151. package/dist/{chunk-efs4bk5b.js → chunk-k7cvfw0f.js} +1 -1
  152. package/dist/{chunk-4pae2b1z.js → chunk-k7gzvk6n.js} +1 -1
  153. package/dist/{chunk-ekbesw9t.js → chunk-kgqe8gpb.js} +1 -1
  154. package/dist/{chunk-7zyf9nnf.js → chunk-kxvn3eae.js} +2 -2
  155. package/dist/{chunk-3v95p5js.js → chunk-m0kavf2m.js} +1 -1
  156. package/dist/{chunk-jcxxjkqx.js → chunk-m32ptxf3.js} +1 -1
  157. package/dist/{chunk-vm3fzfnj.js → chunk-m37eyydy.js} +1 -1
  158. package/dist/chunk-m4geb1s5.js +30 -0
  159. package/dist/{chunk-7g1dx0bn.js → chunk-m6eb1thj.js} +1 -1
  160. package/dist/{chunk-ptgtqv1a.js → chunk-m98d89xc.js} +1 -1
  161. package/dist/{chunk-aahx2gyb.js → chunk-mc0788ah.js} +2 -2
  162. package/dist/{chunk-yabr2qx9.js → chunk-mmydm40x.js} +1 -1
  163. package/dist/{chunk-bt7ramb0.js → chunk-mxcfz56p.js} +3 -3
  164. package/dist/{chunk-hpmvzsnv.js → chunk-n2n7k3he.js} +1 -1
  165. package/dist/{chunk-vnxy5dtp.js → chunk-n8n3gp71.js} +1 -1
  166. package/dist/{chunk-dy4ghe9p.js → chunk-nay3qsgw.js} +5 -5
  167. package/dist/{chunk-v00z8h0n.js → chunk-nbpvngb8.js} +1 -1
  168. package/dist/{chunk-xfhk2vrw.js → chunk-nfbxyvht.js} +2 -2
  169. package/dist/{chunk-jwzg2twy.js → chunk-nj1sgtss.js} +3 -3
  170. package/dist/{chunk-e970kv8r.js → chunk-nk53z990.js} +2 -2
  171. package/dist/{chunk-smzhep9f.js → chunk-nnhn7kjq.js} +1 -1
  172. package/dist/{chunk-e9v481he.js → chunk-nrdc4t48.js} +3 -3
  173. package/dist/{chunk-bhejvd5q.js → chunk-ny54gm5e.js} +2 -2
  174. package/dist/{chunk-4k2jzddw.js → chunk-p33nbc0k.js} +1 -1
  175. package/dist/{chunk-q606kj28.js → chunk-p56he2j7.js} +1 -1
  176. package/dist/{chunk-77xfccfq.js → chunk-p894n7r6.js} +12 -25
  177. package/dist/{chunk-zpcxr2r4.js → chunk-pq89m919.js} +2 -2
  178. package/dist/{chunk-0xqqs9kw.js → chunk-ps59anjd.js} +2 -2
  179. package/dist/{chunk-z8n03ra5.js → chunk-ptdr68cq.js} +3 -3
  180. package/dist/{chunk-wq8jxf31.js → chunk-pv379mp6.js} +4 -4
  181. package/dist/{chunk-zc60zhz7.js → chunk-q1fgpxfk.js} +1 -1
  182. package/dist/{chunk-2pzvxbq3.js → chunk-qff5s98n.js} +3 -3
  183. package/dist/{chunk-1hq2k0fs.js → chunk-qgwshegs.js} +3 -3
  184. package/dist/{chunk-m4wfy6n3.js → chunk-qnf643p0.js} +3 -3
  185. package/dist/{chunk-fpj82hex.js → chunk-qrjxx1x9.js} +2 -2
  186. package/dist/{chunk-tzred534.js → chunk-qzxz33rc.js} +1 -1
  187. package/dist/{chunk-1akz4hf3.js → chunk-r0g0gwv6.js} +1 -1
  188. package/dist/{chunk-zp3wrbve.js → chunk-r6bwsyxy.js} +2 -2
  189. package/dist/{chunk-p6kw19sx.js → chunk-rc99vk8d.js} +27 -9
  190. package/dist/{chunk-vrs3371x.js → chunk-rgdesh1z.js} +4 -4
  191. package/dist/{chunk-n5ea9nv1.js → chunk-rpsf1cph.js} +4 -4
  192. package/dist/{chunk-5zyc28sc.js → chunk-rs5xh8wa.js} +3 -3
  193. package/dist/{chunk-14mh00z3.js → chunk-rxjxb4vy.js} +4 -4
  194. package/dist/{chunk-xgp1eyhr.js → chunk-rzd306rr.js} +4 -4
  195. package/dist/{chunk-kzar67tq.js → chunk-s2f3zzbb.js} +1 -1
  196. package/dist/{chunk-4e879g03.js → chunk-s3r5g3md.js} +2 -2
  197. package/dist/{chunk-dq6se94p.js → chunk-sqz2901w.js} +2 -2
  198. package/dist/{chunk-3ptcdy6g.js → chunk-sty5mqva.js} +2 -2
  199. package/dist/{chunk-53cmv2aj.js → chunk-t06g497x.js} +1 -1
  200. package/dist/{chunk-mcdqy5gt.js → chunk-t18hedpv.js} +2 -2
  201. package/dist/{chunk-e50068hn.js → chunk-t1zv81zn.js} +2 -2
  202. package/dist/{chunk-wkg0rssg.js → chunk-t36xxpry.js} +1 -1
  203. package/dist/{chunk-1xncv9gb.js → chunk-t3p4dn1p.js} +1 -1
  204. package/dist/{chunk-8q0xpeh4.js → chunk-t4y934a5.js} +1 -1
  205. package/dist/{chunk-vg2j5044.js → chunk-t5e0s8q6.js} +1 -1
  206. package/dist/{chunk-zte6pw69.js → chunk-tjn53x34.js} +1 -1
  207. package/dist/{chunk-h51gnkz8.js → chunk-tqrn8kq8.js} +2 -2
  208. package/dist/{chunk-b3b2tvkg.js → chunk-tsvrzz9w.js} +1 -1
  209. package/dist/{chunk-wpa484a6.js → chunk-tw8f1ew4.js} +2 -2
  210. package/dist/{chunk-rtb0ejf0.js → chunk-v2bbs7s8.js} +1 -1
  211. package/dist/{chunk-v24aqtkt.js → chunk-v2wx2fz4.js} +2 -2
  212. package/dist/{chunk-0gwqtywa.js → chunk-v9kxtms1.js} +3 -3
  213. package/dist/{chunk-5h7xxnr7.js → chunk-vazxcmjt.js} +1 -1
  214. package/dist/{chunk-khgrv6k6.js → chunk-vjsnyvt7.js} +1 -1
  215. package/dist/{chunk-5fg2ns3n.js → chunk-vkay3k3s.js} +1 -1
  216. package/dist/{chunk-agy4dzea.js → chunk-vneyvqxe.js} +1 -1
  217. package/dist/{chunk-1sxpyjph.js → chunk-vq9yw85z.js} +4 -4
  218. package/dist/{chunk-5w279fsn.js → chunk-vqgw4xab.js} +5 -5
  219. package/dist/{chunk-5s6r4g8w.js → chunk-vqkfgdt6.js} +1 -1
  220. package/dist/{chunk-4c2sqyrp.js → chunk-vr1taabg.js} +1 -1
  221. package/dist/{chunk-nw8zvj83.js → chunk-vrreeywg.js} +1 -1
  222. package/dist/{chunk-48yhjpfs.js → chunk-vxazk4y0.js} +2 -2
  223. package/dist/{chunk-hxctrrkh.js → chunk-wrvxzfdb.js} +1 -1
  224. package/dist/{chunk-h0g7qkya.js → chunk-wtf2qczs.js} +1 -1
  225. package/dist/{chunk-xvgp05yg.js → chunk-wvap51y9.js} +1 -1
  226. package/dist/{chunk-gtebjkkz.js → chunk-wzgnj3s7.js} +5 -5
  227. package/dist/{chunk-hxg0pkj9.js → chunk-x0212x2e.js} +1 -1
  228. package/dist/{chunk-qv3b2jvc.js → chunk-x0p3g392.js} +2 -2
  229. package/dist/{chunk-1sqv5axv.js → chunk-x4rwh3pv.js} +1 -1
  230. package/dist/{chunk-8bxfp671.js → chunk-x805mg9x.js} +2 -2
  231. package/dist/{chunk-qky9999p.js → chunk-x8ftt0wm.js} +1 -1
  232. package/dist/{chunk-zdt8xxzy.js → chunk-x9qph1g4.js} +1 -1
  233. package/dist/chunk-xfryhw7e.js +225 -0
  234. package/dist/{chunk-k01gpm23.js → chunk-xg439a2k.js} +1 -1
  235. package/dist/{chunk-2ye8evra.js → chunk-xk5f09gs.js} +1 -1
  236. package/dist/{chunk-ynkpdpn0.js → chunk-xw5992sc.js} +1 -1
  237. package/dist/{chunk-3b6ws9hk.js → chunk-xywttk96.js} +2 -2
  238. package/dist/{chunk-f28xnx55.js → chunk-y18e8eaz.js} +2 -2
  239. package/dist/{chunk-46tg5t7g.js → chunk-y2dn791x.js} +4 -4
  240. package/dist/{chunk-esrypw6g.js → chunk-ya4v4p8k.js} +2 -2
  241. package/dist/{chunk-kz9np152.js → chunk-ybs1waxw.js} +1 -1
  242. package/dist/{chunk-474fgeht.js → chunk-yeht7bxz.js} +2 -2
  243. package/dist/{chunk-cy1xv5nz.js → chunk-yrp7xtb5.js} +23 -3
  244. package/dist/{chunk-4e1eq1t5.js → chunk-z0z9p92d.js} +3 -3
  245. package/dist/{chunk-5myr07fp.js → chunk-z15pn5a5.js} +2 -2
  246. package/dist/{chunk-p5x18ckg.js → chunk-zdp3bb9e.js} +1 -1
  247. package/dist/{chunk-kv1akmf5.js → chunk-zdpm4kf4.js} +2 -2
  248. package/dist/{chunk-ray29hdb.js → chunk-zk8enn91.js} +2 -2
  249. package/dist/{chunk-r7mfpkbb.js → chunk-zmygyj8h.js} +4 -4
  250. package/dist/{chunk-m7n2f6nf.js → chunk-zrgacdwr.js} +1 -1
  251. package/dist/{chunk-gbmvkt3q.js → chunk-zs4h45d8.js} +11 -12
  252. package/dist/{chunk-cvg5366s.js → chunk-zthc8ajd.js} +1 -1
  253. package/dist/{chunk-3g8p9apn.js → chunk-zyxzn7xf.js} +1 -1
  254. package/dist/components/AppShell.d.ts +16 -4
  255. package/dist/components/Container.d.ts +13 -0
  256. package/dist/components/Grid.d.ts +27 -0
  257. package/dist/components/Heading.d.ts +21 -0
  258. package/dist/components/OptionSelect.d.ts +29 -0
  259. package/dist/components/PageIntro.d.ts +22 -0
  260. package/dist/components/ScrollArea.d.ts +3 -1
  261. package/dist/components/Stack.d.ts +22 -0
  262. package/dist/components/Table.d.ts +2 -1
  263. package/dist/components/Text.d.ts +25 -0
  264. package/dist/components/WeatherForecast.d.ts +19 -0
  265. package/dist/components/WeatherSummary.d.ts +32 -0
  266. package/dist/components/analytics/AnalyticsLink.d.ts +4 -3
  267. package/dist/components/assistant-ui/elements/AgentCard.js +3 -3
  268. package/dist/components/assistant-ui/elements/AgentHandoff.js +2 -2
  269. package/dist/components/assistant-ui/elements/AgentPlan.js +3 -3
  270. package/dist/components/assistant-ui/elements/AgentStatus.js +2 -2
  271. package/dist/components/assistant-ui/elements/ApprovalCard.js +3 -3
  272. package/dist/components/assistant-ui/elements/ArtifactCard.js +4 -4
  273. package/dist/components/assistant-ui/elements/AudioPlayer.js +3 -3
  274. package/dist/components/assistant-ui/elements/BackgroundInbox.js +4 -4
  275. package/dist/components/assistant-ui/elements/CanvasSplit.d.ts +9 -2
  276. package/dist/components/assistant-ui/elements/CanvasSplit.js +3 -3
  277. package/dist/components/assistant-ui/elements/Chart.js +4 -4
  278. package/dist/components/assistant-ui/elements/ChatPanel.js +6 -6
  279. package/dist/components/assistant-ui/elements/CheckpointHistory.js +3 -3
  280. package/dist/components/assistant-ui/elements/Citation.js +5 -5
  281. package/dist/components/assistant-ui/elements/CodeDiff.js +3 -3
  282. package/dist/components/assistant-ui/elements/CodeRunner.js +3 -3
  283. package/dist/components/assistant-ui/elements/CommandPalette.js +9 -9
  284. package/dist/components/assistant-ui/elements/ComparisonCard.js +2 -2
  285. package/dist/components/assistant-ui/elements/Composer.js +2 -2
  286. package/dist/components/assistant-ui/elements/ComposerActions.js +2 -2
  287. package/dist/components/assistant-ui/elements/ComposerAttachButton.js +3 -3
  288. package/dist/components/assistant-ui/elements/ComposerAttachmentChip.js +4 -4
  289. package/dist/components/assistant-ui/elements/ComposerAttachments.js +6 -6
  290. package/dist/components/assistant-ui/elements/ComposerBar.js +6 -6
  291. package/dist/components/assistant-ui/elements/ComposerCommandItem.js +5 -5
  292. package/dist/components/assistant-ui/elements/ComposerContext.js +5 -5
  293. package/dist/components/assistant-ui/elements/ComposerInput.js +6 -6
  294. package/dist/components/assistant-ui/elements/ComposerMenu.js +2 -2
  295. package/dist/components/assistant-ui/elements/ComposerMenuItem.js +4 -4
  296. package/dist/components/assistant-ui/elements/ComposerModelItem.js +5 -5
  297. package/dist/components/assistant-ui/elements/ComposerModelTrigger.js +3 -3
  298. package/dist/components/assistant-ui/elements/ComposerPersonItem.js +5 -5
  299. package/dist/components/assistant-ui/elements/ComposerSend.js +3 -3
  300. package/dist/components/assistant-ui/elements/ComposerToolbar.js +6 -6
  301. package/dist/components/assistant-ui/elements/ComposerVoice.js +3 -3
  302. package/dist/components/assistant-ui/elements/ComposerVoiceButton.js +3 -3
  303. package/dist/components/assistant-ui/elements/ComputerUse.js +2 -2
  304. package/dist/components/assistant-ui/elements/ConfidenceMarker.js +2 -2
  305. package/dist/components/assistant-ui/elements/ConnectionState.js +3 -3
  306. package/dist/components/assistant-ui/elements/ContextBreakdown.js +2 -2
  307. package/dist/components/assistant-ui/elements/ContextDisplay.js +9 -9
  308. package/dist/components/assistant-ui/elements/ContextDisplayBar.js +6 -6
  309. package/dist/components/assistant-ui/elements/ContextDisplayContent.js +3 -3
  310. package/dist/components/assistant-ui/elements/ContextDisplayRing.js +6 -6
  311. package/dist/components/assistant-ui/elements/ContextDisplayRoot.js +3 -3
  312. package/dist/components/assistant-ui/elements/ContextDisplayText.js +6 -6
  313. package/dist/components/assistant-ui/elements/ContextDisplayTrigger.js +3 -3
  314. package/dist/components/assistant-ui/elements/ConversationMap.js +3 -3
  315. package/dist/components/assistant-ui/elements/ConversationSearch.js +6 -6
  316. package/dist/components/assistant-ui/elements/CostMeter.js +2 -2
  317. package/dist/components/assistant-ui/elements/DataTable.js +7 -7
  318. package/dist/components/assistant-ui/elements/DaySeparator.js +2 -2
  319. package/dist/components/assistant-ui/elements/Diagram.js +3 -3
  320. package/dist/components/assistant-ui/elements/DiffViewer.js +13 -13
  321. package/dist/components/assistant-ui/elements/DiffViewerContent.js +2 -2
  322. package/dist/components/assistant-ui/elements/DiffViewerFile.js +2 -2
  323. package/dist/components/assistant-ui/elements/DiffViewerFileBadge.js +3 -3
  324. package/dist/components/assistant-ui/elements/DiffViewerHeader.js +6 -6
  325. package/dist/components/assistant-ui/elements/DiffViewerLine.js +3 -3
  326. package/dist/components/assistant-ui/elements/DiffViewerSplitLine.js +3 -3
  327. package/dist/components/assistant-ui/elements/DiffViewerStats.js +3 -3
  328. package/dist/components/assistant-ui/elements/DirectiveText.js +3 -3
  329. package/dist/components/assistant-ui/elements/DocumentReference.js +3 -3
  330. package/dist/components/assistant-ui/elements/DotMatrix.js +2 -2
  331. package/dist/components/assistant-ui/elements/DraftRestore.js +3 -3
  332. package/dist/components/assistant-ui/elements/EditMessage.js +8 -8
  333. package/dist/components/assistant-ui/elements/ElicitationForm.js +10 -10
  334. package/dist/components/assistant-ui/elements/EmptyState.js +3 -3
  335. package/dist/components/assistant-ui/elements/EmptyStateComposer.js +6 -6
  336. package/dist/components/assistant-ui/elements/EmptyStateGreeting.js +2 -2
  337. package/dist/components/assistant-ui/elements/EmptyStateSuggestion.js +3 -3
  338. package/dist/components/assistant-ui/elements/EmptyStateSuggestions.js +2 -2
  339. package/dist/components/assistant-ui/elements/ErrorState.js +4 -4
  340. package/dist/components/assistant-ui/elements/EveAskQuestion.js +5 -5
  341. package/dist/components/assistant-ui/elements/FeedbackDialog.js +9 -9
  342. package/dist/components/assistant-ui/elements/File.js +6 -6
  343. package/dist/components/assistant-ui/elements/FileTree.js +3 -3
  344. package/dist/components/assistant-ui/elements/FlowGraph.js +3 -3
  345. package/dist/components/assistant-ui/elements/GenerationLoader.js +3 -3
  346. package/dist/components/assistant-ui/elements/GenerativeUi.js +9 -8
  347. package/dist/components/assistant-ui/elements/GeoMap.d.ts +7 -2
  348. package/dist/components/assistant-ui/elements/GeoMap.js +4 -3
  349. package/dist/components/assistant-ui/elements/GuardrailNotice.js +4 -4
  350. package/dist/components/assistant-ui/elements/Image.js +5 -5
  351. package/dist/components/assistant-ui/elements/ImageGallery.js +5 -5
  352. package/dist/components/assistant-ui/elements/ImageGeneration.js +4 -4
  353. package/dist/components/assistant-ui/elements/InlineCitation.js +2 -2
  354. package/dist/components/assistant-ui/elements/JobProgress.js +4 -4
  355. package/dist/components/assistant-ui/elements/LauncherBubble.js +4 -4
  356. package/dist/components/assistant-ui/elements/LinkPreview.js +3 -3
  357. package/dist/components/assistant-ui/elements/MapAnswer.js +3 -3
  358. package/dist/components/assistant-ui/elements/MarkdownText.js +5 -5
  359. package/dist/components/assistant-ui/elements/MathBlock.js +2 -2
  360. package/dist/components/assistant-ui/elements/McpServerPanel.js +5 -5
  361. package/dist/components/assistant-ui/elements/MemoryChips.js +3 -3
  362. package/dist/components/assistant-ui/elements/MermaidDiagram.js +6 -6
  363. package/dist/components/assistant-ui/elements/MermaidZoom.js +4 -4
  364. package/dist/components/assistant-ui/elements/MessageActions.js +4 -4
  365. package/dist/components/assistant-ui/elements/MessageAttachments.js +3 -3
  366. package/dist/components/assistant-ui/elements/MessageBranches.js +3 -3
  367. package/dist/components/assistant-ui/elements/MessagePair.js +3 -3
  368. package/dist/components/assistant-ui/elements/MessageQueue.js +3 -3
  369. package/dist/components/assistant-ui/elements/MessageTiming.js +2 -2
  370. package/dist/components/assistant-ui/elements/MobileComposer.js +6 -6
  371. package/dist/components/assistant-ui/elements/ModelPicker.js +8 -8
  372. package/dist/components/assistant-ui/elements/ModelSelector.js +17 -17
  373. package/dist/components/assistant-ui/elements/ModelSelectorContent.js +14 -14
  374. package/dist/components/assistant-ui/elements/ModelSelectorEmpty.js +8 -8
  375. package/dist/components/assistant-ui/elements/ModelSelectorFocusAnchor.js +8 -8
  376. package/dist/components/assistant-ui/elements/ModelSelectorGroup.js +8 -8
  377. package/dist/components/assistant-ui/elements/ModelSelectorItem.js +8 -8
  378. package/dist/components/assistant-ui/elements/ModelSelectorList.js +10 -10
  379. package/dist/components/assistant-ui/elements/ModelSelectorRoot.js +3 -3
  380. package/dist/components/assistant-ui/elements/ModelSelectorSearch.js +8 -8
  381. package/dist/components/assistant-ui/elements/ModelSelectorSeparator.js +8 -8
  382. package/dist/components/assistant-ui/elements/ModelSelectorTrigger.js +3 -3
  383. package/dist/components/assistant-ui/elements/NumberRoll.js +2 -2
  384. package/dist/components/assistant-ui/elements/NumberTicker.js +2 -2
  385. package/dist/components/assistant-ui/elements/Onboarding.js +3 -3
  386. package/dist/components/assistant-ui/elements/OptionList.js +6 -6
  387. package/dist/components/assistant-ui/elements/OptionText.js +2 -2
  388. package/dist/components/assistant-ui/elements/PermissionGrant.js +3 -3
  389. package/dist/components/assistant-ui/elements/PromptLibrary.js +6 -6
  390. package/dist/components/assistant-ui/elements/QuestionFlow.js +7 -7
  391. package/dist/components/assistant-ui/elements/QuotaBanner.js +3 -3
  392. package/dist/components/assistant-ui/elements/QuoteReply.js +3 -3
  393. package/dist/components/assistant-ui/elements/ReadAloud.js +4 -4
  394. package/dist/components/assistant-ui/elements/ReasoningContent.js +3 -3
  395. package/dist/components/assistant-ui/elements/ReasoningEffort.js +4 -4
  396. package/dist/components/assistant-ui/elements/ReasoningFade.js +2 -2
  397. package/dist/components/assistant-ui/elements/ReasoningPanel.js +4 -4
  398. package/dist/components/assistant-ui/elements/ReasoningRoot.js +2 -2
  399. package/dist/components/assistant-ui/elements/ReasoningText.js +2 -2
  400. package/dist/components/assistant-ui/elements/ReasoningTrigger.js +2 -2
  401. package/dist/components/assistant-ui/elements/RecommendationCard.d.ts +15 -7
  402. package/dist/components/assistant-ui/elements/RecommendationCard.js +3 -3
  403. package/dist/components/assistant-ui/elements/RegenerateMenu.js +4 -4
  404. package/dist/components/assistant-ui/elements/ResearchReport.js +2 -2
  405. package/dist/components/assistant-ui/elements/RetrievalChunks.js +3 -3
  406. package/dist/components/assistant-ui/elements/ReviewableDiff.js +3 -3
  407. package/dist/components/assistant-ui/elements/RunActivity.js +2 -2
  408. package/dist/components/assistant-ui/elements/ScheduleCard.js +3 -3
  409. package/dist/components/assistant-ui/elements/ScoreBreakdown.js +3 -3
  410. package/dist/components/assistant-ui/elements/ScrollAnchor.js +2 -2
  411. package/dist/components/assistant-ui/elements/SettingsPanel.js +6 -6
  412. package/dist/components/assistant-ui/elements/SharedConversation.js +3 -3
  413. package/dist/components/assistant-ui/elements/ShikiHighlighter.js +2 -2
  414. package/dist/components/assistant-ui/elements/ShimmerLabel.js +2 -2
  415. package/dist/components/assistant-ui/elements/Sources.js +3 -3
  416. package/dist/components/assistant-ui/elements/SpeakerIdentity.js +2 -2
  417. package/dist/components/assistant-ui/elements/SpecSheet.js +2 -2
  418. package/dist/components/assistant-ui/elements/StoppedRun.js +3 -3
  419. package/dist/components/assistant-ui/elements/StreamingText.js +2 -2
  420. package/dist/components/assistant-ui/elements/SubagentList.js +3 -3
  421. package/dist/components/assistant-ui/elements/Suggestions.js +3 -3
  422. package/dist/components/assistant-ui/elements/SwapLabel.js +2 -2
  423. package/dist/components/assistant-ui/elements/TaskCard.js +4 -4
  424. package/dist/components/assistant-ui/elements/TaskStateIcon.js +2 -2
  425. package/dist/components/assistant-ui/elements/TerminalBlock.js +3 -3
  426. package/dist/components/assistant-ui/elements/ThinkingIndicator.js +3 -3
  427. package/dist/components/assistant-ui/elements/ThreadList.js +3 -3
  428. package/dist/components/assistant-ui/elements/ThreadSearch.js +6 -6
  429. package/dist/components/assistant-ui/elements/Timeline.d.ts +20 -11
  430. package/dist/components/assistant-ui/elements/Timeline.js +2 -2
  431. package/dist/components/assistant-ui/elements/TodoList.js +3 -3
  432. package/dist/components/assistant-ui/elements/ToolCall.js +4 -4
  433. package/dist/components/assistant-ui/elements/ToolError.js +3 -3
  434. package/dist/components/assistant-ui/elements/ToolGroup.js +3 -3
  435. package/dist/components/assistant-ui/elements/ToolTimeline.js +4 -4
  436. package/dist/components/assistant-ui/elements/TooltipIconButton.js +3 -3
  437. package/dist/components/assistant-ui/elements/TraceWaterfall.js +2 -2
  438. package/dist/components/assistant-ui/elements/TypingIndicator.js +2 -2
  439. package/dist/components/assistant-ui/elements/VideoPlayer.js +2 -2
  440. package/dist/components/assistant-ui/elements/VoiceConversation.js +3 -3
  441. package/dist/components/assistant-ui/elements/VoiceOrb.js +2 -2
  442. package/dist/components/assistant-ui/elements/WebPreview.js +4 -4
  443. package/dist/components/assistant-ui/elements/WebSearch.js +3 -3
  444. package/dist/components/assistant-ui/eveAskQuestionToolkit.js +6 -6
  445. package/dist/components/assistant-ui/index.js +206 -205
  446. package/dist/components/assistant-ui/native/AgentStatus.js +3 -3
  447. package/dist/components/assistant-ui/native/AssistantModal.js +26 -26
  448. package/dist/components/assistant-ui/native/AssistantSidebar.js +25 -25
  449. package/dist/components/assistant-ui/native/AttachmentPreview.js +6 -6
  450. package/dist/components/assistant-ui/native/ComposerTriggerPopover.js +2 -2
  451. package/dist/components/assistant-ui/native/ContextDisplay.js +11 -11
  452. package/dist/components/assistant-ui/native/ContextDisplayBar.js +8 -8
  453. package/dist/components/assistant-ui/native/ContextDisplayRing.js +8 -8
  454. package/dist/components/assistant-ui/native/ContextDisplayRoot.js +5 -5
  455. package/dist/components/assistant-ui/native/ContextDisplayRuntimeRoot.js +4 -4
  456. package/dist/components/assistant-ui/native/ContextDisplayText.js +8 -8
  457. package/dist/components/assistant-ui/native/ConversationMapAui.js +4 -4
  458. package/dist/components/assistant-ui/native/DirectiveText.js +4 -4
  459. package/dist/components/assistant-ui/native/McpConfigDialog.js +10 -9
  460. package/dist/components/assistant-ui/native/MermaidDiagram.js +7 -7
  461. package/dist/components/assistant-ui/native/MessageTiming.js +3 -3
  462. package/dist/components/assistant-ui/native/ModelSelector.js +19 -19
  463. package/dist/components/assistant-ui/native/Reasoning.js +11 -11
  464. package/dist/components/assistant-ui/native/Sources.js +4 -4
  465. package/dist/components/assistant-ui/native/SyntaxHighlighter.js +3 -3
  466. package/dist/components/assistant-ui/native/TaskCard.js +10 -10
  467. package/dist/components/assistant-ui/native/TaskGroup.js +11 -11
  468. package/dist/components/assistant-ui/native/TaskTray.js +5 -5
  469. package/dist/components/assistant-ui/native/Thread.js +23 -23
  470. package/dist/components/assistant-ui/native/ThreadList.js +5 -5
  471. package/dist/components/assistant-ui/native/ThreadListSidebar.js +9 -9
  472. package/dist/components/assistant-ui/native/ToolFallbackRoot.js +4 -4
  473. package/dist/components/assistant-ui/native/ToolGroup.js +2 -2
  474. package/dist/components/assistant-ui/native/VoiceConnectButton.js +3 -3
  475. package/dist/components/assistant-ui/native/VoiceControl.js +8 -8
  476. package/dist/components/assistant-ui/native/VoiceConversation.js +4 -4
  477. package/dist/components/assistant-ui/native/VoiceDisconnectButton.js +4 -4
  478. package/dist/components/assistant-ui/native/VoiceMuteButton.js +4 -4
  479. package/dist/components/assistant-ui/native/VoiceOrb.js +3 -3
  480. package/dist/components/assistant-ui/native/VoiceStatusDot.js +2 -2
  481. package/dist/components/assistant-ui/native/index.js +87 -86
  482. package/dist/components/calendar/Calendar.d.ts +3 -2
  483. package/dist/components/calendar/index.js +5 -4
  484. package/dist/components/carousel/index.js +3 -3
  485. package/dist/components/chart/index.js +2 -2
  486. package/dist/components/color-picker/index.js +1 -1
  487. package/dist/components/command/index.js +7 -7
  488. package/dist/components/data-grid/index.js +16 -14
  489. package/dist/components/editor/index.js +3 -3
  490. package/dist/components/event-calendar/index.js +8 -8
  491. package/dist/components/file-upload/index.js +2 -2
  492. package/dist/components/gantt/index.js +13 -23
  493. package/dist/components/image-crop/index.js +1 -1
  494. package/dist/components/input-otp/EmailCodeAuthForm.d.ts +21 -0
  495. package/dist/components/input-otp/index.d.ts +2 -0
  496. package/dist/components/input-otp/index.js +264 -1
  497. package/dist/components/json-render/catalog.d.ts +1 -1
  498. package/dist/components/json-render/index.js +42 -40
  499. package/dist/components/message-scroller/index.js +2 -2
  500. package/dist/components/persian-calendar/index.js +7 -5
  501. package/dist/components/questionnaire/index.js +2 -2
  502. package/dist/components/resizable/index.js +3 -3
  503. package/dist/components/sonner/index.js +2 -2
  504. package/dist/components/tree/index.js +2 -2
  505. package/dist/components/virtual-data-grid/index.js +7 -7
  506. package/dist/components/virtual-table/index.js +3 -3
  507. package/dist/hooks/useLinkAnalyticsCallback.d.ts +10 -0
  508. package/dist/index.d.ts +21 -2
  509. package/dist/index.js +90 -74
  510. package/dist/layout/constants.d.ts +14 -0
  511. package/dist/layout/responsiveClassNames.d.ts +3 -0
  512. package/dist/layout/types.d.ts +28 -0
  513. package/dist/prototype.js +1 -1
  514. package/dist/theme.css +5 -0
  515. package/dist/typography/types.d.ts +2 -0
  516. package/llms/components/actions/ButtonLink.md +22 -0
  517. package/llms/components/assistant-ui/elements/conversations/CanvasSplit.md +38 -0
  518. package/llms/components/assistant-ui/elements/data-visualization/GeoMap.md +57 -0
  519. package/llms/components/assistant-ui/elements/data-visualization/RecommendationCard.md +41 -0
  520. package/llms/components/assistant-ui/elements/data-visualization/Timeline.md +76 -0
  521. package/llms/components/data-display/Heading.md +78 -0
  522. package/llms/components/data-display/Table.md +1 -1
  523. package/llms/components/data-display/Text.md +94 -0
  524. package/llms/components/data-display/WeatherForecast.md +76 -0
  525. package/llms/components/data-display/WeatherSummary.md +103 -0
  526. package/llms/components/forms/EmailCodeAuthForm.md +94 -0
  527. package/llms/components/forms/OptionSelect.md +100 -0
  528. package/llms/components/layout/AppShell.md +35 -1
  529. package/llms/components/layout/Container.md +97 -0
  530. package/llms/components/layout/Grid.md +133 -0
  531. package/llms/components/layout/PageIntro.md +102 -0
  532. package/llms/components/layout/Stack.md +170 -0
  533. package/llms/components/navigation/ContextMenu.md +25 -25
  534. package/llms/setup.md +64 -2
  535. package/llms.txt +12 -3
  536. package/package.json +1 -1
  537. package/templates/prototype/src/components/ScenarioContent.tsx +3 -2
  538. package/templates/prototype/src/components/Workbench.tsx +45 -35
  539. package/templates/prototype/src/prototypes/dashboard/components/Dashboard.tsx +11 -9
  540. package/dist/chunk-4710gn6d.js +0 -15
  541. package/dist/chunk-dg14mg3y.js +0 -56
  542. package/dist/chunk-r4jzz4f2.js +0 -60
  543. package/dist/components/NativeSelect.d.ts +0 -12
  544. package/llms/components/forms/NativeSelect.md +0 -136
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-7ny0vyek.js";
4
4
  import {
5
5
  cn2
6
- } from "./chunk-cp2m7y7v.js";
6
+ } from "./chunk-en44w1pn.js";
7
7
  import {
8
8
  DensityContext,
9
9
  useDensity
@@ -23,7 +23,7 @@ import {
23
23
  TooltipContent2,
24
24
  buttonVariants2,
25
25
  Button2
26
- } from "./chunk-38301e40.js";
26
+ } from "./chunk-bd09gygt.js";
27
27
  import {
28
28
  MenuPortal,
29
29
  MenuPopup,
@@ -38,12 +38,12 @@ import {
38
38
  MenuShortcut2,
39
39
  DropdownMenu2,
40
40
  DropdownMenuTrigger2
41
- } from "./chunk-cfnkbp0y.js";
41
+ } from "./chunk-10vjajh7.js";
42
42
  import {
43
43
  Alert2,
44
44
  AlertTitle2,
45
45
  AlertDescription2
46
- } from "./chunk-zdt8xxzy.js";
46
+ } from "./chunk-x9qph1g4.js";
47
47
  import {
48
48
  Dialog2,
49
49
  DialogClose2,
@@ -52,43 +52,31 @@ import {
52
52
  DialogFooter2,
53
53
  DialogTitle2,
54
54
  DialogDescription2
55
- } from "./chunk-jgdpa00w.js";
55
+ } from "./chunk-4t23yhc0.js";
56
56
  import {
57
- ScrollArea2,
58
- Combobox2,
59
- ComboboxValue2,
60
- ComboboxContent2,
61
- ComboboxList2,
62
- ComboboxItem2,
63
- ComboboxGroup2,
64
- ComboboxCollection2,
65
- ComboboxEmpty2,
66
- ComboboxChips2,
67
- ComboboxChip2,
68
- ComboboxChipsInput2,
69
- useComboboxAnchor2
70
- } from "./chunk-a6mes7w0.js";
57
+ ScrollArea2
58
+ } from "./chunk-f9sm5zpv.js";
71
59
  import {
72
60
  Skeleton2
73
- } from "./chunk-d70rcwk7.js";
61
+ } from "./chunk-1fzwfn11.js";
74
62
  import {
75
63
  Input2
76
- } from "./chunk-0fmrwsgp.js";
64
+ } from "./chunk-7vg045gd.js";
77
65
  import {
78
66
  Separator2
79
- } from "./chunk-rajgnfbr.js";
67
+ } from "./chunk-52aadmkc.js";
80
68
  import {
81
69
  FieldGroup2,
82
70
  Field2,
83
71
  FieldLabel2,
84
72
  FieldDescription2
85
- } from "./chunk-6jpz5geq.js";
73
+ } from "./chunk-9n0axzd5.js";
86
74
  import {
87
75
  Textarea2
88
- } from "./chunk-tq0pfv5h.js";
76
+ } from "./chunk-er6e5fj8.js";
89
77
  import {
90
78
  RadioGroup2
91
- } from "./chunk-ekbesw9t.js";
79
+ } from "./chunk-kgqe8gpb.js";
92
80
  import {
93
81
  Card2,
94
82
  CardHeader2,
@@ -96,17 +84,40 @@ import {
96
84
  CardDescription2,
97
85
  CardContent2,
98
86
  CardFooter2
99
- } from "./chunk-bygq5yqf.js";
87
+ } from "./chunk-k1f35j55.js";
88
+ import {
89
+ Combobox2,
90
+ ComboboxValue2,
91
+ ComboboxContent2,
92
+ ComboboxList2,
93
+ ComboboxItem2,
94
+ ComboboxGroup2,
95
+ ComboboxCollection2,
96
+ ComboboxEmpty2,
97
+ ComboboxChips2,
98
+ ComboboxChip2,
99
+ ComboboxChipsInput2,
100
+ useComboboxAnchor2
101
+ } from "./chunk-31wptjv4.js";
100
102
  import {
101
103
  Badge2
102
- } from "./chunk-wjx6zf94.js";
104
+ } from "./chunk-9t530p75.js";
103
105
  import {
104
106
  Empty2,
105
107
  EmptyHeader2,
106
108
  EmptyTitle2,
107
109
  EmptyDescription2,
108
110
  EmptyContent2
109
- } from "./chunk-9de1htr5.js";
111
+ } from "./chunk-4e96tpw0.js";
112
+ import {
113
+ Select2,
114
+ SelectGroup2,
115
+ SelectValue2,
116
+ SelectTrigger2,
117
+ SelectContent2,
118
+ SelectItem2,
119
+ OptionSelect2
120
+ } from "./chunk-xfryhw7e.js";
110
121
  import {
111
122
  ThemeContext
112
123
  } from "./chunk-1j2hz3w9.js";
@@ -117,17 +128,14 @@ import {
117
128
  Avatar2,
118
129
  AvatarImage2,
119
130
  AvatarFallback2
120
- } from "./chunk-hyq4nwg2.js";
131
+ } from "./chunk-0hq6rg7w.js";
121
132
  import {
122
133
  Spinner2
123
- } from "./chunk-1xncv9gb.js";
124
- import {
125
- NativeSelect2,
126
- NativeSelectOption2
127
- } from "./chunk-r4jzz4f2.js";
134
+ } from "./chunk-t3p4dn1p.js";
128
135
  import {
136
+ useLinkAnalyticsCallback,
129
137
  AnalyticsLink
130
- } from "./chunk-4710gn6d.js";
138
+ } from "./chunk-m4geb1s5.js";
131
139
  import {
132
140
  SidebarProvider2,
133
141
  Sidebar2,
@@ -140,7 +148,7 @@ import {
140
148
  SidebarMenu2,
141
149
  SidebarMenuItem2,
142
150
  SidebarMenuButton2
143
- } from "./chunk-c9ypcp4s.js";
151
+ } from "./chunk-1f6p05qh.js";
144
152
  import {
145
153
  AnalyticsButton
146
154
  } from "./chunk-tcefvfr8.js";
@@ -164,7 +172,7 @@ function ButtonLink2({
164
172
  children,
165
173
  ...props
166
174
  }) {
167
- const onClick = useAnalyticsCallback("ButtonLink", analytics, { name: "ui.activate" }, props.onClick);
175
+ const onClick = useLinkAnalyticsCallback("ButtonLink", analytics, props.onClick, render !== undefined);
168
176
  return useRender({
169
177
  defaultTagName: "a",
170
178
  props: mergeProps({
@@ -769,163 +777,10 @@ function AlertDialogCancel2({
769
777
  ...props
770
778
  });
771
779
  }
772
- // src/components/Select.tsx
773
- import { Select as SelectPrimitive } from "@base-ui/react/select";
774
- import { useDirection as useDirection4 } from "@base-ui/react/direction-provider";
775
- import { ChevronDownIcon as ChevronDownIcon2, CheckIcon, ChevronUpIcon as ChevronUpIcon2 } from "lucide-react";
776
- import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
777
- "use client";
778
- function Select2({
779
- analytics,
780
- ...props
781
- }) {
782
- const onValueChange = useAnalyticsCallback("Select", analytics, { name: "ui.change-request" }, props.onValueChange);
783
- const onOpenChange = useAnalyticsCallback("Select", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
784
- return /* @__PURE__ */ jsx11(SelectPrimitive.Root, {
785
- ...props,
786
- onValueChange,
787
- onOpenChange
788
- });
789
- }
790
- function SelectGroup2({ density, className, ...props }) {
791
- return /* @__PURE__ */ jsx11(SelectPrimitive.Group, {
792
- "data-density": density,
793
- "data-slot": "select-group",
794
- className: (state) => cn2("scroll-my-1 p-1", typeof className === "function" ? className(state) : className),
795
- ...props
796
- });
797
- }
798
- function SelectValue2({ density, className, ...props }) {
799
- return /* @__PURE__ */ jsx11(SelectPrimitive.Value, {
800
- "data-density": density,
801
- "data-slot": "select-value",
802
- className: (state) => cn2("flex flex-1 text-start", typeof className === "function" ? className(state) : className),
803
- ...props
804
- });
805
- }
806
- function SelectTrigger2({ density, className, size = "default", children, ...props }) {
807
- return /* @__PURE__ */ jsxs8(SelectPrimitive.Trigger, {
808
- "data-density": density,
809
- "data-slot": "select-trigger",
810
- "data-size": size,
811
- className: (state) => cn2("flex w-fit items-center justify-between gap-control-gap rounded-sm border border-input bg-transparent py-2 pe-2 ps-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive data-placeholder:text-muted-foreground data-[size=default]:h-control data-[size=sm]:h-control-sm data-[size=sm]:rounded-sm *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-control-gap [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
812
- ...props,
813
- children: [
814
- children,
815
- /* @__PURE__ */ jsx11(SelectPrimitive.Icon, {
816
- render: /* @__PURE__ */ jsx11(ChevronDownIcon2, {
817
- className: "pointer-events-none size-4 text-muted-foreground"
818
- })
819
- })
820
- ]
821
- });
822
- }
823
- function SelectContent2({
824
- density,
825
- className,
826
- children,
827
- side = "bottom",
828
- sideOffset = 4,
829
- align = "center",
830
- alignOffset = 0,
831
- alignItemWithTrigger = true,
832
- ...props
833
- }) {
834
- const resolvedDensity = useDensity(density);
835
- const direction = useDirection4();
836
- const container = usePortalContainer2();
837
- const portal = usePortalNode();
838
- return /* @__PURE__ */ jsx11(SelectPrimitive.Portal, {
839
- container,
840
- ref: portal.ref,
841
- children: /* @__PURE__ */ jsx11(PortalProvider2, {
842
- container: portal.node,
843
- children: /* @__PURE__ */ jsx11(SelectPrimitive.Positioner, {
844
- side,
845
- sideOffset,
846
- align,
847
- alignOffset,
848
- alignItemWithTrigger,
849
- className: "isolate ",
850
- children: /* @__PURE__ */ jsxs8(SelectPrimitive.Popup, {
851
- dir: direction,
852
- "data-density": resolvedDensity,
853
- "data-slot": "select-content",
854
- "data-align-trigger": alignItemWithTrigger,
855
- className: (state) => cn2("relative isolate max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover text-popover-foreground border border-frame-edge shadow-frame duration-120 data-[align-trigger=true]:animate-none data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 motion-reduce:animate-none", typeof className === "function" ? className(state) : className),
856
- ...props,
857
- children: [
858
- /* @__PURE__ */ jsx11(SelectScrollUpButton2, {}),
859
- /* @__PURE__ */ jsx11(SelectPrimitive.List, {
860
- children
861
- }),
862
- /* @__PURE__ */ jsx11(SelectScrollDownButton2, {})
863
- ]
864
- })
865
- })
866
- })
867
- });
868
- }
869
- function SelectLabel2({ density, className, ...props }) {
870
- return /* @__PURE__ */ jsx11(SelectPrimitive.GroupLabel, {
871
- "data-density": density,
872
- "data-slot": "select-label",
873
- className: (state) => cn2("px-1.5 py-1 text-xs text-muted-foreground", typeof className === "function" ? className(state) : className),
874
- ...props
875
- });
876
- }
877
- function SelectItem2({ density, className, children, ...props }) {
878
- return /* @__PURE__ */ jsxs8(SelectPrimitive.Item, {
879
- "data-density": density,
880
- "data-slot": "select-item",
881
- className: (state) => cn2("relative flex w-full cursor-default items-center gap-control-gap rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", typeof className === "function" ? className(state) : className),
882
- ...props,
883
- children: [
884
- /* @__PURE__ */ jsx11(SelectPrimitive.ItemText, {
885
- className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap",
886
- children
887
- }),
888
- /* @__PURE__ */ jsx11(SelectPrimitive.ItemIndicator, {
889
- render: /* @__PURE__ */ jsx11("span", {
890
- className: "pointer-events-none absolute end-2 flex size-4 items-center justify-center"
891
- }),
892
- children: /* @__PURE__ */ jsx11(CheckIcon, {
893
- className: "pointer-events-none"
894
- })
895
- })
896
- ]
897
- });
898
- }
899
- function SelectSeparator2({ density, className, ...props }) {
900
- return /* @__PURE__ */ jsx11(SelectPrimitive.Separator, {
901
- "data-density": density,
902
- "data-slot": "select-separator",
903
- className: (state) => cn2("pointer-events-none -mx-1 my-1 h-px bg-border", typeof className === "function" ? className(state) : className),
904
- ...props
905
- });
906
- }
907
- function SelectScrollUpButton2({ density, className, ...props }) {
908
- return /* @__PURE__ */ jsx11(SelectPrimitive.ScrollUpArrow, {
909
- "data-density": density,
910
- "data-slot": "select-scroll-up-button",
911
- className: (state) => cn2("top-0 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
912
- ...props,
913
- children: /* @__PURE__ */ jsx11(ChevronUpIcon2, {})
914
- });
915
- }
916
- function SelectScrollDownButton2({ density, className, ...props }) {
917
- return /* @__PURE__ */ jsx11(SelectPrimitive.ScrollDownArrow, {
918
- "data-density": density,
919
- "data-slot": "select-scroll-down-button",
920
- className: (state) => cn2("bottom-0 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
921
- ...props,
922
- children: /* @__PURE__ */ jsx11(ChevronDownIcon2, {})
923
- });
924
- }
925
780
  // src/components/DensityProvider.tsx
926
781
  import { mergeProps as mergeProps2 } from "@base-ui/react/merge-props";
927
782
  import { useRender as useRender2 } from "@base-ui/react/use-render";
928
- import { jsx as jsx12 } from "react/jsx-runtime";
783
+ import { jsx as jsx11 } from "react/jsx-runtime";
929
784
  function DensityProvider2({
930
785
  density = "comfortable",
931
786
  className,
@@ -938,7 +793,7 @@ function DensityProvider2({
938
793
  render,
939
794
  state: { slot: "density-provider", density }
940
795
  });
941
- return /* @__PURE__ */ jsx12(DensityContext.Provider, {
796
+ return /* @__PURE__ */ jsx11(DensityContext.Provider, {
942
797
  value: density,
943
798
  children: element
944
799
  });
@@ -1251,7 +1106,7 @@ function ScrollGuard2({ ownerDocument }) {
1251
1106
  }
1252
1107
 
1253
1108
  // src/components/ThemeProvider.tsx
1254
- import { jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
1109
+ import { jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
1255
1110
  function StoredThemeProvider({
1256
1111
  children,
1257
1112
  defaultTheme = "system",
@@ -1262,7 +1117,7 @@ function StoredThemeProvider({
1262
1117
  defaultValue: defaultTheme,
1263
1118
  localStorageKey: storageKey
1264
1119
  });
1265
- return /* @__PURE__ */ jsx13(ThemePalette, {
1120
+ return /* @__PURE__ */ jsx12(ThemePalette, {
1266
1121
  theme: forcedTheme ?? ternaryDarkMode,
1267
1122
  resolvedTheme: forcedTheme ?? (isDarkMode ? "dark" : "light"),
1268
1123
  setTheme: setTernaryDarkMode,
@@ -1280,11 +1135,11 @@ function ThemePalette({
1280
1135
  document.documentElement.style.colorScheme = resolvedTheme;
1281
1136
  }, [resolvedTheme]);
1282
1137
  const value = useMemo(() => ({ theme, resolvedTheme, setTheme }), [theme, resolvedTheme, setTheme]);
1283
- return /* @__PURE__ */ jsxs9(ThemeContext.Provider, {
1138
+ return /* @__PURE__ */ jsxs8(ThemeContext.Provider, {
1284
1139
  value,
1285
1140
  children: [
1286
- /* @__PURE__ */ jsx13(ScrollGuard2, {}),
1287
- /* @__PURE__ */ jsx13(LayoutGuard2, {}),
1141
+ /* @__PURE__ */ jsx12(ScrollGuard2, {}),
1142
+ /* @__PURE__ */ jsx12(LayoutGuard2, {}),
1288
1143
  children
1289
1144
  ]
1290
1145
  });
@@ -1297,7 +1152,7 @@ function ControlledThemeProvider({
1297
1152
  const isDark = useMediaQuery("(prefers-color-scheme: dark)");
1298
1153
  const { theme, setTheme } = controlledTheme;
1299
1154
  const resolvedTheme = forcedTheme ?? (theme === "system" ? isDark ? "dark" : "light" : theme);
1300
- return /* @__PURE__ */ jsx13(ThemePalette, {
1155
+ return /* @__PURE__ */ jsx12(ThemePalette, {
1301
1156
  theme: forcedTheme ?? theme,
1302
1157
  resolvedTheme,
1303
1158
  setTheme,
@@ -1306,18 +1161,18 @@ function ControlledThemeProvider({
1306
1161
  }
1307
1162
  function ThemeProvider2(props) {
1308
1163
  if (props.controlledTheme)
1309
- return /* @__PURE__ */ jsx13(ControlledThemeProvider, {
1164
+ return /* @__PURE__ */ jsx12(ControlledThemeProvider, {
1310
1165
  ...props,
1311
1166
  controlledTheme: props.controlledTheme
1312
1167
  });
1313
- return /* @__PURE__ */ jsx13(StoredThemeProvider, {
1168
+ return /* @__PURE__ */ jsx12(StoredThemeProvider, {
1314
1169
  ...props
1315
1170
  });
1316
1171
  }
1317
1172
  // src/components/AspectRatio.tsx
1318
- import { jsx as jsx14 } from "react/jsx-runtime";
1173
+ import { jsx as jsx13 } from "react/jsx-runtime";
1319
1174
  function AspectRatio2({ ratio, className, style, ...props }) {
1320
- return /* @__PURE__ */ jsx14("div", {
1175
+ return /* @__PURE__ */ jsx13("div", {
1321
1176
  "data-slot": "aspect-ratio",
1322
1177
  className: cn2("relative", className),
1323
1178
  style: { aspectRatio: ratio, ...style },
@@ -1328,9 +1183,9 @@ function AspectRatio2({ ratio, className, style, ...props }) {
1328
1183
  import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
1329
1184
  import { mergeProps as mergeProps3 } from "@base-ui/react/merge-props";
1330
1185
  import { useRender as useRender3 } from "@base-ui/react/use-render";
1331
- import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
1186
+ import { jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
1332
1187
  function Breadcrumb2({ density, className, ...props }) {
1333
- return /* @__PURE__ */ jsx15("nav", {
1188
+ return /* @__PURE__ */ jsx14("nav", {
1334
1189
  "aria-label": "breadcrumb",
1335
1190
  "data-density": density,
1336
1191
  "data-slot": "breadcrumb",
@@ -1339,7 +1194,7 @@ function Breadcrumb2({ density, className, ...props }) {
1339
1194
  });
1340
1195
  }
1341
1196
  function BreadcrumbList2({ density, className, ...props }) {
1342
- return /* @__PURE__ */ jsx15("ol", {
1197
+ return /* @__PURE__ */ jsx14("ol", {
1343
1198
  "data-density": density,
1344
1199
  "data-slot": "breadcrumb-list",
1345
1200
  className: cn2("flex flex-wrap items-center gap-control-gap text-sm wrap-break-word text-muted-foreground", className),
@@ -1347,7 +1202,7 @@ function BreadcrumbList2({ density, className, ...props }) {
1347
1202
  });
1348
1203
  }
1349
1204
  function BreadcrumbItem2({ density, className, ...props }) {
1350
- return /* @__PURE__ */ jsx15("li", {
1205
+ return /* @__PURE__ */ jsx14("li", {
1351
1206
  "data-density": density,
1352
1207
  "data-slot": "breadcrumb-item",
1353
1208
  className: cn2("inline-flex items-center gap-1", className),
@@ -1355,7 +1210,7 @@ function BreadcrumbItem2({ density, className, ...props }) {
1355
1210
  });
1356
1211
  }
1357
1212
  function BreadcrumbLink2({ analytics, density, className, render, ...props }) {
1358
- const onClick = useAnalyticsCallback("BreadcrumbLink", analytics, { name: "ui.activate" }, props.onClick);
1213
+ const onClick = useLinkAnalyticsCallback("BreadcrumbLink", analytics, props.onClick, render !== undefined);
1359
1214
  return useRender3({
1360
1215
  defaultTagName: "a",
1361
1216
  props: mergeProps3({
@@ -1369,7 +1224,7 @@ function BreadcrumbLink2({ analytics, density, className, render, ...props }) {
1369
1224
  });
1370
1225
  }
1371
1226
  function BreadcrumbPage2({ density, className, ...props }) {
1372
- return /* @__PURE__ */ jsx15("span", {
1227
+ return /* @__PURE__ */ jsx14("span", {
1373
1228
  "data-density": density,
1374
1229
  "data-slot": "breadcrumb-page",
1375
1230
  role: "link",
@@ -1380,20 +1235,20 @@ function BreadcrumbPage2({ density, className, ...props }) {
1380
1235
  });
1381
1236
  }
1382
1237
  function BreadcrumbSeparator2({ density, children, className, ...props }) {
1383
- return /* @__PURE__ */ jsx15("li", {
1238
+ return /* @__PURE__ */ jsx14("li", {
1384
1239
  "data-density": density,
1385
1240
  "data-slot": "breadcrumb-separator",
1386
1241
  role: "presentation",
1387
1242
  "aria-hidden": "true",
1388
1243
  className: cn2("[&>svg]:size-3.5", className),
1389
1244
  ...props,
1390
- children: children ?? /* @__PURE__ */ jsx15(ChevronRightIcon, {
1245
+ children: children ?? /* @__PURE__ */ jsx14(ChevronRightIcon, {
1391
1246
  className: "rtl:rotate-180"
1392
1247
  })
1393
1248
  });
1394
1249
  }
1395
1250
  function BreadcrumbEllipsis2({ density, className, ...props }) {
1396
- return /* @__PURE__ */ jsxs10("span", {
1251
+ return /* @__PURE__ */ jsxs9("span", {
1397
1252
  "data-density": density,
1398
1253
  "data-slot": "breadcrumb-ellipsis",
1399
1254
  role: "presentation",
@@ -1401,8 +1256,8 @@ function BreadcrumbEllipsis2({ density, className, ...props }) {
1401
1256
  className: cn2("flex size-5 items-center justify-center [&>svg]:size-4", className),
1402
1257
  ...props,
1403
1258
  children: [
1404
- /* @__PURE__ */ jsx15(MoreHorizontalIcon, {}),
1405
- /* @__PURE__ */ jsx15("span", {
1259
+ /* @__PURE__ */ jsx14(MoreHorizontalIcon, {}),
1260
+ /* @__PURE__ */ jsx14("span", {
1406
1261
  className: "sr-only",
1407
1262
  children: "More"
1408
1263
  })
@@ -1413,7 +1268,7 @@ function BreadcrumbEllipsis2({ density, className, ...props }) {
1413
1268
  import { mergeProps as mergeProps4 } from "@base-ui/react/merge-props";
1414
1269
  import { useRender as useRender4 } from "@base-ui/react/use-render";
1415
1270
  import { cva } from "class-variance-authority";
1416
- import { jsx as jsx16 } from "react/jsx-runtime";
1271
+ import { jsx as jsx15 } from "react/jsx-runtime";
1417
1272
  var buttonGroupVariants2 = cva("flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-sm [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
1418
1273
  variants: {
1419
1274
  layout: {
@@ -1436,7 +1291,7 @@ function ButtonGroup2({
1436
1291
  layout = "content",
1437
1292
  ...props
1438
1293
  }) {
1439
- return /* @__PURE__ */ jsx16("div", {
1294
+ return /* @__PURE__ */ jsx15("div", {
1440
1295
  role: "group",
1441
1296
  "data-density": density,
1442
1297
  "data-slot": "button-group",
@@ -1464,7 +1319,7 @@ function ButtonGroupSeparator2({
1464
1319
  orientation = "vertical",
1465
1320
  ...props
1466
1321
  }) {
1467
- return /* @__PURE__ */ jsx16(Separator2, {
1322
+ return /* @__PURE__ */ jsx15(Separator2, {
1468
1323
  "data-density": density,
1469
1324
  "data-slot": "button-group-separator",
1470
1325
  orientation,
@@ -1476,9 +1331,9 @@ function ButtonGroupSeparator2({
1476
1331
  import { mergeProps as mergeProps5 } from "@base-ui/react/merge-props";
1477
1332
  import { useRender as useRender5 } from "@base-ui/react/use-render";
1478
1333
  import { cva as cva2 } from "class-variance-authority";
1479
- import { jsx as jsx17 } from "react/jsx-runtime";
1334
+ import { jsx as jsx16 } from "react/jsx-runtime";
1480
1335
  function ItemGroup2({ density, className, ...props }) {
1481
- return /* @__PURE__ */ jsx17("div", {
1336
+ return /* @__PURE__ */ jsx16("div", {
1482
1337
  role: "list",
1483
1338
  "data-density": density,
1484
1339
  "data-slot": "item-group",
@@ -1487,7 +1342,7 @@ function ItemGroup2({ density, className, ...props }) {
1487
1342
  });
1488
1343
  }
1489
1344
  function ItemSeparator2({ density, className, ...props }) {
1490
- return /* @__PURE__ */ jsx17(Separator2, {
1345
+ return /* @__PURE__ */ jsx16(Separator2, {
1491
1346
  "data-density": density,
1492
1347
  "data-slot": "item-separator",
1493
1348
  orientation: "horizontal",
@@ -1548,7 +1403,7 @@ var itemMediaVariants = cva2("flex shrink-0 items-center justify-center gap-2 gr
1548
1403
  }
1549
1404
  });
1550
1405
  function ItemMedia2({ density, className, variant = "default", ...props }) {
1551
- return /* @__PURE__ */ jsx17("div", {
1406
+ return /* @__PURE__ */ jsx16("div", {
1552
1407
  "data-density": density,
1553
1408
  "data-slot": "item-media",
1554
1409
  "data-variant": variant,
@@ -1557,7 +1412,7 @@ function ItemMedia2({ density, className, variant = "default", ...props }) {
1557
1412
  });
1558
1413
  }
1559
1414
  function ItemContent2({ density, className, ...props }) {
1560
- return /* @__PURE__ */ jsx17("div", {
1415
+ return /* @__PURE__ */ jsx16("div", {
1561
1416
  "data-density": density,
1562
1417
  "data-slot": "item-content",
1563
1418
  className: cn2("flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none", className),
@@ -1565,7 +1420,7 @@ function ItemContent2({ density, className, ...props }) {
1565
1420
  });
1566
1421
  }
1567
1422
  function ItemTitle2({ density, className, wrap = false, ...props }) {
1568
- return /* @__PURE__ */ jsx17("div", {
1423
+ return /* @__PURE__ */ jsx16("div", {
1569
1424
  "data-density": density,
1570
1425
  "data-slot": "item-title",
1571
1426
  className: cn2(!wrap && "line-clamp-1", "flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4", wrap && "min-w-0 max-w-full wrap-anywhere", className),
@@ -1573,7 +1428,7 @@ function ItemTitle2({ density, className, wrap = false, ...props }) {
1573
1428
  });
1574
1429
  }
1575
1430
  function ItemDescription2({ density, className, ...props }) {
1576
- return /* @__PURE__ */ jsx17("p", {
1431
+ return /* @__PURE__ */ jsx16("p", {
1577
1432
  "data-density": density,
1578
1433
  "data-slot": "item-description",
1579
1434
  className: cn2("line-clamp-2 text-start text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className),
@@ -1581,7 +1436,7 @@ function ItemDescription2({ density, className, ...props }) {
1581
1436
  });
1582
1437
  }
1583
1438
  function ItemActions2({ density, className, ...props }) {
1584
- return /* @__PURE__ */ jsx17("div", {
1439
+ return /* @__PURE__ */ jsx16("div", {
1585
1440
  "data-density": density,
1586
1441
  "data-slot": "item-actions",
1587
1442
  className: cn2("flex items-center gap-2", className),
@@ -1589,7 +1444,7 @@ function ItemActions2({ density, className, ...props }) {
1589
1444
  });
1590
1445
  }
1591
1446
  function ItemHeader2({ density, className, ...props }) {
1592
- return /* @__PURE__ */ jsx17("div", {
1447
+ return /* @__PURE__ */ jsx16("div", {
1593
1448
  "data-density": density,
1594
1449
  "data-slot": "item-header",
1595
1450
  className: cn2("flex basis-full items-center justify-between gap-2", className),
@@ -1597,7 +1452,7 @@ function ItemHeader2({ density, className, ...props }) {
1597
1452
  });
1598
1453
  }
1599
1454
  function ItemFooter2({ density, className, ...props }) {
1600
- return /* @__PURE__ */ jsx17("div", {
1455
+ return /* @__PURE__ */ jsx16("div", {
1601
1456
  "data-density": density,
1602
1457
  "data-slot": "item-footer",
1603
1458
  className: cn2("flex basis-full items-center justify-between gap-2", className),
@@ -1606,9 +1461,9 @@ function ItemFooter2({ density, className, ...props }) {
1606
1461
  }
1607
1462
  // src/components/Pagination.tsx
1608
1463
  import { ChevronLeftIcon, ChevronRightIcon as ChevronRightIcon2, MoreHorizontalIcon as MoreHorizontalIcon2 } from "lucide-react";
1609
- import { jsx as jsx18, jsxs as jsxs11 } from "react/jsx-runtime";
1464
+ import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
1610
1465
  function Pagination2({ density, className, ...props }) {
1611
- return /* @__PURE__ */ jsx18("nav", {
1466
+ return /* @__PURE__ */ jsx17("nav", {
1612
1467
  role: "navigation",
1613
1468
  "aria-label": "pagination",
1614
1469
  "data-density": density,
@@ -1618,7 +1473,7 @@ function Pagination2({ density, className, ...props }) {
1618
1473
  });
1619
1474
  }
1620
1475
  function PaginationContent2({ density, className, ...props }) {
1621
- return /* @__PURE__ */ jsx18("ul", {
1476
+ return /* @__PURE__ */ jsx17("ul", {
1622
1477
  "data-density": density,
1623
1478
  "data-slot": "pagination-content",
1624
1479
  className: cn2("flex items-center gap-0.5", className),
@@ -1626,7 +1481,7 @@ function PaginationContent2({ density, className, ...props }) {
1626
1481
  });
1627
1482
  }
1628
1483
  function PaginationItem2({ ...props }) {
1629
- return /* @__PURE__ */ jsx18("li", {
1484
+ return /* @__PURE__ */ jsx17("li", {
1630
1485
  "data-slot": "pagination-item",
1631
1486
  ...props
1632
1487
  });
@@ -1639,7 +1494,7 @@ function PaginationLink2({
1639
1494
  size = "icon",
1640
1495
  ...props
1641
1496
  }) {
1642
- return /* @__PURE__ */ jsx18(AnalyticsLink, {
1497
+ return /* @__PURE__ */ jsx17(AnalyticsLink, {
1643
1498
  component: "PaginationLink",
1644
1499
  analytics,
1645
1500
  "data-density": density,
@@ -1656,18 +1511,18 @@ function PaginationPrevious2({
1656
1511
  text = "Previous",
1657
1512
  ...props
1658
1513
  }) {
1659
- return /* @__PURE__ */ jsxs11(PaginationLink2, {
1514
+ return /* @__PURE__ */ jsxs10(PaginationLink2, {
1660
1515
  density,
1661
1516
  "aria-label": "Go to previous page",
1662
1517
  size: "default",
1663
1518
  className: cn2("ps-1.5!", className),
1664
1519
  ...props,
1665
1520
  children: [
1666
- /* @__PURE__ */ jsx18(ChevronLeftIcon, {
1521
+ /* @__PURE__ */ jsx17(ChevronLeftIcon, {
1667
1522
  "data-icon": "inline-start",
1668
1523
  className: "rtl:rotate-180"
1669
1524
  }),
1670
- /* @__PURE__ */ jsx18("span", {
1525
+ /* @__PURE__ */ jsx17("span", {
1671
1526
  className: "hidden sm:block",
1672
1527
  children: text
1673
1528
  })
@@ -1675,18 +1530,18 @@ function PaginationPrevious2({
1675
1530
  });
1676
1531
  }
1677
1532
  function PaginationNext2({ density, className, text = "Next", ...props }) {
1678
- return /* @__PURE__ */ jsxs11(PaginationLink2, {
1533
+ return /* @__PURE__ */ jsxs10(PaginationLink2, {
1679
1534
  density,
1680
1535
  "aria-label": "Go to next page",
1681
1536
  size: "default",
1682
1537
  className: cn2("pe-1.5!", className),
1683
1538
  ...props,
1684
1539
  children: [
1685
- /* @__PURE__ */ jsx18("span", {
1540
+ /* @__PURE__ */ jsx17("span", {
1686
1541
  className: "hidden sm:block",
1687
1542
  children: text
1688
1543
  }),
1689
- /* @__PURE__ */ jsx18(ChevronRightIcon2, {
1544
+ /* @__PURE__ */ jsx17(ChevronRightIcon2, {
1690
1545
  "data-icon": "inline-end",
1691
1546
  className: "rtl:rotate-180"
1692
1547
  })
@@ -1694,15 +1549,15 @@ function PaginationNext2({ density, className, text = "Next", ...props }) {
1694
1549
  });
1695
1550
  }
1696
1551
  function PaginationEllipsis2({ density, className, ...props }) {
1697
- return /* @__PURE__ */ jsxs11("span", {
1552
+ return /* @__PURE__ */ jsxs10("span", {
1698
1553
  "aria-hidden": true,
1699
1554
  "data-density": density,
1700
1555
  "data-slot": "pagination-ellipsis",
1701
1556
  className: cn2("flex size-control items-center justify-center [&_svg:not([class*='size-'])]:size-4", className),
1702
1557
  ...props,
1703
1558
  children: [
1704
- /* @__PURE__ */ jsx18(MoreHorizontalIcon2, {}),
1705
- /* @__PURE__ */ jsx18("span", {
1559
+ /* @__PURE__ */ jsx17(MoreHorizontalIcon2, {}),
1560
+ /* @__PURE__ */ jsx17("span", {
1706
1561
  className: "sr-only",
1707
1562
  children: "More pages"
1708
1563
  })
@@ -1728,7 +1583,7 @@ function useDrawer() {
1728
1583
 
1729
1584
  // src/components/Drawer.tsx
1730
1585
  import { Drawer as DrawerPrimitive } from "@base-ui/react/drawer";
1731
- import { jsx as jsx19, jsxs as jsxs12 } from "react/jsx-runtime";
1586
+ import { jsx as jsx18, jsxs as jsxs11 } from "react/jsx-runtime";
1732
1587
  function Drawer2({
1733
1588
  analytics,
1734
1589
  modal = true,
@@ -1740,9 +1595,9 @@ function Drawer2({
1740
1595
  const trackedOnOpenChange = useAnalyticsCallback("Drawer", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
1741
1596
  const hasSnapPoints = snapPoints != null && snapPoints.length > 0;
1742
1597
  const contextValue = useMemo2(() => ({ hasSnapPoints, modal, showSwipeHandle, swipeDirection }), [hasSnapPoints, modal, showSwipeHandle, swipeDirection]);
1743
- return /* @__PURE__ */ jsx19(DrawerContext.Provider, {
1598
+ return /* @__PURE__ */ jsx18(DrawerContext.Provider, {
1744
1599
  value: contextValue,
1745
- children: /* @__PURE__ */ jsx19(DrawerPrimitive.Root, {
1600
+ children: /* @__PURE__ */ jsx18(DrawerPrimitive.Root, {
1746
1601
  "data-slot": "drawer",
1747
1602
  modal,
1748
1603
  snapPoints,
@@ -1753,7 +1608,7 @@ function Drawer2({
1753
1608
  });
1754
1609
  }
1755
1610
  function DrawerTrigger2({ ...props }) {
1756
- return /* @__PURE__ */ jsx19(DrawerPrimitive.Trigger, {
1611
+ return /* @__PURE__ */ jsx18(DrawerPrimitive.Trigger, {
1757
1612
  "data-slot": "drawer-trigger",
1758
1613
  ...props
1759
1614
  });
@@ -1761,26 +1616,26 @@ function DrawerTrigger2({ ...props }) {
1761
1616
  function DrawerPortal2({ container, ref, children, ...props }) {
1762
1617
  const resolvedContainer = usePortalContainer2(container);
1763
1618
  const portal = usePortalNode(ref);
1764
- return /* @__PURE__ */ jsx19(DrawerPrimitive.Portal, {
1619
+ return /* @__PURE__ */ jsx18(DrawerPrimitive.Portal, {
1765
1620
  "data-slot": "drawer-portal",
1766
1621
  container: resolvedContainer,
1767
1622
  ref: portal.ref,
1768
1623
  ...props,
1769
- children: /* @__PURE__ */ jsx19(PortalProvider2, {
1624
+ children: /* @__PURE__ */ jsx18(PortalProvider2, {
1770
1625
  container: portal.node,
1771
1626
  children
1772
1627
  })
1773
1628
  });
1774
1629
  }
1775
1630
  function DrawerClose2({ ...props }) {
1776
- return /* @__PURE__ */ jsx19(DrawerPrimitive.Close, {
1631
+ return /* @__PURE__ */ jsx18(DrawerPrimitive.Close, {
1777
1632
  "data-slot": "drawer-close",
1778
1633
  ...props
1779
1634
  });
1780
1635
  }
1781
1636
  function DrawerOverlay2({ density, className, ...props }) {
1782
1637
  const resolvedDensity = useDensity(density);
1783
- return /* @__PURE__ */ jsx19(DrawerPrimitive.Backdrop, {
1638
+ return /* @__PURE__ */ jsx18(DrawerPrimitive.Backdrop, {
1784
1639
  "data-density": resolvedDensity,
1785
1640
  "data-slot": "drawer-overlay",
1786
1641
  className: (state) => cn2("fixed inset-0 min-h-dvh bg-backdrop opacity-[max(var(--drawer-overlay-min-opacity,0),calc(1-var(--drawer-swipe-progress)))] transition-opacity duration-450 ease-[cubic-bezier(0.32,0.72,0,1)] select-none data-ending-style:pointer-events-none data-ending-style:opacity-0 data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-snap-points:[--drawer-overlay-min-opacity:0.5] data-starting-style:opacity-0 data-swiping:duration-0 supports-[-webkit-touch-callout:none]:absolute", typeof className === "function" ? className(state) : className),
@@ -1788,7 +1643,7 @@ function DrawerOverlay2({ density, className, ...props }) {
1788
1643
  });
1789
1644
  }
1790
1645
  function DrawerSwipeHandle2({ density, className, ...props }) {
1791
- return /* @__PURE__ */ jsx19("div", {
1646
+ return /* @__PURE__ */ jsx18("div", {
1792
1647
  "data-density": density,
1793
1648
  "data-slot": "drawer-swipe-handle",
1794
1649
  "aria-hidden": "true",
@@ -1801,18 +1656,18 @@ function DrawerContent2({ density, className, children, ...props }) {
1801
1656
  const direction = useDirection2();
1802
1657
  const { hasSnapPoints, modal, showSwipeHandle, swipeDirection } = useDrawer();
1803
1658
  const swipeAxis = swipeDirection === "down" || swipeDirection === "up" ? "y" : "x";
1804
- return /* @__PURE__ */ jsxs12(DrawerPortal2, {
1659
+ return /* @__PURE__ */ jsxs11(DrawerPortal2, {
1805
1660
  "data-slot": "drawer-portal",
1806
1661
  children: [
1807
- modal === true && /* @__PURE__ */ jsx19(DrawerOverlay2, {
1662
+ modal === true && /* @__PURE__ */ jsx18(DrawerOverlay2, {
1808
1663
  "data-snap-points": hasSnapPoints ? "" : undefined
1809
1664
  }),
1810
- /* @__PURE__ */ jsx19(DrawerPrimitive.Viewport, {
1665
+ /* @__PURE__ */ jsx18(DrawerPrimitive.Viewport, {
1811
1666
  dir: direction,
1812
1667
  "data-slot": "drawer-viewport",
1813
1668
  "data-modal": modal,
1814
1669
  className: "pointer-events-none fixed inset-0 select-none data-[modal=true]:pointer-events-auto",
1815
- children: /* @__PURE__ */ jsxs12(DrawerPrimitive.Popup, {
1670
+ children: /* @__PURE__ */ jsxs11(DrawerPrimitive.Popup, {
1816
1671
  "data-density": resolvedDensity,
1817
1672
  "data-slot": "drawer-popup",
1818
1673
  "data-scroll": "none",
@@ -1821,8 +1676,8 @@ function DrawerContent2({ density, className, children, ...props }) {
1821
1676
  className: (state) => cn2("group/drawer-popup pointer-events-auto fixed m-(--drawer-inset,0px) flex h-(--drawer-content-height) max-h-(--drawer-content-max-height,none) min-h-0 w-(--drawer-content-width,auto) transform-[translate3d(var(--translate-x,0px),var(--translate-y,0px),0)] flex-col border border-frame-edge shadow-frame bg-popover text-sm text-popover-foreground transition-[transform,height,opacity,filter] duration-450 ease-[cubic-bezier(0.22,1,0.36,1)] will-change-transform outline-none select-none [interpolate-size:allow-keywords] data-[swipe-direction=down]:rounded-t-md data-[swipe-direction=down]:border-t data-[swipe-direction=left]:rounded-r-md data-[swipe-direction=left]:border-r data-[swipe-direction=right]:rounded-l-md data-[swipe-direction=right]:border-l data-[swipe-direction=up]:rounded-b-md data-[swipe-direction=up]:border-b", "data-nested-drawer-open:overflow-hidden data-nested-drawer-open:brightness-95", "after:pointer-events-none after:absolute after:bg-(--drawer-bleed-background,var(--color-popover)) data-[swipe-axis=x]:after:inset-y-0 data-[swipe-axis=x]:after:w-(--bleed) data-[swipe-axis=y]:after:inset-x-0 data-[swipe-axis=y]:after:h-(--bleed) data-[swipe-direction=down]:after:top-full data-[swipe-direction=left]:after:right-full data-[swipe-direction=right]:after:left-full data-[swipe-direction=up]:after:bottom-full", "[--drawer-content-height:var(--drawer-height,auto)] data-[swipe-axis=x]:[--drawer-content-width:75%] data-[swipe-axis=y]:[--drawer-content-max-height:calc(100dvh-6rem)] data-[swipe-axis=y]:data-snap-points:[--drawer-content-height:100dvh] data-[swipe-axis=x]:sm:[--drawer-content-width:24rem]", "[--bleed:3rem] [--peek:1rem] [--stack-height:var(--drawer-frontmost-height,var(--drawer-height,0px))] [--stack-peek-offset:max(0px,calc((var(--nested-drawers)-var(--stack-progress))*var(--peek)))] [--stack-progress:clamp(0,var(--drawer-swipe-progress),1)] [--stack-shrink:0]", "data-ending-style:transform-(--closed-transform) data-ending-style:opacity-[0.9999] data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-nested-drawer-swiping:duration-0 data-ending-style:data-nested-drawer-swiping:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-starting-style:transform-(--closed-transform) data-swiping:duration-0 data-ending-style:data-swiping:duration-[calc(var(--drawer-swipe-strength)*400ms)]", "data-[swipe-axis=y]:inset-x-0 data-[swipe-axis=y]:data-nested-drawer-open:h-(--stack-height)", "data-[swipe-axis=x]:inset-y-0 data-[swipe-axis=x]:flex-row", "data-[swipe-direction=down]:bottom-0 data-[swipe-direction=down]:origin-bottom data-[swipe-direction=down]:[--closed-transform:translate3d(0,calc(100%+var(--drawer-inset,0px)+2px),0)] data-[swipe-direction=down]:[--translate-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y)-var(--stack-peek-offset)-(var(--stack-shrink)*var(--stack-height)))]", "data-[swipe-direction=up]:top-0 data-[swipe-direction=up]:origin-top data-[swipe-direction=up]:[--closed-transform:translate3d(0,calc(-100%-var(--drawer-inset,0px)-2px),0)] data-[swipe-direction=up]:[--translate-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y)+var(--stack-peek-offset)+(var(--stack-shrink)*var(--stack-height)))]", "data-[swipe-direction=left]:left-0 data-[swipe-direction=left]:origin-left data-[swipe-direction=left]:[--closed-transform:translate3d(calc(-100%-var(--drawer-inset,0px)-2px),0,0)] data-[swipe-direction=left]:[--translate-x:calc(var(--drawer-swipe-movement-x)+var(--stack-peek-offset)+(var(--stack-shrink)*100%))]", "data-[swipe-direction=right]:right-0 data-[swipe-direction=right]:origin-right data-[swipe-direction=right]:[--closed-transform:translate3d(calc(100%+var(--drawer-inset,0px)+2px),0,0)] data-[swipe-direction=right]:[--translate-x:calc(var(--drawer-swipe-movement-x)-var(--stack-peek-offset)-(var(--stack-shrink)*100%))]", typeof className === "function" ? className(state) : className),
1822
1677
  ...props,
1823
1678
  children: [
1824
- showSwipeHandle && /* @__PURE__ */ jsx19(DrawerSwipeHandle2, {}),
1825
- /* @__PURE__ */ jsx19(DrawerPrimitive.Content, {
1679
+ showSwipeHandle && /* @__PURE__ */ jsx18(DrawerSwipeHandle2, {}),
1680
+ /* @__PURE__ */ jsx18(DrawerPrimitive.Content, {
1826
1681
  "data-slot": "drawer-content",
1827
1682
  "data-scroll": "none",
1828
1683
  className: "flex min-h-0 flex-1 flex-col overflow-hidden overscroll-contain rounded-[inherit] transition-opacity duration-300 ease-out select-text group-data-nested-drawer-open/drawer-popup:opacity-0 group-data-nested-drawer-swiping/drawer-popup:opacity-100 group-data-swiping/drawer-popup:select-none",
@@ -1835,7 +1690,7 @@ function DrawerContent2({ density, className, children, ...props }) {
1835
1690
  });
1836
1691
  }
1837
1692
  function DrawerHeader2({ density, className, ...props }) {
1838
- return /* @__PURE__ */ jsx19("div", {
1693
+ return /* @__PURE__ */ jsx18("div", {
1839
1694
  "data-density": density,
1840
1695
  "data-slot": "drawer-header",
1841
1696
  className: cn2("flex shrink-0 flex-col gap-0.5 p-panel pb-0 group-data-[swipe-axis=y]/drawer-popup:text-center md:gap-0.5 md:text-start md:group-data-[swipe-axis=y]/drawer-popup:text-start", className),
@@ -1843,7 +1698,7 @@ function DrawerHeader2({ density, className, ...props }) {
1843
1698
  });
1844
1699
  }
1845
1700
  function DrawerFooter2({ density, className, ...props }) {
1846
- return /* @__PURE__ */ jsx19("div", {
1701
+ return /* @__PURE__ */ jsx18("div", {
1847
1702
  "data-density": density,
1848
1703
  "data-slot": "drawer-footer",
1849
1704
  className: cn2("mt-auto flex shrink-0 flex-col gap-2 p-panel pt-0", className),
@@ -1851,7 +1706,7 @@ function DrawerFooter2({ density, className, ...props }) {
1851
1706
  });
1852
1707
  }
1853
1708
  function DrawerTitle2({ density, className, ...props }) {
1854
- return /* @__PURE__ */ jsx19(DrawerPrimitive.Title, {
1709
+ return /* @__PURE__ */ jsx18(DrawerPrimitive.Title, {
1855
1710
  "data-density": density,
1856
1711
  "data-slot": "drawer-title",
1857
1712
  className: (state) => cn2(" text-base font-medium text-foreground", typeof className === "function" ? className(state) : className),
@@ -1859,7 +1714,7 @@ function DrawerTitle2({ density, className, ...props }) {
1859
1714
  });
1860
1715
  }
1861
1716
  function DrawerDescription2({ density, className, ...props }) {
1862
- return /* @__PURE__ */ jsx19(DrawerPrimitive.Description, {
1717
+ return /* @__PURE__ */ jsx18(DrawerPrimitive.Description, {
1863
1718
  "data-density": density,
1864
1719
  "data-slot": "drawer-description",
1865
1720
  className: (state) => cn2("text-sm text-balance text-muted-foreground", typeof className === "function" ? className(state) : className),
@@ -1867,12 +1722,12 @@ function DrawerDescription2({ density, className, ...props }) {
1867
1722
  });
1868
1723
  }
1869
1724
  // src/components/Menubar.tsx
1870
- import { CheckIcon as CheckIcon2 } from "lucide-react";
1725
+ import { CheckIcon } from "lucide-react";
1871
1726
  import { Menu as MenuPrimitive } from "@base-ui/react/menu";
1872
1727
  import { Menubar as MenubarPrimitive } from "@base-ui/react/menubar";
1873
- import { jsx as jsx20, jsxs as jsxs13 } from "react/jsx-runtime";
1728
+ import { jsx as jsx19, jsxs as jsxs12 } from "react/jsx-runtime";
1874
1729
  function Menubar2({ density, className, ...props }) {
1875
- return /* @__PURE__ */ jsx20(MenubarPrimitive, {
1730
+ return /* @__PURE__ */ jsx19(MenubarPrimitive, {
1876
1731
  "data-density": density,
1877
1732
  "data-slot": "menubar",
1878
1733
  className: (state) => cn2("flex h-control items-center gap-0.5 rounded-sm border p-px", typeof className === "function" ? className(state) : className),
@@ -1884,26 +1739,26 @@ function MenubarMenu2({
1884
1739
  ...props
1885
1740
  }) {
1886
1741
  const trackedOnOpenChange = useAnalyticsCallback("MenubarMenu", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
1887
- return /* @__PURE__ */ jsx20(DropdownMenu2, {
1742
+ return /* @__PURE__ */ jsx19(DropdownMenu2, {
1888
1743
  "data-slot": "menubar-menu",
1889
1744
  ...props,
1890
1745
  onOpenChange: trackedOnOpenChange
1891
1746
  });
1892
1747
  }
1893
1748
  function MenubarGroup2({ ...props }) {
1894
- return /* @__PURE__ */ jsx20(MenuGroup2, {
1749
+ return /* @__PURE__ */ jsx19(MenuGroup2, {
1895
1750
  "data-slot": "menubar-group",
1896
1751
  ...props
1897
1752
  });
1898
1753
  }
1899
1754
  function MenubarPortal2({ ...props }) {
1900
- return /* @__PURE__ */ jsx20(MenuPortal, {
1755
+ return /* @__PURE__ */ jsx19(MenuPortal, {
1901
1756
  "data-slot": "menubar-portal",
1902
1757
  ...props
1903
1758
  });
1904
1759
  }
1905
1760
  function MenubarTrigger2({ density, className, ...props }) {
1906
- return /* @__PURE__ */ jsx20(DropdownMenuTrigger2, {
1761
+ return /* @__PURE__ */ jsx19(DropdownMenuTrigger2, {
1907
1762
  "data-density": density,
1908
1763
  "data-slot": "menubar-trigger",
1909
1764
  className: (state) => cn2("flex h-full items-center rounded-sm px-control-x text-sm leading-none font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted", typeof className === "function" ? className(state) : className),
@@ -1918,7 +1773,7 @@ function MenubarContent2({
1918
1773
  sideOffset = 8,
1919
1774
  ...props
1920
1775
  }) {
1921
- return /* @__PURE__ */ jsx20(MenuPopup, {
1776
+ return /* @__PURE__ */ jsx19(MenuPopup, {
1922
1777
  density,
1923
1778
  "data-slot": "menubar-content",
1924
1779
  align,
@@ -1937,7 +1792,7 @@ function MenubarItem2({
1937
1792
  ...props
1938
1793
  }) {
1939
1794
  const trackedOnClick = useAnalyticsCallback("MenubarItem", analytics, { name: "ui.activate" }, props.onClick);
1940
- return /* @__PURE__ */ jsx20(MenuItem2, {
1795
+ return /* @__PURE__ */ jsx19(MenuItem2, {
1941
1796
  density,
1942
1797
  "data-slot": "menubar-item",
1943
1798
  inset,
@@ -1957,7 +1812,7 @@ function MenubarCheckboxItem2({
1957
1812
  ...props
1958
1813
  }) {
1959
1814
  const trackedOnCheckedChange = useAnalyticsCallback("MenubarCheckboxItem", analytics, { name: "ui.change-request" }, props.onCheckedChange);
1960
- return /* @__PURE__ */ jsxs13(MenuPrimitive.CheckboxItem, {
1815
+ return /* @__PURE__ */ jsxs12(MenuPrimitive.CheckboxItem, {
1961
1816
  "data-density": density,
1962
1817
  "data-slot": "menubar-checkbox-item",
1963
1818
  "data-inset": inset,
@@ -1966,10 +1821,10 @@ function MenubarCheckboxItem2({
1966
1821
  ...props,
1967
1822
  onCheckedChange: trackedOnCheckedChange,
1968
1823
  children: [
1969
- /* @__PURE__ */ jsx20("span", {
1824
+ /* @__PURE__ */ jsx19("span", {
1970
1825
  className: "pointer-events-none absolute start-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
1971
- children: /* @__PURE__ */ jsx20(MenuPrimitive.CheckboxItemIndicator, {
1972
- children: /* @__PURE__ */ jsx20(CheckIcon2, {})
1826
+ children: /* @__PURE__ */ jsx19(MenuPrimitive.CheckboxItemIndicator, {
1827
+ children: /* @__PURE__ */ jsx19(CheckIcon, {})
1973
1828
  })
1974
1829
  }),
1975
1830
  children
@@ -1977,23 +1832,23 @@ function MenubarCheckboxItem2({
1977
1832
  });
1978
1833
  }
1979
1834
  function MenubarRadioGroup2({ ...props }) {
1980
- return /* @__PURE__ */ jsx20(MenuRadioGroup2, {
1835
+ return /* @__PURE__ */ jsx19(MenuRadioGroup2, {
1981
1836
  "data-slot": "menubar-radio-group",
1982
1837
  ...props
1983
1838
  });
1984
1839
  }
1985
1840
  function MenubarRadioItem2({ density, className, children, inset, ...props }) {
1986
- return /* @__PURE__ */ jsxs13(MenuPrimitive.RadioItem, {
1841
+ return /* @__PURE__ */ jsxs12(MenuPrimitive.RadioItem, {
1987
1842
  "data-density": density,
1988
1843
  "data-slot": "menubar-radio-item",
1989
1844
  "data-inset": inset,
1990
1845
  className: (state) => cn2("relative flex cursor-default items-center gap-control-gap rounded-md py-1 pe-1.5 ps-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
1991
1846
  ...props,
1992
1847
  children: [
1993
- /* @__PURE__ */ jsx20("span", {
1848
+ /* @__PURE__ */ jsx19("span", {
1994
1849
  className: "pointer-events-none absolute start-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
1995
- children: /* @__PURE__ */ jsx20(MenuPrimitive.RadioItemIndicator, {
1996
- children: /* @__PURE__ */ jsx20(CheckIcon2, {})
1850
+ children: /* @__PURE__ */ jsx19(MenuPrimitive.RadioItemIndicator, {
1851
+ children: /* @__PURE__ */ jsx19(CheckIcon, {})
1997
1852
  })
1998
1853
  }),
1999
1854
  children
@@ -2001,7 +1856,7 @@ function MenubarRadioItem2({ density, className, children, inset, ...props }) {
2001
1856
  });
2002
1857
  }
2003
1858
  function MenubarLabel2({ density, className, inset, ...props }) {
2004
- return /* @__PURE__ */ jsx20(MenuLabel2, {
1859
+ return /* @__PURE__ */ jsx19(MenuLabel2, {
2005
1860
  density,
2006
1861
  "data-slot": "menubar-label",
2007
1862
  inset,
@@ -2010,7 +1865,7 @@ function MenubarLabel2({ density, className, inset, ...props }) {
2010
1865
  });
2011
1866
  }
2012
1867
  function MenubarSeparator2({ density, className, ...props }) {
2013
- return /* @__PURE__ */ jsx20(MenuSeparator2, {
1868
+ return /* @__PURE__ */ jsx19(MenuSeparator2, {
2014
1869
  density,
2015
1870
  "data-slot": "menubar-separator",
2016
1871
  className: (state) => cn2("-mx-1 my-1 h-px bg-border", typeof className === "function" ? className(state) : className),
@@ -2018,7 +1873,7 @@ function MenubarSeparator2({ density, className, ...props }) {
2018
1873
  });
2019
1874
  }
2020
1875
  function MenubarShortcut2({ density, className, ...props }) {
2021
- return /* @__PURE__ */ jsx20(MenuShortcut2, {
1876
+ return /* @__PURE__ */ jsx19(MenuShortcut2, {
2022
1877
  "data-density": density,
2023
1878
  "data-slot": "menubar-shortcut",
2024
1879
  className: cn2("ms-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground", className),
@@ -2026,13 +1881,13 @@ function MenubarShortcut2({ density, className, ...props }) {
2026
1881
  });
2027
1882
  }
2028
1883
  function MenubarSub2({ ...props }) {
2029
- return /* @__PURE__ */ jsx20(MenuSub2, {
1884
+ return /* @__PURE__ */ jsx19(MenuSub2, {
2030
1885
  "data-slot": "menubar-sub",
2031
1886
  ...props
2032
1887
  });
2033
1888
  }
2034
1889
  function MenubarSubTrigger2({ density, className, inset, ...props }) {
2035
- return /* @__PURE__ */ jsx20(MenuSubTrigger2, {
1890
+ return /* @__PURE__ */ jsx19(MenuSubTrigger2, {
2036
1891
  density,
2037
1892
  "data-slot": "menubar-sub-trigger",
2038
1893
  inset,
@@ -2041,7 +1896,7 @@ function MenubarSubTrigger2({ density, className, inset, ...props }) {
2041
1896
  });
2042
1897
  }
2043
1898
  function MenubarSubContent2({ density, className, ...props }) {
2044
- return /* @__PURE__ */ jsx20(MenuSubContent2, {
1899
+ return /* @__PURE__ */ jsx19(MenuSubContent2, {
2045
1900
  density,
2046
1901
  "data-slot": "menubar-sub-content",
2047
1902
  className: (state) => cn2(" min-w-32 rounded-sm bg-popover p-1 text-popover-foreground shadow-frame border border-frame-edge border border-frame-edge shadow-frame duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 ", typeof className === "function" ? className(state) : className),
@@ -2049,10 +1904,10 @@ function MenubarSubContent2({ density, className, ...props }) {
2049
1904
  });
2050
1905
  }
2051
1906
  // src/components/NavigationMenu.tsx
2052
- import { ChevronDownIcon as ChevronDownIcon3 } from "lucide-react";
1907
+ import { ChevronDownIcon as ChevronDownIcon2 } from "lucide-react";
2053
1908
  import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react/navigation-menu";
2054
1909
  import { cva as cva3 } from "class-variance-authority";
2055
- import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
1910
+ import { jsx as jsx20, jsxs as jsxs13 } from "react/jsx-runtime";
2056
1911
  function NavigationMenu2({
2057
1912
  analytics,
2058
1913
  density,
@@ -2063,7 +1918,7 @@ function NavigationMenu2({
2063
1918
  }) {
2064
1919
  const trackedOnValueChange = useAnalyticsCallback("NavigationMenu", analytics, { name: "ui.change-request" }, props.onValueChange);
2065
1920
  const resolvedDensity = useDensity(density);
2066
- return /* @__PURE__ */ jsxs14(NavigationMenuPrimitive.Root, {
1921
+ return /* @__PURE__ */ jsxs13(NavigationMenuPrimitive.Root, {
2067
1922
  "data-density": resolvedDensity,
2068
1923
  "data-slot": "navigation-menu",
2069
1924
  className: (state) => cn2("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", typeof className === "function" ? className(state) : className),
@@ -2071,7 +1926,7 @@ function NavigationMenu2({
2071
1926
  onValueChange: trackedOnValueChange,
2072
1927
  children: [
2073
1928
  children,
2074
- /* @__PURE__ */ jsx21(NavigationMenuPositioner2, {
1929
+ /* @__PURE__ */ jsx20(NavigationMenuPositioner2, {
2075
1930
  density: resolvedDensity,
2076
1931
  align
2077
1932
  })
@@ -2079,7 +1934,7 @@ function NavigationMenu2({
2079
1934
  });
2080
1935
  }
2081
1936
  function NavigationMenuList2({ density, className, ...props }) {
2082
- return /* @__PURE__ */ jsx21(NavigationMenuPrimitive.List, {
1937
+ return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.List, {
2083
1938
  "data-density": density,
2084
1939
  "data-slot": "navigation-menu-list",
2085
1940
  className: (state) => cn2("group flex flex-1 list-none items-center justify-center gap-0", typeof className === "function" ? className(state) : className),
@@ -2087,7 +1942,7 @@ function NavigationMenuList2({ density, className, ...props }) {
2087
1942
  });
2088
1943
  }
2089
1944
  function NavigationMenuItem2({ density, className, ...props }) {
2090
- return /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Item, {
1945
+ return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Item, {
2091
1946
  "data-density": density,
2092
1947
  "data-slot": "navigation-menu-item",
2093
1948
  className: (state) => cn2("relative", typeof className === "function" ? className(state) : className),
@@ -2096,7 +1951,7 @@ function NavigationMenuItem2({ density, className, ...props }) {
2096
1951
  }
2097
1952
  var navigationMenuTriggerStyle2 = cva3("group/navigation-menu-trigger inline-flex h-control-lg w-max items-center justify-center rounded-sm px-control-x py-1.5 text-sm font-medium transition-colors outline-none hover:bg-muted focus:bg-muted focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted");
2098
1953
  function NavigationMenuTrigger2({ density, className, children, ...props }) {
2099
- return /* @__PURE__ */ jsxs14(NavigationMenuPrimitive.Trigger, {
1954
+ return /* @__PURE__ */ jsxs13(NavigationMenuPrimitive.Trigger, {
2100
1955
  "data-density": density,
2101
1956
  "data-slot": "navigation-menu-trigger",
2102
1957
  className: (state) => cn2(navigationMenuTriggerStyle2(), "group", typeof className === "function" ? className(state) : className),
@@ -2104,12 +1959,12 @@ function NavigationMenuTrigger2({ density, className, children, ...props }) {
2104
1959
  children: [
2105
1960
  children,
2106
1961
  " ",
2107
- /* @__PURE__ */ jsx21(NavigationMenuIndicator2, {})
1962
+ /* @__PURE__ */ jsx20(NavigationMenuIndicator2, {})
2108
1963
  ]
2109
1964
  });
2110
1965
  }
2111
1966
  function NavigationMenuContent2({ density, className, ...props }) {
2112
- return /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Content, {
1967
+ return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Content, {
2113
1968
  "data-density": density,
2114
1969
  "data-slot": "navigation-menu-content",
2115
1970
  className: (state) => cn2("data-ending-style:data-activation-direction=left:translate-x-[50%] data-ending-style:data-activation-direction=right:translate-x-[-50%] data-starting-style:data-activation-direction=left:translate-x-[-50%] data-starting-style:data-activation-direction=right:translate-x-[50%] h-full w-auto p-1 transition-[opacity,transform,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-ending-style:opacity-0 data-starting-style:opacity-0 ", typeof className === "function" ? className(state) : className),
@@ -2129,12 +1984,12 @@ function NavigationMenuPositioner2({
2129
1984
  const direction = useDirection2();
2130
1985
  const container = usePortalContainer2();
2131
1986
  const portal = usePortalNode();
2132
- return /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Portal, {
1987
+ return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Portal, {
2133
1988
  container,
2134
1989
  ref: portal.ref,
2135
- children: /* @__PURE__ */ jsx21(PortalProvider2, {
1990
+ children: /* @__PURE__ */ jsx20(PortalProvider2, {
2136
1991
  container: portal.node,
2137
- children: /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Positioner, {
1992
+ children: /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Positioner, {
2138
1993
  dir: direction,
2139
1994
  side,
2140
1995
  sideOffset,
@@ -2142,11 +1997,11 @@ function NavigationMenuPositioner2({
2142
1997
  alignOffset,
2143
1998
  className: (state) => cn2("isolate h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0", typeof className === "function" ? className(state) : className),
2144
1999
  ...props,
2145
- children: /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Popup, {
2000
+ children: /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Popup, {
2146
2001
  "data-density": resolvedDensity,
2147
2002
  "data-slot": "navigation-menu-popup",
2148
2003
  className: "data-[ending-style]:easing-[ease] xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded-sm bg-popover text-popover-foreground border border-frame-edge shadow-frame transition-[opacity,transform,width,height,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:opacity-0",
2149
- children: /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Viewport, {
2004
+ children: /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Viewport, {
2150
2005
  className: "relative size-full overflow-hidden"
2151
2006
  })
2152
2007
  })
@@ -2156,7 +2011,7 @@ function NavigationMenuPositioner2({
2156
2011
  }
2157
2012
  function NavigationMenuLink2({ analytics, density, className, ...props }) {
2158
2013
  const trackedOnClick = useAnalyticsCallback("NavigationMenuLink", analytics, { name: "ui.activate" }, props.onClick);
2159
- return /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Link, {
2014
+ return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Link, {
2160
2015
  "data-density": density,
2161
2016
  "data-slot": "navigation-menu-link",
2162
2017
  className: (state) => cn2("flex items-center gap-2 rounded-sm p-2 text-sm transition-colors outline-none hover:bg-muted focus:bg-muted focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
@@ -2170,32 +2025,32 @@ function NavigationMenuIndicator2({
2170
2025
  children,
2171
2026
  ...props
2172
2027
  }) {
2173
- return /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Icon, {
2028
+ return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Icon, {
2174
2029
  "data-density": density,
2175
2030
  "data-slot": "navigation-menu-indicator",
2176
2031
  className: (state) => cn2("ms-1 inline-flex size-3 shrink-0 items-center justify-center transition-transform duration-120 data-popup-open:rotate-180 [&_svg]:size-full", typeof className === "function" ? className(state) : className),
2177
2032
  ...props,
2178
- children: children ?? /* @__PURE__ */ jsx21(ChevronDownIcon3, {})
2033
+ children: children ?? /* @__PURE__ */ jsx20(ChevronDownIcon2, {})
2179
2034
  });
2180
2035
  }
2181
2036
  // src/components/Toast.tsx
2182
2037
  import { Toast as ToastPrimitive } from "@base-ui/react/toast";
2183
2038
  import { CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon, LoaderCircleIcon, XIcon } from "lucide-react";
2184
- import { jsx as jsx22, jsxs as jsxs15, Fragment as Fragment4 } from "react/jsx-runtime";
2039
+ import { jsx as jsx21, jsxs as jsxs14, Fragment as Fragment4 } from "react/jsx-runtime";
2185
2040
  function ToastProvider2(props) {
2186
- return /* @__PURE__ */ jsx22(ToastPrimitive.Provider, {
2041
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Provider, {
2187
2042
  ...props
2188
2043
  });
2189
2044
  }
2190
2045
  function ToastPortal2({ container, ref, children, ...props }) {
2191
2046
  const resolvedContainer = usePortalContainer2(container);
2192
2047
  const portal = usePortalNode(ref);
2193
- return /* @__PURE__ */ jsx22(ToastPrimitive.Portal, {
2048
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Portal, {
2194
2049
  "data-slot": "toast-portal",
2195
2050
  container: resolvedContainer,
2196
2051
  ref: portal.ref,
2197
2052
  ...props,
2198
- children: /* @__PURE__ */ jsx22(PortalProvider2, {
2053
+ children: /* @__PURE__ */ jsx21(PortalProvider2, {
2199
2054
  container: portal.node,
2200
2055
  children
2201
2056
  })
@@ -2204,7 +2059,7 @@ function ToastPortal2({ container, ref, children, ...props }) {
2204
2059
  function ToastViewport2({ density, dir, className, ...props }) {
2205
2060
  const resolvedDensity = useDensity(density);
2206
2061
  const inheritedDirection = useDirection2();
2207
- return /* @__PURE__ */ jsx22(ToastPrimitive.Viewport, {
2062
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Viewport, {
2208
2063
  dir: dir ?? inheritedDirection,
2209
2064
  "data-density": resolvedDensity,
2210
2065
  "data-slot": "toast-viewport",
@@ -2213,7 +2068,7 @@ function ToastViewport2({ density, dir, className, ...props }) {
2213
2068
  });
2214
2069
  }
2215
2070
  function Toast2({ density, className, ...props }) {
2216
- return /* @__PURE__ */ jsx22(ToastPrimitive.Root, {
2071
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Root, {
2217
2072
  "data-density": density,
2218
2073
  "data-slot": "toast",
2219
2074
  className: (state) => cn2("group/toast pointer-events-auto absolute right-0 bottom-0 w-full rounded-md border border-frame-edge bg-popover text-popover-foreground shadow-frame outline-none select-none focus-visible:ring-1 focus-visible:ring-ring [--offset-y:calc(var(--toast-offset-y)*-1-var(--toast-index)*var(--spacing-panel))] [transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--offset-y)+var(--toast-swipe-movement-y)))] transition-[transform,opacity] duration-120 ease-out data-limited:opacity-0 data-starting-style:opacity-0 data-ending-style:opacity-0 motion-reduce:transition-none", typeof className === "function" ? className(state) : className),
@@ -2221,21 +2076,21 @@ function Toast2({ density, className, ...props }) {
2221
2076
  });
2222
2077
  }
2223
2078
  function ToastContent2({ className, ...props }) {
2224
- return /* @__PURE__ */ jsx22(ToastPrimitive.Content, {
2079
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Content, {
2225
2080
  "data-slot": "toast-content",
2226
2081
  className: (state) => cn2("flex items-center gap-control-gap p-panel", typeof className === "function" ? className(state) : className),
2227
2082
  ...props
2228
2083
  });
2229
2084
  }
2230
2085
  function ToastTitle2({ className, ...props }) {
2231
- return /* @__PURE__ */ jsx22(ToastPrimitive.Title, {
2086
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Title, {
2232
2087
  "data-slot": "toast-title",
2233
2088
  className: (state) => cn2("text-sm font-medium", typeof className === "function" ? className(state) : className),
2234
2089
  ...props
2235
2090
  });
2236
2091
  }
2237
2092
  function ToastDescription2({ className, ...props }) {
2238
- return /* @__PURE__ */ jsx22(ToastPrimitive.Description, {
2093
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Description, {
2239
2094
  "data-slot": "toast-description",
2240
2095
  className: (state) => cn2("text-sm text-muted-foreground", typeof className === "function" ? className(state) : className),
2241
2096
  ...props
@@ -2244,14 +2099,14 @@ function ToastDescription2({ className, ...props }) {
2244
2099
  function ToastAction2({
2245
2100
  analytics,
2246
2101
  className,
2247
- render = /* @__PURE__ */ jsx22(Button2, {
2102
+ render = /* @__PURE__ */ jsx21(Button2, {
2248
2103
  variant: "outline",
2249
2104
  size: "sm"
2250
2105
  }),
2251
2106
  ...props
2252
2107
  }) {
2253
2108
  const trackedOnClick = useAnalyticsCallback("ToastAction", analytics, { name: "ui.activate" }, props.onClick);
2254
- return /* @__PURE__ */ jsx22(ToastPrimitive.Action, {
2109
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Action, {
2255
2110
  "data-slot": "toast-action",
2256
2111
  render,
2257
2112
  className: (state) => cn2("shrink-0", typeof className === "function" ? className(state) : className),
@@ -2263,21 +2118,21 @@ function ToastClose2({
2263
2118
  analytics,
2264
2119
  className,
2265
2120
  children,
2266
- render = /* @__PURE__ */ jsx22(Button2, {
2121
+ render = /* @__PURE__ */ jsx21(Button2, {
2267
2122
  variant: "ghost",
2268
2123
  size: "icon-sm"
2269
2124
  }),
2270
2125
  ...props
2271
2126
  }) {
2272
2127
  const trackedOnClick = useAnalyticsCallback("ToastClose", analytics, { name: "ui.activate" }, props.onClick);
2273
- return /* @__PURE__ */ jsx22(ToastPrimitive.Close, {
2128
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Close, {
2274
2129
  "data-slot": "toast-close",
2275
2130
  "aria-label": "Close toast",
2276
2131
  render,
2277
2132
  className: (state) => cn2("relative shrink-0 text-muted-foreground hover:text-foreground", typeof className === "function" ? className(state) : className),
2278
2133
  ...props,
2279
2134
  onClick: trackedOnClick,
2280
- children: children ?? /* @__PURE__ */ jsx22(XIcon, {
2135
+ children: children ?? /* @__PURE__ */ jsx21(XIcon, {
2281
2136
  "aria-hidden": "true"
2282
2137
  })
2283
2138
  });
@@ -2285,24 +2140,24 @@ function ToastClose2({
2285
2140
  function ToastIcon({ type }) {
2286
2141
  switch (type) {
2287
2142
  case "success":
2288
- return /* @__PURE__ */ jsx22(CircleCheckIcon, {
2143
+ return /* @__PURE__ */ jsx21(CircleCheckIcon, {
2289
2144
  "aria-hidden": "true"
2290
2145
  });
2291
2146
  case "info":
2292
- return /* @__PURE__ */ jsx22(InfoIcon, {
2147
+ return /* @__PURE__ */ jsx21(InfoIcon, {
2293
2148
  "aria-hidden": "true"
2294
2149
  });
2295
2150
  case "warning":
2296
- return /* @__PURE__ */ jsx22(TriangleAlertIcon, {
2151
+ return /* @__PURE__ */ jsx21(TriangleAlertIcon, {
2297
2152
  "aria-hidden": "true"
2298
2153
  });
2299
2154
  case "error":
2300
- return /* @__PURE__ */ jsx22(OctagonXIcon, {
2155
+ return /* @__PURE__ */ jsx21(OctagonXIcon, {
2301
2156
  "aria-hidden": "true",
2302
2157
  className: "text-destructive"
2303
2158
  });
2304
2159
  case "loading":
2305
- return /* @__PURE__ */ jsx22(LoaderCircleIcon, {
2160
+ return /* @__PURE__ */ jsx21(LoaderCircleIcon, {
2306
2161
  "aria-hidden": "true",
2307
2162
  className: "animate-spin motion-reduce:animate-none"
2308
2163
  });
@@ -2312,41 +2167,41 @@ function ToastIcon({ type }) {
2312
2167
  }
2313
2168
  function ToastList() {
2314
2169
  const { toasts } = ToastPrimitive.useToastManager();
2315
- return /* @__PURE__ */ jsx22(Fragment4, {
2316
- children: toasts.map((toastItem) => /* @__PURE__ */ jsx22(Toast2, {
2170
+ return /* @__PURE__ */ jsx21(Fragment4, {
2171
+ children: toasts.map((toastItem) => /* @__PURE__ */ jsx21(Toast2, {
2317
2172
  toast: toastItem,
2318
- children: /* @__PURE__ */ jsxs15(ToastContent2, {
2173
+ children: /* @__PURE__ */ jsxs14(ToastContent2, {
2319
2174
  children: [
2320
- /* @__PURE__ */ jsx22("span", {
2175
+ /* @__PURE__ */ jsx21("span", {
2321
2176
  "data-slot": "toast-icon",
2322
2177
  className: "shrink-0 empty:hidden [&_svg]:size-4",
2323
- children: /* @__PURE__ */ jsx22(ToastIcon, {
2178
+ children: /* @__PURE__ */ jsx21(ToastIcon, {
2324
2179
  type: toastItem.type
2325
2180
  })
2326
2181
  }),
2327
- /* @__PURE__ */ jsxs15("div", {
2182
+ /* @__PURE__ */ jsxs14("div", {
2328
2183
  className: "flex min-w-0 flex-1 flex-col gap-1",
2329
2184
  children: [
2330
- /* @__PURE__ */ jsx22(ToastTitle2, {}),
2331
- /* @__PURE__ */ jsx22(ToastDescription2, {})
2185
+ /* @__PURE__ */ jsx21(ToastTitle2, {}),
2186
+ /* @__PURE__ */ jsx21(ToastDescription2, {})
2332
2187
  ]
2333
2188
  }),
2334
- /* @__PURE__ */ jsx22(ToastAction2, {}),
2335
- /* @__PURE__ */ jsx22(ToastClose2, {})
2189
+ /* @__PURE__ */ jsx21(ToastAction2, {}),
2190
+ /* @__PURE__ */ jsx21(ToastClose2, {})
2336
2191
  ]
2337
2192
  })
2338
2193
  }, toastItem.id))
2339
2194
  });
2340
2195
  }
2341
2196
  function ToastToaster2({ children, density, ...props }) {
2342
- return /* @__PURE__ */ jsxs15(ToastProvider2, {
2197
+ return /* @__PURE__ */ jsxs14(ToastProvider2, {
2343
2198
  ...props,
2344
2199
  children: [
2345
2200
  children,
2346
- /* @__PURE__ */ jsx22(ToastPortal2, {
2347
- children: /* @__PURE__ */ jsx22(ToastViewport2, {
2201
+ /* @__PURE__ */ jsx21(ToastPortal2, {
2202
+ children: /* @__PURE__ */ jsx21(ToastViewport2, {
2348
2203
  density,
2349
- children: /* @__PURE__ */ jsx22(ToastList, {})
2204
+ children: /* @__PURE__ */ jsx21(ToastList, {})
2350
2205
  })
2351
2206
  })
2352
2207
  ]
@@ -2362,7 +2217,7 @@ function useToastManager2() {
2362
2217
  import { mergeProps as mergeProps6 } from "@base-ui/react/merge-props";
2363
2218
  import { useRender as useRender6 } from "@base-ui/react/use-render";
2364
2219
  import { cva as cva4 } from "class-variance-authority";
2365
- import { jsx as jsx23 } from "react/jsx-runtime";
2220
+ import { jsx as jsx22 } from "react/jsx-runtime";
2366
2221
  var markerVariants2 = cva4("group/marker relative flex min-h-4 w-full items-center gap-control-gap text-start text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground [&:is(a,button)]:outline-none [&:is(a,button)]:focus-visible:outline-1 [&:is(a,button)]:focus-visible:outline-ring", {
2367
2222
  variants: {
2368
2223
  variant: {
@@ -2381,7 +2236,7 @@ function Marker2({ density, className, variant = "default", render, ...props })
2381
2236
  });
2382
2237
  }
2383
2238
  function MarkerIcon2({ density, className, ...props }) {
2384
- return /* @__PURE__ */ jsx23("span", {
2239
+ return /* @__PURE__ */ jsx22("span", {
2385
2240
  "data-density": density,
2386
2241
  "data-slot": "marker-icon",
2387
2242
  "aria-hidden": "true",
@@ -2390,7 +2245,7 @@ function MarkerIcon2({ density, className, ...props }) {
2390
2245
  });
2391
2246
  }
2392
2247
  function MarkerContent2({ density, className, ...props }) {
2393
- return /* @__PURE__ */ jsx23("span", {
2248
+ return /* @__PURE__ */ jsx22("span", {
2394
2249
  "data-density": density,
2395
2250
  "data-slot": "marker-content",
2396
2251
  className: cn2("min-w-0 wrap-break-word group-data-[variant=separator]/marker:text-center [&>a]:underline [&>a]:underline-offset-3 [&>a:hover]:text-foreground", className),
@@ -2401,9 +2256,9 @@ function MarkerContent2({ density, className, ...props }) {
2401
2256
  import { mergeProps as mergeProps7 } from "@base-ui/react/merge-props";
2402
2257
  import { useRender as useRender7 } from "@base-ui/react/use-render";
2403
2258
  import { cva as cva5 } from "class-variance-authority";
2404
- import { jsx as jsx24 } from "react/jsx-runtime";
2259
+ import { jsx as jsx23 } from "react/jsx-runtime";
2405
2260
  function BubbleGroup2({ density, className, ...props }) {
2406
- return /* @__PURE__ */ jsx24("div", {
2261
+ return /* @__PURE__ */ jsx23("div", {
2407
2262
  "data-density": density,
2408
2263
  "data-slot": "bubble-group",
2409
2264
  className: cn2("flex min-w-0 flex-col gap-control-gap", className),
@@ -2425,7 +2280,7 @@ var bubbleVariants = cva5("group/bubble relative flex w-fit max-w-[80%] min-w-0
2425
2280
  defaultVariants: { variant: "default" }
2426
2281
  });
2427
2282
  function Bubble2({ density, variant = "default", align = "start", className, ...props }) {
2428
- return /* @__PURE__ */ jsx24("div", {
2283
+ return /* @__PURE__ */ jsx23("div", {
2429
2284
  "data-density": density,
2430
2285
  "data-slot": "bubble",
2431
2286
  "data-variant": variant,
@@ -2458,7 +2313,7 @@ function BubbleReactions2({
2458
2313
  className,
2459
2314
  ...props
2460
2315
  }) {
2461
- return /* @__PURE__ */ jsx24("div", {
2316
+ return /* @__PURE__ */ jsx23("div", {
2462
2317
  "data-density": density,
2463
2318
  "data-slot": "bubble-reactions",
2464
2319
  "data-align": align,
@@ -2476,9 +2331,9 @@ import { createContext as createContext3 } from "react";
2476
2331
  var MessageContext = createContext3(null);
2477
2332
 
2478
2333
  // src/components/Message.tsx
2479
- import { jsx as jsx25 } from "react/jsx-runtime";
2334
+ import { jsx as jsx24 } from "react/jsx-runtime";
2480
2335
  function MessageGroup2({ density, className, ...props }) {
2481
- return /* @__PURE__ */ jsx25("div", {
2336
+ return /* @__PURE__ */ jsx24("div", {
2482
2337
  "data-density": density,
2483
2338
  "data-slot": "message-group",
2484
2339
  className: cn2("flex min-w-0 flex-col gap-control-gap", className),
@@ -2489,9 +2344,9 @@ function Message2({ density, className, align = "start", style, ...props }) {
2489
2344
  const [footerOffset, setFooterOffset] = useState(0);
2490
2345
  const context = useMemo3(() => ({ setFooterOffset }), []);
2491
2346
  const messageStyle = { ...style, "--message-footer-offset": `${footerOffset}px` };
2492
- return /* @__PURE__ */ jsx25(MessageContext.Provider, {
2347
+ return /* @__PURE__ */ jsx24(MessageContext.Provider, {
2493
2348
  value: context,
2494
- children: /* @__PURE__ */ jsx25("div", {
2349
+ children: /* @__PURE__ */ jsx24("div", {
2495
2350
  "data-density": density,
2496
2351
  "data-slot": "message",
2497
2352
  "data-align": align,
@@ -2502,7 +2357,7 @@ function Message2({ density, className, align = "start", style, ...props }) {
2502
2357
  });
2503
2358
  }
2504
2359
  function MessageAvatar2({ density, className, ...props }) {
2505
- return /* @__PURE__ */ jsx25("div", {
2360
+ return /* @__PURE__ */ jsx24("div", {
2506
2361
  "data-density": density,
2507
2362
  "data-slot": "message-avatar",
2508
2363
  className: cn2("flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-(--message-footer-offset)", className),
@@ -2510,7 +2365,7 @@ function MessageAvatar2({ density, className, ...props }) {
2510
2365
  });
2511
2366
  }
2512
2367
  function MessageContent2({ density, className, ...props }) {
2513
- return /* @__PURE__ */ jsx25("div", {
2368
+ return /* @__PURE__ */ jsx24("div", {
2514
2369
  "data-density": density,
2515
2370
  "data-slot": "message-content",
2516
2371
  className: cn2("flex w-full min-w-0 flex-col gap-control-gap wrap-break-word group-data-[align=end]/message:[&>[data-slot]:not([data-slot=message-header])]:self-end", className),
@@ -2518,7 +2373,7 @@ function MessageContent2({ density, className, ...props }) {
2518
2373
  });
2519
2374
  }
2520
2375
  function MessageHeader2({ density, className, ...props }) {
2521
- return /* @__PURE__ */ jsx25("div", {
2376
+ return /* @__PURE__ */ jsx24("div", {
2522
2377
  "data-density": density,
2523
2378
  "data-slot": "message-header",
2524
2379
  className: cn2("flex max-w-full min-w-0 items-center px-control-x text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0", className),
@@ -2560,7 +2415,7 @@ function MessageFooter2({ density, className, ...props }) {
2560
2415
  import { mergeProps as mergeProps8 } from "@base-ui/react/merge-props";
2561
2416
  import { useRender as useRender9 } from "@base-ui/react/use-render";
2562
2417
  import { cva as cva6 } from "class-variance-authority";
2563
- import { jsx as jsx26 } from "react/jsx-runtime";
2418
+ import { jsx as jsx25 } from "react/jsx-runtime";
2564
2419
  var attachmentVariants = cva6("group/attachment relative flex w-fit max-w-full min-w-0 shrink-0 flex-wrap rounded-md border bg-card text-card-foreground transition-colors motion-reduce:transition-none focus-within:ring-1 focus-within:ring-ring has-[>a,>button]:hover:bg-muted/50 data-[state=error]:border-destructive data-[state=idle]:border-dashed", {
2565
2420
  variants: {
2566
2421
  size: {
@@ -2582,7 +2437,7 @@ function Attachment2({
2582
2437
  orientation = "horizontal",
2583
2438
  ...props
2584
2439
  }) {
2585
- return /* @__PURE__ */ jsx26("div", {
2440
+ return /* @__PURE__ */ jsx25("div", {
2586
2441
  "data-slot": "attachment",
2587
2442
  "data-density": density,
2588
2443
  "data-state": state,
@@ -2602,7 +2457,7 @@ var attachmentMediaVariants = cva6("relative flex aspect-square w-10 shrink-0 it
2602
2457
  defaultVariants: { variant: "icon" }
2603
2458
  });
2604
2459
  function AttachmentMedia2({ density, className, variant = "icon", ...props }) {
2605
- return /* @__PURE__ */ jsx26("div", {
2460
+ return /* @__PURE__ */ jsx25("div", {
2606
2461
  "data-slot": "attachment-media",
2607
2462
  "data-density": density,
2608
2463
  "data-variant": variant,
@@ -2611,7 +2466,7 @@ function AttachmentMedia2({ density, className, variant = "icon", ...props }) {
2611
2466
  });
2612
2467
  }
2613
2468
  function AttachmentContent2({ density, className, ...props }) {
2614
- return /* @__PURE__ */ jsx26("div", {
2469
+ return /* @__PURE__ */ jsx25("div", {
2615
2470
  "data-slot": "attachment-content",
2616
2471
  "data-density": density,
2617
2472
  className: cn2("max-w-full min-w-0 flex-1 leading-tight group-data-[orientation=vertical]/attachment:px-1", className),
@@ -2619,7 +2474,7 @@ function AttachmentContent2({ density, className, ...props }) {
2619
2474
  });
2620
2475
  }
2621
2476
  function AttachmentTitle2({ density, className, ...props }) {
2622
- return /* @__PURE__ */ jsx26("span", {
2477
+ return /* @__PURE__ */ jsx25("span", {
2623
2478
  "data-slot": "attachment-title",
2624
2479
  "data-density": density,
2625
2480
  className: cn2("block max-w-full min-w-0 truncate font-medium group-data-[state=processing]/attachment:shimmer group-data-[state=uploading]/attachment:shimmer", className),
@@ -2627,7 +2482,7 @@ function AttachmentTitle2({ density, className, ...props }) {
2627
2482
  });
2628
2483
  }
2629
2484
  function AttachmentDescription2({ density, className, ...props }) {
2630
- return /* @__PURE__ */ jsx26("span", {
2485
+ return /* @__PURE__ */ jsx25("span", {
2631
2486
  "data-slot": "attachment-description",
2632
2487
  "data-density": density,
2633
2488
  className: cn2("mt-0.5 block max-w-full min-w-0 truncate text-xs text-muted-foreground group-data-[state=error]/attachment:text-destructive", className),
@@ -2635,7 +2490,7 @@ function AttachmentDescription2({ density, className, ...props }) {
2635
2490
  });
2636
2491
  }
2637
2492
  function AttachmentActions2({ density, className, ...props }) {
2638
- return /* @__PURE__ */ jsx26("div", {
2493
+ return /* @__PURE__ */ jsx25("div", {
2639
2494
  "data-slot": "attachment-actions",
2640
2495
  "data-density": density,
2641
2496
  className: cn2("relative z-20 flex shrink-0 items-center group-data-[orientation=vertical]/attachment:absolute group-data-[orientation=vertical]/attachment:top-3 group-data-[orientation=vertical]/attachment:end-3 group-data-[orientation=vertical]/attachment:gap-1", className),
@@ -2648,7 +2503,7 @@ function AttachmentAction2({
2648
2503
  size = "icon-xs",
2649
2504
  ...props
2650
2505
  }) {
2651
- return /* @__PURE__ */ jsx26(Button2, {
2506
+ return /* @__PURE__ */ jsx25(Button2, {
2652
2507
  "data-slot": "attachment-action",
2653
2508
  variant,
2654
2509
  size,
@@ -2673,7 +2528,7 @@ function AttachmentTrigger2({
2673
2528
  });
2674
2529
  }
2675
2530
  function AttachmentGroup2({ density, className, ...props }) {
2676
- return /* @__PURE__ */ jsx26("div", {
2531
+ return /* @__PURE__ */ jsx25("div", {
2677
2532
  "data-slot": "attachment-group",
2678
2533
  "data-density": density,
2679
2534
  className: cn2("flex min-w-0 scroll-fade-x snap-x snap-mandatory scroll-px-1 no-scrollbar gap-3 overflow-x-auto overscroll-x-contain py-1 *:data-[slot=attachment]:flex-none *:data-[slot=attachment]:snap-start", className),
@@ -2682,7 +2537,7 @@ function AttachmentGroup2({ density, className, ...props }) {
2682
2537
  }
2683
2538
  // src/components/InlineEdit.tsx
2684
2539
  import { useEffect as useEffect2, useRef as useRef2, useState as useState2 } from "react";
2685
- import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
2540
+ import { jsx as jsx26, jsxs as jsxs15 } from "react/jsx-runtime";
2686
2541
  function InlineEdit2({
2687
2542
  analytics,
2688
2543
  label,
@@ -2727,14 +2582,14 @@ function InlineEdit2({
2727
2582
  setSaving(false);
2728
2583
  }
2729
2584
  };
2730
- return /* @__PURE__ */ jsxs16("form", {
2585
+ return /* @__PURE__ */ jsxs15("form", {
2731
2586
  className: "flex min-w-0 flex-col gap-1",
2732
2587
  onSubmit: (event) => {
2733
2588
  event.preventDefault();
2734
2589
  save();
2735
2590
  },
2736
2591
  children: [
2737
- /* @__PURE__ */ jsx27(Input2, {
2592
+ /* @__PURE__ */ jsx26(Input2, {
2738
2593
  analytics: false,
2739
2594
  ref: input,
2740
2595
  density,
@@ -2763,7 +2618,7 @@ function InlineEdit2({
2763
2618
  }
2764
2619
  }
2765
2620
  }),
2766
- error && /* @__PURE__ */ jsx27("p", {
2621
+ error && /* @__PURE__ */ jsx26("p", {
2767
2622
  role: "alert",
2768
2623
  className: "text-xs text-destructive",
2769
2624
  children: error
@@ -2774,7 +2629,7 @@ function InlineEdit2({
2774
2629
  // src/components/StarRating.tsx
2775
2630
  import { Radio } from "@base-ui/react/radio";
2776
2631
  import { StarIcon, CircleOffIcon } from "lucide-react";
2777
- import { jsx as jsx28 } from "react/jsx-runtime";
2632
+ import { jsx as jsx27 } from "react/jsx-runtime";
2778
2633
  function StarRating2({
2779
2634
  analytics,
2780
2635
  label,
@@ -2783,7 +2638,7 @@ function StarRating2({
2783
2638
  density,
2784
2639
  onValueChange
2785
2640
  }) {
2786
- return /* @__PURE__ */ jsx28(RadioGroup2, {
2641
+ return /* @__PURE__ */ jsx27(RadioGroup2, {
2787
2642
  analytics,
2788
2643
  "aria-label": label,
2789
2644
  value,
@@ -2791,20 +2646,20 @@ function StarRating2({
2791
2646
  "data-density": density,
2792
2647
  className: "inline-flex w-fit shrink-0 items-center gap-0.5",
2793
2648
  onValueChange,
2794
- children: [1, 2, 3, 4, 5, 0].map((star) => /* @__PURE__ */ jsx28(Radio.Root, {
2649
+ children: [1, 2, 3, 4, 5, 0].map((star) => /* @__PURE__ */ jsx27(Radio.Root, {
2795
2650
  value: star,
2796
2651
  nativeButton: true,
2797
- render: /* @__PURE__ */ jsx28(AnalyticsButton, {
2652
+ render: /* @__PURE__ */ jsx27(AnalyticsButton, {
2798
2653
  component: "StarRating",
2799
2654
  type: "button"
2800
2655
  }),
2801
2656
  "aria-label": star === 0 ? "Unrated" : `${star} ${star === 1 ? "star" : "stars"}`,
2802
2657
  title: star === 0 ? "Clear rating" : `${star} stars`,
2803
2658
  className: "inline-flex size-5 shrink-0 items-center justify-center rounded-sm text-muted-foreground outline-none hover:text-primary focus-visible:ring-1 focus-visible:ring-ring data-disabled:cursor-not-allowed data-disabled:opacity-50",
2804
- children: star === 0 ? /* @__PURE__ */ jsx28(CircleOffIcon, {
2659
+ children: star === 0 ? /* @__PURE__ */ jsx27(CircleOffIcon, {
2805
2660
  "aria-hidden": "true",
2806
2661
  className: "size-3"
2807
- }) : /* @__PURE__ */ jsx28(StarIcon, {
2662
+ }) : /* @__PURE__ */ jsx27(StarIcon, {
2808
2663
  "aria-hidden": "true",
2809
2664
  className: star <= value ? "size-3.5 fill-primary text-primary" : "size-3.5"
2810
2665
  })
@@ -2813,7 +2668,7 @@ function StarRating2({
2813
2668
  }
2814
2669
  // src/components/ConfirmationDialog.tsx
2815
2670
  import { useState as useState3 } from "react";
2816
- import { jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
2671
+ import { jsx as jsx28, jsxs as jsxs16 } from "react/jsx-runtime";
2817
2672
  function ConfirmationDialog2({
2818
2673
  open,
2819
2674
  title,
@@ -2825,7 +2680,7 @@ function ConfirmationDialog2({
2825
2680
  }) {
2826
2681
  const [isPending, setPending] = useState3(false);
2827
2682
  const [error, setError] = useState3(null);
2828
- return /* @__PURE__ */ jsx29(AlertDialog2, {
2683
+ return /* @__PURE__ */ jsx28(AlertDialog2, {
2829
2684
  open,
2830
2685
  onOpenChange: (next, details) => {
2831
2686
  if (isPending)
@@ -2835,33 +2690,33 @@ function ConfirmationDialog2({
2835
2690
  onOpenChange(next);
2836
2691
  }
2837
2692
  },
2838
- children: /* @__PURE__ */ jsxs17(AlertDialogContent2, {
2693
+ children: /* @__PURE__ */ jsxs16(AlertDialogContent2, {
2839
2694
  children: [
2840
- /* @__PURE__ */ jsx29(AlertDialogHeader2, {
2841
- children: /* @__PURE__ */ jsx29(AlertDialogTitle2, {
2695
+ /* @__PURE__ */ jsx28(AlertDialogHeader2, {
2696
+ children: /* @__PURE__ */ jsx28(AlertDialogTitle2, {
2842
2697
  children: title
2843
2698
  })
2844
2699
  }),
2845
- /* @__PURE__ */ jsxs17(ScrollArea2, {
2700
+ /* @__PURE__ */ jsxs16(ScrollArea2, {
2846
2701
  children: [
2847
- /* @__PURE__ */ jsx29(AlertDialogDescription2, {
2702
+ /* @__PURE__ */ jsx28(AlertDialogDescription2, {
2848
2703
  children: description
2849
2704
  }),
2850
- error && /* @__PURE__ */ jsx29(Alert2, {
2705
+ error && /* @__PURE__ */ jsx28(Alert2, {
2851
2706
  variant: "destructive",
2852
- children: /* @__PURE__ */ jsx29(AlertDescription2, {
2707
+ children: /* @__PURE__ */ jsx28(AlertDescription2, {
2853
2708
  children: error
2854
2709
  })
2855
2710
  })
2856
2711
  ]
2857
2712
  }),
2858
- /* @__PURE__ */ jsxs17(AlertDialogFooter2, {
2713
+ /* @__PURE__ */ jsxs16(AlertDialogFooter2, {
2859
2714
  children: [
2860
- /* @__PURE__ */ jsx29(AlertDialogCancel2, {
2715
+ /* @__PURE__ */ jsx28(AlertDialogCancel2, {
2861
2716
  disabled: isPending,
2862
2717
  children: "Cancel"
2863
2718
  }),
2864
- /* @__PURE__ */ jsx29(Button2, {
2719
+ /* @__PURE__ */ jsx28(Button2, {
2865
2720
  variant: "destructive",
2866
2721
  disabled: isPending,
2867
2722
  onClick: async () => {
@@ -2905,7 +2760,7 @@ function useObjectURL(file) {
2905
2760
  }
2906
2761
 
2907
2762
  // src/components/ImagePicker.tsx
2908
- import { jsx as jsx30, jsxs as jsxs18 } from "react/jsx-runtime";
2763
+ import { jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
2909
2764
  function ImagePicker2({
2910
2765
  analytics,
2911
2766
  src,
@@ -2919,27 +2774,27 @@ function ImagePicker2({
2919
2774
  const input = useRef3(null);
2920
2775
  const preview = useObjectURL(file);
2921
2776
  const image = file === null ? undefined : preview ?? src;
2922
- return /* @__PURE__ */ jsxs18("figure", {
2777
+ return /* @__PURE__ */ jsxs17("figure", {
2923
2778
  className: "flex min-w-0 flex-col items-center gap-3",
2924
2779
  "aria-label": label,
2925
2780
  children: [
2926
- /* @__PURE__ */ jsxs18(Avatar2, {
2781
+ /* @__PURE__ */ jsxs17(Avatar2, {
2927
2782
  size: "preview",
2928
2783
  shape: "square",
2929
2784
  children: [
2930
- /* @__PURE__ */ jsx30(AvatarImage2, {
2785
+ /* @__PURE__ */ jsx29(AvatarImage2, {
2931
2786
  src: image,
2932
2787
  alt: label
2933
2788
  }),
2934
- /* @__PURE__ */ jsx30(AvatarFallback2, {
2935
- children: /* @__PURE__ */ jsx30(ImageIcon, {
2789
+ /* @__PURE__ */ jsx29(AvatarFallback2, {
2790
+ children: /* @__PURE__ */ jsx29(ImageIcon, {
2936
2791
  className: "size-12",
2937
2792
  "aria-hidden": "true"
2938
2793
  })
2939
2794
  })
2940
2795
  ]
2941
2796
  }),
2942
- /* @__PURE__ */ jsx30("input", {
2797
+ /* @__PURE__ */ jsx29("input", {
2943
2798
  ref: input,
2944
2799
  hidden: true,
2945
2800
  type: "file",
@@ -2955,22 +2810,22 @@ function ImagePicker2({
2955
2810
  event.currentTarget.value = "";
2956
2811
  }
2957
2812
  }),
2958
- /* @__PURE__ */ jsxs18("div", {
2813
+ /* @__PURE__ */ jsxs17("div", {
2959
2814
  className: "flex flex-wrap justify-center gap-2",
2960
2815
  children: [
2961
- /* @__PURE__ */ jsxs18(Button2, {
2816
+ /* @__PURE__ */ jsxs17(Button2, {
2962
2817
  type: "button",
2963
2818
  variant: "outline",
2964
2819
  disabled,
2965
2820
  onClick: () => input.current?.click(),
2966
2821
  children: [
2967
- /* @__PURE__ */ jsx30(UploadIcon, {
2822
+ /* @__PURE__ */ jsx29(UploadIcon, {
2968
2823
  "data-icon": "inline-start"
2969
2824
  }),
2970
2825
  "Upload image"
2971
2826
  ]
2972
2827
  }),
2973
- /* @__PURE__ */ jsx30(Button2, {
2828
+ /* @__PURE__ */ jsx29(Button2, {
2974
2829
  type: "button",
2975
2830
  variant: "outline",
2976
2831
  disabled: disabled || !image,
@@ -2984,9 +2839,9 @@ function ImagePicker2({
2984
2839
  }
2985
2840
  // src/components/Meter.tsx
2986
2841
  import { Meter as MeterPrimitive } from "@base-ui/react/meter";
2987
- import { jsx as jsx31 } from "react/jsx-runtime";
2842
+ import { jsx as jsx30 } from "react/jsx-runtime";
2988
2843
  function Meter2({ density, className, ...props }) {
2989
- return /* @__PURE__ */ jsx31(MeterPrimitive.Root, {
2844
+ return /* @__PURE__ */ jsx30(MeterPrimitive.Root, {
2990
2845
  "data-density": density,
2991
2846
  "data-slot": "meter",
2992
2847
  className: (state) => cn2("flex min-w-0 flex-wrap items-center gap-field-gap", typeof className === "function" ? className(state) : className),
@@ -2994,7 +2849,7 @@ function Meter2({ density, className, ...props }) {
2994
2849
  });
2995
2850
  }
2996
2851
  function MeterLabel2({ density, className, ...props }) {
2997
- return /* @__PURE__ */ jsx31(MeterPrimitive.Label, {
2852
+ return /* @__PURE__ */ jsx30(MeterPrimitive.Label, {
2998
2853
  "data-density": density,
2999
2854
  "data-slot": "meter-label",
3000
2855
  className: (state) => cn2("text-sm font-medium", typeof className === "function" ? className(state) : className),
@@ -3002,7 +2857,7 @@ function MeterLabel2({ density, className, ...props }) {
3002
2857
  });
3003
2858
  }
3004
2859
  function MeterValue2({ density, className, ...props }) {
3005
- return /* @__PURE__ */ jsx31(MeterPrimitive.Value, {
2860
+ return /* @__PURE__ */ jsx30(MeterPrimitive.Value, {
3006
2861
  "data-density": density,
3007
2862
  "data-slot": "meter-value",
3008
2863
  className: (state) => cn2("ms-auto text-sm text-muted-foreground tabular-nums", typeof className === "function" ? className(state) : className),
@@ -3010,7 +2865,7 @@ function MeterValue2({ density, className, ...props }) {
3010
2865
  });
3011
2866
  }
3012
2867
  function MeterTrack2({ density, className, ...props }) {
3013
- return /* @__PURE__ */ jsx31(MeterPrimitive.Track, {
2868
+ return /* @__PURE__ */ jsx30(MeterPrimitive.Track, {
3014
2869
  "data-density": density,
3015
2870
  "data-slot": "meter-track",
3016
2871
  className: (state) => cn2("h-1 w-full overflow-hidden rounded-sm bg-muted", typeof className === "function" ? className(state) : className),
@@ -3022,7 +2877,7 @@ function MeterIndicator2({
3022
2877
  className,
3023
2878
  ...props
3024
2879
  }) {
3025
- return /* @__PURE__ */ jsx31(MeterPrimitive.Indicator, {
2880
+ return /* @__PURE__ */ jsx30(MeterPrimitive.Indicator, {
3026
2881
  "data-density": density,
3027
2882
  "data-slot": "meter-indicator",
3028
2883
  className: (state) => cn2("h-full bg-primary transition-[width] motion-reduce:transition-none", typeof className === "function" ? className(state) : className),
@@ -3031,10 +2886,10 @@ function MeterIndicator2({
3031
2886
  }
3032
2887
  // src/components/Stepper.tsx
3033
2888
  import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
3034
- import { CheckIcon as CheckIcon3 } from "lucide-react";
3035
- import { jsx as jsx32 } from "react/jsx-runtime";
2889
+ import { CheckIcon as CheckIcon2 } from "lucide-react";
2890
+ import { jsx as jsx31 } from "react/jsx-runtime";
3036
2891
  function Stepper2({ density, className, ...props }) {
3037
- return /* @__PURE__ */ jsx32(TabsPrimitive.Root, {
2892
+ return /* @__PURE__ */ jsx31(TabsPrimitive.Root, {
3038
2893
  "data-density": density,
3039
2894
  "data-slot": "stepper",
3040
2895
  className: (state) => cn2("group/stepper flex min-w-0 flex-col gap-panel data-[orientation=vertical]:flex-row", typeof className === "function" ? className(state) : className),
@@ -3047,7 +2902,7 @@ function StepperList2({
3047
2902
  activateOnFocus = false,
3048
2903
  ...props
3049
2904
  }) {
3050
- return /* @__PURE__ */ jsx32(TabsPrimitive.List, {
2905
+ return /* @__PURE__ */ jsx31(TabsPrimitive.List, {
3051
2906
  "data-density": density,
3052
2907
  "data-slot": "stepper-list",
3053
2908
  activateOnFocus,
@@ -3056,7 +2911,7 @@ function StepperList2({
3056
2911
  });
3057
2912
  }
3058
2913
  function StepperTrigger2({ density, className, ...props }) {
3059
- return /* @__PURE__ */ jsx32(TabsPrimitive.Tab, {
2914
+ return /* @__PURE__ */ jsx31(TabsPrimitive.Tab, {
3060
2915
  "data-density": density,
3061
2916
  "data-slot": "stepper-trigger",
3062
2917
  className: (state) => cn2("group/step flex min-h-control items-center gap-control-gap rounded-sm text-sm text-muted-foreground outline-none focus-visible:ring-1 focus-visible:ring-ring data-active:text-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:opacity-50", typeof className === "function" ? className(state) : className),
@@ -3064,17 +2919,17 @@ function StepperTrigger2({ density, className, ...props }) {
3064
2919
  });
3065
2920
  }
3066
2921
  function StepperIndicator2({ completed = false, children, className, ...props }) {
3067
- return /* @__PURE__ */ jsx32("span", {
2922
+ return /* @__PURE__ */ jsx31("span", {
3068
2923
  "aria-hidden": "true",
3069
2924
  "data-slot": "stepper-indicator",
3070
2925
  "data-completed": completed || undefined,
3071
2926
  className: cn2("flex size-control shrink-0 items-center justify-center rounded-sm border border-input bg-secondary text-sm tabular-nums group-data-active/step:border-primary group-data-active/step:bg-primary group-data-active/step:text-primary-foreground data-completed:border-primary data-completed:text-primary [&_svg]:size-3.5", className),
3072
2927
  ...props,
3073
- children: completed ? /* @__PURE__ */ jsx32(CheckIcon3, {}) : children
2928
+ children: completed ? /* @__PURE__ */ jsx31(CheckIcon2, {}) : children
3074
2929
  });
3075
2930
  }
3076
2931
  function StepperContent2({ density, className, ...props }) {
3077
- return /* @__PURE__ */ jsx32(TabsPrimitive.Panel, {
2932
+ return /* @__PURE__ */ jsx31(TabsPrimitive.Panel, {
3078
2933
  "data-density": density,
3079
2934
  "data-slot": "stepper-content",
3080
2935
  className: (state) => cn2("min-w-0 flex-1 outline-none focus-visible:ring-1 focus-visible:ring-ring", typeof className === "function" ? className(state) : className),
@@ -3082,7 +2937,7 @@ function StepperContent2({ density, className, ...props }) {
3082
2937
  });
3083
2938
  }
3084
2939
  // src/components/AppShell.tsx
3085
- import { jsx as jsx33, jsxs as jsxs19 } from "react/jsx-runtime";
2940
+ import { jsx as jsx32, jsxs as jsxs18 } from "react/jsx-runtime";
3086
2941
  function AppShell2({
3087
2942
  navigation,
3088
2943
  brand,
@@ -3093,39 +2948,41 @@ function AppShell2({
3093
2948
  height = "100dvh",
3094
2949
  defaultSidebarOpen = true,
3095
2950
  label = "Application",
2951
+ content = "scroll",
3096
2952
  density
3097
2953
  }) {
3098
- return /* @__PURE__ */ jsxs19(SidebarProvider2, {
2954
+ return /* @__PURE__ */ jsxs18(SidebarProvider2, {
3099
2955
  density,
3100
2956
  defaultOpen: defaultSidebarOpen,
3101
2957
  className: "relative min-h-0",
3102
2958
  style: { height },
3103
2959
  "data-scroll": "none",
3104
2960
  children: [
3105
- /* @__PURE__ */ jsxs19(Sidebar2, {
2961
+ /* @__PURE__ */ jsxs18(Sidebar2, {
3106
2962
  collapsible: "icon",
3107
2963
  position: "container",
3108
2964
  children: [
3109
- /* @__PURE__ */ jsx33(SidebarHeader2, {
2965
+ /* @__PURE__ */ jsx32(SidebarHeader2, {
3110
2966
  children: brand
3111
2967
  }),
3112
- /* @__PURE__ */ jsx33(SidebarContent2, {
3113
- children: /* @__PURE__ */ jsx33("nav", {
2968
+ /* @__PURE__ */ jsx32(SidebarContent2, {
2969
+ children: /* @__PURE__ */ jsx32("nav", {
3114
2970
  "aria-label": "Primary navigation",
3115
- children: /* @__PURE__ */ jsx33(SidebarGroup2, {
3116
- children: /* @__PURE__ */ jsx33(SidebarMenu2, {
3117
- children: navigation.map((item) => /* @__PURE__ */ jsx33(SidebarMenuItem2, {
3118
- children: /* @__PURE__ */ jsxs19(SidebarMenuButton2, {
3119
- render: /* @__PURE__ */ jsx33(AnalyticsLink, {
2971
+ children: /* @__PURE__ */ jsx32(SidebarGroup2, {
2972
+ children: /* @__PURE__ */ jsx32(SidebarMenu2, {
2973
+ children: navigation.map((item) => /* @__PURE__ */ jsx32(SidebarMenuItem2, {
2974
+ children: /* @__PURE__ */ jsxs18(SidebarMenuButton2, {
2975
+ render: /* @__PURE__ */ jsx32(AnalyticsLink, {
3120
2976
  component: "AppShell",
3121
- href: item.href,
3122
- "aria-current": item.active ? "page" : undefined
2977
+ render: item.render,
2978
+ ...item.href === undefined ? {} : { href: item.href },
2979
+ ...item.active ? { "aria-current": "page" } : {}
3123
2980
  }),
3124
2981
  isActive: item.active,
3125
2982
  tooltip: item.label,
3126
2983
  children: [
3127
2984
  item.icon,
3128
- /* @__PURE__ */ jsx33("span", {
2985
+ /* @__PURE__ */ jsx32("span", {
3129
2986
  children: item.label
3130
2987
  })
3131
2988
  ]
@@ -3135,36 +2992,41 @@ function AppShell2({
3135
2992
  })
3136
2993
  })
3137
2994
  }),
3138
- sidebarFooter && /* @__PURE__ */ jsx33(SidebarFooter2, {
2995
+ sidebarFooter && /* @__PURE__ */ jsx32(SidebarFooter2, {
3139
2996
  children: sidebarFooter
3140
2997
  })
3141
2998
  ]
3142
2999
  }),
3143
- /* @__PURE__ */ jsxs19(SidebarInset2, {
3000
+ /* @__PURE__ */ jsxs18(SidebarInset2, {
3144
3001
  "aria-label": label,
3145
3002
  className: "min-h-0 min-w-0",
3146
3003
  "data-scroll": "none",
3147
3004
  children: [
3148
- /* @__PURE__ */ jsxs19("header", {
3005
+ /* @__PURE__ */ jsxs18("header", {
3149
3006
  "data-scroll": "none",
3150
3007
  className: "flex shrink-0 items-center gap-control-gap border-b border-border p-panel",
3151
3008
  children: [
3152
- /* @__PURE__ */ jsx33(SidebarTrigger2, {}),
3153
- /* @__PURE__ */ jsx33(Separator2, {
3009
+ /* @__PURE__ */ jsx32(SidebarTrigger2, {}),
3010
+ /* @__PURE__ */ jsx32(Separator2, {
3154
3011
  orientation: "vertical",
3155
3012
  className: "h-control"
3156
3013
  }),
3157
3014
  header
3158
3015
  ]
3159
3016
  }),
3160
- /* @__PURE__ */ jsx33(ScrollArea2, {
3017
+ content === "fill" ? /* @__PURE__ */ jsx32("div", {
3018
+ "data-slot": "app-shell-content",
3019
+ "data-scroll": "none",
3020
+ className: "flex min-h-0 min-w-0 flex-1 flex-col",
3021
+ children
3022
+ }) : /* @__PURE__ */ jsx32(ScrollArea2, {
3161
3023
  className: "min-h-0 flex-1",
3162
- children: /* @__PURE__ */ jsx33("div", {
3024
+ children: /* @__PURE__ */ jsx32("div", {
3163
3025
  className: "flex min-w-0 flex-col gap-panel p-panel",
3164
3026
  children
3165
3027
  })
3166
3028
  }),
3167
- footer && /* @__PURE__ */ jsx33("footer", {
3029
+ footer && /* @__PURE__ */ jsx32("footer", {
3168
3030
  className: "shrink-0 border-t border-border p-panel",
3169
3031
  "data-scroll": "none",
3170
3032
  children: footer
@@ -3174,8 +3036,499 @@ function AppShell2({
3174
3036
  ]
3175
3037
  });
3176
3038
  }
3039
+ // src/components/Stack.tsx
3040
+ import { mergeProps as mergeProps9 } from "@base-ui/react/merge-props";
3041
+ import { useRender as useRender10 } from "@base-ui/react/use-render";
3042
+
3043
+ // src/layout/constants.ts
3044
+ var GAP_CLASSES = {
3045
+ none: "gap-0",
3046
+ control: "gap-control-gap",
3047
+ "panel-sm": "gap-panel-sm",
3048
+ panel: "gap-panel",
3049
+ field: "gap-field-gap",
3050
+ section: "gap-section"
3051
+ };
3052
+ var PADDING_CLASSES = {
3053
+ none: "p-0",
3054
+ control: "p-control-gap",
3055
+ "panel-sm": "p-panel-sm",
3056
+ panel: "p-panel",
3057
+ field: "p-field-gap",
3058
+ section: "p-section"
3059
+ };
3060
+ var HEIGHT_CLASSES = {
3061
+ auto: "",
3062
+ full: "h-full min-h-0",
3063
+ viewport: "h-dvh min-h-0",
3064
+ "min-viewport": "min-h-dvh"
3065
+ };
3066
+ var GROW_CLASSES = "min-h-0 min-w-0 flex-1";
3067
+ var STACK_DIRECTION_CLASSES = {
3068
+ base: { vertical: "flex-col", horizontal: "flex-row" },
3069
+ sm: { vertical: "sm:flex-col", horizontal: "sm:flex-row" },
3070
+ md: { vertical: "md:flex-col", horizontal: "md:flex-row" },
3071
+ lg: { vertical: "lg:flex-col", horizontal: "lg:flex-row" },
3072
+ xl: { vertical: "xl:flex-col", horizontal: "xl:flex-row" }
3073
+ };
3074
+ var STACK_ALIGN_CLASSES = {
3075
+ start: "items-start",
3076
+ center: "items-center",
3077
+ end: "items-end",
3078
+ stretch: "items-stretch",
3079
+ baseline: "items-baseline"
3080
+ };
3081
+ var STACK_JUSTIFY_CLASSES = {
3082
+ start: "justify-start",
3083
+ center: "justify-center",
3084
+ end: "justify-end",
3085
+ between: "justify-between"
3086
+ };
3087
+ var GRID_COLUMN_CLASSES = {
3088
+ base: {
3089
+ 1: "grid-cols-1",
3090
+ 2: "grid-cols-2",
3091
+ 3: "grid-cols-3",
3092
+ 4: "grid-cols-4",
3093
+ 5: "grid-cols-5",
3094
+ 6: "grid-cols-6",
3095
+ 12: "grid-cols-12"
3096
+ },
3097
+ sm: {
3098
+ 1: "sm:grid-cols-1",
3099
+ 2: "sm:grid-cols-2",
3100
+ 3: "sm:grid-cols-3",
3101
+ 4: "sm:grid-cols-4",
3102
+ 5: "sm:grid-cols-5",
3103
+ 6: "sm:grid-cols-6",
3104
+ 12: "sm:grid-cols-12"
3105
+ },
3106
+ md: {
3107
+ 1: "md:grid-cols-1",
3108
+ 2: "md:grid-cols-2",
3109
+ 3: "md:grid-cols-3",
3110
+ 4: "md:grid-cols-4",
3111
+ 5: "md:grid-cols-5",
3112
+ 6: "md:grid-cols-6",
3113
+ 12: "md:grid-cols-12"
3114
+ },
3115
+ lg: {
3116
+ 1: "lg:grid-cols-1",
3117
+ 2: "lg:grid-cols-2",
3118
+ 3: "lg:grid-cols-3",
3119
+ 4: "lg:grid-cols-4",
3120
+ 5: "lg:grid-cols-5",
3121
+ 6: "lg:grid-cols-6",
3122
+ 12: "lg:grid-cols-12"
3123
+ },
3124
+ xl: {
3125
+ 1: "xl:grid-cols-1",
3126
+ 2: "xl:grid-cols-2",
3127
+ 3: "xl:grid-cols-3",
3128
+ 4: "xl:grid-cols-4",
3129
+ 5: "xl:grid-cols-5",
3130
+ 6: "xl:grid-cols-6",
3131
+ 12: "xl:grid-cols-12"
3132
+ }
3133
+ };
3134
+ var GRID_MIN_COLUMN_WIDTH_CLASSES = {
3135
+ xs: "grid-cols-[repeat(auto-fill,minmax(min(100%,8rem),1fr))]",
3136
+ sm: "grid-cols-[repeat(auto-fill,minmax(min(100%,12rem),1fr))]",
3137
+ md: "grid-cols-[repeat(auto-fill,minmax(min(100%,16rem),1fr))]",
3138
+ lg: "grid-cols-[repeat(auto-fill,minmax(min(100%,22rem),1fr))]"
3139
+ };
3140
+ var GRID_ALIGN_CLASSES = {
3141
+ start: "items-start",
3142
+ center: "items-center",
3143
+ end: "items-end",
3144
+ stretch: "items-stretch"
3145
+ };
3146
+ var GRID_SPAN_CLASSES = {
3147
+ base: {
3148
+ 1: "col-span-1",
3149
+ 2: "col-span-2",
3150
+ 3: "col-span-3",
3151
+ 4: "col-span-4",
3152
+ 5: "col-span-5",
3153
+ 6: "col-span-6",
3154
+ full: "col-span-full"
3155
+ },
3156
+ sm: {
3157
+ 1: "sm:col-span-1",
3158
+ 2: "sm:col-span-2",
3159
+ 3: "sm:col-span-3",
3160
+ 4: "sm:col-span-4",
3161
+ 5: "sm:col-span-5",
3162
+ 6: "sm:col-span-6",
3163
+ full: "sm:col-span-full"
3164
+ },
3165
+ md: {
3166
+ 1: "md:col-span-1",
3167
+ 2: "md:col-span-2",
3168
+ 3: "md:col-span-3",
3169
+ 4: "md:col-span-4",
3170
+ 5: "md:col-span-5",
3171
+ 6: "md:col-span-6",
3172
+ full: "md:col-span-full"
3173
+ },
3174
+ lg: {
3175
+ 1: "lg:col-span-1",
3176
+ 2: "lg:col-span-2",
3177
+ 3: "lg:col-span-3",
3178
+ 4: "lg:col-span-4",
3179
+ 5: "lg:col-span-5",
3180
+ 6: "lg:col-span-6",
3181
+ full: "lg:col-span-full"
3182
+ },
3183
+ xl: {
3184
+ 1: "xl:col-span-1",
3185
+ 2: "xl:col-span-2",
3186
+ 3: "xl:col-span-3",
3187
+ 4: "xl:col-span-4",
3188
+ 5: "xl:col-span-5",
3189
+ 6: "xl:col-span-6",
3190
+ full: "xl:col-span-full"
3191
+ }
3192
+ };
3193
+ var CONTAINER_WIDTH_CLASSES = {
3194
+ xs: "max-w-xs",
3195
+ sm: "max-w-sm",
3196
+ md: "max-w-2xl",
3197
+ lg: "max-w-5xl",
3198
+ xl: "max-w-7xl",
3199
+ full: "max-w-none"
3200
+ };
3201
+ var LAYOUT_BREAKPOINTS = ["base", "sm", "md", "lg", "xl"];
3202
+
3203
+ // src/layout/responsiveClassNames.ts
3204
+ function isBreakpointMap(value) {
3205
+ return typeof value === "object";
3206
+ }
3207
+ function responsiveClassNames(value, classes) {
3208
+ if (value === undefined)
3209
+ return "";
3210
+ if (!isBreakpointMap(value))
3211
+ return classes.base[value];
3212
+ return LAYOUT_BREAKPOINTS.flatMap((breakpoint) => {
3213
+ const breakpointValue = value[breakpoint];
3214
+ return breakpointValue === undefined ? [] : [classes[breakpoint][breakpointValue]];
3215
+ }).join(" ");
3216
+ }
3217
+
3218
+ // src/components/Stack.tsx
3219
+ function Stack2({
3220
+ direction = "vertical",
3221
+ gap = "none",
3222
+ padding = "none",
3223
+ align,
3224
+ justify,
3225
+ wrap = false,
3226
+ grow = false,
3227
+ height = "auto",
3228
+ density,
3229
+ className,
3230
+ render,
3231
+ ...props
3232
+ }) {
3233
+ return useRender10({
3234
+ defaultTagName: "div",
3235
+ props: mergeProps9({
3236
+ className: cn2("flex", responsiveClassNames(direction, STACK_DIRECTION_CLASSES), GAP_CLASSES[gap], PADDING_CLASSES[padding], align && STACK_ALIGN_CLASSES[align], justify && STACK_JUSTIFY_CLASSES[justify], wrap && "flex-wrap", grow && GROW_CLASSES, HEIGHT_CLASSES[height], className)
3237
+ }, props),
3238
+ render,
3239
+ state: { slot: "stack", density }
3240
+ });
3241
+ }
3242
+ // src/components/Grid.tsx
3243
+ import { mergeProps as mergeProps10 } from "@base-ui/react/merge-props";
3244
+ import { useRender as useRender11 } from "@base-ui/react/use-render";
3245
+ function Grid2({
3246
+ columns = 1,
3247
+ minColumnWidth,
3248
+ gap = "panel",
3249
+ padding = "none",
3250
+ align,
3251
+ grow = false,
3252
+ height = "auto",
3253
+ density,
3254
+ className,
3255
+ render,
3256
+ ...props
3257
+ }) {
3258
+ return useRender11({
3259
+ defaultTagName: "div",
3260
+ props: mergeProps10({
3261
+ className: cn2("grid min-w-0", minColumnWidth === undefined ? responsiveClassNames(columns, GRID_COLUMN_CLASSES) : GRID_MIN_COLUMN_WIDTH_CLASSES[minColumnWidth], GAP_CLASSES[gap], PADDING_CLASSES[padding], align && GRID_ALIGN_CLASSES[align], grow && GROW_CLASSES, HEIGHT_CLASSES[height], className)
3262
+ }, props),
3263
+ render,
3264
+ state: { slot: "grid", density }
3265
+ });
3266
+ }
3267
+ function GridItem2({ span, density, className, render, ...props }) {
3268
+ return useRender11({
3269
+ defaultTagName: "div",
3270
+ props: mergeProps10({ className: cn2("min-w-0", responsiveClassNames(span, GRID_SPAN_CLASSES), className) }, props),
3271
+ render,
3272
+ state: { slot: "grid-item", density }
3273
+ });
3274
+ }
3275
+ // src/components/Container.tsx
3276
+ import { mergeProps as mergeProps11 } from "@base-ui/react/merge-props";
3277
+ import { useRender as useRender12 } from "@base-ui/react/use-render";
3278
+ function Container2({
3279
+ width = "lg",
3280
+ padding = "none",
3281
+ density,
3282
+ className,
3283
+ render,
3284
+ ...props
3285
+ }) {
3286
+ return useRender12({
3287
+ defaultTagName: "div",
3288
+ props: mergeProps11({
3289
+ className: cn2("mx-auto w-full min-w-0", CONTAINER_WIDTH_CLASSES[width], PADDING_CLASSES[padding], className)
3290
+ }, props),
3291
+ render,
3292
+ state: { slot: "container", density }
3293
+ });
3294
+ }
3295
+ // src/components/Text.tsx
3296
+ import { mergeProps as mergeProps12 } from "@base-ui/react/merge-props";
3297
+ import { useRender as useRender13 } from "@base-ui/react/use-render";
3298
+ var SIZE_CLASSES = {
3299
+ xs: "text-xs",
3300
+ sm: "text-sm",
3301
+ base: "text-base",
3302
+ lg: "text-lg"
3303
+ };
3304
+ var TONE_CLASSES = {
3305
+ default: "text-foreground",
3306
+ muted: "text-muted-foreground",
3307
+ faint: "text-faint-foreground",
3308
+ primary: "text-primary",
3309
+ success: "text-success",
3310
+ warning: "text-warning",
3311
+ destructive: "text-destructive"
3312
+ };
3313
+ var WEIGHT_CLASSES = {
3314
+ normal: "font-normal",
3315
+ medium: "font-medium",
3316
+ semibold: "font-semibold"
3317
+ };
3318
+ var ALIGN_CLASSES = {
3319
+ start: "text-start",
3320
+ center: "text-center",
3321
+ end: "text-end"
3322
+ };
3323
+ function Text2({
3324
+ size = "base",
3325
+ tone = "default",
3326
+ weight = "normal",
3327
+ align = "start",
3328
+ truncate = false,
3329
+ tabular = false,
3330
+ density,
3331
+ className,
3332
+ render,
3333
+ ...props
3334
+ }) {
3335
+ return useRender13({
3336
+ defaultTagName: "p",
3337
+ props: mergeProps12({
3338
+ className: cn2("min-w-0", SIZE_CLASSES[size], TONE_CLASSES[tone], WEIGHT_CLASSES[weight], ALIGN_CLASSES[align], truncate ? "truncate" : "break-words", tabular && "tabular-nums", className)
3339
+ }, props),
3340
+ render,
3341
+ state: { slot: "text", density }
3342
+ });
3343
+ }
3344
+ // src/components/Heading.tsx
3345
+ import { mergeProps as mergeProps13 } from "@base-ui/react/merge-props";
3346
+ import { useRender as useRender14 } from "@base-ui/react/use-render";
3347
+ var HEADING_TAGS = { 1: "h1", 2: "h2", 3: "h3", 4: "h4", 5: "h5", 6: "h6" };
3348
+ var DEFAULT_SIZES = { 1: "xl", 2: "lg", 3: "base", 4: "sm", 5: "sm", 6: "sm" };
3349
+ var SIZE_CLASSES2 = {
3350
+ sm: "text-sm",
3351
+ base: "text-base",
3352
+ lg: "text-lg",
3353
+ xl: "text-xl"
3354
+ };
3355
+ function Heading2({ level, size, truncate = false, density, className, render, ...props }) {
3356
+ return useRender14({
3357
+ defaultTagName: HEADING_TAGS[level],
3358
+ props: mergeProps13({
3359
+ className: cn2("min-w-0 font-semibold text-foreground", SIZE_CLASSES2[size ?? DEFAULT_SIZES[level]], truncate ? "truncate" : "break-words", className)
3360
+ }, props),
3361
+ render,
3362
+ state: { slot: "heading", level, density }
3363
+ });
3364
+ }
3365
+ // src/components/WeatherSummary.tsx
3366
+ import { mergeProps as mergeProps14 } from "@base-ui/react/merge-props";
3367
+ import { useRender as useRender15 } from "@base-ui/react/use-render";
3368
+ import {
3369
+ CloudDrizzleIcon,
3370
+ CloudFogIcon,
3371
+ CloudIcon,
3372
+ CloudLightningIcon,
3373
+ CloudRainIcon,
3374
+ CloudSnowIcon,
3375
+ CloudSunIcon,
3376
+ DropletIcon,
3377
+ SunIcon
3378
+ } from "lucide-react";
3379
+ import { jsx as jsx33, jsxs as jsxs19, Fragment as Fragment5 } from "react/jsx-runtime";
3380
+ var CONDITION_ICONS = {
3381
+ clear: SunIcon,
3382
+ "partly-cloudy": CloudSunIcon,
3383
+ cloudy: CloudIcon,
3384
+ fog: CloudFogIcon,
3385
+ drizzle: CloudDrizzleIcon,
3386
+ rain: CloudRainIcon,
3387
+ snow: CloudSnowIcon,
3388
+ thunderstorm: CloudLightningIcon
3389
+ };
3390
+ var CONDITION_LABELS = {
3391
+ clear: "Clear",
3392
+ "partly-cloudy": "Partly cloudy",
3393
+ cloudy: "Cloudy",
3394
+ fog: "Fog",
3395
+ drizzle: "Drizzle",
3396
+ rain: "Rain",
3397
+ snow: "Snow",
3398
+ thunderstorm: "Thunderstorm"
3399
+ };
3400
+ function formatTemperature(value, unit, locale) {
3401
+ return new Intl.NumberFormat(locale, { style: "unit", unit, maximumFractionDigits: 0 }).format(value);
3402
+ }
3403
+ function formatProbability(value, locale) {
3404
+ const share = Math.min(100, Math.max(0, value)) / 100;
3405
+ return new Intl.NumberFormat(locale, { style: "percent", maximumFractionDigits: 0 }).format(share);
3406
+ }
3407
+ function WeatherSummary2({
3408
+ label,
3409
+ condition,
3410
+ conditionLabel = CONDITION_LABELS[condition],
3411
+ high,
3412
+ low,
3413
+ precipitationProbability,
3414
+ unit = "celsius",
3415
+ locale,
3416
+ variant = "default",
3417
+ density,
3418
+ className,
3419
+ render,
3420
+ ...props
3421
+ }) {
3422
+ const ConditionIcon = CONDITION_ICONS[condition];
3423
+ const highText = formatTemperature(high, unit, locale);
3424
+ const lowText = formatTemperature(low, unit, locale);
3425
+ const probabilityText = precipitationProbability === undefined ? undefined : formatProbability(precipitationProbability, locale);
3426
+ const isCompact = variant === "compact";
3427
+ return useRender15({
3428
+ defaultTagName: "div",
3429
+ props: mergeProps14({
3430
+ className: cn2("flex min-w-0 text-foreground", isCompact ? "flex-col items-center gap-1 text-center" : "items-center gap-panel-sm", className),
3431
+ children: /* @__PURE__ */ jsxs19(Fragment5, {
3432
+ children: [
3433
+ /* @__PURE__ */ jsx33(ConditionIcon, {
3434
+ "aria-hidden": "true",
3435
+ "data-slot": "weather-summary-icon",
3436
+ className: cn2("shrink-0 text-muted-foreground", isCompact ? "size-6" : "size-8")
3437
+ }),
3438
+ /* @__PURE__ */ jsxs19("div", {
3439
+ className: cn2("flex min-w-0 flex-col gap-0.5", isCompact && "items-center"),
3440
+ children: [
3441
+ /* @__PURE__ */ jsx33("div", {
3442
+ className: "text-sm font-medium break-words",
3443
+ children: label
3444
+ }),
3445
+ /* @__PURE__ */ jsx33("div", {
3446
+ className: cn2("text-sm text-muted-foreground", isCompact && "sr-only"),
3447
+ children: conditionLabel
3448
+ }),
3449
+ /* @__PURE__ */ jsxs19("div", {
3450
+ className: "flex flex-wrap items-baseline gap-x-2 text-sm tabular-nums",
3451
+ children: [
3452
+ /* @__PURE__ */ jsxs19("span", {
3453
+ children: [
3454
+ /* @__PURE__ */ jsx33("span", {
3455
+ className: "sr-only",
3456
+ children: "High "
3457
+ }),
3458
+ /* @__PURE__ */ jsx33("span", {
3459
+ className: "font-medium",
3460
+ children: highText
3461
+ })
3462
+ ]
3463
+ }),
3464
+ /* @__PURE__ */ jsxs19("span", {
3465
+ className: "text-muted-foreground",
3466
+ children: [
3467
+ /* @__PURE__ */ jsx33("span", {
3468
+ className: "sr-only",
3469
+ children: "Low "
3470
+ }),
3471
+ lowText
3472
+ ]
3473
+ })
3474
+ ]
3475
+ }),
3476
+ probabilityText !== undefined && /* @__PURE__ */ jsxs19("div", {
3477
+ className: "flex items-center gap-1 text-xs text-muted-foreground tabular-nums",
3478
+ children: [
3479
+ /* @__PURE__ */ jsx33(DropletIcon, {
3480
+ "aria-hidden": "true",
3481
+ className: "size-3 shrink-0"
3482
+ }),
3483
+ /* @__PURE__ */ jsxs19("span", {
3484
+ children: [
3485
+ probabilityText,
3486
+ /* @__PURE__ */ jsx33("span", {
3487
+ className: "sr-only",
3488
+ children: " chance of precipitation"
3489
+ })
3490
+ ]
3491
+ })
3492
+ ]
3493
+ })
3494
+ ]
3495
+ })
3496
+ ]
3497
+ })
3498
+ }, props),
3499
+ render,
3500
+ state: { slot: "weather-summary", condition, density }
3501
+ });
3502
+ }
3503
+ // src/components/WeatherForecast.tsx
3504
+ import { jsx as jsx34 } from "react/jsx-runtime";
3505
+ function WeatherForecast2({
3506
+ days,
3507
+ label,
3508
+ unit,
3509
+ locale,
3510
+ variant = "strip",
3511
+ density,
3512
+ className,
3513
+ ...props
3514
+ }) {
3515
+ return /* @__PURE__ */ jsx34("ul", {
3516
+ "aria-label": label,
3517
+ "data-slot": "weather-forecast",
3518
+ "data-density": density,
3519
+ className: cn2("grid min-w-0 gap-panel-sm", variant === "strip" && "grid-cols-[repeat(auto-fill,minmax(6rem,1fr))]", className),
3520
+ ...props,
3521
+ children: days.map(({ id, ...day }) => /* @__PURE__ */ jsx34(WeatherSummary2, {
3522
+ ...day,
3523
+ unit,
3524
+ locale,
3525
+ variant: variant === "strip" ? "compact" : "default",
3526
+ render: /* @__PURE__ */ jsx34("li", {})
3527
+ }, id))
3528
+ });
3529
+ }
3177
3530
  // src/components/PageHeader.tsx
3178
- import { jsx as jsx34, jsxs as jsxs20 } from "react/jsx-runtime";
3531
+ import { jsx as jsx35, jsxs as jsxs20 } from "react/jsx-runtime";
3179
3532
  function PageHeader2({ title, eyebrow, description, breadcrumbs, actions, density }) {
3180
3533
  return /* @__PURE__ */ jsxs20("header", {
3181
3534
  "data-density": density,
@@ -3190,21 +3543,21 @@ function PageHeader2({ title, eyebrow, description, breadcrumbs, actions, densit
3190
3543
  /* @__PURE__ */ jsxs20("div", {
3191
3544
  className: "min-w-0",
3192
3545
  children: [
3193
- eyebrow != null && /* @__PURE__ */ jsx34("div", {
3546
+ eyebrow != null && /* @__PURE__ */ jsx35("div", {
3194
3547
  className: "mb-2 text-xs font-medium tracking-widest text-muted-foreground",
3195
3548
  children: eyebrow
3196
3549
  }),
3197
- /* @__PURE__ */ jsx34("h1", {
3550
+ /* @__PURE__ */ jsx35("h1", {
3198
3551
  className: "text-xl font-semibold text-foreground",
3199
3552
  children: title
3200
3553
  }),
3201
- description && /* @__PURE__ */ jsx34("div", {
3554
+ description && /* @__PURE__ */ jsx35("div", {
3202
3555
  className: "mt-1 text-sm text-muted-foreground",
3203
3556
  children: description
3204
3557
  })
3205
3558
  ]
3206
3559
  }),
3207
- actions && /* @__PURE__ */ jsx34("div", {
3560
+ actions && /* @__PURE__ */ jsx35("div", {
3208
3561
  className: "flex min-w-0 max-w-full flex-wrap items-center gap-control-gap wrap-anywhere",
3209
3562
  children: actions
3210
3563
  })
@@ -3213,8 +3566,95 @@ function PageHeader2({ title, eyebrow, description, breadcrumbs, actions, densit
3213
3566
  ]
3214
3567
  });
3215
3568
  }
3569
+ // src/components/PageIntro.tsx
3570
+ import { jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
3571
+ function PageIntro2({ title, description, eyebrow, icon, actions, highlights, density }) {
3572
+ return /* @__PURE__ */ jsx36("header", {
3573
+ "data-density": density,
3574
+ "data-slot": "page-intro",
3575
+ "data-scroll": "none",
3576
+ className: "@container/page-intro min-w-0",
3577
+ children: /* @__PURE__ */ jsxs21(Card2, {
3578
+ variant: "hero",
3579
+ className: "gap-0 py-0",
3580
+ children: [
3581
+ /* @__PURE__ */ jsx36("div", {
3582
+ "aria-hidden": "true",
3583
+ "data-slot": "page-intro-wash",
3584
+ className: "pointer-events-none absolute inset-0 -z-10 bg-[radial-gradient(ellipse_90%_140%_at_100%_0%,color-mix(in_oklab,var(--primary)_16%,transparent),transparent_65%)]"
3585
+ }),
3586
+ /* @__PURE__ */ jsxs21("div", {
3587
+ className: "flex min-w-0 flex-col gap-panel p-(--card-spacing) @2xl/page-intro:flex-row @2xl/page-intro:items-start @2xl/page-intro:justify-between",
3588
+ children: [
3589
+ /* @__PURE__ */ jsxs21("div", {
3590
+ className: "flex min-w-0 gap-panel",
3591
+ children: [
3592
+ icon != null && /* @__PURE__ */ jsx36("div", {
3593
+ "aria-hidden": "true",
3594
+ "data-slot": "page-intro-icon",
3595
+ className: "flex size-12 shrink-0 items-center justify-center rounded-md bg-primary/10 text-primary [&_svg]:size-6",
3596
+ children: icon
3597
+ }),
3598
+ /* @__PURE__ */ jsxs21("div", {
3599
+ className: "min-w-0",
3600
+ children: [
3601
+ eyebrow != null && /* @__PURE__ */ jsx36("div", {
3602
+ className: "mb-1 text-xs font-medium tracking-widest text-muted-foreground",
3603
+ children: eyebrow
3604
+ }),
3605
+ /* @__PURE__ */ jsx36("h1", {
3606
+ className: "text-2xl font-semibold text-foreground",
3607
+ children: title
3608
+ }),
3609
+ /* @__PURE__ */ jsx36("div", {
3610
+ className: "mt-2 max-w-prose text-base text-pretty text-muted-foreground",
3611
+ children: description
3612
+ })
3613
+ ]
3614
+ })
3615
+ ]
3616
+ }),
3617
+ actions != null && /* @__PURE__ */ jsx36("div", {
3618
+ className: "flex min-w-0 max-w-full shrink-0 flex-wrap items-center gap-control-gap wrap-anywhere",
3619
+ children: actions
3620
+ })
3621
+ ]
3622
+ }),
3623
+ highlights != null && highlights.length > 0 && /* @__PURE__ */ jsx36("ul", {
3624
+ "aria-label": `What you can do in ${title}`,
3625
+ "data-slot": "page-intro-highlights",
3626
+ className: "grid grid-cols-[repeat(auto-fit,minmax(min(100%,13rem),1fr))] gap-panel border-t border-border p-(--card-spacing)",
3627
+ children: highlights.map((highlight) => /* @__PURE__ */ jsxs21("li", {
3628
+ "data-slot": "page-intro-highlight",
3629
+ className: "flex min-w-0 gap-2",
3630
+ children: [
3631
+ highlight.icon != null && /* @__PURE__ */ jsx36("span", {
3632
+ "aria-hidden": "true",
3633
+ className: "mt-0.5 shrink-0 text-primary [&_svg]:size-4",
3634
+ children: highlight.icon
3635
+ }),
3636
+ /* @__PURE__ */ jsxs21("div", {
3637
+ className: "min-w-0",
3638
+ children: [
3639
+ /* @__PURE__ */ jsx36("div", {
3640
+ className: "text-sm font-medium text-foreground",
3641
+ children: highlight.title
3642
+ }),
3643
+ /* @__PURE__ */ jsx36("div", {
3644
+ className: "mt-0.5 text-sm text-muted-foreground",
3645
+ children: highlight.description
3646
+ })
3647
+ ]
3648
+ })
3649
+ ]
3650
+ }, highlight.title))
3651
+ })
3652
+ ]
3653
+ })
3654
+ });
3655
+ }
3216
3656
  // src/components/WorkspaceSwitcher.tsx
3217
- import { jsx as jsx35, jsxs as jsxs21 } from "react/jsx-runtime";
3657
+ import { jsx as jsx37, jsxs as jsxs22 } from "react/jsx-runtime";
3218
3658
  function WorkspaceSwitcher2({
3219
3659
  workspaces,
3220
3660
  value,
@@ -3224,7 +3664,7 @@ function WorkspaceSwitcher2({
3224
3664
  label = "Workspace",
3225
3665
  density
3226
3666
  }) {
3227
- return /* @__PURE__ */ jsxs21(Select2, {
3667
+ return /* @__PURE__ */ jsxs22(Select2, {
3228
3668
  items: workspaces,
3229
3669
  value,
3230
3670
  defaultValue: defaultValue ?? workspaces[0]?.value,
@@ -3234,15 +3674,15 @@ function WorkspaceSwitcher2({
3234
3674
  },
3235
3675
  disabled,
3236
3676
  children: [
3237
- /* @__PURE__ */ jsx35(SelectTrigger2, {
3677
+ /* @__PURE__ */ jsx37(SelectTrigger2, {
3238
3678
  "aria-label": label,
3239
3679
  density,
3240
- children: /* @__PURE__ */ jsx35(SelectValue2, {})
3680
+ children: /* @__PURE__ */ jsx37(SelectValue2, {})
3241
3681
  }),
3242
- /* @__PURE__ */ jsx35(SelectContent2, {
3682
+ /* @__PURE__ */ jsx37(SelectContent2, {
3243
3683
  density,
3244
- children: /* @__PURE__ */ jsx35(SelectGroup2, {
3245
- children: workspaces.map((workspace) => /* @__PURE__ */ jsx35(SelectItem2, {
3684
+ children: /* @__PURE__ */ jsx37(SelectGroup2, {
3685
+ children: workspaces.map((workspace) => /* @__PURE__ */ jsx37(SelectItem2, {
3246
3686
  value: workspace.value,
3247
3687
  children: workspace.label
3248
3688
  }, workspace.value))
@@ -3252,52 +3692,52 @@ function WorkspaceSwitcher2({
3252
3692
  });
3253
3693
  }
3254
3694
  // src/components/AccountMenu.tsx
3255
- import { jsx as jsx36, jsxs as jsxs22 } from "react/jsx-runtime";
3695
+ import { jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
3256
3696
  function AccountMenu2({ name, email, image, onAction, density }) {
3257
- return /* @__PURE__ */ jsxs22(DropdownMenu2, {
3697
+ return /* @__PURE__ */ jsxs23(DropdownMenu2, {
3258
3698
  children: [
3259
- /* @__PURE__ */ jsxs22(DropdownMenuTrigger2, {
3260
- render: /* @__PURE__ */ jsx36(Button2, {
3699
+ /* @__PURE__ */ jsxs23(DropdownMenuTrigger2, {
3700
+ render: /* @__PURE__ */ jsx38(Button2, {
3261
3701
  variant: "ghost",
3262
3702
  density
3263
3703
  }),
3264
3704
  "aria-label": `Account menu for ${name}`,
3265
3705
  children: [
3266
- /* @__PURE__ */ jsxs22(Avatar2, {
3706
+ /* @__PURE__ */ jsxs23(Avatar2, {
3267
3707
  className: "size-control",
3268
3708
  children: [
3269
- /* @__PURE__ */ jsx36(AvatarImage2, {
3709
+ /* @__PURE__ */ jsx38(AvatarImage2, {
3270
3710
  src: image,
3271
3711
  alt: ""
3272
3712
  }),
3273
- /* @__PURE__ */ jsx36(AvatarFallback2, {
3713
+ /* @__PURE__ */ jsx38(AvatarFallback2, {
3274
3714
  children: name.slice(0, 2).toUpperCase()
3275
3715
  })
3276
3716
  ]
3277
3717
  }),
3278
- /* @__PURE__ */ jsx36("span", {
3718
+ /* @__PURE__ */ jsx38("span", {
3279
3719
  children: name
3280
3720
  })
3281
3721
  ]
3282
3722
  }),
3283
- /* @__PURE__ */ jsx36(MenuPopup, {
3723
+ /* @__PURE__ */ jsx38(MenuPopup, {
3284
3724
  density,
3285
3725
  align: "end",
3286
- children: /* @__PURE__ */ jsxs22(MenuGroup2, {
3726
+ children: /* @__PURE__ */ jsxs23(MenuGroup2, {
3287
3727
  children: [
3288
- /* @__PURE__ */ jsx36(MenuLabel2, {
3728
+ /* @__PURE__ */ jsx38(MenuLabel2, {
3289
3729
  children: email ?? name
3290
3730
  }),
3291
- /* @__PURE__ */ jsx36(MenuItem2, {
3731
+ /* @__PURE__ */ jsx38(MenuItem2, {
3292
3732
  onClick: () => onAction("profile"),
3293
3733
  children: "Profile"
3294
3734
  }),
3295
- /* @__PURE__ */ jsx36(MenuItem2, {
3735
+ /* @__PURE__ */ jsx38(MenuItem2, {
3296
3736
  onClick: () => onAction("settings"),
3297
3737
  children: "Settings"
3298
3738
  }),
3299
- /* @__PURE__ */ jsx36(MenuSeparator2, {}),
3300
- /* @__PURE__ */ jsx36(MenuItem2, {
3739
+ /* @__PURE__ */ jsx38(MenuSeparator2, {}),
3740
+ /* @__PURE__ */ jsx38(MenuItem2, {
3301
3741
  onClick: () => onAction("sign-out"),
3302
3742
  children: "Sign out"
3303
3743
  })
@@ -3308,7 +3748,7 @@ function AccountMenu2({ name, email, image, onAction, density }) {
3308
3748
  });
3309
3749
  }
3310
3750
  // src/components/StatCard.tsx
3311
- import { jsx as jsx37, jsxs as jsxs23 } from "react/jsx-runtime";
3751
+ import { jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
3312
3752
  function StatCard2({
3313
3753
  label,
3314
3754
  value,
@@ -3319,40 +3759,40 @@ function StatCard2({
3319
3759
  loading = false,
3320
3760
  density
3321
3761
  }) {
3322
- return /* @__PURE__ */ jsxs23(Card2, {
3762
+ return /* @__PURE__ */ jsxs24(Card2, {
3323
3763
  density,
3324
3764
  "aria-label": label,
3325
3765
  "aria-busy": loading,
3326
3766
  children: [
3327
- /* @__PURE__ */ jsxs23(CardHeader2, {
3767
+ /* @__PURE__ */ jsxs24(CardHeader2, {
3328
3768
  children: [
3329
- /* @__PURE__ */ jsx37(CardTitle2, {
3769
+ /* @__PURE__ */ jsx39(CardTitle2, {
3330
3770
  children: label
3331
3771
  }),
3332
- description && /* @__PURE__ */ jsx37(CardDescription2, {
3772
+ description && /* @__PURE__ */ jsx39(CardDescription2, {
3333
3773
  children: description
3334
3774
  })
3335
3775
  ]
3336
3776
  }),
3337
- /* @__PURE__ */ jsx37(CardContent2, {
3338
- children: /* @__PURE__ */ jsxs23("div", {
3777
+ /* @__PURE__ */ jsx39(CardContent2, {
3778
+ children: /* @__PURE__ */ jsxs24("div", {
3339
3779
  className: "flex flex-wrap items-center justify-between gap-control-gap",
3340
3780
  children: [
3341
- loading ? /* @__PURE__ */ jsx37(Skeleton2, {
3781
+ loading ? /* @__PURE__ */ jsx39(Skeleton2, {
3342
3782
  className: "h-8 w-24",
3343
3783
  "aria-label": `Loading ${label}`
3344
- }) : /* @__PURE__ */ jsx37("div", {
3784
+ }) : /* @__PURE__ */ jsx39("div", {
3345
3785
  className: "text-2xl font-semibold tabular-nums",
3346
3786
  children: value
3347
3787
  }),
3348
- change && /* @__PURE__ */ jsx37(Badge2, {
3788
+ change && /* @__PURE__ */ jsx39(Badge2, {
3349
3789
  variant: changeIntent === "positive" ? "success" : changeIntent === "negative" ? "destructive" : "secondary",
3350
3790
  children: change
3351
3791
  })
3352
3792
  ]
3353
3793
  })
3354
3794
  }),
3355
- children && /* @__PURE__ */ jsx37(CardFooter2, {
3795
+ children && /* @__PURE__ */ jsx39(CardFooter2, {
3356
3796
  children
3357
3797
  })
3358
3798
  ]
@@ -3360,7 +3800,7 @@ function StatCard2({
3360
3800
  }
3361
3801
  // src/components/AuthForm.tsx
3362
3802
  import { useId as useId2, useState as useState5 } from "react";
3363
- import { jsx as jsx38, jsxs as jsxs24 } from "react/jsx-runtime";
3803
+ import { jsx as jsx40, jsxs as jsxs25 } from "react/jsx-runtime";
3364
3804
  function AuthForm2({
3365
3805
  mode = "sign-in",
3366
3806
  onSubmit,
@@ -3390,33 +3830,33 @@ function AuthForm2({
3390
3830
  setPending(false);
3391
3831
  }
3392
3832
  }
3393
- return /* @__PURE__ */ jsxs24(Card2, {
3833
+ return /* @__PURE__ */ jsxs25(Card2, {
3394
3834
  density,
3395
3835
  children: [
3396
- /* @__PURE__ */ jsxs24(CardHeader2, {
3836
+ /* @__PURE__ */ jsxs25(CardHeader2, {
3397
3837
  children: [
3398
- /* @__PURE__ */ jsx38(CardTitle2, {
3838
+ /* @__PURE__ */ jsx40(CardTitle2, {
3399
3839
  children: title
3400
3840
  }),
3401
- /* @__PURE__ */ jsx38(CardDescription2, {
3841
+ /* @__PURE__ */ jsx40(CardDescription2, {
3402
3842
  children: mode === "reset-password" ? "Enter your email to request a password reset." : "Enter your details to continue."
3403
3843
  })
3404
3844
  ]
3405
3845
  }),
3406
- /* @__PURE__ */ jsx38(CardContent2, {
3407
- children: /* @__PURE__ */ jsx38("form", {
3846
+ /* @__PURE__ */ jsx40(CardContent2, {
3847
+ children: /* @__PURE__ */ jsx40("form", {
3408
3848
  onSubmit: submit,
3409
3849
  "aria-label": title,
3410
3850
  "aria-busy": pending,
3411
- children: /* @__PURE__ */ jsxs24(FieldGroup2, {
3851
+ children: /* @__PURE__ */ jsxs25(FieldGroup2, {
3412
3852
  children: [
3413
- mode === "sign-up" && /* @__PURE__ */ jsxs24(Field2, {
3853
+ mode === "sign-up" && /* @__PURE__ */ jsxs25(Field2, {
3414
3854
  children: [
3415
- /* @__PURE__ */ jsx38(FieldLabel2, {
3855
+ /* @__PURE__ */ jsx40(FieldLabel2, {
3416
3856
  htmlFor: id + "-name",
3417
3857
  children: "Name"
3418
3858
  }),
3419
- /* @__PURE__ */ jsx38(Input2, {
3859
+ /* @__PURE__ */ jsx40(Input2, {
3420
3860
  id: id + "-name",
3421
3861
  name: "name",
3422
3862
  autoComplete: "name",
@@ -3425,13 +3865,13 @@ function AuthForm2({
3425
3865
  })
3426
3866
  ]
3427
3867
  }),
3428
- /* @__PURE__ */ jsxs24(Field2, {
3868
+ /* @__PURE__ */ jsxs25(Field2, {
3429
3869
  children: [
3430
- /* @__PURE__ */ jsx38(FieldLabel2, {
3870
+ /* @__PURE__ */ jsx40(FieldLabel2, {
3431
3871
  htmlFor: id + "-email",
3432
3872
  children: "Email"
3433
3873
  }),
3434
- /* @__PURE__ */ jsx38(Input2, {
3874
+ /* @__PURE__ */ jsx40(Input2, {
3435
3875
  id: id + "-email",
3436
3876
  name: "email",
3437
3877
  type: "email",
@@ -3441,13 +3881,13 @@ function AuthForm2({
3441
3881
  })
3442
3882
  ]
3443
3883
  }),
3444
- mode !== "reset-password" && /* @__PURE__ */ jsxs24(Field2, {
3884
+ mode !== "reset-password" && /* @__PURE__ */ jsxs25(Field2, {
3445
3885
  children: [
3446
- /* @__PURE__ */ jsx38(FieldLabel2, {
3886
+ /* @__PURE__ */ jsx40(FieldLabel2, {
3447
3887
  htmlFor: id + "-password",
3448
3888
  children: "Password"
3449
3889
  }),
3450
- /* @__PURE__ */ jsx38(Input2, {
3890
+ /* @__PURE__ */ jsx40(Input2, {
3451
3891
  id: id + "-password",
3452
3892
  name: "password",
3453
3893
  type: "password",
@@ -3456,27 +3896,27 @@ function AuthForm2({
3456
3896
  required: true,
3457
3897
  disabled: disabled || pending
3458
3898
  }),
3459
- mode === "sign-up" && /* @__PURE__ */ jsx38(FieldDescription2, {
3899
+ mode === "sign-up" && /* @__PURE__ */ jsx40(FieldDescription2, {
3460
3900
  children: "Use at least eight characters."
3461
3901
  })
3462
3902
  ]
3463
3903
  }),
3464
- error && /* @__PURE__ */ jsxs24(Alert2, {
3904
+ error && /* @__PURE__ */ jsxs25(Alert2, {
3465
3905
  variant: "destructive",
3466
3906
  children: [
3467
- /* @__PURE__ */ jsx38(AlertTitle2, {
3907
+ /* @__PURE__ */ jsx40(AlertTitle2, {
3468
3908
  children: "Request failed"
3469
3909
  }),
3470
- /* @__PURE__ */ jsx38(AlertDescription2, {
3910
+ /* @__PURE__ */ jsx40(AlertDescription2, {
3471
3911
  children: error
3472
3912
  })
3473
3913
  ]
3474
3914
  }),
3475
- /* @__PURE__ */ jsxs24(Button2, {
3915
+ /* @__PURE__ */ jsxs25(Button2, {
3476
3916
  type: "submit",
3477
3917
  disabled: disabled || pending,
3478
3918
  children: [
3479
- pending && /* @__PURE__ */ jsx38(Spinner2, {
3919
+ pending && /* @__PURE__ */ jsx40(Spinner2, {
3480
3920
  "data-icon": "inline-start"
3481
3921
  }),
3482
3922
  mode === "reset-password" ? "Send reset link" : title
@@ -3487,14 +3927,14 @@ function AuthForm2({
3487
3927
  })
3488
3928
  })
3489
3929
  }),
3490
- footer && /* @__PURE__ */ jsx38(CardFooter2, {
3930
+ footer && /* @__PURE__ */ jsx40(CardFooter2, {
3491
3931
  children: footer
3492
3932
  })
3493
3933
  ]
3494
3934
  });
3495
3935
  }
3496
3936
  // src/components/SettingsSection.tsx
3497
- import { jsx as jsx39, jsxs as jsxs25 } from "react/jsx-runtime";
3937
+ import { jsx as jsx41, jsxs as jsxs26 } from "react/jsx-runtime";
3498
3938
  function SettingsSection2({
3499
3939
  title,
3500
3940
  description,
@@ -3507,48 +3947,48 @@ function SettingsSection2({
3507
3947
  destructive = false,
3508
3948
  density
3509
3949
  }) {
3510
- return /* @__PURE__ */ jsx39("form", {
3950
+ return /* @__PURE__ */ jsx41("form", {
3511
3951
  "aria-label": title,
3512
3952
  onSubmit,
3513
3953
  "aria-busy": pending,
3514
- children: /* @__PURE__ */ jsxs25(Card2, {
3954
+ children: /* @__PURE__ */ jsxs26(Card2, {
3515
3955
  density,
3516
3956
  children: [
3517
- /* @__PURE__ */ jsxs25(CardHeader2, {
3957
+ /* @__PURE__ */ jsxs26(CardHeader2, {
3518
3958
  children: [
3519
- /* @__PURE__ */ jsx39(CardTitle2, {
3959
+ /* @__PURE__ */ jsx41(CardTitle2, {
3520
3960
  children: title
3521
3961
  }),
3522
- description && /* @__PURE__ */ jsx39(CardDescription2, {
3962
+ description && /* @__PURE__ */ jsx41(CardDescription2, {
3523
3963
  children: description
3524
3964
  })
3525
3965
  ]
3526
3966
  }),
3527
- /* @__PURE__ */ jsx39(CardContent2, {
3528
- children: /* @__PURE__ */ jsxs25("fieldset", {
3967
+ /* @__PURE__ */ jsx41(CardContent2, {
3968
+ children: /* @__PURE__ */ jsxs26("fieldset", {
3529
3969
  disabled: disabled || pending,
3530
3970
  className: "min-w-0 border-0 p-0",
3531
3971
  children: [
3532
- /* @__PURE__ */ jsx39("legend", {
3972
+ /* @__PURE__ */ jsx41("legend", {
3533
3973
  className: "sr-only",
3534
3974
  children: title
3535
3975
  }),
3536
- /* @__PURE__ */ jsx39(FieldGroup2, {
3976
+ /* @__PURE__ */ jsx41(FieldGroup2, {
3537
3977
  children
3538
3978
  })
3539
3979
  ]
3540
3980
  })
3541
3981
  }),
3542
- /* @__PURE__ */ jsxs25(CardFooter2, {
3982
+ /* @__PURE__ */ jsxs26(CardFooter2, {
3543
3983
  className: "flex flex-wrap items-center justify-between gap-control-gap",
3544
3984
  children: [
3545
3985
  footer,
3546
- /* @__PURE__ */ jsxs25(Button2, {
3986
+ /* @__PURE__ */ jsxs26(Button2, {
3547
3987
  type: "submit",
3548
3988
  variant: destructive ? "destructive" : "default",
3549
3989
  disabled: disabled || pending,
3550
3990
  children: [
3551
- pending && /* @__PURE__ */ jsx39(Spinner2, {
3991
+ pending && /* @__PURE__ */ jsx41(Spinner2, {
3552
3992
  "data-icon": "inline-start"
3553
3993
  }),
3554
3994
  saveLabel
@@ -3561,7 +4001,7 @@ function SettingsSection2({
3561
4001
  });
3562
4002
  }
3563
4003
  // src/components/TagInput.tsx
3564
- import { jsx as jsx40, jsxs as jsxs26 } from "react/jsx-runtime";
4004
+ import { jsx as jsx42, jsxs as jsxs27 } from "react/jsx-runtime";
3565
4005
  function TagInput2({
3566
4006
  label,
3567
4007
  options,
@@ -3574,7 +4014,7 @@ function TagInput2({
3574
4014
  density
3575
4015
  }) {
3576
4016
  const anchor = useComboboxAnchor2();
3577
- return /* @__PURE__ */ jsxs26(Combobox2, {
4017
+ return /* @__PURE__ */ jsxs27(Combobox2, {
3578
4018
  items: options,
3579
4019
  multiple: true,
3580
4020
  value,
@@ -3583,33 +4023,33 @@ function TagInput2({
3583
4023
  disabled,
3584
4024
  name,
3585
4025
  children: [
3586
- /* @__PURE__ */ jsxs26(ComboboxChips2, {
4026
+ /* @__PURE__ */ jsxs27(ComboboxChips2, {
3587
4027
  ref: anchor,
3588
4028
  density,
3589
4029
  children: [
3590
- /* @__PURE__ */ jsx40(ComboboxValue2, {
3591
- children: (values) => values.map((item) => /* @__PURE__ */ jsx40(ComboboxChip2, {
4030
+ /* @__PURE__ */ jsx42(ComboboxValue2, {
4031
+ children: (values) => values.map((item) => /* @__PURE__ */ jsx42(ComboboxChip2, {
3592
4032
  removeLabel: `Remove ${item}`,
3593
4033
  children: item
3594
4034
  }, item))
3595
4035
  }),
3596
- /* @__PURE__ */ jsx40(ComboboxChipsInput2, {
4036
+ /* @__PURE__ */ jsx42(ComboboxChipsInput2, {
3597
4037
  "aria-label": label,
3598
4038
  placeholder
3599
4039
  })
3600
4040
  ]
3601
4041
  }),
3602
- /* @__PURE__ */ jsxs26(ComboboxContent2, {
4042
+ /* @__PURE__ */ jsxs27(ComboboxContent2, {
3603
4043
  anchor,
3604
4044
  density,
3605
4045
  children: [
3606
- /* @__PURE__ */ jsx40(ComboboxEmpty2, {
4046
+ /* @__PURE__ */ jsx42(ComboboxEmpty2, {
3607
4047
  children: "No matching tags."
3608
4048
  }),
3609
- /* @__PURE__ */ jsx40(ComboboxList2, {
3610
- children: /* @__PURE__ */ jsx40(ComboboxGroup2, {
3611
- children: /* @__PURE__ */ jsx40(ComboboxCollection2, {
3612
- children: (item) => /* @__PURE__ */ jsx40(ComboboxItem2, {
4049
+ /* @__PURE__ */ jsx42(ComboboxList2, {
4050
+ children: /* @__PURE__ */ jsx42(ComboboxGroup2, {
4051
+ children: /* @__PURE__ */ jsx42(ComboboxCollection2, {
4052
+ children: (item) => /* @__PURE__ */ jsx42(ComboboxItem2, {
3613
4053
  value: item,
3614
4054
  children: item
3615
4055
  }, item)
@@ -3622,7 +4062,7 @@ function TagInput2({
3622
4062
  });
3623
4063
  }
3624
4064
  // src/components/FilterBar.tsx
3625
- import { jsx as jsx41, jsxs as jsxs27 } from "react/jsx-runtime";
4065
+ import { jsx as jsx43, jsxs as jsxs28 } from "react/jsx-runtime";
3626
4066
  function FilterBar2({
3627
4067
  label,
3628
4068
  search,
@@ -3633,38 +4073,26 @@ function FilterBar2({
3633
4073
  disabled,
3634
4074
  density
3635
4075
  }) {
3636
- return /* @__PURE__ */ jsxs27("fieldset", {
4076
+ return /* @__PURE__ */ jsxs28("fieldset", {
3637
4077
  "aria-label": label,
3638
4078
  disabled,
3639
4079
  "data-density": density,
3640
4080
  className: "flex min-w-0 flex-wrap items-center gap-2",
3641
4081
  children: [
3642
- /* @__PURE__ */ jsx41(Input2, {
4082
+ /* @__PURE__ */ jsx43(Input2, {
3643
4083
  "aria-label": `Search ${label}`,
3644
4084
  type: "search",
3645
4085
  value: search,
3646
4086
  onChange: (event) => onSearchChange(event.target.value),
3647
4087
  className: "min-w-40 flex-1"
3648
4088
  }),
3649
- filters.map((filter) => /* @__PURE__ */ jsxs27(NativeSelect2, {
4089
+ filters.map((filter) => /* @__PURE__ */ jsx43(OptionSelect2, {
3650
4090
  "aria-label": filter.label,
3651
4091
  value: value[filter.id] ?? "",
3652
- onChange: (event) => onValueChange({ ...value, [filter.id]: event.target.value }),
3653
- children: [
3654
- /* @__PURE__ */ jsxs27(NativeSelectOption2, {
3655
- value: "",
3656
- children: [
3657
- "All ",
3658
- filter.label.toLowerCase()
3659
- ]
3660
- }),
3661
- filter.options.map((option) => /* @__PURE__ */ jsx41(NativeSelectOption2, {
3662
- value: option.value,
3663
- children: option.label
3664
- }, option.value))
3665
- ]
4092
+ onValueChange: (next) => onValueChange({ ...value, [filter.id]: next }),
4093
+ options: [{ value: "", label: `All ${filter.label.toLowerCase()}` }, ...filter.options]
3666
4094
  }, filter.id)),
3667
- /* @__PURE__ */ jsx41(Button2, {
4095
+ /* @__PURE__ */ jsx43(Button2, {
3668
4096
  type: "button",
3669
4097
  variant: "ghost",
3670
4098
  disabled: !search && !Object.values(value).some(Boolean),
@@ -3678,7 +4106,7 @@ function FilterBar2({
3678
4106
  });
3679
4107
  }
3680
4108
  // src/components/BarList.tsx
3681
- import { jsx as jsx42, jsxs as jsxs28 } from "react/jsx-runtime";
4109
+ import { jsx as jsx44, jsxs as jsxs29 } from "react/jsx-runtime";
3682
4110
  function BarList2({
3683
4111
  label,
3684
4112
  items,
@@ -3687,25 +4115,25 @@ function BarList2({
3687
4115
  density
3688
4116
  }) {
3689
4117
  const max = Math.max(1, ...items.map((item) => item.value));
3690
- return /* @__PURE__ */ jsxs28("section", {
4118
+ return /* @__PURE__ */ jsxs29("section", {
3691
4119
  "aria-label": label,
3692
4120
  "data-density": density,
3693
4121
  children: [
3694
- /* @__PURE__ */ jsx42("ul", {
4122
+ /* @__PURE__ */ jsx44("ul", {
3695
4123
  className: "grid gap-3",
3696
- children: items.map((item) => /* @__PURE__ */ jsx42("li", {
3697
- children: /* @__PURE__ */ jsxs28(Meter2, {
4124
+ children: items.map((item) => /* @__PURE__ */ jsx44("li", {
4125
+ children: /* @__PURE__ */ jsxs29(Meter2, {
3698
4126
  min: 0,
3699
4127
  max,
3700
4128
  value: item.value,
3701
4129
  "aria-label": item.label,
3702
4130
  format: { maximumFractionDigits: 2 },
3703
4131
  children: [
3704
- /* @__PURE__ */ jsxs28("div", {
4132
+ /* @__PURE__ */ jsxs29("div", {
3705
4133
  className: "mb-1 flex items-center justify-between gap-3 text-sm",
3706
4134
  children: [
3707
- /* @__PURE__ */ jsx42(MeterLabel2, {
3708
- children: onItemSelect ? /* @__PURE__ */ jsx42(Button2, {
4135
+ /* @__PURE__ */ jsx44(MeterLabel2, {
4136
+ children: onItemSelect ? /* @__PURE__ */ jsx44(Button2, {
3709
4137
  type: "button",
3710
4138
  variant: "link",
3711
4139
  className: "h-auto p-0",
@@ -3713,19 +4141,19 @@ function BarList2({
3713
4141
  children: item.label
3714
4142
  }) : item.label
3715
4143
  }),
3716
- /* @__PURE__ */ jsx42(MeterValue2, {
4144
+ /* @__PURE__ */ jsx44(MeterValue2, {
3717
4145
  children: () => valueFormatter(item.value)
3718
4146
  })
3719
4147
  ]
3720
4148
  }),
3721
- /* @__PURE__ */ jsx42(MeterTrack2, {
3722
- children: /* @__PURE__ */ jsx42(MeterIndicator2, {})
4149
+ /* @__PURE__ */ jsx44(MeterTrack2, {
4150
+ children: /* @__PURE__ */ jsx44(MeterIndicator2, {})
3723
4151
  })
3724
4152
  ]
3725
4153
  })
3726
4154
  }, item.id))
3727
4155
  }),
3728
- !items.length && /* @__PURE__ */ jsx42("p", {
4156
+ !items.length && /* @__PURE__ */ jsx44("p", {
3729
4157
  role: "status",
3730
4158
  className: "text-sm text-muted-foreground",
3731
4159
  children: "No data available."
@@ -3734,23 +4162,23 @@ function BarList2({
3734
4162
  });
3735
4163
  }
3736
4164
  // src/components/StatusTracker.tsx
3737
- import { jsx as jsx43, jsxs as jsxs29 } from "react/jsx-runtime";
4165
+ import { jsx as jsx45, jsxs as jsxs30 } from "react/jsx-runtime";
3738
4166
  var statusClasses = { success: "bg-success", warning: "bg-warning", error: "bg-destructive", unknown: "bg-muted" };
3739
4167
  function StatusTracker2({ label, items, onItemSelect, density }) {
3740
- return /* @__PURE__ */ jsx43(TooltipProvider2, {
3741
- children: /* @__PURE__ */ jsx43("div", {
4168
+ return /* @__PURE__ */ jsx45(TooltipProvider2, {
4169
+ children: /* @__PURE__ */ jsx45("div", {
3742
4170
  role: "group",
3743
4171
  "aria-label": label,
3744
4172
  "data-density": density,
3745
4173
  className: "flex min-w-0 gap-1",
3746
- children: items.map((item) => /* @__PURE__ */ jsxs29(Tooltip2, {
4174
+ children: items.map((item) => /* @__PURE__ */ jsxs30(Tooltip2, {
3747
4175
  children: [
3748
- /* @__PURE__ */ jsx43(TooltipTrigger2, {
4176
+ /* @__PURE__ */ jsx45(TooltipTrigger2, {
3749
4177
  "aria-label": `${item.label}: ${item.status}`,
3750
4178
  onClick: () => onItemSelect?.(item),
3751
4179
  className: cn2("h-8 min-w-2 flex-1 rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ring", statusClasses[item.status])
3752
4180
  }),
3753
- /* @__PURE__ */ jsxs29(TooltipContent2, {
4181
+ /* @__PURE__ */ jsxs30(TooltipContent2, {
3754
4182
  children: [
3755
4183
  item.label,
3756
4184
  ": ",
@@ -3763,7 +4191,7 @@ function StatusTracker2({ label, items, onItemSelect, density }) {
3763
4191
  });
3764
4192
  }
3765
4193
  // src/components/DashboardLayout.tsx
3766
- import { jsx as jsx44, jsxs as jsxs30 } from "react/jsx-runtime";
4194
+ import { jsx as jsx46, jsxs as jsxs31 } from "react/jsx-runtime";
3767
4195
  function DashboardLayout2({
3768
4196
  title,
3769
4197
  description,
@@ -3774,24 +4202,24 @@ function DashboardLayout2({
3774
4202
  footer,
3775
4203
  density
3776
4204
  }) {
3777
- return /* @__PURE__ */ jsxs30("div", {
4205
+ return /* @__PURE__ */ jsxs31("div", {
3778
4206
  "data-density": density,
3779
4207
  "data-scroll": "none",
3780
4208
  className: "grid min-w-0 gap-6",
3781
4209
  children: [
3782
- /* @__PURE__ */ jsx44(PageHeader2, {
4210
+ /* @__PURE__ */ jsx46(PageHeader2, {
3783
4211
  title,
3784
4212
  description,
3785
4213
  actions
3786
4214
  }),
3787
4215
  filters,
3788
- stats.length > 0 && /* @__PURE__ */ jsx44("div", {
4216
+ stats.length > 0 && /* @__PURE__ */ jsx46("div", {
3789
4217
  className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-4",
3790
- children: stats.map(({ id, ...stat }) => /* @__PURE__ */ jsx44(StatCard2, {
4218
+ children: stats.map(({ id, ...stat }) => /* @__PURE__ */ jsx46(StatCard2, {
3791
4219
  ...stat
3792
4220
  }, id))
3793
4221
  }),
3794
- /* @__PURE__ */ jsx44("div", {
4222
+ /* @__PURE__ */ jsx46("div", {
3795
4223
  className: "grid min-w-0 gap-4",
3796
4224
  children
3797
4225
  }),
@@ -3800,18 +4228,18 @@ function DashboardLayout2({
3800
4228
  });
3801
4229
  }
3802
4230
  // src/components/BillingUsage.tsx
3803
- import { jsx as jsx45, jsxs as jsxs31 } from "react/jsx-runtime";
4231
+ import { jsx as jsx47, jsxs as jsxs32 } from "react/jsx-runtime";
3804
4232
  function BillingUsage2({ plan, price, period, metrics, onManage, pending, density }) {
3805
- return /* @__PURE__ */ jsxs31(Card2, {
4233
+ return /* @__PURE__ */ jsxs32(Card2, {
3806
4234
  density,
3807
4235
  "aria-label": "Billing and usage",
3808
4236
  children: [
3809
- /* @__PURE__ */ jsxs31(CardHeader2, {
4237
+ /* @__PURE__ */ jsxs32(CardHeader2, {
3810
4238
  children: [
3811
- /* @__PURE__ */ jsx45(CardTitle2, {
4239
+ /* @__PURE__ */ jsx47(CardTitle2, {
3812
4240
  children: plan
3813
4241
  }),
3814
- /* @__PURE__ */ jsxs31(CardDescription2, {
4242
+ /* @__PURE__ */ jsxs32(CardDescription2, {
3815
4243
  children: [
3816
4244
  price,
3817
4245
  " · ",
@@ -3820,32 +4248,32 @@ function BillingUsage2({ plan, price, period, metrics, onManage, pending, densit
3820
4248
  })
3821
4249
  ]
3822
4250
  }),
3823
- /* @__PURE__ */ jsx45(CardContent2, {
4251
+ /* @__PURE__ */ jsx47(CardContent2, {
3824
4252
  className: "grid gap-4",
3825
- children: metrics.map((metric) => /* @__PURE__ */ jsxs31(Meter2, {
4253
+ children: metrics.map((metric) => /* @__PURE__ */ jsxs32(Meter2, {
3826
4254
  value: metric.used,
3827
4255
  max: metric.limit,
3828
4256
  "aria-label": metric.label,
3829
4257
  children: [
3830
- /* @__PURE__ */ jsxs31("div", {
4258
+ /* @__PURE__ */ jsxs32("div", {
3831
4259
  className: "mb-2 flex items-center justify-between gap-3 text-sm",
3832
4260
  children: [
3833
- /* @__PURE__ */ jsx45(MeterLabel2, {
4261
+ /* @__PURE__ */ jsx47(MeterLabel2, {
3834
4262
  children: metric.label
3835
4263
  }),
3836
- /* @__PURE__ */ jsx45(MeterValue2, {
4264
+ /* @__PURE__ */ jsx47(MeterValue2, {
3837
4265
  children: () => `${metric.used.toLocaleString()} / ${metric.limit.toLocaleString()}${metric.unit ? ` ${metric.unit}` : ""}`
3838
4266
  })
3839
4267
  ]
3840
4268
  }),
3841
- /* @__PURE__ */ jsx45(MeterTrack2, {
3842
- children: /* @__PURE__ */ jsx45(MeterIndicator2, {})
4269
+ /* @__PURE__ */ jsx47(MeterTrack2, {
4270
+ children: /* @__PURE__ */ jsx47(MeterIndicator2, {})
3843
4271
  })
3844
4272
  ]
3845
4273
  }, metric.id))
3846
4274
  }),
3847
- /* @__PURE__ */ jsx45(CardFooter2, {
3848
- children: /* @__PURE__ */ jsx45(Button2, {
4275
+ /* @__PURE__ */ jsx47(CardFooter2, {
4276
+ children: /* @__PURE__ */ jsx47(Button2, {
3849
4277
  type: "button",
3850
4278
  variant: "outline",
3851
4279
  onClick: onManage,
@@ -3856,4 +4284,4 @@ function BillingUsage2({ plan, price, period, metrics, onManage, pending, densit
3856
4284
  ]
3857
4285
  });
3858
4286
  }
3859
- export { ButtonLink2, ContextMenu2, ContextMenuPortal2, ContextMenuTrigger2, ContextMenuContent2, ActionsMenu2, ActionsMenuTrigger2, ActionsMenuContextTarget2, ActionsMenuContextContent2, FormDialog2, Accordion2, AccordionItem2, AccordionTrigger2, AccordionContent2, EmptyState3, PageMessage2, formatDataLabel2, DataViewer2, JsonViewer2, AlertDialog2, AlertDialogTrigger2, AlertDialogPortal2, AlertDialogOverlay2, AlertDialogContent2, AlertDialogHeader2, AlertDialogFooter2, AlertDialogMedia2, AlertDialogTitle2, AlertDialogDescription2, AlertDialogAction2, AlertDialogCancel2, Select2, SelectGroup2, SelectValue2, SelectTrigger2, SelectContent2, SelectLabel2, SelectItem2, SelectSeparator2, SelectScrollUpButton2, SelectScrollDownButton2, DensityProvider2, collectLayoutViolations2, LayoutGuard2, ScrollGuard2, ThemeProvider2, AspectRatio2, Breadcrumb2, BreadcrumbList2, BreadcrumbItem2, BreadcrumbLink2, BreadcrumbPage2, BreadcrumbSeparator2, BreadcrumbEllipsis2, buttonGroupVariants2, ButtonGroup2, ButtonGroupText2, ButtonGroupSeparator2, ItemGroup2, ItemSeparator2, Item2, ItemMedia2, ItemContent2, ItemTitle2, ItemDescription2, ItemActions2, ItemHeader2, ItemFooter2, Pagination2, PaginationContent2, PaginationItem2, PaginationLink2, PaginationPrevious2, PaginationNext2, PaginationEllipsis2, Drawer2, DrawerTrigger2, DrawerPortal2, DrawerClose2, DrawerOverlay2, DrawerSwipeHandle2, DrawerContent2, DrawerHeader2, DrawerFooter2, DrawerTitle2, DrawerDescription2, Menubar2, MenubarMenu2, MenubarGroup2, MenubarPortal2, MenubarTrigger2, MenubarContent2, MenubarItem2, MenubarCheckboxItem2, MenubarRadioGroup2, MenubarRadioItem2, MenubarLabel2, MenubarSeparator2, MenubarShortcut2, MenubarSub2, MenubarSubTrigger2, MenubarSubContent2, NavigationMenu2, NavigationMenuList2, NavigationMenuItem2, navigationMenuTriggerStyle2, NavigationMenuTrigger2, NavigationMenuContent2, NavigationMenuPositioner2, NavigationMenuLink2, NavigationMenuIndicator2, ToastProvider2, ToastPortal2, ToastViewport2, Toast2, ToastContent2, ToastTitle2, ToastDescription2, ToastAction2, ToastClose2, ToastToaster2, createToastManager2, useToastManager2, markerVariants2, Marker2, MarkerIcon2, MarkerContent2, BubbleGroup2, Bubble2, BubbleContent2, BubbleReactions2, MessageGroup2, Message2, MessageAvatar2, MessageContent2, MessageHeader2, MessageFooter2, Attachment2, AttachmentMedia2, AttachmentContent2, AttachmentTitle2, AttachmentDescription2, AttachmentActions2, AttachmentAction2, AttachmentTrigger2, AttachmentGroup2, InlineEdit2, StarRating2, ConfirmationDialog2, ImagePicker2, Meter2, MeterLabel2, MeterValue2, MeterTrack2, MeterIndicator2, Stepper2, StepperList2, StepperTrigger2, StepperIndicator2, StepperContent2, AppShell2, PageHeader2, WorkspaceSwitcher2, AccountMenu2, StatCard2, AuthForm2, SettingsSection2, TagInput2, FilterBar2, BarList2, StatusTracker2, DashboardLayout2, BillingUsage2 };
4287
+ export { ButtonLink2, ContextMenu2, ContextMenuPortal2, ContextMenuTrigger2, ContextMenuContent2, ActionsMenu2, ActionsMenuTrigger2, ActionsMenuContextTarget2, ActionsMenuContextContent2, FormDialog2, Accordion2, AccordionItem2, AccordionTrigger2, AccordionContent2, EmptyState3, PageMessage2, formatDataLabel2, DataViewer2, JsonViewer2, AlertDialog2, AlertDialogTrigger2, AlertDialogPortal2, AlertDialogOverlay2, AlertDialogContent2, AlertDialogHeader2, AlertDialogFooter2, AlertDialogMedia2, AlertDialogTitle2, AlertDialogDescription2, AlertDialogAction2, AlertDialogCancel2, DensityProvider2, collectLayoutViolations2, LayoutGuard2, ScrollGuard2, ThemeProvider2, AspectRatio2, Breadcrumb2, BreadcrumbList2, BreadcrumbItem2, BreadcrumbLink2, BreadcrumbPage2, BreadcrumbSeparator2, BreadcrumbEllipsis2, buttonGroupVariants2, ButtonGroup2, ButtonGroupText2, ButtonGroupSeparator2, ItemGroup2, ItemSeparator2, Item2, ItemMedia2, ItemContent2, ItemTitle2, ItemDescription2, ItemActions2, ItemHeader2, ItemFooter2, Pagination2, PaginationContent2, PaginationItem2, PaginationLink2, PaginationPrevious2, PaginationNext2, PaginationEllipsis2, Drawer2, DrawerTrigger2, DrawerPortal2, DrawerClose2, DrawerOverlay2, DrawerSwipeHandle2, DrawerContent2, DrawerHeader2, DrawerFooter2, DrawerTitle2, DrawerDescription2, Menubar2, MenubarMenu2, MenubarGroup2, MenubarPortal2, MenubarTrigger2, MenubarContent2, MenubarItem2, MenubarCheckboxItem2, MenubarRadioGroup2, MenubarRadioItem2, MenubarLabel2, MenubarSeparator2, MenubarShortcut2, MenubarSub2, MenubarSubTrigger2, MenubarSubContent2, NavigationMenu2, NavigationMenuList2, NavigationMenuItem2, navigationMenuTriggerStyle2, NavigationMenuTrigger2, NavigationMenuContent2, NavigationMenuPositioner2, NavigationMenuLink2, NavigationMenuIndicator2, ToastProvider2, ToastPortal2, ToastViewport2, Toast2, ToastContent2, ToastTitle2, ToastDescription2, ToastAction2, ToastClose2, ToastToaster2, createToastManager2, useToastManager2, markerVariants2, Marker2, MarkerIcon2, MarkerContent2, BubbleGroup2, Bubble2, BubbleContent2, BubbleReactions2, MessageGroup2, Message2, MessageAvatar2, MessageContent2, MessageHeader2, MessageFooter2, Attachment2, AttachmentMedia2, AttachmentContent2, AttachmentTitle2, AttachmentDescription2, AttachmentActions2, AttachmentAction2, AttachmentTrigger2, AttachmentGroup2, InlineEdit2, StarRating2, ConfirmationDialog2, ImagePicker2, Meter2, MeterLabel2, MeterValue2, MeterTrack2, MeterIndicator2, Stepper2, StepperList2, StepperTrigger2, StepperIndicator2, StepperContent2, AppShell2, Stack2, Grid2, GridItem2, Container2, Text2, Heading2, WeatherSummary2, WeatherForecast2, PageHeader2, PageIntro2, WorkspaceSwitcher2, AccountMenu2, StatCard2, AuthForm2, SettingsSection2, TagInput2, FilterBar2, BarList2, StatusTracker2, DashboardLayout2, BillingUsage2 };