@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
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# RecommendationCard
|
|
2
2
|
|
|
3
|
+
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.
|
|
4
|
+
|
|
3
5
|
Story: @alexgorbatchev/shadcn/components/assistant-ui/elements/data-visualization/RecommendationCard
|
|
4
6
|
Source: src/components/stories/assistant-ui/elements/data-visualization/RecommendationCard.stories.tsx
|
|
5
7
|
|
|
@@ -43,6 +45,37 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
|
|
|
43
45
|
}
|
|
44
46
|
```
|
|
45
47
|
|
|
48
|
+
### CustomActions
|
|
49
|
+
|
|
50
|
+
```tsx
|
|
51
|
+
{
|
|
52
|
+
args: {
|
|
53
|
+
...Default.args,
|
|
54
|
+
question: "Harbor noodle bar",
|
|
55
|
+
children: "Open now, 8 minutes away on foot.",
|
|
56
|
+
confidenceLabel: undefined,
|
|
57
|
+
acceptLabel: "Go",
|
|
58
|
+
alternativesLabel: "More like this",
|
|
59
|
+
rejectLabel: "Not this",
|
|
60
|
+
onReject: fn(),
|
|
61
|
+
fullWidth: true,
|
|
62
|
+
},
|
|
63
|
+
decorators: [
|
|
64
|
+
(Story) => (<div className="w-[560px]">
|
|
65
|
+
<Story />
|
|
66
|
+
</div>),
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### WithoutActions
|
|
72
|
+
|
|
73
|
+
```tsx
|
|
74
|
+
{
|
|
75
|
+
args: { ...Default.args, onAccept: undefined, onAlternatives: undefined }
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
46
79
|
### Accepted
|
|
47
80
|
|
|
48
81
|
```tsx
|
|
@@ -51,6 +84,14 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
|
|
|
51
84
|
}
|
|
52
85
|
```
|
|
53
86
|
|
|
87
|
+
### Rejected
|
|
88
|
+
|
|
89
|
+
```tsx
|
|
90
|
+
{
|
|
91
|
+
args: { ...CustomActions.args, state: "rejected", rejectedLabel: "Won't suggest this again" }
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
54
95
|
### LightTheme
|
|
55
96
|
|
|
56
97
|
```tsx
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Timeline
|
|
2
2
|
|
|
3
|
+
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.
|
|
4
|
+
|
|
3
5
|
Story: @alexgorbatchev/shadcn/components/assistant-ui/elements/data-visualization/Timeline
|
|
4
6
|
Source: src/components/stories/assistant-ui/elements/data-visualization/Timeline.stories.tsx
|
|
5
7
|
|
|
@@ -8,6 +10,7 @@ Source: src/components/stories/assistant-ui/elements/data-visualization/Timeline
|
|
|
8
10
|
## Public imports
|
|
9
11
|
|
|
10
12
|
```tsx
|
|
13
|
+
import { Badge, Button } from "@alexgorbatchev/shadcn";
|
|
11
14
|
import { Timeline } from "@alexgorbatchev/shadcn/assistant-ui";
|
|
12
15
|
```
|
|
13
16
|
|
|
@@ -35,12 +38,83 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
|
|
|
35
38
|
events: [
|
|
36
39
|
{ id: "one", when: "past", time: "09:00", title: "Analysis started" },
|
|
37
40
|
{ id: "two", when: "now", time: "09:01", title: "Reviewing results", detail: "Three files changed" },
|
|
41
|
+
{ id: "three", when: "future", time: "09:05", title: "Publish report" },
|
|
38
42
|
],
|
|
39
43
|
visibleCount: 2,
|
|
40
44
|
}
|
|
41
45
|
}
|
|
42
46
|
```
|
|
43
47
|
|
|
48
|
+
### AllEventsByDefault
|
|
49
|
+
|
|
50
|
+
```tsx
|
|
51
|
+
{
|
|
52
|
+
args: { ...Default.args, visibleCount: undefined }
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Itinerary
|
|
57
|
+
|
|
58
|
+
```tsx
|
|
59
|
+
{
|
|
60
|
+
args: {
|
|
61
|
+
fullWidth: true,
|
|
62
|
+
"aria-label": "Itinerary",
|
|
63
|
+
events: [
|
|
64
|
+
{
|
|
65
|
+
id: "coffee",
|
|
66
|
+
time: "10:00",
|
|
67
|
+
title: "Coffee at the corner café",
|
|
68
|
+
detail: "45 min · about $12",
|
|
69
|
+
meta: <Badge variant="secondary">Locked</Badge>,
|
|
70
|
+
actions: (<Button variant="ghost" size="sm" onClick={() => removeStop("coffee")}>
|
|
71
|
+
Remove
|
|
72
|
+
</Button>),
|
|
73
|
+
connector: "12 min walk · 0.8 km",
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: "museum",
|
|
77
|
+
time: "11:00",
|
|
78
|
+
title: "Modern art museum",
|
|
79
|
+
detail: "2 h",
|
|
80
|
+
connector: "Unused after the last event",
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
decorators: [
|
|
85
|
+
(Story) => (<div className="w-[600px]">
|
|
86
|
+
<Story />
|
|
87
|
+
</div>),
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### AlignedTimes
|
|
93
|
+
|
|
94
|
+
```tsx
|
|
95
|
+
{
|
|
96
|
+
args: {
|
|
97
|
+
events: [
|
|
98
|
+
{ id: "early", time: "9:00 AM", title: "Breakfast" },
|
|
99
|
+
{ id: "late", time: "10:30 PM", title: "Late show" },
|
|
100
|
+
],
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### WithoutTimes
|
|
106
|
+
|
|
107
|
+
```tsx
|
|
108
|
+
{
|
|
109
|
+
args: {
|
|
110
|
+
events: [
|
|
111
|
+
{ id: "idea", title: "Picnic in the park" },
|
|
112
|
+
{ id: "other", title: "Board game café" },
|
|
113
|
+
],
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
44
118
|
### LightTheme
|
|
45
119
|
|
|
46
120
|
```tsx
|
|
@@ -49,6 +123,7 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
|
|
|
49
123
|
events: [
|
|
50
124
|
{ id: "one", when: "past", time: "09:00", title: "Analysis started" },
|
|
51
125
|
{ id: "two", when: "now", time: "09:01", title: "Reviewing results", detail: "Three files changed" },
|
|
126
|
+
{ id: "three", when: "future", time: "09:05", title: "Publish report" },
|
|
52
127
|
],
|
|
53
128
|
visibleCount: 2,
|
|
54
129
|
},
|
|
@@ -64,6 +139,7 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
|
|
|
64
139
|
events: [
|
|
65
140
|
{ id: "one", when: "past", time: "09:00", title: "Analysis started" },
|
|
66
141
|
{ id: "two", when: "now", time: "09:01", title: "Reviewing results", detail: "Three files changed" },
|
|
142
|
+
{ id: "three", when: "future", time: "09:05", title: "Publish report" },
|
|
67
143
|
],
|
|
68
144
|
visibleCount: 2,
|
|
69
145
|
},
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Heading
|
|
2
|
+
|
|
3
|
+
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.
|
|
4
|
+
|
|
5
|
+
Story: @alexgorbatchev/shadcn/components/data-display/Heading
|
|
6
|
+
Source: src/components/stories/data-display/Heading.stories.tsx
|
|
7
|
+
|
|
8
|
+
[Full source and local helpers](https://github.com/alexgorbatchev/shadcn/blob/main/src/components/stories/data-display/Heading.stories.tsx)
|
|
9
|
+
|
|
10
|
+
## Public imports
|
|
11
|
+
|
|
12
|
+
```tsx
|
|
13
|
+
import { Heading } from "@alexgorbatchev/shadcn";
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Default component
|
|
17
|
+
|
|
18
|
+
```tsx
|
|
19
|
+
Heading
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Story controls
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
{
|
|
26
|
+
level: { control: "select", options: [1, 2, 3, 4, 5, 6] },
|
|
27
|
+
size: { control: "select", options: ["sm", "base", "lg", "xl"] },
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Default args
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
{ level: 2, children: "Upcoming" }
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Examples
|
|
38
|
+
|
|
39
|
+
Storybook CSF excerpts. Default args and render apply unless overridden. Local helpers, fixtures, decorators, and providers may be required; these are reference excerpts, not standalone consumer modules. Interaction tests are omitted.
|
|
40
|
+
|
|
41
|
+
### Levels
|
|
42
|
+
|
|
43
|
+
```tsx
|
|
44
|
+
{
|
|
45
|
+
render: () => (<>
|
|
46
|
+
<Heading level={1}>Page</Heading>
|
|
47
|
+
<Heading level={2}>Section</Heading>
|
|
48
|
+
<Heading level={3}>Group</Heading>
|
|
49
|
+
<Heading level={4}>Detail</Heading>
|
|
50
|
+
</>)
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### SizeIndependentOfLevel
|
|
55
|
+
|
|
56
|
+
```tsx
|
|
57
|
+
{
|
|
58
|
+
render: () => (<>
|
|
59
|
+
<Heading level={1}>Default page</Heading>
|
|
60
|
+
<Heading level={3} size="xl">
|
|
61
|
+
Large group
|
|
62
|
+
</Heading>
|
|
63
|
+
</>)
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Truncated
|
|
68
|
+
|
|
69
|
+
```tsx
|
|
70
|
+
{
|
|
71
|
+
args: { truncate: true, children: "A heading far too long to fit within the narrow column" },
|
|
72
|
+
decorators: [
|
|
73
|
+
(Story) => (<div className="w-40">
|
|
74
|
+
<Story />
|
|
75
|
+
</div>),
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
```
|
|
@@ -8,7 +8,7 @@ Source: src/components/stories/data-display/Table.stories.tsx
|
|
|
8
8
|
## Public imports
|
|
9
9
|
|
|
10
10
|
```tsx
|
|
11
|
-
import { Dialog, DialogContent, DialogTitle, DialogDescription, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, Table, TableBody, TableCaption, TableCell, TableColumn, TableColumnGroup, TableFooter, TableHead, TableHeader, TableRow, Button, DirectionProvider, Checkbox, Input, Field, FieldGroup, FieldLabel,
|
|
11
|
+
import { Dialog, DialogContent, DialogTitle, DialogDescription, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, Table, TableBody, TableCaption, TableCell, TableColumn, TableColumnGroup, TableFooter, TableHead, TableHeader, TableRow, Button, DirectionProvider, Checkbox, Input, Field, FieldGroup, FieldLabel, OptionSelect } from "@alexgorbatchev/shadcn";
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## Supporting imports
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Text
|
|
2
|
+
|
|
3
|
+
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 />`.
|
|
4
|
+
|
|
5
|
+
Story: @alexgorbatchev/shadcn/components/data-display/Text
|
|
6
|
+
Source: src/components/stories/data-display/Text.stories.tsx
|
|
7
|
+
|
|
8
|
+
[Full source and local helpers](https://github.com/alexgorbatchev/shadcn/blob/main/src/components/stories/data-display/Text.stories.tsx)
|
|
9
|
+
|
|
10
|
+
## Public imports
|
|
11
|
+
|
|
12
|
+
```tsx
|
|
13
|
+
import { Text } from "@alexgorbatchev/shadcn";
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Default component
|
|
17
|
+
|
|
18
|
+
```tsx
|
|
19
|
+
Text
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Story controls
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
{
|
|
26
|
+
size: { control: "select", options: ["xs", "sm", "base", "lg"] },
|
|
27
|
+
tone: { control: "select", options: ["default", "muted", "faint", "primary", "success", "warning", "destructive"] },
|
|
28
|
+
weight: { control: "select", options: ["normal", "medium", "semibold"] },
|
|
29
|
+
align: { control: "select", options: ["start", "center", "end"] },
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Default args
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
{ children: "Members can continue any shared plan." }
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Examples
|
|
40
|
+
|
|
41
|
+
Storybook CSF excerpts. Default args and render apply unless overridden. Local helpers, fixtures, decorators, and providers may be required; these are reference excerpts, not standalone consumer modules. Interaction tests are omitted.
|
|
42
|
+
|
|
43
|
+
### Paragraph
|
|
44
|
+
|
|
45
|
+
```tsx
|
|
46
|
+
{}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### MutedSmall
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
{
|
|
53
|
+
args: { tone: "muted", size: "sm" },
|
|
54
|
+
render: (args) => (<>
|
|
55
|
+
<Text>Reference</Text>
|
|
56
|
+
<Text {...args}/>
|
|
57
|
+
</>)
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### InlineSpan
|
|
62
|
+
|
|
63
|
+
```tsx
|
|
64
|
+
{
|
|
65
|
+
args: { weight: "semibold", children: "Saved" },
|
|
66
|
+
render: (args) => <Text {...args} render={<span />}/>
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Truncated
|
|
71
|
+
|
|
72
|
+
```tsx
|
|
73
|
+
{
|
|
74
|
+
args: { truncate: true, children: "A remarkably long venue description that cannot fit in the narrow column" },
|
|
75
|
+
decorators: [
|
|
76
|
+
(Story) => (<div className="w-40">
|
|
77
|
+
<Story />
|
|
78
|
+
</div>),
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### WrappingLongWords
|
|
84
|
+
|
|
85
|
+
```tsx
|
|
86
|
+
{
|
|
87
|
+
args: { children: "https://example.com/a/very/long/path/that/has/no/spaces/at/all" },
|
|
88
|
+
decorators: [
|
|
89
|
+
(Story) => (<div className="w-40">
|
|
90
|
+
<Story />
|
|
91
|
+
</div>),
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
```
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# WeatherForecast
|
|
2
|
+
|
|
3
|
+
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.
|
|
4
|
+
|
|
5
|
+
Story: @alexgorbatchev/shadcn/components/data-display/WeatherForecast
|
|
6
|
+
Source: src/components/stories/data-display/WeatherForecast.stories.tsx
|
|
7
|
+
|
|
8
|
+
[Full source and local helpers](https://github.com/alexgorbatchev/shadcn/blob/main/src/components/stories/data-display/WeatherForecast.stories.tsx)
|
|
9
|
+
|
|
10
|
+
## Public imports
|
|
11
|
+
|
|
12
|
+
```tsx
|
|
13
|
+
import { WeatherForecast } from "@alexgorbatchev/shadcn";
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Default component
|
|
17
|
+
|
|
18
|
+
```tsx
|
|
19
|
+
WeatherForecast
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Story controls
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
{ variant: { control: "inline-radio", options: ["strip", "list"] } }
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Default args
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
{
|
|
32
|
+
label: "Three-day forecast",
|
|
33
|
+
locale: "en-US",
|
|
34
|
+
days: [
|
|
35
|
+
{ id: "fri", label: "Fri", condition: "clear", high: 21, low: 11, precipitationProbability: 0 },
|
|
36
|
+
{ id: "sat", label: "Sat", condition: "drizzle", high: 17, low: 10, precipitationProbability: 45 },
|
|
37
|
+
{ id: "sun", label: "Sun", condition: "snow", high: 2, low: -4, precipitationProbability: 80 },
|
|
38
|
+
],
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Examples
|
|
43
|
+
|
|
44
|
+
Storybook CSF excerpts. Default args and render apply unless overridden. Local helpers, fixtures, decorators, and providers may be required; these are reference excerpts, not standalone consumer modules. Interaction tests are omitted.
|
|
45
|
+
|
|
46
|
+
### Strip
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
{
|
|
50
|
+
decorators: [
|
|
51
|
+
(Story) => (<div className="w-96">
|
|
52
|
+
<Story />
|
|
53
|
+
</div>),
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### List
|
|
59
|
+
|
|
60
|
+
```tsx
|
|
61
|
+
{
|
|
62
|
+
args: { variant: "list", unit: "fahrenheit" }
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### NarrowStripWraps
|
|
67
|
+
|
|
68
|
+
```tsx
|
|
69
|
+
{
|
|
70
|
+
decorators: [
|
|
71
|
+
(Story) => (<div className="w-52">
|
|
72
|
+
<Story />
|
|
73
|
+
</div>),
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
```
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# WeatherSummary
|
|
2
|
+
|
|
3
|
+
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 />`.
|
|
4
|
+
|
|
5
|
+
Story: @alexgorbatchev/shadcn/components/data-display/WeatherSummary
|
|
6
|
+
Source: src/components/stories/data-display/WeatherSummary.stories.tsx
|
|
7
|
+
|
|
8
|
+
[Full source and local helpers](https://github.com/alexgorbatchev/shadcn/blob/main/src/components/stories/data-display/WeatherSummary.stories.tsx)
|
|
9
|
+
|
|
10
|
+
## Public imports
|
|
11
|
+
|
|
12
|
+
```tsx
|
|
13
|
+
import { WeatherSummary } from "@alexgorbatchev/shadcn";
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Default component
|
|
17
|
+
|
|
18
|
+
```tsx
|
|
19
|
+
WeatherSummary
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Story controls
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
{
|
|
26
|
+
condition: { control: "select", options: CONDITIONS },
|
|
27
|
+
unit: { control: "inline-radio", options: ["celsius", "fahrenheit"] },
|
|
28
|
+
variant: { control: "inline-radio", options: ["default", "compact"] },
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Default args
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
{
|
|
36
|
+
label: "Sat, Nov 1",
|
|
37
|
+
condition: "partly-cloudy",
|
|
38
|
+
high: 18.4,
|
|
39
|
+
low: 9.2,
|
|
40
|
+
precipitationProbability: 30,
|
|
41
|
+
locale: "en-US",
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Examples
|
|
46
|
+
|
|
47
|
+
Storybook CSF excerpts. Default args and render apply unless overridden. Local helpers, fixtures, decorators, and providers may be required; these are reference excerpts, not standalone consumer modules. Interaction tests are omitted.
|
|
48
|
+
|
|
49
|
+
### Default
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
{}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Compact
|
|
56
|
+
|
|
57
|
+
```tsx
|
|
58
|
+
{
|
|
59
|
+
args: { variant: "compact" }
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### FahrenheitLocalized
|
|
64
|
+
|
|
65
|
+
```tsx
|
|
66
|
+
{
|
|
67
|
+
args: {
|
|
68
|
+
unit: "fahrenheit",
|
|
69
|
+
locale: "de-DE",
|
|
70
|
+
high: 64.6,
|
|
71
|
+
low: 48,
|
|
72
|
+
condition: "rain",
|
|
73
|
+
conditionLabel: "Regen",
|
|
74
|
+
precipitationProbability: 85,
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### WithoutPrecipitation
|
|
80
|
+
|
|
81
|
+
```tsx
|
|
82
|
+
{
|
|
83
|
+
args: { precipitationProbability: undefined, condition: "clear" }
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### ProbabilityClamped
|
|
88
|
+
|
|
89
|
+
```tsx
|
|
90
|
+
{
|
|
91
|
+
args: { precipitationProbability: 140, condition: "thunderstorm" }
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### AllConditions
|
|
96
|
+
|
|
97
|
+
```tsx
|
|
98
|
+
{
|
|
99
|
+
render: (args) => (<>
|
|
100
|
+
{CONDITIONS.map((condition) => (<WeatherSummary key={condition} {...args} label={condition} condition={condition}/>))}
|
|
101
|
+
</>)
|
|
102
|
+
}
|
|
103
|
+
```
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# EmailCodeAuthForm
|
|
2
|
+
|
|
3
|
+
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.
|
|
4
|
+
|
|
5
|
+
Story: @alexgorbatchev/shadcn/components/forms/EmailCodeAuthForm
|
|
6
|
+
Source: src/components/stories/forms/EmailCodeAuthForm.stories.tsx
|
|
7
|
+
|
|
8
|
+
[Full source and local helpers](https://github.com/alexgorbatchev/shadcn/blob/main/src/components/stories/forms/EmailCodeAuthForm.stories.tsx)
|
|
9
|
+
|
|
10
|
+
## Public imports
|
|
11
|
+
|
|
12
|
+
```tsx
|
|
13
|
+
import { EmailCodeAuthForm } from "@alexgorbatchev/shadcn/input-otp";
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Default component
|
|
17
|
+
|
|
18
|
+
```tsx
|
|
19
|
+
EmailCodeAuthForm
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Default args
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
{ onRequestCode: fn(), onVerifyCode: fn() }
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Examples
|
|
29
|
+
|
|
30
|
+
Storybook CSF excerpts. Default args and render apply unless overridden. Local helpers, fixtures, decorators, and providers may be required; these are reference excerpts, not standalone consumer modules. Interaction tests are omitted.
|
|
31
|
+
|
|
32
|
+
### RequestAndVerify
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
{}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### FourDigitCode
|
|
39
|
+
|
|
40
|
+
```tsx
|
|
41
|
+
{
|
|
42
|
+
args: { codeLength: 4, defaultEmail: "member@example.com" }
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### RequestFailure
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
{
|
|
50
|
+
args: { onRequestCode: fn(() => Promise.reject(new Error("This email cannot sign in."))) }
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### VerifyFailure
|
|
55
|
+
|
|
56
|
+
```tsx
|
|
57
|
+
{
|
|
58
|
+
args: { onVerifyCode: fn(() => Promise.reject("rejected")) }
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Resend
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
{}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### ChangeEmail
|
|
69
|
+
|
|
70
|
+
```tsx
|
|
71
|
+
{}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Pending
|
|
75
|
+
|
|
76
|
+
```tsx
|
|
77
|
+
{
|
|
78
|
+
args: { onVerifyCode: fn(() => pendingVerification.promise) }
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Disabled
|
|
83
|
+
|
|
84
|
+
```tsx
|
|
85
|
+
{
|
|
86
|
+
args: {
|
|
87
|
+
disabled: true,
|
|
88
|
+
title: "Join the workspace",
|
|
89
|
+
description: "Use the address your invitation was sent to.",
|
|
90
|
+
footer: <a href="#help">Need help?</a>,
|
|
91
|
+
alternativeActions: <a href="#provider">Continue with provider</a>,
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
```
|