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