@alexgorbatchev/shadcn 0.0.48 → 0.0.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -2
- 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-cfnkbp0y.js → chunk-10vjajh7.js} +1 -1
- 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-a6mes7w0.js → chunk-31wptjv4.js} +52 -93
- 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-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-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-svr3r7pj.js → chunk-f43963xy.js} +998 -570
- 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-pj01ybcm.js → chunk-fjw7yyt3.js} +3 -3
- 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-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-77xfccfq.js → chunk-p894n7r6.js} +12 -25
- 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-p6kw19sx.js → chunk-rc99vk8d.js} +27 -9
- 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-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-zte6pw69.js → chunk-tjn53x34.js} +1 -1
- package/dist/{chunk-h51gnkz8.js → chunk-tqrn8kq8.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-xfryhw7e.js +225 -0
- 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-cy1xv5nz.js → chunk-yrp7xtb5.js} +23 -3
- 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-gbmvkt3q.js → chunk-zs4h45d8.js} +11 -12
- package/dist/{chunk-cvg5366s.js → chunk-zthc8ajd.js} +1 -1
- package/dist/{chunk-3g8p9apn.js → chunk-zyxzn7xf.js} +1 -1
- package/dist/components/AppShell.d.ts +16 -4
- package/dist/components/Container.d.ts +13 -0
- package/dist/components/Grid.d.ts +27 -0
- package/dist/components/Heading.d.ts +21 -0
- package/dist/components/OptionSelect.d.ts +29 -0
- package/dist/components/PageIntro.d.ts +22 -0
- 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 +10 -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 +87 -86
- package/dist/components/calendar/Calendar.d.ts +3 -2
- package/dist/components/calendar/index.js +5 -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 +13 -23
- 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 +1 -1
- package/dist/components/json-render/index.js +42 -40
- package/dist/components/message-scroller/index.js +2 -2
- package/dist/components/persian-calendar/index.js +7 -5
- 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 -2
- package/dist/index.js +90 -74
- 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/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/Table.md +1 -1
- 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/OptionSelect.md +100 -0
- 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/PageIntro.md +102 -0
- package/llms/components/layout/Stack.md +170 -0
- package/llms/components/navigation/ContextMenu.md +25 -25
- package/llms/setup.md +64 -2
- package/llms.txt +12 -3
- package/package.json +1 -1
- package/templates/prototype/src/components/ScenarioContent.tsx +3 -2
- package/templates/prototype/src/components/Workbench.tsx +45 -35
- package/templates/prototype/src/prototypes/dashboard/components/Dashboard.tsx +11 -9
- package/dist/chunk-4710gn6d.js +0 -15
- package/dist/chunk-dg14mg3y.js +0 -56
- package/dist/chunk-r4jzz4f2.js +0 -60
- package/dist/components/NativeSelect.d.ts +0 -12
- package/llms/components/forms/NativeSelect.md +0 -136
|
@@ -8,7 +8,7 @@ Source: src/components/stories/navigation/ContextMenu.stories.tsx
|
|
|
8
8
|
## Public imports
|
|
9
9
|
|
|
10
10
|
```tsx
|
|
11
|
-
import { Button, DirectionProvider, Toggle,
|
|
11
|
+
import { Button, DirectionProvider, Toggle, OptionSelect, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from "@alexgorbatchev/shadcn";
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## Supporting imports
|
|
@@ -44,10 +44,10 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
|
|
|
44
44
|
<Toggle aria-label="Show details" pressed={checked} onPressedChange={setChecked}>
|
|
45
45
|
Show details
|
|
46
46
|
</Toggle>
|
|
47
|
-
<
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
<OptionSelect aria-label="Sort projects" value={sort} onValueChange={setSort} options={[
|
|
48
|
+
{ value: "name", label: "Sort by name" },
|
|
49
|
+
{ value: "date", label: "Sort by date" },
|
|
50
|
+
]}/>
|
|
51
51
|
<ContextMenu {...args}>
|
|
52
52
|
<ContextMenuTrigger className="border border-border p-panel">Right click the project</ContextMenuTrigger>
|
|
53
53
|
<ContextMenuContent aria-label="Project actions">
|
|
@@ -99,10 +99,10 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
|
|
|
99
99
|
<Toggle aria-label="Show details" pressed={checked} onPressedChange={setChecked}>
|
|
100
100
|
Show details
|
|
101
101
|
</Toggle>
|
|
102
|
-
<
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
102
|
+
<OptionSelect aria-label="Sort projects" value={sort} onValueChange={setSort} options={[
|
|
103
|
+
{ value: "name", label: "Sort by name" },
|
|
104
|
+
{ value: "date", label: "Sort by date" },
|
|
105
|
+
]}/>
|
|
106
106
|
<ContextMenu {...args}>
|
|
107
107
|
<ContextMenuTrigger className="border border-border p-panel">Right click the project</ContextMenuTrigger>
|
|
108
108
|
<ContextMenuContent aria-label="Project actions">
|
|
@@ -155,10 +155,10 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
|
|
|
155
155
|
<Toggle aria-label="Show details" pressed={checked} onPressedChange={setChecked}>
|
|
156
156
|
Show details
|
|
157
157
|
</Toggle>
|
|
158
|
-
<
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
158
|
+
<OptionSelect aria-label="Sort projects" value={sort} onValueChange={setSort} options={[
|
|
159
|
+
{ value: "name", label: "Sort by name" },
|
|
160
|
+
{ value: "date", label: "Sort by date" },
|
|
161
|
+
]}/>
|
|
162
162
|
<ContextMenu {...args}>
|
|
163
163
|
<ContextMenuTrigger className="border border-border p-panel">Right click the project</ContextMenuTrigger>
|
|
164
164
|
<ContextMenuContent aria-label="Project actions">
|
|
@@ -220,10 +220,10 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
|
|
|
220
220
|
<Toggle aria-label="Show details" pressed={checked} onPressedChange={setChecked}>
|
|
221
221
|
Show details
|
|
222
222
|
</Toggle>
|
|
223
|
-
<
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
223
|
+
<OptionSelect aria-label="Sort projects" value={sort} onValueChange={setSort} options={[
|
|
224
|
+
{ value: "name", label: "Sort by name" },
|
|
225
|
+
{ value: "date", label: "Sort by date" },
|
|
226
|
+
]}/>
|
|
227
227
|
<ContextMenu>
|
|
228
228
|
<ContextMenuTrigger className={args.triggerClassName}>Right click for callbacks</ContextMenuTrigger>
|
|
229
229
|
<ContextMenuContent aria-label="Callback actions" className={args.contentClassName}>
|
|
@@ -276,10 +276,10 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
|
|
|
276
276
|
<Toggle aria-label="Show details" pressed={checked} onPressedChange={setChecked}>
|
|
277
277
|
Show details
|
|
278
278
|
</Toggle>
|
|
279
|
-
<
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
279
|
+
<OptionSelect aria-label="Sort projects" value={sort} onValueChange={setSort} options={[
|
|
280
|
+
{ value: "name", label: "Sort by name" },
|
|
281
|
+
{ value: "date", label: "Sort by date" },
|
|
282
|
+
]}/>
|
|
283
283
|
<ContextMenu {...args}>
|
|
284
284
|
<ContextMenuTrigger className="border border-border p-panel">Right click the project</ContextMenuTrigger>
|
|
285
285
|
<ContextMenuContent aria-label="Project actions">
|
|
@@ -339,10 +339,10 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
|
|
|
339
339
|
<Toggle aria-label="Show details" pressed={checked} onPressedChange={setChecked}>
|
|
340
340
|
Show details
|
|
341
341
|
</Toggle>
|
|
342
|
-
<
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
342
|
+
<OptionSelect aria-label="Sort projects" value={sort} onValueChange={setSort} options={[
|
|
343
|
+
{ value: "name", label: "Sort by name" },
|
|
344
|
+
{ value: "date", label: "Sort by date" },
|
|
345
|
+
]}/>
|
|
346
346
|
<ContextMenu {...args}>
|
|
347
347
|
<ContextMenuTrigger className="border border-border p-panel">Right click the project</ContextMenuTrigger>
|
|
348
348
|
<ContextMenuContent aria-label="Project actions">
|
package/llms/setup.md
CHANGED
|
@@ -261,8 +261,10 @@ The npm package includes the same index at `llms.txt` in its root and its linked
|
|
|
261
261
|
| Area | Components |
|
|
262
262
|
| :----------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
263
263
|
| Actions and status | Alert, Badge, Button, ButtonGroup, ButtonLink, Sonner, Toast, Toggle, ToggleGroup |
|
|
264
|
-
| Forms and selections | Calendar, Checkbox, Combobox, Command, Field, Input, InputGroup, InputOTP, Label,
|
|
264
|
+
| Forms and selections | AuthForm, Calendar, Checkbox, Combobox, Command, EmailCodeAuthForm, Field, Input, InputGroup, InputOTP, Label, OptionSelect, Questionnaire, RadioGroup, Select, Slider, Switch, Textarea |
|
|
265
265
|
| Structure and navigation | Accordion, AspectRatio, Avatar, Breadcrumb, Card, Carousel, Chart, Collapsible, Empty, Item, Kbd, Menubar, NavigationMenu, Pagination, Resizable, ScrollArea, Separator, Sidebar, Table, Tabs |
|
|
266
|
+
| Layout and typography | AppShell, Container, Grid, GridItem, Heading, PageHeader, PageIntro, Stack, Text |
|
|
267
|
+
| Data display | WeatherForecast, WeatherSummary |
|
|
266
268
|
| Overlays | AlertDialog, ContextMenu, Dialog, Drawer, DropdownMenu, HoverCard, Popover, Sheet, Tooltip |
|
|
267
269
|
| Loading | Progress, Skeleton, Spinner |
|
|
268
270
|
| Conversations | Attachment, Bubble, Marker, Message, MessageScroller |
|
|
@@ -316,7 +318,7 @@ Compose data tables with the exported Table parts and `@tanstack/react-table@9.2
|
|
|
316
318
|
|
|
317
319
|
Compose `Sidebar` and `SidebarInset` inside `SidebarProvider`. Use Header, Content, Group, Menu, and Footer parts to organize navigation, and `SidebarTrigger` or `SidebarRail` to toggle it. `useSidebar` exposes desktop and mobile state. Desktop collapse supports `offcanvas`, `icon`, and `none`; the mobile panel uses a titled Sheet with Escape dismissal and focus restoration. Menu buttons accept native custom elements through `render`; use anchors for navigation and keep their accessible text when collapsed. Cmd/Ctrl+B toggles the sidebar while focus is inside its provider. Set `open`/`onOpenChange` for controlled desktop state, or observe changes without supplying `open`. Persist changes in your application through `onOpenChange`, and restore them through `defaultOpen` or controlled `open`. Set widths through the typed `SidebarStyle` variables `--sidebar-width`, `--sidebar-width-mobile`, and `--sidebar-width-icon`. Sidebar colors follow the palette of the subtree they render in; set `--sidebar`, `--sidebar-foreground`, `--sidebar-primary`, `--sidebar-primary-foreground`, `--sidebar-accent`, `--sidebar-accent-foreground`, `--sidebar-border`, or `--sidebar-ring` to give the sidebar its own colors.
|
|
318
320
|
|
|
319
|
-
`InputOTP` uses one real input for typing, selection, paste, and autofill. Compose its visual slots inside `InputOTPGroup`; supply `maxLength` and an accessible label. Use `defaultValue` to initialize an uncontrolled code, or `value` and `onChange` to control it. Changing `defaultValue` after mounting preserves the current input. Import the OTP parts together from `@alexgorbatchev/shadcn/input-otp`; its bundled implementation owns their context. `Calendar` supports single, multiple, and range selection. `ResizablePanelGroup` sizes use explicit percentage strings such as `defaultSize="50%"`; numeric sizes are pixels. `CommandDialog` supplies the modal title and description; set `Command`'s `label` to name its search input.
|
|
321
|
+
`InputOTP` uses one real input for typing, selection, paste, and autofill. Compose its visual slots inside `InputOTPGroup`; supply `maxLength` and an accessible label. Use `defaultValue` to initialize an uncontrolled code, or `value` and `onChange` to control it. Changing `defaultValue` after mounting preserves the current input. Import the OTP parts together from `@alexgorbatchev/shadcn/input-otp`; its bundled implementation owns their context. `EmailCodeAuthForm` from the same entry point is passwordless sign-in in two steps: the email step calls `onRequestCode(email)`, and the code step collects a numeric code of `codeLength` digits (default 6) and calls `onVerifyCode(email, code)` when the code is complete or submitted. It offers Resend code and Use a different email, shows pending state while a handler runs, and shows a rejected handler's message without leaving the current step. `Calendar` supports single, multiple, and range selection. `ResizablePanelGroup` sizes use explicit percentage strings such as `defaultSize="50%"`; numeric sizes are pixels. `CommandDialog` supplies the modal title and description; set `Command`'s `label` to name its search input.
|
|
320
322
|
|
|
321
323
|
Use the Theme toolbar to select light, dark, or system palettes; Docs and example frames follow that selection. Local and routed previews can run on separate ports with independent dependency caches. Reload an open preview after restarting it on a different port.
|
|
322
324
|
|
|
@@ -358,6 +360,66 @@ Bun 1.4.0's CSS bundler lowers logical positioning to language-based selectors.
|
|
|
358
360
|
|
|
359
361
|
Compose `QuestionnaireItem`, `QuestionnaireTitle`, and answer controls inside `Questionnaire`, which renders a native form. `QuestionnaireChoice` supplies native radios or, with `multiple`, checkboxes; label every `QuestionnaireInput`. Read answers with `FormData.get()` or `getAll()`. `QuestionnaireProgress` and the Previous, Skip, Next, and Submit parts follow the active item. Optional steps need an answer or an explicit skip; observe `onStatusChange` to distinguish skipped answers. Letter and number shortcuts select answers without advancing. Use `item`/`onItemChange` for controlled navigation and `invalid` for external validation. Draft defaults and native reset restore initial answers and navigation. These parts accept density overrides and native render/ref props where supported. See the [upstream composition guide](https://ui.shadcn.com/docs/components/base/questionnaire).
|
|
360
362
|
|
|
363
|
+
# Page layout
|
|
364
|
+
|
|
365
|
+
Compose screens from layout components instead of utility classes. Each one accepts `render` for a semantic element, such as `render={<section aria-label="Members" />}`, `<ul />`, `<li />`, `<form />`, or `<main />`; props, handlers, and refs merge with the rendered element.
|
|
366
|
+
|
|
367
|
+
- `Stack` arranges children along one axis. `direction` is `vertical` (default) or `horizontal`, or a breakpoint map such as `{ base: "vertical", md: "horizontal" }`. `gap` and `padding` take the density-aware spacing tokens `none`, `control`, `panel-sm`, `panel`, `field`, and `section`. `align`, `justify`, and `wrap` position children. `grow` takes the remaining space of a parent `Stack` and lets its content shrink; `height` is `auto`, `full`, `viewport`, or `min-viewport`.
|
|
368
|
+
- `Grid` lays out equal columns: `columns` is 1–6 or 12, or a breakpoint map such as `{ base: 1, md: 2, xl: 4 }`. `minColumnWidth` (`xs`, `sm`, `md`, `lg`) instead fits as many columns as the grid's own width allows, so card grids adapt inside narrow panes. `GridItem span` widens a cell; `span="full"` always spans every column.
|
|
369
|
+
- `Container` centers a column with a maximum `width` (`xs` 20rem, `sm` 24rem, `md` 42rem, `lg` 64rem, `xl` 80rem, or `full`).
|
|
370
|
+
- `Text` renders body copy as a paragraph with semantic `size`, `tone`, `weight`, `align`, `truncate`, and `tabular` options; use `render={<span />}` for inline text. `Heading` renders `h1`–`h6` from its required `level`, with a `size` chosen independently of the outline level.
|
|
371
|
+
- `ScrollArea grow` scrolls inside the remaining space of a parent `Stack`.
|
|
372
|
+
|
|
373
|
+
A header row with trailing actions, a two-column form, and a centered sign-in page:
|
|
374
|
+
|
|
375
|
+
```tsx
|
|
376
|
+
import {
|
|
377
|
+
AuthForm,
|
|
378
|
+
Button,
|
|
379
|
+
Container,
|
|
380
|
+
Field,
|
|
381
|
+
FieldLabel,
|
|
382
|
+
Grid,
|
|
383
|
+
GridItem,
|
|
384
|
+
Heading,
|
|
385
|
+
Input,
|
|
386
|
+
Stack,
|
|
387
|
+
Textarea,
|
|
388
|
+
} from "@alexgorbatchev/shadcn";
|
|
389
|
+
|
|
390
|
+
<Stack direction="horizontal" justify="between" align="center" gap="control" wrap render={<header />}>
|
|
391
|
+
<Heading level={2}>Members</Heading>
|
|
392
|
+
<Button>Invite</Button>
|
|
393
|
+
</Stack>;
|
|
394
|
+
|
|
395
|
+
<Grid columns={{ base: 1, md: 2 }} gap="field" render={<form onSubmit={save} />}>
|
|
396
|
+
<Field>
|
|
397
|
+
<FieldLabel htmlFor="first-name">First name</FieldLabel>
|
|
398
|
+
<Input id="first-name" />
|
|
399
|
+
</Field>
|
|
400
|
+
<Field>
|
|
401
|
+
<FieldLabel htmlFor="last-name">Last name</FieldLabel>
|
|
402
|
+
<Input id="last-name" />
|
|
403
|
+
</Field>
|
|
404
|
+
<GridItem span="full">
|
|
405
|
+
<Field>
|
|
406
|
+
<FieldLabel htmlFor="notes">Notes</FieldLabel>
|
|
407
|
+
<Textarea id="notes" />
|
|
408
|
+
</Field>
|
|
409
|
+
</GridItem>
|
|
410
|
+
</Grid>;
|
|
411
|
+
|
|
412
|
+
<Stack height="min-viewport" align="center" justify="center" padding="panel" render={<main />}>
|
|
413
|
+
<Container width="sm">
|
|
414
|
+
<AuthForm onSubmit={signIn} />
|
|
415
|
+
</Container>
|
|
416
|
+
</Stack>;
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
`AppShell` navigation items take either `href` or `render`, a router link element such as `{ id: "plans", label: "Plans", render: <Link to="/plans" />, active: true }`; the router element owns its destination and client-side navigation while the item keeps its active state, `aria-current="page"`, and activation analytics. `content="scroll"` (default) places children in a padded scrolling column; `content="fill"` gives them the remaining area without padding or scrolling, for full-height screens that manage their own scroll regions.
|
|
420
|
+
|
|
421
|
+
`WeatherSummary` shows one day's forecast: a `label`, a `condition` from `clear`, `partly-cloudy`, `cloudy`, `fog`, `drizzle`, `rain`, `snow`, or `thunderstorm` with its icon, `high` and `low` temperatures in `unit` (`celsius` by default), and an optional `precipitationProbability` from 0 to 100. Values are rounded and formatted with `Intl` for `locale`; `conditionLabel` localizes the condition name. `WeatherForecast` renders several days, each with an `id`, as a list named by `label`: `variant="strip"` (default) wraps compact days side by side, and `variant="list"` shows one detailed day per row.
|
|
422
|
+
|
|
361
423
|
# Inline editing and ratings
|
|
362
424
|
|
|
363
425
|
`InlineEdit` mounts an edit session with a controlled `value`, `onValueChange`, `onCommit`, and `onCancel`. Mount it in place of the displayed label. Its input focuses and selects its text by default; `shouldSelectOnMount={false}` preserves the initial caret. Enter or blur commits once, Escape cancels without committing, and asynchronous saves disable the input until completion. Set `hasChanges={false}` to cancel an unchanged edit before calling `onCommit`; the caller owns normalization and comparison. It defaults to true, so creation sessions can commit their initial value. Rejected saves display a generic error and allow retry; `renderError` can map the unknown failure to application-authored guidance.
|
package/llms.txt
CHANGED
|
@@ -143,11 +143,11 @@ Generated from the public package exports and Storybook sources.
|
|
|
143
143
|
- [NumberRollDigit](./llms/components/assistant-ui/elements/data-visualization/NumberRollDigit.md)
|
|
144
144
|
- [NumberRollPart](./llms/components/assistant-ui/elements/data-visualization/NumberRollPart.md)
|
|
145
145
|
- [NumberTicker](./llms/components/assistant-ui/elements/data-visualization/NumberTicker.md)
|
|
146
|
-
- [RecommendationCard](./llms/components/assistant-ui/elements/data-visualization/RecommendationCard.md)
|
|
146
|
+
- [RecommendationCard](./llms/components/assistant-ui/elements/data-visualization/RecommendationCard.md): RecommendationCard presents one suggestion. Each action renders only when its handler is supplied: `onReject` (`rejectLabel`, default "Not this"), `onAlternatives` (`alternativesLabel`, default "Alternatives"), and `onAccept` (`acceptLabel`, default "Accept"). The `accepted` and `rejected` states replace the actions with `acceptedLabel` or `rejectedLabel` and keep keyboard focus on the card. Omit `confidenceLabel` to hide the confidence indicator; `fullWidth` spans the container.
|
|
147
147
|
- [ScoreBreakdown](./llms/components/assistant-ui/elements/data-visualization/ScoreBreakdown.md)
|
|
148
148
|
- [ShareMeter](./llms/components/assistant-ui/elements/data-visualization/ShareMeter.md)
|
|
149
149
|
- [SpecSheet](./llms/components/assistant-ui/elements/data-visualization/SpecSheet.md)
|
|
150
|
-
- [Timeline](./llms/components/assistant-ui/elements/data-visualization/Timeline.md)
|
|
150
|
+
- [Timeline](./llms/components/assistant-ui/elements/data-visualization/Timeline.md): Timeline renders events as an ordered list. Each event has an `id`, a `title`, and optional `time`, `detail`, `meta` (such as badges), `actions` (such as a menu button), and `connector`, an annotation for the segment to the next visible event, such as travel time. `when` marks past, now (announced as the current step), or future progress; omit it for neutral entries. `visibleCount` reveals only the leading events and defaults to all of them. `fullWidth` spans the container instead of the compact card width. The time column is omitted when no visible event has a time.
|
|
151
151
|
- [TraceWaterfall](./llms/components/assistant-ui/elements/data-visualization/TraceWaterfall.md)
|
|
152
152
|
|
|
153
153
|
## assistant-ui/elements/media-voice
|
|
@@ -339,6 +339,7 @@ Generated from the public package exports and Storybook sources.
|
|
|
339
339
|
- [DataGridSelectCell](./llms/components/data-display/DataGridSelectCell.md)
|
|
340
340
|
- [DataGridSelectHeader](./llms/components/data-display/DataGridSelectHeader.md)
|
|
341
341
|
- [DataViewer](./llms/components/data-display/DataViewer.md)
|
|
342
|
+
- [Heading](./llms/components/data-display/Heading.md): Heading renders `h1`–`h6` from the required `level` so the document outline stays correct, while `size` (sm, base, lg, xl) sets the visual size independently. Sizes default by level: 1 xl, 2 lg, 3 base, 4–6 sm. `truncate` keeps one line.
|
|
342
343
|
- [Item](./llms/components/data-display/Item.md)
|
|
343
344
|
- [JsonRender](./llms/components/data-display/JsonRender.md)
|
|
344
345
|
- [JsonViewer](./llms/components/data-display/JsonViewer.md)
|
|
@@ -348,8 +349,11 @@ Generated from the public package exports and Storybook sources.
|
|
|
348
349
|
- [StatCard](./llms/components/data-display/StatCard.md)
|
|
349
350
|
- [StatusTracker](./llms/components/data-display/StatusTracker.md)
|
|
350
351
|
- [Table](./llms/components/data-display/Table.md)
|
|
352
|
+
- [Text](./llms/components/data-display/Text.md): Text renders body copy as a paragraph with semantic `size` (xs, sm, base, lg), `tone` (default, muted, faint, primary, success, warning, destructive), `weight`, and `align`. `truncate` keeps one line with an ellipsis; otherwise long words wrap. `tabular` aligns digits. Use `render={<span />}` for inline text, or another element such as `<li />` or `<time />`.
|
|
351
353
|
- [VirtualDataGrid](./llms/components/data-display/VirtualDataGrid.md)
|
|
352
354
|
- [VirtualTable](./llms/components/data-display/VirtualTable.md)
|
|
355
|
+
- [WeatherForecast](./llms/components/data-display/WeatherForecast.md): WeatherForecast renders several WeatherSummary days as a list named by `label`. Each day takes an `id` plus the WeatherSummary day fields; `unit` and `locale` apply to every day. `variant="strip"` (default) shows compact days side by side and wraps them to the available width; `variant="list"` shows one detailed day per row.
|
|
356
|
+
- [WeatherSummary](./llms/components/data-display/WeatherSummary.md): WeatherSummary shows one day's forecast: a `label` such as a date, a `condition` from the closed set clear, partly-cloudy, cloudy, fog, drizzle, rain, snow, and thunderstorm with its icon, `high` and `low` temperatures in `unit` (celsius by default), and an optional `precipitationProbability` from 0 to 100. Numbers are rounded and formatted with Intl for `locale`. `conditionLabel` localizes the condition name. The icon is decorative; screen readers hear the condition, high, low, and precipitation chance. `variant="compact"` hides the condition name visually. Use `render` to choose the element, such as `<li />`.
|
|
353
357
|
|
|
354
358
|
## dates
|
|
355
359
|
|
|
@@ -380,6 +384,7 @@ Generated from the public package exports and Storybook sources.
|
|
|
380
384
|
- [Checkbox](./llms/components/forms/Checkbox.md)
|
|
381
385
|
- [ColorPicker](./llms/components/forms/ColorPicker.md)
|
|
382
386
|
- [Combobox](./llms/components/forms/Combobox.md)
|
|
387
|
+
- [EmailCodeAuthForm](./llms/components/forms/EmailCodeAuthForm.md): EmailCodeAuthForm is passwordless sign-in in two steps. Import it from `@alexgorbatchev/shadcn/input-otp`. The email step calls `onRequestCode(email)`; when it resolves, the code step shows an InputOTP for a numeric code of `codeLength` digits (default 6) with one-time-code autofill. Completing the code or pressing Verify calls `onVerifyCode(email, code)` once. Resend code calls `onRequestCode` again and announces the new code; Use a different email returns to the first step. Rejected promises show their message and keep the current step; buttons show pending state while a handler runs. The consumer owns sending, verifying, rate limits, and navigation after success.
|
|
383
388
|
- [EventForm](./llms/components/forms/EventForm.md)
|
|
384
389
|
- [Field](./llms/components/forms/Field.md)
|
|
385
390
|
- [FileUpload](./llms/components/forms/FileUpload.md)
|
|
@@ -391,8 +396,8 @@ Generated from the public package exports and Storybook sources.
|
|
|
391
396
|
- [InputGroup](./llms/components/forms/InputGroup.md)
|
|
392
397
|
- [InputOTP](./llms/components/forms/InputOTP.md)
|
|
393
398
|
- [Label](./llms/components/forms/Label.md)
|
|
394
|
-
- [NativeSelect](./llms/components/forms/NativeSelect.md)
|
|
395
399
|
- [NumberField](./llms/components/forms/NumberField.md)
|
|
400
|
+
- [OptionSelect](./llms/components/forms/OptionSelect.md)
|
|
396
401
|
- [Questionnaire](./llms/components/forms/Questionnaire.md)
|
|
397
402
|
- [RadioGroup](./llms/components/forms/RadioGroup.md)
|
|
398
403
|
- [RichTextEditor](./llms/components/forms/RichTextEditor.md)
|
|
@@ -413,12 +418,16 @@ Generated from the public package exports and Storybook sources.
|
|
|
413
418
|
- [BillingUsage](./llms/components/layout/BillingUsage.md)
|
|
414
419
|
- [Card](./llms/components/layout/Card.md)
|
|
415
420
|
- [Collapsible](./llms/components/layout/Collapsible.md)
|
|
421
|
+
- [Container](./llms/components/layout/Container.md): Container centers a column with a maximum width: xs 20rem, sm 24rem, md 42rem, lg 64rem (default), xl 80rem, or full. `padding` uses the density-aware spacing tokens. For a centered single-column page such as sign-in, wrap it in a `Stack` with `height="min-viewport"`, `align="center"`, and `justify="center"`, and render the page landmark with `render={<main />}`.
|
|
416
422
|
- [DashboardLayout](./llms/components/layout/DashboardLayout.md)
|
|
423
|
+
- [Grid](./llms/components/layout/Grid.md): Grid lays out equal columns without consumer classes. `columns` is 1–6 or 12, or a viewport breakpoint map such as `{ base: 1, md: 2, xl: 4 }`. `minColumnWidth` (xs 8rem, sm 12rem, md 16rem, lg 22rem) instead fits as many columns as the grid's own width allows, which suits card grids inside panes of any size. `gap` defaults to the density-aware `panel` token. GridItem `span` (1–6 or `full`, optionally per breakpoint) widens a cell; `full` always spans every column. Both accept `render` for semantic elements such as `<ul />` and `<li />`.
|
|
417
424
|
- [PageHeader](./llms/components/layout/PageHeader.md)
|
|
425
|
+
- [PageIntro](./llms/components/layout/PageIntro.md)
|
|
418
426
|
- [Resizable](./llms/components/layout/Resizable.md)
|
|
419
427
|
- [ScrollArea](./llms/components/layout/ScrollArea.md)
|
|
420
428
|
- [Separator](./llms/components/layout/Separator.md)
|
|
421
429
|
- [SplitView](./llms/components/layout/SplitView.md)
|
|
430
|
+
- [Stack](./llms/components/layout/Stack.md): Stack arranges children along one axis without consumer classes. `gap` and `padding` accept the density-aware tokens none, control, panel-sm, panel, field, and section. `direction` is vertical or horizontal, or a breakpoint map such as `{ base: "vertical", md: "horizontal" }`. `align` and `justify` position children; `wrap` lets a row wrap. `grow` takes the remaining space of a parent Stack and lets content shrink, and `height` is auto, full (the parent's height), viewport, or min-viewport. Pass `render={<section />}`, `<ul />`, `<li />`, `<form />`, or `<main />` for semantic elements; props, handlers, and refs merge.
|
|
422
431
|
|
|
423
432
|
## messaging
|
|
424
433
|
|
package/package.json
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
EmptyTitle,
|
|
9
9
|
EmptyDescription,
|
|
10
10
|
Spinner,
|
|
11
|
+
Stack,
|
|
11
12
|
} from "@alexgorbatchev/shadcn";
|
|
12
13
|
import type { Scenario } from "../types";
|
|
13
14
|
|
|
@@ -16,10 +17,10 @@ type ScenarioContentProps = { scenario: Scenario; children: ReactNode };
|
|
|
16
17
|
export function ScenarioContent({ scenario, children }: ScenarioContentProps): ReactElement {
|
|
17
18
|
if (scenario === "loading")
|
|
18
19
|
return (
|
|
19
|
-
<
|
|
20
|
+
<Stack role="status" direction="horizontal" align="center" gap="control">
|
|
20
21
|
<Spinner />
|
|
21
22
|
Loading sample data…
|
|
22
|
-
</
|
|
23
|
+
</Stack>
|
|
23
24
|
);
|
|
24
25
|
if (scenario === "error")
|
|
25
26
|
return (
|
|
@@ -5,8 +5,7 @@ import {
|
|
|
5
5
|
Field,
|
|
6
6
|
FieldGroup,
|
|
7
7
|
FieldLabel,
|
|
8
|
-
|
|
9
|
-
NativeSelectOption,
|
|
8
|
+
OptionSelect,
|
|
10
9
|
ThemeProvider,
|
|
11
10
|
} from "@alexgorbatchev/shadcn";
|
|
12
11
|
import type { PrototypeDefinition, Scenario } from "../types";
|
|
@@ -50,60 +49,71 @@ export function Workbench(): ReactElement {
|
|
|
50
49
|
<div className="grid grid-cols-2 items-end gap-4 md:grid-cols-4 xl:grid-cols-7">
|
|
51
50
|
<Field>
|
|
52
51
|
<FieldLabel htmlFor="prototype">Prototype</FieldLabel>
|
|
53
|
-
<
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
))}
|
|
59
|
-
|
|
52
|
+
<OptionSelect
|
|
53
|
+
id="prototype"
|
|
54
|
+
width="full"
|
|
55
|
+
value={selected}
|
|
56
|
+
onValueChange={setSelected}
|
|
57
|
+
options={prototypes.map((prototype) => ({ value: prototype.id, label: prototype.title }))}
|
|
58
|
+
/>
|
|
60
59
|
</Field>
|
|
61
60
|
<Field>
|
|
62
61
|
<FieldLabel htmlFor="scenario">Scenario</FieldLabel>
|
|
63
|
-
<
|
|
62
|
+
<OptionSelect
|
|
64
63
|
id="scenario"
|
|
64
|
+
width="full"
|
|
65
65
|
value={scenario}
|
|
66
|
-
|
|
67
|
-
const value = event.target.value;
|
|
66
|
+
onValueChange={(value) => {
|
|
68
67
|
if (value === "populated" || value === "empty" || value === "loading" || value === "error")
|
|
69
68
|
setScenario(value);
|
|
70
69
|
}}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
70
|
+
options={[
|
|
71
|
+
{ value: "populated", label: "Populated" },
|
|
72
|
+
{ value: "empty", label: "Empty" },
|
|
73
|
+
{ value: "loading", label: "Loading" },
|
|
74
|
+
{ value: "error", label: "Error" },
|
|
75
|
+
]}
|
|
76
|
+
/>
|
|
77
77
|
</Field>
|
|
78
78
|
<Field>
|
|
79
79
|
<FieldLabel htmlFor="theme">Theme</FieldLabel>
|
|
80
|
-
<
|
|
80
|
+
<OptionSelect
|
|
81
81
|
id="theme"
|
|
82
|
+
width="full"
|
|
82
83
|
value={theme}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
onValueChange={(value) => setTheme(value === "light" ? "light" : "dark")}
|
|
85
|
+
options={[
|
|
86
|
+
{ value: "dark", label: "Dark" },
|
|
87
|
+
{ value: "light", label: "Light" },
|
|
88
|
+
]}
|
|
89
|
+
/>
|
|
88
90
|
</Field>
|
|
89
91
|
<Field>
|
|
90
92
|
<FieldLabel htmlFor="density">Density</FieldLabel>
|
|
91
|
-
<
|
|
93
|
+
<OptionSelect
|
|
92
94
|
id="density"
|
|
95
|
+
width="full"
|
|
93
96
|
value={density}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
onValueChange={(value) => setDensity(value === "compact" ? "compact" : "comfortable")}
|
|
98
|
+
options={[
|
|
99
|
+
{ value: "comfortable", label: "Comfortable" },
|
|
100
|
+
{ value: "compact", label: "Compact" },
|
|
101
|
+
]}
|
|
102
|
+
/>
|
|
99
103
|
</Field>
|
|
100
104
|
<Field>
|
|
101
105
|
<FieldLabel htmlFor="viewport">Viewport</FieldLabel>
|
|
102
|
-
<
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
106
|
+
<OptionSelect
|
|
107
|
+
id="viewport"
|
|
108
|
+
width="full"
|
|
109
|
+
value={viewport}
|
|
110
|
+
onValueChange={setViewport}
|
|
111
|
+
options={[
|
|
112
|
+
{ value: "responsive", label: "Responsive" },
|
|
113
|
+
{ value: "390", label: "Mobile · 390px" },
|
|
114
|
+
{ value: "1280", label: "Desktop · 1280px" },
|
|
115
|
+
]}
|
|
116
|
+
/>
|
|
107
117
|
</Field>
|
|
108
118
|
<Button onClick={() => setRevision((value) => value + 1)}>Reset data</Button>
|
|
109
119
|
<a className="text-sm underline" href={`?${canvasParameters}`} target="_blank" rel="noreferrer">
|
|
@@ -10,8 +10,8 @@ import {
|
|
|
10
10
|
Field,
|
|
11
11
|
FieldGroup,
|
|
12
12
|
FieldLabel,
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
Grid,
|
|
14
|
+
OptionSelect,
|
|
15
15
|
PageHeader,
|
|
16
16
|
StatCard,
|
|
17
17
|
Table,
|
|
@@ -35,17 +35,19 @@ export function Dashboard({ scenario }: PrototypeProps): ReactElement {
|
|
|
35
35
|
<FieldGroup>
|
|
36
36
|
<Field>
|
|
37
37
|
<FieldLabel htmlFor="team">Team</FieldLabel>
|
|
38
|
-
<
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
<OptionSelect
|
|
39
|
+
id="team"
|
|
40
|
+
width="full"
|
|
41
|
+
value={team}
|
|
42
|
+
onValueChange={setTeam}
|
|
43
|
+
options={["All teams", "Product", "Engineering"].map((value) => ({ value, label: value }))}
|
|
44
|
+
/>
|
|
43
45
|
</Field>
|
|
44
46
|
</FieldGroup>
|
|
45
|
-
<
|
|
47
|
+
<Grid columns={{ base: 1, sm: 2 }} gap="panel">
|
|
46
48
|
<StatCard label="Active projects" value={visible.length} />
|
|
47
49
|
<StatCard label="Ready for review" value={visible.filter((delivery) => delivery.status === "Ready").length} />
|
|
48
|
-
</
|
|
50
|
+
</Grid>
|
|
49
51
|
<Card>
|
|
50
52
|
<CardHeader>
|
|
51
53
|
<CardTitle>Delivery queue</CardTitle>
|
package/dist/chunk-4710gn6d.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
useAnalyticsCallback
|
|
3
|
-
} from "./chunk-5mydsjp3.js";
|
|
4
|
-
|
|
5
|
-
// src/components/analytics/AnalyticsLink.tsx
|
|
6
|
-
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
function AnalyticsLink({ component, analytics, ...props }) {
|
|
8
|
-
const onClick = useAnalyticsCallback(component, analytics, { name: "ui.activate" }, props.onClick);
|
|
9
|
-
return /* @__PURE__ */ jsx("a", {
|
|
10
|
-
...props,
|
|
11
|
-
onClick
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { AnalyticsLink };
|
package/dist/chunk-dg14mg3y.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
cn2
|
|
3
|
-
} from "./chunk-cp2m7y7v.js";
|
|
4
|
-
import {
|
|
5
|
-
take
|
|
6
|
-
} from "./chunk-v8ks0cfq.js";
|
|
7
|
-
import {
|
|
8
|
-
paper,
|
|
9
|
-
mono
|
|
10
|
-
} from "./chunk-fgmcbtyt.js";
|
|
11
|
-
|
|
12
|
-
// src/components/assistant-ui/elements/Timeline.tsx
|
|
13
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
-
function Timeline2({ events, visibleCount, className, ...props }) {
|
|
15
|
-
return /* @__PURE__ */ jsx("div", {
|
|
16
|
-
"data-testid": "Timeline",
|
|
17
|
-
"data-slot": "timeline",
|
|
18
|
-
className: cn2(cn2(paper, "flex w-full max-w-sm flex-col rounded-md p-4"), className),
|
|
19
|
-
...props,
|
|
20
|
-
children: take(events, visibleCount).map((event, i, shown) => /* @__PURE__ */ jsxs("div", {
|
|
21
|
-
className: "fade-in slide-in-from-left-1 animate-in fill-mode-both grid grid-cols-[3.5rem_1rem_minmax(0,1fr)] gap-x-2 duration-300",
|
|
22
|
-
children: [
|
|
23
|
-
/* @__PURE__ */ jsx("span", {
|
|
24
|
-
className: cn2(mono, "text-muted-foreground pt-[3px] text-end tabular-nums"),
|
|
25
|
-
children: event.time
|
|
26
|
-
}),
|
|
27
|
-
/* @__PURE__ */ jsxs("span", {
|
|
28
|
-
className: "flex flex-col items-center",
|
|
29
|
-
children: [
|
|
30
|
-
/* @__PURE__ */ jsx("span", {
|
|
31
|
-
className: cn2("mt-1 size-2 shrink-0 rounded-full", event.when === "now" && "bg-primary ring-4 ring-primary/15 bg-primary forced-colors:bg-[Highlight]", event.when === "past" && "bg-muted-foreground forced-colors:bg-[CanvasText]", event.when === "future" && "border-muted-foreground border bg-transparent")
|
|
32
|
-
}),
|
|
33
|
-
i < shown.length - 1 && /* @__PURE__ */ jsx("span", {
|
|
34
|
-
className: cn2("w-px flex-1", event.when === "future" ? "bg-foreground/[0.08]" : "bg-foreground/15")
|
|
35
|
-
})
|
|
36
|
-
]
|
|
37
|
-
}),
|
|
38
|
-
/* @__PURE__ */ jsxs("div", {
|
|
39
|
-
className: cn2("flex flex-col gap-0.5", i < shown.length - 1 && "pb-3"),
|
|
40
|
-
children: [
|
|
41
|
-
/* @__PURE__ */ jsx("span", {
|
|
42
|
-
className: cn2("text-base break-words", event.when === "future" ? "text-muted-foreground" : "text-foreground", event.when === "now" && "font-medium"),
|
|
43
|
-
children: event.title
|
|
44
|
-
}),
|
|
45
|
-
event.detail && /* @__PURE__ */ jsx("span", {
|
|
46
|
-
className: "text-muted-foreground text-sm leading-relaxed break-words",
|
|
47
|
-
children: event.detail
|
|
48
|
-
})
|
|
49
|
-
]
|
|
50
|
-
})
|
|
51
|
-
]
|
|
52
|
-
}, event.id))
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export { Timeline2 };
|
package/dist/chunk-r4jzz4f2.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
cn2
|
|
3
|
-
} from "./chunk-cp2m7y7v.js";
|
|
4
|
-
import {
|
|
5
|
-
useAnalyticsCallback
|
|
6
|
-
} from "./chunk-5mydsjp3.js";
|
|
7
|
-
|
|
8
|
-
// src/components/NativeSelect.tsx
|
|
9
|
-
import { ChevronDownIcon } from "lucide-react";
|
|
10
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
-
function NativeSelect2({
|
|
12
|
-
analytics,
|
|
13
|
-
density,
|
|
14
|
-
className,
|
|
15
|
-
dir,
|
|
16
|
-
size = "default",
|
|
17
|
-
...props
|
|
18
|
-
}) {
|
|
19
|
-
const trackedOnChange = useAnalyticsCallback("NativeSelect", analytics, { name: "ui.change-request" }, props.onChange);
|
|
20
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
21
|
-
dir,
|
|
22
|
-
className: cn2("group/native-select relative w-fit has-[select:disabled]:opacity-50", className),
|
|
23
|
-
"data-density": density,
|
|
24
|
-
"data-slot": "native-select-wrapper",
|
|
25
|
-
"data-size": size,
|
|
26
|
-
children: [
|
|
27
|
-
/* @__PURE__ */ jsx("select", {
|
|
28
|
-
dir,
|
|
29
|
-
"data-slot": "native-select",
|
|
30
|
-
"data-size": size,
|
|
31
|
-
className: "h-control w-full min-w-0 appearance-none rounded-sm border border-input bg-secondary py-0 pe-8 ps-2.5 text-sm transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive data-[size=sm]:h-control-sm data-[size=sm]:rounded-sm",
|
|
32
|
-
...props,
|
|
33
|
-
onChange: trackedOnChange
|
|
34
|
-
}),
|
|
35
|
-
/* @__PURE__ */ jsx(ChevronDownIcon, {
|
|
36
|
-
className: "pointer-events-none absolute top-1/2 end-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none",
|
|
37
|
-
"aria-hidden": "true",
|
|
38
|
-
"data-slot": "native-select-icon"
|
|
39
|
-
})
|
|
40
|
-
]
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
function NativeSelectOption2({ density, className, ...props }) {
|
|
44
|
-
return /* @__PURE__ */ jsx("option", {
|
|
45
|
-
"data-density": density,
|
|
46
|
-
"data-slot": "native-select-option",
|
|
47
|
-
className: cn2("bg-[Canvas] text-[CanvasText]", className),
|
|
48
|
-
...props
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
function NativeSelectOptGroup2({ density, className, ...props }) {
|
|
52
|
-
return /* @__PURE__ */ jsx("optgroup", {
|
|
53
|
-
"data-density": density,
|
|
54
|
-
"data-slot": "native-select-optgroup",
|
|
55
|
-
className: cn2("bg-[Canvas] text-[CanvasText]", className),
|
|
56
|
-
...props
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export { NativeSelect2, NativeSelectOption2, NativeSelectOptGroup2 };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { IAnalyticsProps } from "../analytics/types.js";
|
|
2
|
-
import type { IDensityProps } from "../density/types.js";
|
|
3
|
-
import type { ComponentProps, ReactElement } from "react";
|
|
4
|
-
type NativeSelectProps = Omit<ComponentProps<"select">, "size"> & {
|
|
5
|
-
size?: "sm" | "default";
|
|
6
|
-
};
|
|
7
|
-
declare function NativeSelect({ analytics, density, className, dir, size, ...props }: NativeSelectProps & IDensityProps & IAnalyticsProps): ReactElement;
|
|
8
|
-
type NativeSelectOptionProps = ComponentProps<"option"> & IDensityProps;
|
|
9
|
-
declare function NativeSelectOption({ density, className, ...props }: NativeSelectOptionProps): ReactElement;
|
|
10
|
-
type NativeSelectOptGroupProps = ComponentProps<"optgroup"> & IDensityProps;
|
|
11
|
-
declare function NativeSelectOptGroup({ density, className, ...props }: NativeSelectOptGroupProps): ReactElement;
|
|
12
|
-
export { NativeSelect, NativeSelectOptGroup, NativeSelectOption };
|