@alexgorbatchev/shadcn 0.0.41 → 0.0.43
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 +47 -25
- package/dist/analytics/AnalyticsContext.d.ts +2 -0
- package/dist/analytics/analyticsSource.d.ts +4 -0
- package/dist/analytics/types.d.ts +55 -0
- package/dist/{chunk-2agnzxa0.js → chunk-05shyxqp.js} +1 -1
- package/dist/{chunk-59p19t57.js → chunk-0fmrwsgp.js} +7 -2
- package/dist/{chunk-p45ytcc2.js → chunk-0gwqtywa.js} +3 -3
- package/dist/{chunk-60756tfb.js → chunk-0q9n4syq.js} +3 -3
- package/dist/{chunk-dwkjt1mm.js → chunk-0twprqdp.js} +13 -3
- package/dist/{chunk-rggdd436.js → chunk-0xqqs9kw.js} +1 -1
- package/dist/{chunk-cyfbg25t.js → chunk-0ybh8xre.js} +3 -3
- package/dist/{chunk-dvmxyk3q.js → chunk-10t1w38s.js} +2 -2
- package/dist/{chunk-57jj9v64.js → chunk-14mh00z3.js} +3 -3
- package/dist/{chunk-h6kcqtzf.js → chunk-1hq2k0fs.js} +6 -2
- package/dist/{chunk-saf6rz9s.js → chunk-1hy9rfvc.js} +1 -1
- package/dist/{chunk-nvegyysk.js → chunk-1q30wk9x.js} +2 -2
- package/dist/{chunk-3bzbwhda.js → chunk-1sqv5axv.js} +6 -2
- package/dist/{chunk-yxgyprns.js → chunk-1sxpyjph.js} +1 -1
- package/dist/{chunk-zdx7dtcw.js → chunk-1t959882.js} +1 -1
- package/dist/{chunk-p8gshf3k.js → chunk-1zbtg30t.js} +6 -2
- package/dist/{chunk-4djw71cv.js → chunk-21ab0jsp.js} +12 -6
- package/dist/{chunk-7gpq6kty.js → chunk-23419f5j.js} +1 -1
- package/dist/{chunk-f5hphka1.js → chunk-23jrbq6y.js} +5 -1
- package/dist/{chunk-k4aawd44.js → chunk-2krw4tjq.js} +1 -1
- package/dist/{chunk-644cnngf.js → chunk-2mn2ctsk.js} +6 -0
- package/dist/{chunk-7e3samhv.js → chunk-2mswp6h1.js} +3 -3
- package/dist/{chunk-4zaj9tsr.js → chunk-2pzvxbq3.js} +3 -3
- package/dist/chunk-38301e40.js +182 -0
- package/dist/{chunk-he0w0tx1.js → chunk-3b6ws9hk.js} +1 -1
- package/dist/{chunk-ttdeyjvj.js → chunk-3c35ysaq.js} +1 -1
- package/dist/{chunk-v0va5w5c.js → chunk-3r0q02k6.js} +720 -481
- package/dist/{chunk-fgzcp6dt.js → chunk-3t7h84te.js} +1 -1
- package/dist/{chunk-7b3n0ftm.js → chunk-3v95p5js.js} +1 -1
- package/dist/{chunk-ey6q1ra5.js → chunk-3wap1z7h.js} +6 -2
- package/dist/{chunk-d0qccfv4.js → chunk-46tg5t7g.js} +3 -3
- package/dist/chunk-4710gn6d.js +15 -0
- package/dist/{chunk-5z9y2mdj.js → chunk-474fgeht.js} +1 -1
- package/dist/{chunk-7mj8g4vx.js → chunk-48yhjpfs.js} +1 -1
- package/dist/{chunk-yazbpnav.js → chunk-4e1eq1t5.js} +2 -2
- package/dist/{chunk-pqe77cc1.js → chunk-4e879g03.js} +1 -1
- package/dist/{chunk-espw1b6e.js → chunk-4gcpx4pm.js} +1 -1
- package/dist/{chunk-s0typ7hv.js → chunk-55s7v2mw.js} +2 -2
- package/dist/{chunk-ret3m6vs.js → chunk-588wj6g4.js} +1 -1
- package/dist/{chunk-mwzhaw5v.js → chunk-5h7xxnr7.js} +1 -1
- package/dist/chunk-5mydsjp3.js +48 -0
- package/dist/{chunk-pc2d5950.js → chunk-5myr07fp.js} +1 -1
- package/dist/{chunk-f0jej3qt.js → chunk-5w279fsn.js} +6 -6
- package/dist/{chunk-zn1w5cd5.js → chunk-5zyc28sc.js} +11 -7
- package/dist/{chunk-hh43wg05.js → chunk-60p7sagm.js} +12 -6
- package/dist/{chunk-0skytwpk.js → chunk-634pk1cg.js} +2 -2
- package/dist/{chunk-vf1rsqpk.js → chunk-645dhey7.js} +1 -1
- package/dist/{chunk-na2mxcxz.js → chunk-6fp821jv.js} +2 -2
- package/dist/{chunk-dzvsjw59.js → chunk-6jw87d07.js} +33 -4
- package/dist/{chunk-58st8hnr.js → chunk-6kygf29c.js} +1 -1
- package/dist/{chunk-sb00e3gj.js → chunk-77xfccfq.js} +3 -3
- package/dist/chunk-7jpsybag.js +33 -0
- package/dist/{chunk-987zth0a.js → chunk-7mnba0d8.js} +8 -3
- package/dist/chunk-7ny0vyek.js +25 -0
- package/dist/{chunk-jkgje3ar.js → chunk-7qwp41y5.js} +1 -1
- package/dist/{chunk-rffrerg5.js → chunk-7w8yemba.js} +7 -2
- package/dist/{chunk-809fwd84.js → chunk-7zyf9nnf.js} +24 -10
- package/dist/{chunk-k138cvn8.js → chunk-83v2vma2.js} +1 -1
- package/dist/{chunk-enxt9sfx.js → chunk-84gs32n6.js} +1 -1
- package/dist/{chunk-5x7387nh.js → chunk-8bxfp671.js} +1 -1
- package/dist/{chunk-726x26pk.js → chunk-8jnfvgvk.js} +1 -1
- package/dist/{chunk-6kwf9644.js → chunk-8k18tnap.js} +1 -1
- package/dist/{chunk-3jrsp186.js → chunk-8q0xpeh4.js} +1 -1
- package/dist/{chunk-gqm1483k.js → chunk-8rtm4y46.js} +2 -2
- package/dist/chunk-8ssktt4b.js +11 -0
- package/dist/{chunk-d4bm5rzy.js → chunk-8wc2z7te.js} +37 -12
- package/dist/{chunk-b06rfrfz.js → chunk-8xnjf4ef.js} +6 -2
- package/dist/{chunk-tfqfqn8z.js → chunk-96x8wa8w.js} +1 -1
- package/dist/{chunk-3se9vgw9.js → chunk-9qcqxp3v.js} +1 -1
- package/dist/{chunk-dtkw8m6d.js → chunk-9t5h5ps3.js} +1 -1
- package/dist/{chunk-tnnf8ydf.js → chunk-9w9berq8.js} +6 -1
- package/dist/{chunk-a50gtwc9.js → chunk-a82d9z1e.js} +1 -1
- package/dist/{chunk-q5m8vz61.js → chunk-aahx2gyb.js} +1 -1
- package/dist/{chunk-3dyqen8w.js → chunk-agy4dzea.js} +1 -1
- package/dist/{chunk-n789tekk.js → chunk-axw1yqxz.js} +1 -1
- package/dist/{chunk-97kagey4.js → chunk-beywepck.js} +5 -1
- package/dist/{chunk-rkbbjjwq.js → chunk-bt7ramb0.js} +6 -2
- package/dist/{chunk-ga79snaw.js → chunk-c4m53x5s.js} +1 -1
- package/dist/{chunk-8vfh3ez0.js → chunk-c9ypcp4s.js} +32 -19
- package/dist/{chunk-ybypybsb.js → chunk-cmd9erv0.js} +6 -1
- package/dist/{chunk-r6p7982y.js → chunk-cqbd39je.js} +6 -1
- package/dist/{chunk-81y5s246.js → chunk-ct6ayjkt.js} +1 -1
- package/dist/{chunk-bt57g6ms.js → chunk-cvg5366s.js} +1 -1
- package/dist/{chunk-7p6032sv.js → chunk-cy1xv5nz.js} +10 -2
- package/dist/{chunk-6wx7cr8d.js → chunk-d444bwwf.js} +2 -2
- package/dist/{chunk-yrxjwwz3.js → chunk-dfkzm4f1.js} +218 -199
- package/dist/{chunk-x0megjk3.js → chunk-dq6se94p.js} +1 -1
- package/dist/{chunk-3zrw72sw.js → chunk-e970kv8r.js} +1 -1
- package/dist/{chunk-3x0ter92.js → chunk-e9756880.js} +1 -1
- package/dist/{chunk-0kyfh857.js → chunk-e9v481he.js} +1 -1
- package/dist/{chunk-wndqbss9.js → chunk-ekbesw9t.js} +7 -2
- package/dist/{chunk-yc9ytj9j.js → chunk-esrypw6g.js} +1 -1
- package/dist/{chunk-b43t3etd.js → chunk-ewhk1ze1.js} +1 -1
- package/dist/{chunk-kwbgqv5z.js → chunk-f08tw6hg.js} +1 -1
- package/dist/{chunk-mgdec3zt.js → chunk-f28xnx55.js} +2 -2
- package/dist/{chunk-43hfchxf.js → chunk-f63cr8mx.js} +9 -3
- package/dist/{chunk-jy50ebz0.js → chunk-f6rbv5gf.js} +8 -4
- package/dist/{chunk-78cs7n93.js → chunk-f72tygjq.js} +1 -1
- package/dist/{chunk-p9aqek06.js → chunk-f9kdk0q4.js} +5 -1
- package/dist/{chunk-ag6xpy6q.js → chunk-f9twxy4y.js} +11 -3
- package/dist/{chunk-arsjatb3.js → chunk-fky4t8cc.js} +2 -2
- package/dist/{chunk-4521sn9e.js → chunk-fkzh31y0.js} +1 -1
- package/dist/{chunk-09agnr7z.js → chunk-fpj82hex.js} +1 -1
- package/dist/{chunk-24d68cjp.js → chunk-fw86vanx.js} +8 -2
- package/dist/{chunk-gtbtfnd7.js → chunk-fxfwgr5g.js} +4 -4
- package/dist/{chunk-jf0y740b.js → chunk-fz2x6hvf.js} +1 -1
- package/dist/{chunk-1hj251b8.js → chunk-gbmvkt3q.js} +19 -7
- package/dist/{chunk-9nckfswe.js → chunk-ghz2g6j5.js} +9 -4
- package/dist/{chunk-sfmkphna.js → chunk-gtebjkkz.js} +10 -5
- package/dist/{chunk-dv8344f7.js → chunk-h3qqt3rg.js} +1 -1
- package/dist/{chunk-46jdxdzy.js → chunk-h5zhqdmb.js} +3 -3
- package/dist/{chunk-9a1hj7mc.js → chunk-hj9avapz.js} +4 -4
- package/dist/{chunk-b513tz37.js → chunk-hxg0pkj9.js} +1 -1
- package/dist/{chunk-jrzx4wre.js → chunk-j2hawnp9.js} +2 -2
- package/dist/{chunk-c2vcrwjp.js → chunk-j2n8684w.js} +6 -1
- package/dist/{chunk-ws4y7ctw.js → chunk-jadf0xqn.js} +6 -2
- package/dist/{chunk-ex1zk6ta.js → chunk-jgdpa00w.js} +10 -7
- package/dist/{chunk-yxej7z50.js → chunk-jk941nke.js} +1 -1
- package/dist/{chunk-e7wbz622.js → chunk-jwzg2twy.js} +1 -1
- package/dist/{chunk-pg9rhbgm.js → chunk-k455qwx2.js} +2 -2
- package/dist/{chunk-cgv6qm25.js → chunk-khtt3f21.js} +2 -2
- package/dist/{chunk-p6wb9jw3.js → chunk-kxx5fnpb.js} +1 -1
- package/dist/{chunk-1qsph9ej.js → chunk-kzar67tq.js} +3 -5
- package/dist/{chunk-tz8xh1nc.js → chunk-m0agthfm.js} +1 -1
- package/dist/{chunk-yf68wrse.js → chunk-m4wfy6n3.js} +2 -2
- package/dist/{chunk-21x1n6gn.js → chunk-m71d0g7v.js} +6 -6
- package/dist/{chunk-h19wjq6v.js → chunk-m7n2f6nf.js} +1 -1
- package/dist/{chunk-srv59vf3.js → chunk-m9rrhywc.js} +4 -4
- package/dist/{chunk-z7jkw7ds.js → chunk-mcdqy5gt.js} +1 -1
- package/dist/{chunk-dd4erwx8.js → chunk-mtx71g1t.js} +7 -3
- package/dist/{chunk-9vyg3854.js → chunk-mwzmmeeq.js} +5 -1
- package/dist/{chunk-w0bgsawz.js → chunk-n5ea9nv1.js} +2 -2
- package/dist/{chunk-krz4q9sz.js → chunk-ngq209hr.js} +2 -2
- package/dist/{chunk-7j9d7dtq.js → chunk-nw8zvj83.js} +1 -1
- package/dist/{chunk-52e8a05a.js → chunk-nxkbx5r2.js} +1 -1
- package/dist/{chunk-c7tnf6h7.js → chunk-p1eqxz4v.js} +28 -9
- package/dist/{chunk-9ye7w106.js → chunk-p5x18ckg.js} +1 -1
- package/dist/{chunk-ehgeg4q9.js → chunk-p6kw19sx.js} +17 -7
- package/dist/{chunk-3c7tvhtx.js → chunk-pa8yemp1.js} +1 -1
- package/dist/{chunk-zw6a73cm.js → chunk-prp1x0by.js} +1 -1
- package/dist/{chunk-8ye0k6z7.js → chunk-ptgtqv1a.js} +6 -1
- package/dist/{chunk-8k1y6w5k.js → chunk-pws4vb8r.js} +5 -1
- package/dist/{chunk-r07v9c4f.js → chunk-pzr1f2tz.js} +5 -1
- package/dist/{chunk-sat9hjv7.js → chunk-qky9999p.js} +1 -1
- package/dist/{chunk-svkzwq5e.js → chunk-qmfxytfb.js} +1 -1
- package/dist/{chunk-wnyxdfzd.js → chunk-qv3b2jvc.js} +1 -1
- package/dist/{chunk-5bw5h08v.js → chunk-r4jzz4f2.js} +7 -1
- package/dist/{chunk-cb51ybz5.js → chunk-r7mfpkbb.js} +12 -4
- package/dist/{chunk-5wndb6hx.js → chunk-ray29hdb.js} +6 -2
- package/dist/{chunk-z4jpedvh.js → chunk-rr74321a.js} +1 -1
- package/dist/{chunk-wensxzx9.js → chunk-rtb0ejf0.js} +1 -1
- package/dist/{chunk-tvd9n2kd.js → chunk-s0ecp1mv.js} +1 -1
- package/dist/{chunk-y7pkfcsz.js → chunk-s8ejm9d8.js} +1 -1
- package/dist/{chunk-v9r6t8bz.js → chunk-snq5m541.js} +6 -2
- package/dist/{chunk-4qn98ngf.js → chunk-srr328m4.js} +1 -1
- package/dist/{chunk-6p6zfyjr.js → chunk-svz0farj.js} +1 -1
- package/dist/{chunk-d3fr5vtc.js → chunk-t97ts9df.js} +1 -1
- package/dist/{chunk-79667fz5.js → chunk-tbd56x4h.js} +3 -3
- package/dist/chunk-tcefvfr8.js +15 -0
- package/dist/{chunk-0ftjkxjg.js → chunk-td7ra5d2.js} +1 -1
- package/dist/{chunk-6wvhq8wq.js → chunk-tg5grn8f.js} +2 -2
- package/dist/{chunk-hz9azhzx.js → chunk-tq0pfv5h.js} +7 -2
- package/dist/{chunk-4x3ck2yz.js → chunk-v24aqtkt.js} +1 -1
- package/dist/{chunk-sbrpnv8s.js → chunk-v8gdzaxt.js} +6 -2
- package/dist/{chunk-3mzqf6b4.js → chunk-vg2j5044.js} +1 -1
- package/dist/{chunk-map13pza.js → chunk-vhm7fpav.js} +11 -11
- package/dist/{chunk-kt085sbn.js → chunk-vm3fzfnj.js} +1 -1
- package/dist/{chunk-2bx2r98r.js → chunk-vrs3371x.js} +6 -2
- package/dist/{chunk-bqyvf9jn.js → chunk-w1jm0rx3.js} +8 -4
- package/dist/{chunk-e0pv0me5.js → chunk-w9jyajx3.js} +1 -1
- package/dist/{chunk-aexby8h3.js → chunk-w9s21aj0.js} +17 -2
- package/dist/{chunk-5v4typ39.js → chunk-wh7rmym5.js} +3 -3
- package/dist/{chunk-0mkv6zgs.js → chunk-wnhxn2se.js} +1 -1
- package/dist/{chunk-jfc7rhtt.js → chunk-wpa484a6.js} +1 -1
- package/dist/{chunk-pgq064p6.js → chunk-wq8jxf31.js} +7 -3
- package/dist/{chunk-6432235c.js → chunk-x1598f0d.js} +3 -3
- package/dist/{chunk-83zjj4jd.js → chunk-x6vx0v6d.js} +34 -7
- package/dist/{chunk-j4gd5awk.js → chunk-x6zmnr8m.js} +6 -6
- package/dist/{chunk-aa7m22zj.js → chunk-x90xmrba.js} +13 -4
- package/dist/{chunk-wjaehks2.js → chunk-xfhk2vrw.js} +6 -2
- package/dist/{chunk-5a2xnjyw.js → chunk-xgp1eyhr.js} +12 -4
- package/dist/{chunk-pwqw7ksj.js → chunk-xq579zwh.js} +1 -1
- package/dist/{chunk-ge5t1xhw.js → chunk-xvmv0xm5.js} +1 -1
- package/dist/{chunk-96wh7ccv.js → chunk-xwf411kf.js} +6 -2
- package/dist/{chunk-9jct7hv0.js → chunk-y7tyyzfy.js} +3 -3
- package/dist/{chunk-wqc963k8.js → chunk-ybyx7vt4.js} +2 -2
- package/dist/{chunk-rbm24fhv.js → chunk-z8n03ra5.js} +2 -2
- package/dist/{chunk-wmyj3hfw.js → chunk-zksbrzf6.js} +1 -1
- package/dist/{chunk-bsff5mmk.js → chunk-zp3wrbve.js} +1 -1
- package/dist/components/Accordion.d.ts +3 -2
- package/dist/components/AlertDialog.d.ts +3 -3
- package/dist/components/Attachment.d.ts +4 -3
- package/dist/components/Badge.d.ts +1 -1
- package/dist/components/Breadcrumb.d.ts +3 -2
- package/dist/components/Button.d.ts +8 -4
- package/dist/components/ButtonLink.d.ts +3 -2
- package/dist/components/Checkbox.d.ts +3 -2
- package/dist/components/Collapsible.d.ts +2 -1
- package/dist/components/Combobox.d.ts +2 -1
- package/dist/components/ContextMenu.d.ts +6 -5
- package/dist/components/DataViewer.d.ts +16 -0
- package/dist/components/Dialog.d.ts +2 -1
- package/dist/components/Drawer.d.ts +2 -1
- package/dist/components/DropTarget.d.ts +1 -1
- package/dist/components/DropdownMenu.d.ts +6 -5
- package/dist/components/HoverCard.d.ts +2 -1
- package/dist/components/ImagePicker.d.ts +3 -2
- package/dist/components/InlineEdit.d.ts +3 -2
- package/dist/components/Input.d.ts +3 -2
- package/dist/components/InputGroup.d.ts +2 -1
- package/dist/components/Item.d.ts +1 -1
- package/dist/components/Menubar.d.ts +4 -3
- package/dist/components/NativeSelect.d.ts +2 -1
- package/dist/components/NavigationMenu.d.ts +4 -3
- package/dist/components/NumberField.d.ts +2 -1
- package/dist/components/Pagination.d.ts +2 -1
- package/dist/components/Popover.d.ts +2 -1
- package/dist/components/RadioGroup.d.ts +3 -2
- package/dist/components/Select.d.ts +2 -1
- package/dist/components/Sheet.d.ts +2 -1
- package/dist/components/Sidebar.d.ts +8 -7
- package/dist/components/Slider.d.ts +2 -1
- package/dist/components/StarRating.d.ts +3 -2
- package/dist/components/Switch.d.ts +3 -2
- package/dist/components/Tabs.d.ts +3 -2
- package/dist/components/Textarea.d.ts +3 -2
- package/dist/components/Toast.d.ts +3 -2
- package/dist/components/Toggle.d.ts +3 -2
- package/dist/components/ToggleGroup.d.ts +3 -2
- package/dist/components/Toolbar.d.ts +4 -3
- package/dist/components/Tooltip.d.ts +2 -1
- package/dist/components/analytics/AnalyticsButton.d.ts +8 -0
- package/dist/components/analytics/AnalyticsImpression.d.ts +11 -0
- package/dist/components/analytics/AnalyticsInput.d.ts +7 -0
- package/dist/components/analytics/AnalyticsLink.d.ts +7 -0
- package/dist/components/analytics/AnalyticsProvider.d.ts +3 -0
- package/dist/components/analytics/AnalyticsScope.d.ts +3 -0
- package/dist/components/analytics/AnalyticsTextarea.d.ts +7 -0
- package/dist/components/analytics/index.d.ts +6 -0
- package/dist/components/analytics/index.js +145 -0
- package/dist/components/assistant-ui/elements/AgentCard.js +8 -2
- package/dist/components/assistant-ui/elements/ApprovalCard.js +8 -2
- package/dist/components/assistant-ui/elements/ArtifactCard.js +8 -2
- package/dist/components/assistant-ui/elements/AudioPlayer.js +9 -2
- package/dist/components/assistant-ui/elements/BackgroundInbox.js +8 -2
- package/dist/components/assistant-ui/elements/CanvasSplit.js +8 -2
- package/dist/components/assistant-ui/elements/Chart.js +6 -2
- package/dist/components/assistant-ui/elements/ChatPanel.js +12 -5
- package/dist/components/assistant-ui/elements/CheckpointHistory.js +8 -2
- package/dist/components/assistant-ui/elements/Citation.js +9 -5
- package/dist/components/assistant-ui/elements/CodeRunner.js +8 -2
- package/dist/components/assistant-ui/elements/CommandPalette.js +13 -9
- package/dist/components/assistant-ui/elements/ComposerAttachButton.js +8 -2
- package/dist/components/assistant-ui/elements/ComposerAttachmentChip.js +8 -2
- package/dist/components/assistant-ui/elements/ComposerAttachments.js +12 -5
- package/dist/components/assistant-ui/elements/ComposerBar.js +12 -5
- package/dist/components/assistant-ui/elements/ComposerCommandItem.js +9 -3
- package/dist/components/assistant-ui/elements/ComposerContext.js +8 -5
- package/dist/components/assistant-ui/elements/ComposerInput.js +12 -5
- package/dist/components/assistant-ui/elements/ComposerMenuItem.js +8 -2
- package/dist/components/assistant-ui/elements/ComposerModelItem.js +9 -3
- package/dist/components/assistant-ui/elements/ComposerModelTrigger.js +8 -2
- package/dist/components/assistant-ui/elements/ComposerPersonItem.js +9 -3
- package/dist/components/assistant-ui/elements/ComposerSend.js +8 -2
- package/dist/components/assistant-ui/elements/ComposerToolbar.js +12 -5
- package/dist/components/assistant-ui/elements/ComposerVoiceButton.js +8 -2
- package/dist/components/assistant-ui/elements/ConfidenceMarker.js +5 -1
- package/dist/components/assistant-ui/elements/ConnectionState.js +8 -2
- package/dist/components/assistant-ui/elements/ContextDisplay.js +13 -10
- package/dist/components/assistant-ui/elements/ContextDisplayBar.js +10 -7
- package/dist/components/assistant-ui/elements/ContextDisplayContent.js +6 -4
- package/dist/components/assistant-ui/elements/ContextDisplayRing.js +10 -7
- package/dist/components/assistant-ui/elements/ContextDisplayRoot.js +6 -4
- package/dist/components/assistant-ui/elements/ContextDisplayText.js +10 -7
- package/dist/components/assistant-ui/elements/ContextDisplayTrigger.js +7 -4
- package/dist/components/assistant-ui/elements/ConversationMap.js +7 -4
- package/dist/components/assistant-ui/elements/ConversationSearch.js +12 -5
- package/dist/components/assistant-ui/elements/DataTable.js +9 -2
- package/dist/components/assistant-ui/elements/Diagram.js +8 -2
- package/dist/components/assistant-ui/elements/DiffViewer.js +9 -3
- package/dist/components/assistant-ui/elements/DiffViewerHeader.js +8 -2
- package/dist/components/assistant-ui/elements/DocumentReference.js +8 -2
- package/dist/components/assistant-ui/elements/DraftRestore.js +8 -2
- package/dist/components/assistant-ui/elements/EditMessage.js +10 -3
- package/dist/components/assistant-ui/elements/ElicitationForm.js +12 -5
- package/dist/components/assistant-ui/elements/EmptyStateComposer.js +12 -5
- package/dist/components/assistant-ui/elements/EmptyStateSuggestion.js +8 -2
- package/dist/components/assistant-ui/elements/ErrorState.js +8 -2
- package/dist/components/assistant-ui/elements/EveAskQuestion.js +13 -5
- package/dist/components/assistant-ui/elements/FeedbackDialog.js +11 -4
- package/dist/components/assistant-ui/elements/File.js +11 -3
- package/dist/components/assistant-ui/elements/GenerativeUi.js +11 -8
- package/dist/components/assistant-ui/elements/GeoMap.js +8 -2
- package/dist/components/assistant-ui/elements/GuardrailNotice.js +8 -2
- package/dist/components/assistant-ui/elements/Image.js +10 -5
- package/dist/components/assistant-ui/elements/ImageGallery.js +10 -5
- package/dist/components/assistant-ui/elements/ImageGeneration.js +8 -2
- package/dist/components/assistant-ui/elements/JobProgress.js +8 -2
- package/dist/components/assistant-ui/elements/LauncherBubble.js +8 -2
- package/dist/components/assistant-ui/elements/LinkPreview.js +5 -1
- package/dist/components/assistant-ui/elements/MapAnswer.js +9 -2
- package/dist/components/assistant-ui/elements/MarkdownText.js +8 -6
- package/dist/components/assistant-ui/elements/McpServerPanel.js +9 -3
- package/dist/components/assistant-ui/elements/MemoryChips.js +8 -2
- package/dist/components/assistant-ui/elements/MermaidDiagram.js +9 -6
- package/dist/components/assistant-ui/elements/MermaidZoom.js +8 -5
- package/dist/components/assistant-ui/elements/MessageActions.js +9 -3
- package/dist/components/assistant-ui/elements/MessageAttachments.js +8 -2
- package/dist/components/assistant-ui/elements/MessageBranches.js +8 -2
- package/dist/components/assistant-ui/elements/MessagePair.js +8 -2
- package/dist/components/assistant-ui/elements/MessageQueue.js +8 -2
- package/dist/components/assistant-ui/elements/MobileComposer.js +12 -5
- package/dist/components/assistant-ui/elements/ModelPicker.js +5 -2
- package/dist/components/assistant-ui/elements/ModelSelector.js +24 -19
- package/dist/components/assistant-ui/elements/ModelSelectorContent.js +21 -16
- package/dist/components/assistant-ui/elements/ModelSelectorEffort.js +5 -1
- package/dist/components/assistant-ui/elements/ModelSelectorEmpty.js +13 -9
- package/dist/components/assistant-ui/elements/ModelSelectorFocusAnchor.js +13 -9
- package/dist/components/assistant-ui/elements/ModelSelectorGroup.js +13 -9
- package/dist/components/assistant-ui/elements/ModelSelectorItem.js +13 -9
- package/dist/components/assistant-ui/elements/ModelSelectorList.js +15 -11
- package/dist/components/assistant-ui/elements/ModelSelectorRoot.js +6 -4
- package/dist/components/assistant-ui/elements/ModelSelectorSearch.js +13 -9
- package/dist/components/assistant-ui/elements/ModelSelectorSeparator.js +13 -9
- package/dist/components/assistant-ui/elements/ModelSelectorTrigger.js +7 -4
- package/dist/components/assistant-ui/elements/Onboarding.js +8 -2
- package/dist/components/assistant-ui/elements/OptionList.js +9 -3
- package/dist/components/assistant-ui/elements/PermissionGrant.js +8 -2
- package/dist/components/assistant-ui/elements/PromptLibrary.js +12 -5
- package/dist/components/assistant-ui/elements/QuestionFlow.js +10 -4
- package/dist/components/assistant-ui/elements/QuotaBanner.js +8 -2
- package/dist/components/assistant-ui/elements/QuoteReply.js +8 -2
- package/dist/components/assistant-ui/elements/ReadAloud.js +8 -2
- package/dist/components/assistant-ui/elements/ReasoningContent.js +5 -2
- package/dist/components/assistant-ui/elements/ReasoningEffort.js +5 -2
- package/dist/components/assistant-ui/elements/ReasoningPanel.js +6 -2
- package/dist/components/assistant-ui/elements/ReasoningRoot.js +5 -2
- package/dist/components/assistant-ui/elements/ReasoningTrigger.js +5 -2
- package/dist/components/assistant-ui/elements/RecommendationCard.js +8 -2
- package/dist/components/assistant-ui/elements/RegenerateMenu.js +7 -5
- package/dist/components/assistant-ui/elements/ReviewableDiff.js +8 -2
- package/dist/components/assistant-ui/elements/RunActivity.js +6 -2
- package/dist/components/assistant-ui/elements/ScheduleCard.js +5 -2
- package/dist/components/assistant-ui/elements/ScrollAnchor.js +5 -1
- package/dist/components/assistant-ui/elements/SettingsPanel.js +12 -5
- package/dist/components/assistant-ui/elements/SharedConversation.js +8 -2
- package/dist/components/assistant-ui/elements/Sources.js +7 -2
- package/dist/components/assistant-ui/elements/StoppedRun.js +8 -2
- package/dist/components/assistant-ui/elements/Suggestions.js +8 -2
- package/dist/components/assistant-ui/elements/TaskCard.js +8 -2
- package/dist/components/assistant-ui/elements/TerminalBlock.js +8 -2
- package/dist/components/assistant-ui/elements/ThreadList.js +8 -2
- package/dist/components/assistant-ui/elements/ThreadSearch.js +12 -5
- package/dist/components/assistant-ui/elements/TodoList.js +8 -2
- package/dist/components/assistant-ui/elements/ToolCall.js +6 -2
- package/dist/components/assistant-ui/elements/ToolError.js +8 -2
- package/dist/components/assistant-ui/elements/ToolGroup.js +8 -2
- package/dist/components/assistant-ui/elements/ToolTimeline.js +6 -2
- package/dist/components/assistant-ui/elements/TooltipIconButton.js +6 -5
- package/dist/components/assistant-ui/elements/VoiceConversation.js +9 -2
- package/dist/components/assistant-ui/elements/WebPreview.js +8 -2
- package/dist/components/assistant-ui/eveAskQuestionToolkit.js +14 -6
- package/dist/components/assistant-ui/index.js +148 -144
- package/dist/components/assistant-ui/native/AssistantModal.js +29 -25
- package/dist/components/assistant-ui/native/AssistantSidebar.js +28 -24
- package/dist/components/assistant-ui/native/AttachmentPreview.js +9 -7
- package/dist/components/assistant-ui/native/ComposerQuotePreview.js +5 -1
- package/dist/components/assistant-ui/native/ComposerTriggerPopover.js +5 -1
- package/dist/components/assistant-ui/native/ContextDisplay.js +15 -12
- package/dist/components/assistant-ui/native/ContextDisplayBar.js +12 -9
- package/dist/components/assistant-ui/native/ContextDisplayRing.js +12 -9
- package/dist/components/assistant-ui/native/ContextDisplayRoot.js +8 -6
- package/dist/components/assistant-ui/native/ContextDisplayRuntimeRoot.js +7 -5
- package/dist/components/assistant-ui/native/ContextDisplayText.js +12 -9
- package/dist/components/assistant-ui/native/ConversationMapAui.js +8 -5
- package/dist/components/assistant-ui/native/FollowupSuggestionsRow.js +5 -1
- package/dist/components/assistant-ui/native/McpConfigDialog.js +12 -6
- package/dist/components/assistant-ui/native/MermaidDiagram.js +10 -7
- package/dist/components/assistant-ui/native/MessageTiming.js +7 -4
- package/dist/components/assistant-ui/native/ModelSelector.js +26 -21
- package/dist/components/assistant-ui/native/Reasoning.js +13 -11
- package/dist/components/assistant-ui/native/SelectionToolbar.js +5 -1
- package/dist/components/assistant-ui/native/Sources.js +5 -1
- package/dist/components/assistant-ui/native/TaskCard.js +15 -11
- package/dist/components/assistant-ui/native/TaskGroup.js +16 -12
- package/dist/components/assistant-ui/native/TaskTray.js +7 -4
- package/dist/components/assistant-ui/native/Thread.js +26 -22
- package/dist/components/assistant-ui/native/ThreadList.d.ts +6 -4
- package/dist/components/assistant-ui/native/ThreadList.js +11 -5
- package/dist/components/assistant-ui/native/ThreadListSidebar.js +14 -10
- package/dist/components/assistant-ui/native/ToolFallbackRoot.js +12 -4
- package/dist/components/assistant-ui/native/ToolGroup.js +6 -2
- package/dist/components/assistant-ui/native/VoiceConnectButton.js +8 -2
- package/dist/components/assistant-ui/native/VoiceControl.js +10 -9
- package/dist/components/assistant-ui/native/VoiceConversation.js +10 -3
- package/dist/components/assistant-ui/native/VoiceDisconnectButton.js +7 -6
- package/dist/components/assistant-ui/native/VoiceMuteButton.js +7 -6
- package/dist/components/assistant-ui/native/index.js +81 -77
- package/dist/components/calendar/Calendar.d.ts +1 -1
- package/dist/components/calendar/index.js +9 -6
- package/dist/components/calendar/types.d.ts +2 -1
- package/dist/components/carousel/Carousel.d.ts +1 -1
- package/dist/components/carousel/index.js +8 -2
- package/dist/components/carousel/types.d.ts +2 -1
- package/dist/components/chart/index.js +5 -1
- package/dist/components/color-picker/ColorPicker.d.ts +2 -1
- package/dist/components/color-picker/index.js +26 -1
- package/dist/components/command/Command.d.ts +2 -1
- package/dist/components/command/index.js +12 -8
- package/dist/components/data-grid/index.js +16 -12
- package/dist/components/editor/RichTextEditor.d.ts +3 -2
- package/dist/components/editor/index.js +39 -3
- package/dist/components/event-calendar/EventCalendar.d.ts +2 -1
- package/dist/components/event-calendar/index.js +19 -3
- package/dist/components/file-upload/FileUpload.d.ts +3 -2
- package/dist/components/file-upload/index.js +20 -2
- package/dist/components/gantt/index.js +9 -3
- package/dist/components/image-crop/ImageCrop.d.ts +4 -3
- package/dist/components/image-crop/index.js +27 -1
- package/dist/components/input-otp/InputOTP.d.ts +3 -2
- package/dist/components/input-otp/index.js +9 -2
- package/dist/components/json-render/catalog.d.ts +1 -1
- package/dist/components/json-render/index.js +34 -31
- package/dist/components/message-scroller/MessageScroller.d.ts +3 -2
- package/dist/components/message-scroller/index.js +12 -1
- package/dist/components/persian-calendar/PersianCalendar.d.ts +3 -2
- package/dist/components/persian-calendar/index.js +16 -3
- package/dist/components/questionnaire/Questionnaire.d.ts +8 -7
- package/dist/components/questionnaire/index.js +37 -3
- package/dist/components/resizable/Resizable.d.ts +2 -1
- package/dist/components/resizable/index.js +4 -1
- package/dist/components/sonner/Sonner.d.ts +3 -2
- package/dist/components/sonner/index.js +14 -1
- package/dist/components/tree/Tree.d.ts +3 -2
- package/dist/components/tree/TreeItem.d.ts +3 -2
- package/dist/components/tree/index.js +28 -2
- package/dist/components/virtual-data-grid/index.js +11 -4
- package/dist/drag-drop/types.d.ts +2 -1
- package/dist/hooks/useAnalytics.d.ts +4 -0
- package/dist/hooks/useAnalyticsCallback.d.ts +5 -0
- package/dist/hooks/useAnalyticsEnabled.d.ts +2 -0
- package/dist/hooks/useAnalyticsInput.d.ts +8 -0
- package/dist/hooks/useDropTarget.d.ts +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +43 -37
- package/dist/prototype.js +5 -1
- package/llms/components/actions/Button.md +20 -0
- package/llms/components/data-display/DataViewer.md +90 -0
- package/llms/components/providers/AnalyticsProvider.md +59 -0
- package/llms/setup.md +47 -25
- package/llms.txt +2 -0
- package/package.json +5 -1
- package/dist/chunk-j89xg1ak.js +0 -14
- package/dist/chunk-mz3e810d.js +0 -83
- package/dist/chunk-q7p28b89.js +0 -68
|
@@ -1,24 +1,29 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useAnalytics2
|
|
3
|
+
} from "./chunk-7ny0vyek.js";
|
|
1
4
|
import {
|
|
2
5
|
cn2
|
|
3
6
|
} from "./chunk-cp2m7y7v.js";
|
|
4
|
-
import {
|
|
5
|
-
buttonVariants2,
|
|
6
|
-
Button2
|
|
7
|
-
} from "./chunk-q7p28b89.js";
|
|
8
7
|
import {
|
|
9
8
|
DensityContext,
|
|
10
9
|
useDensity
|
|
11
10
|
} from "./chunk-e6hk39ev.js";
|
|
12
11
|
import {
|
|
13
|
-
usePortalContainer2
|
|
14
|
-
} from "./chunk-j89xg1ak.js";
|
|
15
|
-
import {
|
|
12
|
+
usePortalContainer2,
|
|
16
13
|
usePortalNode,
|
|
17
14
|
PortalProvider2
|
|
18
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-x90xmrba.js";
|
|
19
16
|
import {
|
|
20
17
|
useDirection2
|
|
21
18
|
} from "./chunk-jpvw9xqy.js";
|
|
19
|
+
import {
|
|
20
|
+
TooltipProvider2,
|
|
21
|
+
Tooltip2,
|
|
22
|
+
TooltipTrigger2,
|
|
23
|
+
TooltipContent2,
|
|
24
|
+
buttonVariants2,
|
|
25
|
+
Button2
|
|
26
|
+
} from "./chunk-38301e40.js";
|
|
22
27
|
import {
|
|
23
28
|
DropdownMenu2,
|
|
24
29
|
DropdownMenuPortal2,
|
|
@@ -33,13 +38,13 @@ import {
|
|
|
33
38
|
DropdownMenuRadioGroup2,
|
|
34
39
|
DropdownMenuSeparator2,
|
|
35
40
|
DropdownMenuShortcut2
|
|
36
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-8wc2z7te.js";
|
|
37
42
|
import {
|
|
38
43
|
Skeleton2
|
|
39
44
|
} from "./chunk-d70rcwk7.js";
|
|
40
45
|
import {
|
|
41
46
|
Input2
|
|
42
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-0fmrwsgp.js";
|
|
43
48
|
import {
|
|
44
49
|
Separator2
|
|
45
50
|
} from "./chunk-rajgnfbr.js";
|
|
@@ -51,13 +56,10 @@ import {
|
|
|
51
56
|
} from "./chunk-6jpz5geq.js";
|
|
52
57
|
import {
|
|
53
58
|
Textarea2
|
|
54
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-tq0pfv5h.js";
|
|
55
60
|
import {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
TooltipTrigger2,
|
|
59
|
-
TooltipContent2
|
|
60
|
-
} from "./chunk-mz3e810d.js";
|
|
61
|
+
RadioGroup2
|
|
62
|
+
} from "./chunk-ekbesw9t.js";
|
|
61
63
|
import {
|
|
62
64
|
Card2,
|
|
63
65
|
CardHeader2,
|
|
@@ -80,7 +82,7 @@ import {
|
|
|
80
82
|
ComboboxChipsInput2,
|
|
81
83
|
useComboboxAnchor2,
|
|
82
84
|
ScrollArea2
|
|
83
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-p1eqxz4v.js";
|
|
84
86
|
import {
|
|
85
87
|
Badge2
|
|
86
88
|
} from "./chunk-wjx6zf94.js";
|
|
@@ -113,7 +115,10 @@ import {
|
|
|
113
115
|
import {
|
|
114
116
|
NativeSelect2,
|
|
115
117
|
NativeSelectOption2
|
|
116
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-r4jzz4f2.js";
|
|
119
|
+
import {
|
|
120
|
+
AnalyticsLink
|
|
121
|
+
} from "./chunk-4710gn6d.js";
|
|
117
122
|
import {
|
|
118
123
|
SidebarProvider2,
|
|
119
124
|
Sidebar2,
|
|
@@ -126,12 +131,19 @@ import {
|
|
|
126
131
|
SidebarMenu2,
|
|
127
132
|
SidebarMenuItem2,
|
|
128
133
|
SidebarMenuButton2
|
|
129
|
-
} from "./chunk-
|
|
134
|
+
} from "./chunk-c9ypcp4s.js";
|
|
135
|
+
import {
|
|
136
|
+
AnalyticsButton
|
|
137
|
+
} from "./chunk-tcefvfr8.js";
|
|
138
|
+
import {
|
|
139
|
+
useAnalyticsCallback
|
|
140
|
+
} from "./chunk-5mydsjp3.js";
|
|
130
141
|
// src/components/ButtonLink.tsx
|
|
131
142
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
132
143
|
import { useRender } from "@base-ui/react/use-render";
|
|
133
144
|
import { jsx } from "react/jsx-runtime";
|
|
134
145
|
function ButtonLink2({
|
|
146
|
+
analytics,
|
|
135
147
|
density,
|
|
136
148
|
className,
|
|
137
149
|
variant = "default",
|
|
@@ -143,6 +155,7 @@ function ButtonLink2({
|
|
|
143
155
|
children,
|
|
144
156
|
...props
|
|
145
157
|
}) {
|
|
158
|
+
const onClick = useAnalyticsCallback("ButtonLink", analytics, { name: "ui.activate" }, props.onClick);
|
|
146
159
|
return useRender({
|
|
147
160
|
defaultTagName: "a",
|
|
148
161
|
props: mergeProps({
|
|
@@ -151,7 +164,7 @@ function ButtonLink2({
|
|
|
151
164
|
className: "min-w-0 truncate",
|
|
152
165
|
children
|
|
153
166
|
}) : children
|
|
154
|
-
}, props),
|
|
167
|
+
}, { ...props, onClick }),
|
|
155
168
|
render,
|
|
156
169
|
state: {
|
|
157
170
|
slot: "button-link",
|
|
@@ -163,12 +176,14 @@ function ButtonLink2({
|
|
|
163
176
|
import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion";
|
|
164
177
|
import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
165
178
|
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
166
|
-
function Accordion2({ density, className, ...props }) {
|
|
179
|
+
function Accordion2({ analytics, density, className, ...props }) {
|
|
180
|
+
const trackedOnValueChange = useAnalyticsCallback("Accordion", analytics, { name: "ui.change-request" }, props.onValueChange);
|
|
167
181
|
return /* @__PURE__ */ jsx2(AccordionPrimitive.Root, {
|
|
168
182
|
"data-density": density,
|
|
169
183
|
"data-slot": "accordion",
|
|
170
184
|
className: (state) => cn2("flex w-full flex-col", typeof className === "function" ? className(state) : className),
|
|
171
|
-
...props
|
|
185
|
+
...props,
|
|
186
|
+
onValueChange: trackedOnValueChange
|
|
172
187
|
});
|
|
173
188
|
}
|
|
174
189
|
function AccordionItem2({ density, className, ...props }) {
|
|
@@ -267,10 +282,127 @@ function PageMessage2({ title, description, children }) {
|
|
|
267
282
|
})
|
|
268
283
|
});
|
|
269
284
|
}
|
|
285
|
+
// src/components/DataViewer.tsx
|
|
286
|
+
import { Fragment } from "react";
|
|
287
|
+
import { jsx as jsx5, jsxs as jsxs4, Fragment as Fragment2 } from "react/jsx-runtime";
|
|
288
|
+
var ACRONYMS = new Map([
|
|
289
|
+
["api", "API"],
|
|
290
|
+
["http", "HTTP"],
|
|
291
|
+
["https", "HTTPS"],
|
|
292
|
+
["id", "ID"],
|
|
293
|
+
["ids", "IDs"],
|
|
294
|
+
["json", "JSON"],
|
|
295
|
+
["url", "URL"],
|
|
296
|
+
["urls", "URLs"],
|
|
297
|
+
["uuid", "UUID"]
|
|
298
|
+
]);
|
|
299
|
+
function formatDataLabel2(key) {
|
|
300
|
+
const label = key.replace(/([a-z0-9])([A-Z])/g, "$1 $2").split(/[\s_-]+/).filter(Boolean).map((word) => ACRONYMS.get(word.toLowerCase()) ?? word.toLowerCase()).join(" ");
|
|
301
|
+
return label.charAt(0).toUpperCase() + label.slice(1);
|
|
302
|
+
}
|
|
303
|
+
function isRecord(value) {
|
|
304
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
305
|
+
}
|
|
306
|
+
function isNested(value) {
|
|
307
|
+
return Array.isArray(value) || isRecord(value);
|
|
308
|
+
}
|
|
309
|
+
function Placeholder({ children }) {
|
|
310
|
+
return /* @__PURE__ */ jsx5("span", {
|
|
311
|
+
className: "text-muted-foreground italic",
|
|
312
|
+
children
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
function DataValue({ value, formatLabel }) {
|
|
316
|
+
if (Array.isArray(value)) {
|
|
317
|
+
if (value.length === 0)
|
|
318
|
+
return /* @__PURE__ */ jsx5(Placeholder, {
|
|
319
|
+
children: "None"
|
|
320
|
+
});
|
|
321
|
+
return value.some(isNested) ? /* @__PURE__ */ jsx5("ol", {
|
|
322
|
+
className: "flex list-decimal flex-col gap-2 pl-5 marker:text-muted-foreground",
|
|
323
|
+
children: value.map((item, index) => /* @__PURE__ */ jsx5("li", {
|
|
324
|
+
className: "min-w-0",
|
|
325
|
+
children: /* @__PURE__ */ jsx5(DataValue, {
|
|
326
|
+
value: item,
|
|
327
|
+
formatLabel
|
|
328
|
+
})
|
|
329
|
+
}, index))
|
|
330
|
+
}) : /* @__PURE__ */ jsx5("ul", {
|
|
331
|
+
className: "flex flex-wrap gap-x-3 gap-y-1",
|
|
332
|
+
children: value.map((item, index) => /* @__PURE__ */ jsx5("li", {
|
|
333
|
+
className: "min-w-0 break-words",
|
|
334
|
+
children: /* @__PURE__ */ jsx5(DataValue, {
|
|
335
|
+
value: item,
|
|
336
|
+
formatLabel
|
|
337
|
+
})
|
|
338
|
+
}, index))
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
if (isRecord(value)) {
|
|
342
|
+
const entries = Object.entries(value);
|
|
343
|
+
if (entries.length === 0)
|
|
344
|
+
return /* @__PURE__ */ jsx5(Placeholder, {
|
|
345
|
+
children: "None"
|
|
346
|
+
});
|
|
347
|
+
return /* @__PURE__ */ jsx5("dl", {
|
|
348
|
+
className: "grid grid-cols-[minmax(0,max-content)_minmax(0,1fr)] gap-x-4 gap-y-1",
|
|
349
|
+
children: entries.map(([key, item]) => /* @__PURE__ */ jsxs4(Fragment, {
|
|
350
|
+
children: [
|
|
351
|
+
/* @__PURE__ */ jsx5("dt", {
|
|
352
|
+
className: "min-w-0 break-words text-muted-foreground",
|
|
353
|
+
children: formatLabel(key)
|
|
354
|
+
}),
|
|
355
|
+
/* @__PURE__ */ jsx5("dd", {
|
|
356
|
+
className: cn2("min-w-0 break-words", isRecord(item) && "border-l border-border pl-3"),
|
|
357
|
+
children: /* @__PURE__ */ jsx5(DataValue, {
|
|
358
|
+
value: item,
|
|
359
|
+
formatLabel
|
|
360
|
+
})
|
|
361
|
+
})
|
|
362
|
+
]
|
|
363
|
+
}, key))
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
if (value === null || value === undefined)
|
|
367
|
+
return /* @__PURE__ */ jsx5(Placeholder, {
|
|
368
|
+
children: "None"
|
|
369
|
+
});
|
|
370
|
+
if (typeof value === "boolean")
|
|
371
|
+
return /* @__PURE__ */ jsx5(Fragment2, {
|
|
372
|
+
children: value ? "Yes" : "No"
|
|
373
|
+
});
|
|
374
|
+
if (value === "")
|
|
375
|
+
return /* @__PURE__ */ jsx5(Placeholder, {
|
|
376
|
+
children: "Empty"
|
|
377
|
+
});
|
|
378
|
+
return /* @__PURE__ */ jsx5(Fragment2, {
|
|
379
|
+
children: String(value)
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
function DataViewer2({
|
|
383
|
+
value,
|
|
384
|
+
label = "Data",
|
|
385
|
+
formatLabel = formatDataLabel2,
|
|
386
|
+
density,
|
|
387
|
+
className,
|
|
388
|
+
...props
|
|
389
|
+
}) {
|
|
390
|
+
return /* @__PURE__ */ jsx5("section", {
|
|
391
|
+
"aria-label": label,
|
|
392
|
+
"data-density": density,
|
|
393
|
+
"data-slot": "data-viewer",
|
|
394
|
+
className: cn2("min-w-0 text-sm", className),
|
|
395
|
+
...props,
|
|
396
|
+
children: /* @__PURE__ */ jsx5(DataValue, {
|
|
397
|
+
value,
|
|
398
|
+
formatLabel
|
|
399
|
+
})
|
|
400
|
+
});
|
|
401
|
+
}
|
|
270
402
|
// src/components/JsonViewer.tsx
|
|
271
|
-
import { jsx as
|
|
403
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
272
404
|
function JsonViewer2({ value, label = "JSON", rows = 12 }) {
|
|
273
|
-
return /* @__PURE__ */
|
|
405
|
+
return /* @__PURE__ */ jsx6(Textarea2, {
|
|
274
406
|
readOnly: true,
|
|
275
407
|
rows,
|
|
276
408
|
"aria-label": label,
|
|
@@ -280,16 +412,21 @@ function JsonViewer2({ value, label = "JSON", rows = 12 }) {
|
|
|
280
412
|
// src/components/AlertDialog.tsx
|
|
281
413
|
import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog";
|
|
282
414
|
import { useDirection } from "@base-ui/react/direction-provider";
|
|
283
|
-
import { jsx as
|
|
415
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
284
416
|
"use client";
|
|
285
|
-
function AlertDialog2({
|
|
286
|
-
|
|
417
|
+
function AlertDialog2({
|
|
418
|
+
analytics,
|
|
419
|
+
...props
|
|
420
|
+
}) {
|
|
421
|
+
const trackedOnOpenChange = useAnalyticsCallback("AlertDialog", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
|
|
422
|
+
return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Root, {
|
|
287
423
|
"data-slot": "alert-dialog",
|
|
288
|
-
...props
|
|
424
|
+
...props,
|
|
425
|
+
onOpenChange: trackedOnOpenChange
|
|
289
426
|
});
|
|
290
427
|
}
|
|
291
428
|
function AlertDialogTrigger2({ ...props }) {
|
|
292
|
-
return /* @__PURE__ */
|
|
429
|
+
return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Trigger, {
|
|
293
430
|
"data-slot": "alert-dialog-trigger",
|
|
294
431
|
...props
|
|
295
432
|
});
|
|
@@ -297,12 +434,12 @@ function AlertDialogTrigger2({ ...props }) {
|
|
|
297
434
|
function AlertDialogPortal2({ container, ref, children, ...props }) {
|
|
298
435
|
const resolvedContainer = usePortalContainer2(container);
|
|
299
436
|
const portal = usePortalNode(ref);
|
|
300
|
-
return /* @__PURE__ */
|
|
437
|
+
return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Portal, {
|
|
301
438
|
"data-slot": "alert-dialog-portal",
|
|
302
439
|
container: resolvedContainer,
|
|
303
440
|
ref: portal.ref,
|
|
304
441
|
...props,
|
|
305
|
-
children: /* @__PURE__ */
|
|
442
|
+
children: /* @__PURE__ */ jsx7(PortalProvider2, {
|
|
306
443
|
container: portal.node,
|
|
307
444
|
children
|
|
308
445
|
})
|
|
@@ -310,7 +447,7 @@ function AlertDialogPortal2({ container, ref, children, ...props }) {
|
|
|
310
447
|
}
|
|
311
448
|
function AlertDialogOverlay2({ density, className, ...props }) {
|
|
312
449
|
const resolvedDensity = useDensity(density);
|
|
313
|
-
return /* @__PURE__ */
|
|
450
|
+
return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Backdrop, {
|
|
314
451
|
"data-density": resolvedDensity,
|
|
315
452
|
"data-slot": "alert-dialog-overlay",
|
|
316
453
|
className: (state) => cn2("fixed inset-0 isolate bg-backdrop duration-120 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none", typeof className === "function" ? className(state) : className),
|
|
@@ -320,10 +457,10 @@ function AlertDialogOverlay2({ density, className, ...props }) {
|
|
|
320
457
|
function AlertDialogContent2({ density, className, size = "default", ...props }) {
|
|
321
458
|
const resolvedDensity = useDensity(density);
|
|
322
459
|
const direction = useDirection();
|
|
323
|
-
return /* @__PURE__ */
|
|
460
|
+
return /* @__PURE__ */ jsxs5(AlertDialogPortal2, {
|
|
324
461
|
children: [
|
|
325
|
-
/* @__PURE__ */
|
|
326
|
-
/* @__PURE__ */
|
|
462
|
+
/* @__PURE__ */ jsx7(AlertDialogOverlay2, {}),
|
|
463
|
+
/* @__PURE__ */ jsx7(AlertDialogPrimitive.Popup, {
|
|
327
464
|
dir: direction,
|
|
328
465
|
"data-density": resolvedDensity,
|
|
329
466
|
"data-slot": "alert-dialog-content",
|
|
@@ -336,7 +473,7 @@ function AlertDialogContent2({ density, className, size = "default", ...props })
|
|
|
336
473
|
});
|
|
337
474
|
}
|
|
338
475
|
function AlertDialogHeader2({ density, className, ...props }) {
|
|
339
|
-
return /* @__PURE__ */
|
|
476
|
+
return /* @__PURE__ */ jsx7("div", {
|
|
340
477
|
"data-density": density,
|
|
341
478
|
"data-slot": "alert-dialog-header",
|
|
342
479
|
className: cn2("grid grid-rows-[auto_1fr] place-items-center gap-control-gap text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-start sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", className),
|
|
@@ -344,7 +481,7 @@ function AlertDialogHeader2({ density, className, ...props }) {
|
|
|
344
481
|
});
|
|
345
482
|
}
|
|
346
483
|
function AlertDialogFooter2({ density, className, ...props }) {
|
|
347
|
-
return /* @__PURE__ */
|
|
484
|
+
return /* @__PURE__ */ jsx7("div", {
|
|
348
485
|
"data-density": density,
|
|
349
486
|
"data-slot": "alert-dialog-footer",
|
|
350
487
|
className: cn2("-mx-panel -mb-panel flex flex-col-reverse gap-2 rounded-b-md border-t bg-muted/50 p-panel group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end", className),
|
|
@@ -352,7 +489,7 @@ function AlertDialogFooter2({ density, className, ...props }) {
|
|
|
352
489
|
});
|
|
353
490
|
}
|
|
354
491
|
function AlertDialogMedia2({ density, className, ...props }) {
|
|
355
|
-
return /* @__PURE__ */
|
|
492
|
+
return /* @__PURE__ */ jsx7("div", {
|
|
356
493
|
"data-density": density,
|
|
357
494
|
"data-slot": "alert-dialog-media",
|
|
358
495
|
className: cn2("mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-control-xs", className),
|
|
@@ -360,7 +497,7 @@ function AlertDialogMedia2({ density, className, ...props }) {
|
|
|
360
497
|
});
|
|
361
498
|
}
|
|
362
499
|
function AlertDialogTitle2({ density, className, ...props }) {
|
|
363
|
-
return /* @__PURE__ */
|
|
500
|
+
return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Title, {
|
|
364
501
|
"data-density": density,
|
|
365
502
|
"data-slot": "alert-dialog-title",
|
|
366
503
|
className: (state) => cn2("text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", typeof className === "function" ? className(state) : className),
|
|
@@ -368,7 +505,7 @@ function AlertDialogTitle2({ density, className, ...props }) {
|
|
|
368
505
|
});
|
|
369
506
|
}
|
|
370
507
|
function AlertDialogDescription2({ density, className, ...props }) {
|
|
371
|
-
return /* @__PURE__ */
|
|
508
|
+
return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Description, {
|
|
372
509
|
"data-density": density,
|
|
373
510
|
"data-slot": "alert-dialog-description",
|
|
374
511
|
className: (state) => cn2("text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", typeof className === "function" ? className(state) : className),
|
|
@@ -376,7 +513,7 @@ function AlertDialogDescription2({ density, className, ...props }) {
|
|
|
376
513
|
});
|
|
377
514
|
}
|
|
378
515
|
function AlertDialogAction2({ density, className, ...props }) {
|
|
379
|
-
return /* @__PURE__ */
|
|
516
|
+
return /* @__PURE__ */ jsx7(Button2, {
|
|
380
517
|
"data-density": density,
|
|
381
518
|
"data-slot": "alert-dialog-action",
|
|
382
519
|
className,
|
|
@@ -390,11 +527,11 @@ function AlertDialogCancel2({
|
|
|
390
527
|
size = "default",
|
|
391
528
|
...props
|
|
392
529
|
}) {
|
|
393
|
-
return /* @__PURE__ */
|
|
530
|
+
return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Close, {
|
|
394
531
|
"data-density": density,
|
|
395
532
|
"data-slot": "alert-dialog-cancel",
|
|
396
533
|
className,
|
|
397
|
-
render: /* @__PURE__ */
|
|
534
|
+
render: /* @__PURE__ */ jsx7(Button2, {
|
|
398
535
|
variant,
|
|
399
536
|
size
|
|
400
537
|
}),
|
|
@@ -405,11 +542,22 @@ function AlertDialogCancel2({
|
|
|
405
542
|
import { Select as SelectPrimitive } from "@base-ui/react/select";
|
|
406
543
|
import { useDirection as useDirection3 } from "@base-ui/react/direction-provider";
|
|
407
544
|
import { ChevronDownIcon as ChevronDownIcon2, CheckIcon, ChevronUpIcon as ChevronUpIcon2 } from "lucide-react";
|
|
408
|
-
import { jsx as
|
|
545
|
+
import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
409
546
|
"use client";
|
|
410
|
-
|
|
547
|
+
function Select2({
|
|
548
|
+
analytics,
|
|
549
|
+
...props
|
|
550
|
+
}) {
|
|
551
|
+
const onValueChange = useAnalyticsCallback("Select", analytics, { name: "ui.change-request" }, props.onValueChange);
|
|
552
|
+
const onOpenChange = useAnalyticsCallback("Select", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
|
|
553
|
+
return /* @__PURE__ */ jsx8(SelectPrimitive.Root, {
|
|
554
|
+
...props,
|
|
555
|
+
onValueChange,
|
|
556
|
+
onOpenChange
|
|
557
|
+
});
|
|
558
|
+
}
|
|
411
559
|
function SelectGroup2({ density, className, ...props }) {
|
|
412
|
-
return /* @__PURE__ */
|
|
560
|
+
return /* @__PURE__ */ jsx8(SelectPrimitive.Group, {
|
|
413
561
|
"data-density": density,
|
|
414
562
|
"data-slot": "select-group",
|
|
415
563
|
className: (state) => cn2("scroll-my-1 p-1", typeof className === "function" ? className(state) : className),
|
|
@@ -417,7 +565,7 @@ function SelectGroup2({ density, className, ...props }) {
|
|
|
417
565
|
});
|
|
418
566
|
}
|
|
419
567
|
function SelectValue2({ density, className, ...props }) {
|
|
420
|
-
return /* @__PURE__ */
|
|
568
|
+
return /* @__PURE__ */ jsx8(SelectPrimitive.Value, {
|
|
421
569
|
"data-density": density,
|
|
422
570
|
"data-slot": "select-value",
|
|
423
571
|
className: (state) => cn2("flex flex-1 text-start", typeof className === "function" ? className(state) : className),
|
|
@@ -425,7 +573,7 @@ function SelectValue2({ density, className, ...props }) {
|
|
|
425
573
|
});
|
|
426
574
|
}
|
|
427
575
|
function SelectTrigger2({ density, className, size = "default", children, ...props }) {
|
|
428
|
-
return /* @__PURE__ */
|
|
576
|
+
return /* @__PURE__ */ jsxs6(SelectPrimitive.Trigger, {
|
|
429
577
|
"data-density": density,
|
|
430
578
|
"data-slot": "select-trigger",
|
|
431
579
|
"data-size": size,
|
|
@@ -433,8 +581,8 @@ function SelectTrigger2({ density, className, size = "default", children, ...pro
|
|
|
433
581
|
...props,
|
|
434
582
|
children: [
|
|
435
583
|
children,
|
|
436
|
-
/* @__PURE__ */
|
|
437
|
-
render: /* @__PURE__ */
|
|
584
|
+
/* @__PURE__ */ jsx8(SelectPrimitive.Icon, {
|
|
585
|
+
render: /* @__PURE__ */ jsx8(ChevronDownIcon2, {
|
|
438
586
|
className: "pointer-events-none size-4 text-muted-foreground"
|
|
439
587
|
})
|
|
440
588
|
})
|
|
@@ -456,19 +604,19 @@ function SelectContent2({
|
|
|
456
604
|
const direction = useDirection3();
|
|
457
605
|
const container = usePortalContainer2();
|
|
458
606
|
const portal = usePortalNode();
|
|
459
|
-
return /* @__PURE__ */
|
|
607
|
+
return /* @__PURE__ */ jsx8(SelectPrimitive.Portal, {
|
|
460
608
|
container,
|
|
461
609
|
ref: portal.ref,
|
|
462
|
-
children: /* @__PURE__ */
|
|
610
|
+
children: /* @__PURE__ */ jsx8(PortalProvider2, {
|
|
463
611
|
container: portal.node,
|
|
464
|
-
children: /* @__PURE__ */
|
|
612
|
+
children: /* @__PURE__ */ jsx8(SelectPrimitive.Positioner, {
|
|
465
613
|
side,
|
|
466
614
|
sideOffset,
|
|
467
615
|
align,
|
|
468
616
|
alignOffset,
|
|
469
617
|
alignItemWithTrigger,
|
|
470
618
|
className: "isolate ",
|
|
471
|
-
children: /* @__PURE__ */
|
|
619
|
+
children: /* @__PURE__ */ jsxs6(SelectPrimitive.Popup, {
|
|
472
620
|
dir: direction,
|
|
473
621
|
"data-density": resolvedDensity,
|
|
474
622
|
"data-slot": "select-content",
|
|
@@ -476,11 +624,11 @@ function SelectContent2({
|
|
|
476
624
|
className: (state) => cn2("relative isolate max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover text-popover-foreground border border-frame-edge shadow-frame duration-120 data-[align-trigger=true]:animate-none data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 motion-reduce:animate-none", typeof className === "function" ? className(state) : className),
|
|
477
625
|
...props,
|
|
478
626
|
children: [
|
|
479
|
-
/* @__PURE__ */
|
|
480
|
-
/* @__PURE__ */
|
|
627
|
+
/* @__PURE__ */ jsx8(SelectScrollUpButton2, {}),
|
|
628
|
+
/* @__PURE__ */ jsx8(SelectPrimitive.List, {
|
|
481
629
|
children
|
|
482
630
|
}),
|
|
483
|
-
/* @__PURE__ */
|
|
631
|
+
/* @__PURE__ */ jsx8(SelectScrollDownButton2, {})
|
|
484
632
|
]
|
|
485
633
|
})
|
|
486
634
|
})
|
|
@@ -488,7 +636,7 @@ function SelectContent2({
|
|
|
488
636
|
});
|
|
489
637
|
}
|
|
490
638
|
function SelectLabel2({ density, className, ...props }) {
|
|
491
|
-
return /* @__PURE__ */
|
|
639
|
+
return /* @__PURE__ */ jsx8(SelectPrimitive.GroupLabel, {
|
|
492
640
|
"data-density": density,
|
|
493
641
|
"data-slot": "select-label",
|
|
494
642
|
className: (state) => cn2("px-1.5 py-1 text-xs text-muted-foreground", typeof className === "function" ? className(state) : className),
|
|
@@ -496,21 +644,21 @@ function SelectLabel2({ density, className, ...props }) {
|
|
|
496
644
|
});
|
|
497
645
|
}
|
|
498
646
|
function SelectItem2({ density, className, children, ...props }) {
|
|
499
|
-
return /* @__PURE__ */
|
|
647
|
+
return /* @__PURE__ */ jsxs6(SelectPrimitive.Item, {
|
|
500
648
|
"data-density": density,
|
|
501
649
|
"data-slot": "select-item",
|
|
502
650
|
className: (state) => cn2("relative flex w-full cursor-default items-center gap-control-gap rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", typeof className === "function" ? className(state) : className),
|
|
503
651
|
...props,
|
|
504
652
|
children: [
|
|
505
|
-
/* @__PURE__ */
|
|
653
|
+
/* @__PURE__ */ jsx8(SelectPrimitive.ItemText, {
|
|
506
654
|
className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap",
|
|
507
655
|
children
|
|
508
656
|
}),
|
|
509
|
-
/* @__PURE__ */
|
|
510
|
-
render: /* @__PURE__ */
|
|
657
|
+
/* @__PURE__ */ jsx8(SelectPrimitive.ItemIndicator, {
|
|
658
|
+
render: /* @__PURE__ */ jsx8("span", {
|
|
511
659
|
className: "pointer-events-none absolute end-2 flex size-4 items-center justify-center"
|
|
512
660
|
}),
|
|
513
|
-
children: /* @__PURE__ */
|
|
661
|
+
children: /* @__PURE__ */ jsx8(CheckIcon, {
|
|
514
662
|
className: "pointer-events-none"
|
|
515
663
|
})
|
|
516
664
|
})
|
|
@@ -518,7 +666,7 @@ function SelectItem2({ density, className, children, ...props }) {
|
|
|
518
666
|
});
|
|
519
667
|
}
|
|
520
668
|
function SelectSeparator2({ density, className, ...props }) {
|
|
521
|
-
return /* @__PURE__ */
|
|
669
|
+
return /* @__PURE__ */ jsx8(SelectPrimitive.Separator, {
|
|
522
670
|
"data-density": density,
|
|
523
671
|
"data-slot": "select-separator",
|
|
524
672
|
className: (state) => cn2("pointer-events-none -mx-1 my-1 h-px bg-border", typeof className === "function" ? className(state) : className),
|
|
@@ -526,27 +674,27 @@ function SelectSeparator2({ density, className, ...props }) {
|
|
|
526
674
|
});
|
|
527
675
|
}
|
|
528
676
|
function SelectScrollUpButton2({ density, className, ...props }) {
|
|
529
|
-
return /* @__PURE__ */
|
|
677
|
+
return /* @__PURE__ */ jsx8(SelectPrimitive.ScrollUpArrow, {
|
|
530
678
|
"data-density": density,
|
|
531
679
|
"data-slot": "select-scroll-up-button",
|
|
532
680
|
className: (state) => cn2("top-0 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
|
|
533
681
|
...props,
|
|
534
|
-
children: /* @__PURE__ */
|
|
682
|
+
children: /* @__PURE__ */ jsx8(ChevronUpIcon2, {})
|
|
535
683
|
});
|
|
536
684
|
}
|
|
537
685
|
function SelectScrollDownButton2({ density, className, ...props }) {
|
|
538
|
-
return /* @__PURE__ */
|
|
686
|
+
return /* @__PURE__ */ jsx8(SelectPrimitive.ScrollDownArrow, {
|
|
539
687
|
"data-density": density,
|
|
540
688
|
"data-slot": "select-scroll-down-button",
|
|
541
689
|
className: (state) => cn2("bottom-0 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
|
|
542
690
|
...props,
|
|
543
|
-
children: /* @__PURE__ */
|
|
691
|
+
children: /* @__PURE__ */ jsx8(ChevronDownIcon2, {})
|
|
544
692
|
});
|
|
545
693
|
}
|
|
546
694
|
// src/components/DensityProvider.tsx
|
|
547
695
|
import { mergeProps as mergeProps2 } from "@base-ui/react/merge-props";
|
|
548
696
|
import { useRender as useRender2 } from "@base-ui/react/use-render";
|
|
549
|
-
import { jsx as
|
|
697
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
550
698
|
function DensityProvider2({
|
|
551
699
|
density = "comfortable",
|
|
552
700
|
className,
|
|
@@ -559,7 +707,7 @@ function DensityProvider2({
|
|
|
559
707
|
render,
|
|
560
708
|
state: { slot: "density-provider", density }
|
|
561
709
|
});
|
|
562
|
-
return /* @__PURE__ */
|
|
710
|
+
return /* @__PURE__ */ jsx9(DensityContext.Provider, {
|
|
563
711
|
value: density,
|
|
564
712
|
children: element
|
|
565
713
|
});
|
|
@@ -872,7 +1020,7 @@ function ScrollGuard2({ ownerDocument }) {
|
|
|
872
1020
|
}
|
|
873
1021
|
|
|
874
1022
|
// src/components/ThemeProvider.tsx
|
|
875
|
-
import { jsx as
|
|
1023
|
+
import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
876
1024
|
function StoredThemeProvider({
|
|
877
1025
|
children,
|
|
878
1026
|
defaultTheme = "system",
|
|
@@ -883,7 +1031,7 @@ function StoredThemeProvider({
|
|
|
883
1031
|
defaultValue: defaultTheme,
|
|
884
1032
|
localStorageKey: storageKey
|
|
885
1033
|
});
|
|
886
|
-
return /* @__PURE__ */
|
|
1034
|
+
return /* @__PURE__ */ jsx10(ThemePalette, {
|
|
887
1035
|
theme: forcedTheme ?? ternaryDarkMode,
|
|
888
1036
|
resolvedTheme: forcedTheme ?? (isDarkMode ? "dark" : "light"),
|
|
889
1037
|
setTheme: setTernaryDarkMode,
|
|
@@ -901,11 +1049,11 @@ function ThemePalette({
|
|
|
901
1049
|
document.documentElement.style.colorScheme = resolvedTheme;
|
|
902
1050
|
}, [resolvedTheme]);
|
|
903
1051
|
const value = useMemo(() => ({ theme, resolvedTheme, setTheme }), [theme, resolvedTheme, setTheme]);
|
|
904
|
-
return /* @__PURE__ */
|
|
1052
|
+
return /* @__PURE__ */ jsxs7(ThemeContext.Provider, {
|
|
905
1053
|
value,
|
|
906
1054
|
children: [
|
|
907
|
-
/* @__PURE__ */
|
|
908
|
-
/* @__PURE__ */
|
|
1055
|
+
/* @__PURE__ */ jsx10(ScrollGuard2, {}),
|
|
1056
|
+
/* @__PURE__ */ jsx10(LayoutGuard2, {}),
|
|
909
1057
|
children
|
|
910
1058
|
]
|
|
911
1059
|
});
|
|
@@ -918,7 +1066,7 @@ function ControlledThemeProvider({
|
|
|
918
1066
|
const isDark = useMediaQuery("(prefers-color-scheme: dark)");
|
|
919
1067
|
const { theme, setTheme } = controlledTheme;
|
|
920
1068
|
const resolvedTheme = forcedTheme ?? (theme === "system" ? isDark ? "dark" : "light" : theme);
|
|
921
|
-
return /* @__PURE__ */
|
|
1069
|
+
return /* @__PURE__ */ jsx10(ThemePalette, {
|
|
922
1070
|
theme: forcedTheme ?? theme,
|
|
923
1071
|
resolvedTheme,
|
|
924
1072
|
setTheme,
|
|
@@ -927,18 +1075,18 @@ function ControlledThemeProvider({
|
|
|
927
1075
|
}
|
|
928
1076
|
function ThemeProvider2(props) {
|
|
929
1077
|
if (props.controlledTheme)
|
|
930
|
-
return /* @__PURE__ */
|
|
1078
|
+
return /* @__PURE__ */ jsx10(ControlledThemeProvider, {
|
|
931
1079
|
...props,
|
|
932
1080
|
controlledTheme: props.controlledTheme
|
|
933
1081
|
});
|
|
934
|
-
return /* @__PURE__ */
|
|
1082
|
+
return /* @__PURE__ */ jsx10(StoredThemeProvider, {
|
|
935
1083
|
...props
|
|
936
1084
|
});
|
|
937
1085
|
}
|
|
938
1086
|
// src/components/AspectRatio.tsx
|
|
939
|
-
import { jsx as
|
|
1087
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
940
1088
|
function AspectRatio2({ ratio, className, style, ...props }) {
|
|
941
|
-
return /* @__PURE__ */
|
|
1089
|
+
return /* @__PURE__ */ jsx11("div", {
|
|
942
1090
|
"data-slot": "aspect-ratio",
|
|
943
1091
|
className: cn2("relative", className),
|
|
944
1092
|
style: { aspectRatio: ratio, ...style },
|
|
@@ -949,9 +1097,9 @@ function AspectRatio2({ ratio, className, style, ...props }) {
|
|
|
949
1097
|
import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
|
|
950
1098
|
import { mergeProps as mergeProps3 } from "@base-ui/react/merge-props";
|
|
951
1099
|
import { useRender as useRender3 } from "@base-ui/react/use-render";
|
|
952
|
-
import { jsx as
|
|
1100
|
+
import { jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
953
1101
|
function Breadcrumb2({ density, className, ...props }) {
|
|
954
|
-
return /* @__PURE__ */
|
|
1102
|
+
return /* @__PURE__ */ jsx12("nav", {
|
|
955
1103
|
"aria-label": "breadcrumb",
|
|
956
1104
|
"data-density": density,
|
|
957
1105
|
"data-slot": "breadcrumb",
|
|
@@ -960,7 +1108,7 @@ function Breadcrumb2({ density, className, ...props }) {
|
|
|
960
1108
|
});
|
|
961
1109
|
}
|
|
962
1110
|
function BreadcrumbList2({ density, className, ...props }) {
|
|
963
|
-
return /* @__PURE__ */
|
|
1111
|
+
return /* @__PURE__ */ jsx12("ol", {
|
|
964
1112
|
"data-density": density,
|
|
965
1113
|
"data-slot": "breadcrumb-list",
|
|
966
1114
|
className: cn2("flex flex-wrap items-center gap-control-gap text-sm wrap-break-word text-muted-foreground", className),
|
|
@@ -968,19 +1116,20 @@ function BreadcrumbList2({ density, className, ...props }) {
|
|
|
968
1116
|
});
|
|
969
1117
|
}
|
|
970
1118
|
function BreadcrumbItem2({ density, className, ...props }) {
|
|
971
|
-
return /* @__PURE__ */
|
|
1119
|
+
return /* @__PURE__ */ jsx12("li", {
|
|
972
1120
|
"data-density": density,
|
|
973
1121
|
"data-slot": "breadcrumb-item",
|
|
974
1122
|
className: cn2("inline-flex items-center gap-1", className),
|
|
975
1123
|
...props
|
|
976
1124
|
});
|
|
977
1125
|
}
|
|
978
|
-
function BreadcrumbLink2({ density, className, render, ...props }) {
|
|
1126
|
+
function BreadcrumbLink2({ analytics, density, className, render, ...props }) {
|
|
1127
|
+
const onClick = useAnalyticsCallback("BreadcrumbLink", analytics, { name: "ui.activate" }, props.onClick);
|
|
979
1128
|
return useRender3({
|
|
980
1129
|
defaultTagName: "a",
|
|
981
1130
|
props: mergeProps3({
|
|
982
1131
|
className: cn2("transition-colors hover:text-foreground", className)
|
|
983
|
-
}, props),
|
|
1132
|
+
}, { ...props, onClick }),
|
|
984
1133
|
render,
|
|
985
1134
|
state: {
|
|
986
1135
|
density,
|
|
@@ -989,7 +1138,7 @@ function BreadcrumbLink2({ density, className, render, ...props }) {
|
|
|
989
1138
|
});
|
|
990
1139
|
}
|
|
991
1140
|
function BreadcrumbPage2({ density, className, ...props }) {
|
|
992
|
-
return /* @__PURE__ */
|
|
1141
|
+
return /* @__PURE__ */ jsx12("span", {
|
|
993
1142
|
"data-density": density,
|
|
994
1143
|
"data-slot": "breadcrumb-page",
|
|
995
1144
|
role: "link",
|
|
@@ -1000,20 +1149,20 @@ function BreadcrumbPage2({ density, className, ...props }) {
|
|
|
1000
1149
|
});
|
|
1001
1150
|
}
|
|
1002
1151
|
function BreadcrumbSeparator2({ density, children, className, ...props }) {
|
|
1003
|
-
return /* @__PURE__ */
|
|
1152
|
+
return /* @__PURE__ */ jsx12("li", {
|
|
1004
1153
|
"data-density": density,
|
|
1005
1154
|
"data-slot": "breadcrumb-separator",
|
|
1006
1155
|
role: "presentation",
|
|
1007
1156
|
"aria-hidden": "true",
|
|
1008
1157
|
className: cn2("[&>svg]:size-3.5", className),
|
|
1009
1158
|
...props,
|
|
1010
|
-
children: children ?? /* @__PURE__ */
|
|
1159
|
+
children: children ?? /* @__PURE__ */ jsx12(ChevronRightIcon, {
|
|
1011
1160
|
className: "rtl:rotate-180"
|
|
1012
1161
|
})
|
|
1013
1162
|
});
|
|
1014
1163
|
}
|
|
1015
1164
|
function BreadcrumbEllipsis2({ density, className, ...props }) {
|
|
1016
|
-
return /* @__PURE__ */
|
|
1165
|
+
return /* @__PURE__ */ jsxs8("span", {
|
|
1017
1166
|
"data-density": density,
|
|
1018
1167
|
"data-slot": "breadcrumb-ellipsis",
|
|
1019
1168
|
role: "presentation",
|
|
@@ -1021,8 +1170,8 @@ function BreadcrumbEllipsis2({ density, className, ...props }) {
|
|
|
1021
1170
|
className: cn2("flex size-5 items-center justify-center [&>svg]:size-4", className),
|
|
1022
1171
|
...props,
|
|
1023
1172
|
children: [
|
|
1024
|
-
/* @__PURE__ */
|
|
1025
|
-
/* @__PURE__ */
|
|
1173
|
+
/* @__PURE__ */ jsx12(MoreHorizontalIcon, {}),
|
|
1174
|
+
/* @__PURE__ */ jsx12("span", {
|
|
1026
1175
|
className: "sr-only",
|
|
1027
1176
|
children: "More"
|
|
1028
1177
|
})
|
|
@@ -1033,7 +1182,7 @@ function BreadcrumbEllipsis2({ density, className, ...props }) {
|
|
|
1033
1182
|
import { mergeProps as mergeProps4 } from "@base-ui/react/merge-props";
|
|
1034
1183
|
import { useRender as useRender4 } from "@base-ui/react/use-render";
|
|
1035
1184
|
import { cva } from "class-variance-authority";
|
|
1036
|
-
import { jsx as
|
|
1185
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
1037
1186
|
var buttonGroupVariants2 = cva("flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-sm [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
|
|
1038
1187
|
variants: {
|
|
1039
1188
|
layout: {
|
|
@@ -1056,7 +1205,7 @@ function ButtonGroup2({
|
|
|
1056
1205
|
layout = "content",
|
|
1057
1206
|
...props
|
|
1058
1207
|
}) {
|
|
1059
|
-
return /* @__PURE__ */
|
|
1208
|
+
return /* @__PURE__ */ jsx13("div", {
|
|
1060
1209
|
role: "group",
|
|
1061
1210
|
"data-density": density,
|
|
1062
1211
|
"data-slot": "button-group",
|
|
@@ -1084,7 +1233,7 @@ function ButtonGroupSeparator2({
|
|
|
1084
1233
|
orientation = "vertical",
|
|
1085
1234
|
...props
|
|
1086
1235
|
}) {
|
|
1087
|
-
return /* @__PURE__ */
|
|
1236
|
+
return /* @__PURE__ */ jsx13(Separator2, {
|
|
1088
1237
|
"data-density": density,
|
|
1089
1238
|
"data-slot": "button-group-separator",
|
|
1090
1239
|
orientation,
|
|
@@ -1096,9 +1245,9 @@ function ButtonGroupSeparator2({
|
|
|
1096
1245
|
import { mergeProps as mergeProps5 } from "@base-ui/react/merge-props";
|
|
1097
1246
|
import { useRender as useRender5 } from "@base-ui/react/use-render";
|
|
1098
1247
|
import { cva as cva2 } from "class-variance-authority";
|
|
1099
|
-
import { jsx as
|
|
1248
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
1100
1249
|
function ItemGroup2({ density, className, ...props }) {
|
|
1101
|
-
return /* @__PURE__ */
|
|
1250
|
+
return /* @__PURE__ */ jsx14("div", {
|
|
1102
1251
|
role: "list",
|
|
1103
1252
|
"data-density": density,
|
|
1104
1253
|
"data-slot": "item-group",
|
|
@@ -1107,7 +1256,7 @@ function ItemGroup2({ density, className, ...props }) {
|
|
|
1107
1256
|
});
|
|
1108
1257
|
}
|
|
1109
1258
|
function ItemSeparator2({ density, className, ...props }) {
|
|
1110
|
-
return /* @__PURE__ */
|
|
1259
|
+
return /* @__PURE__ */ jsx14(Separator2, {
|
|
1111
1260
|
"data-density": density,
|
|
1112
1261
|
"data-slot": "item-separator",
|
|
1113
1262
|
orientation: "horizontal",
|
|
@@ -1168,7 +1317,7 @@ var itemMediaVariants = cva2("flex shrink-0 items-center justify-center gap-2 gr
|
|
|
1168
1317
|
}
|
|
1169
1318
|
});
|
|
1170
1319
|
function ItemMedia2({ density, className, variant = "default", ...props }) {
|
|
1171
|
-
return /* @__PURE__ */
|
|
1320
|
+
return /* @__PURE__ */ jsx14("div", {
|
|
1172
1321
|
"data-density": density,
|
|
1173
1322
|
"data-slot": "item-media",
|
|
1174
1323
|
"data-variant": variant,
|
|
@@ -1177,7 +1326,7 @@ function ItemMedia2({ density, className, variant = "default", ...props }) {
|
|
|
1177
1326
|
});
|
|
1178
1327
|
}
|
|
1179
1328
|
function ItemContent2({ density, className, ...props }) {
|
|
1180
|
-
return /* @__PURE__ */
|
|
1329
|
+
return /* @__PURE__ */ jsx14("div", {
|
|
1181
1330
|
"data-density": density,
|
|
1182
1331
|
"data-slot": "item-content",
|
|
1183
1332
|
className: cn2("flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none", className),
|
|
@@ -1185,7 +1334,7 @@ function ItemContent2({ density, className, ...props }) {
|
|
|
1185
1334
|
});
|
|
1186
1335
|
}
|
|
1187
1336
|
function ItemTitle2({ density, className, ...props }) {
|
|
1188
|
-
return /* @__PURE__ */
|
|
1337
|
+
return /* @__PURE__ */ jsx14("div", {
|
|
1189
1338
|
"data-density": density,
|
|
1190
1339
|
"data-slot": "item-title",
|
|
1191
1340
|
className: cn2("line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4", className),
|
|
@@ -1193,7 +1342,7 @@ function ItemTitle2({ density, className, ...props }) {
|
|
|
1193
1342
|
});
|
|
1194
1343
|
}
|
|
1195
1344
|
function ItemDescription2({ density, className, ...props }) {
|
|
1196
|
-
return /* @__PURE__ */
|
|
1345
|
+
return /* @__PURE__ */ jsx14("p", {
|
|
1197
1346
|
"data-density": density,
|
|
1198
1347
|
"data-slot": "item-description",
|
|
1199
1348
|
className: cn2("line-clamp-2 text-start text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className),
|
|
@@ -1201,7 +1350,7 @@ function ItemDescription2({ density, className, ...props }) {
|
|
|
1201
1350
|
});
|
|
1202
1351
|
}
|
|
1203
1352
|
function ItemActions2({ density, className, ...props }) {
|
|
1204
|
-
return /* @__PURE__ */
|
|
1353
|
+
return /* @__PURE__ */ jsx14("div", {
|
|
1205
1354
|
"data-density": density,
|
|
1206
1355
|
"data-slot": "item-actions",
|
|
1207
1356
|
className: cn2("flex items-center gap-2", className),
|
|
@@ -1209,7 +1358,7 @@ function ItemActions2({ density, className, ...props }) {
|
|
|
1209
1358
|
});
|
|
1210
1359
|
}
|
|
1211
1360
|
function ItemHeader2({ density, className, ...props }) {
|
|
1212
|
-
return /* @__PURE__ */
|
|
1361
|
+
return /* @__PURE__ */ jsx14("div", {
|
|
1213
1362
|
"data-density": density,
|
|
1214
1363
|
"data-slot": "item-header",
|
|
1215
1364
|
className: cn2("flex basis-full items-center justify-between gap-2", className),
|
|
@@ -1217,7 +1366,7 @@ function ItemHeader2({ density, className, ...props }) {
|
|
|
1217
1366
|
});
|
|
1218
1367
|
}
|
|
1219
1368
|
function ItemFooter2({ density, className, ...props }) {
|
|
1220
|
-
return /* @__PURE__ */
|
|
1369
|
+
return /* @__PURE__ */ jsx14("div", {
|
|
1221
1370
|
"data-density": density,
|
|
1222
1371
|
"data-slot": "item-footer",
|
|
1223
1372
|
className: cn2("flex basis-full items-center justify-between gap-2", className),
|
|
@@ -1226,9 +1375,9 @@ function ItemFooter2({ density, className, ...props }) {
|
|
|
1226
1375
|
}
|
|
1227
1376
|
// src/components/Pagination.tsx
|
|
1228
1377
|
import { ChevronLeftIcon, ChevronRightIcon as ChevronRightIcon2, MoreHorizontalIcon as MoreHorizontalIcon2 } from "lucide-react";
|
|
1229
|
-
import { jsx as
|
|
1378
|
+
import { jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1230
1379
|
function Pagination2({ density, className, ...props }) {
|
|
1231
|
-
return /* @__PURE__ */
|
|
1380
|
+
return /* @__PURE__ */ jsx15("nav", {
|
|
1232
1381
|
role: "navigation",
|
|
1233
1382
|
"aria-label": "pagination",
|
|
1234
1383
|
"data-density": density,
|
|
@@ -1238,7 +1387,7 @@ function Pagination2({ density, className, ...props }) {
|
|
|
1238
1387
|
});
|
|
1239
1388
|
}
|
|
1240
1389
|
function PaginationContent2({ density, className, ...props }) {
|
|
1241
|
-
return /* @__PURE__ */
|
|
1390
|
+
return /* @__PURE__ */ jsx15("ul", {
|
|
1242
1391
|
"data-density": density,
|
|
1243
1392
|
"data-slot": "pagination-content",
|
|
1244
1393
|
className: cn2("flex items-center gap-0.5", className),
|
|
@@ -1246,19 +1395,22 @@ function PaginationContent2({ density, className, ...props }) {
|
|
|
1246
1395
|
});
|
|
1247
1396
|
}
|
|
1248
1397
|
function PaginationItem2({ ...props }) {
|
|
1249
|
-
return /* @__PURE__ */
|
|
1398
|
+
return /* @__PURE__ */ jsx15("li", {
|
|
1250
1399
|
"data-slot": "pagination-item",
|
|
1251
1400
|
...props
|
|
1252
1401
|
});
|
|
1253
1402
|
}
|
|
1254
1403
|
function PaginationLink2({
|
|
1404
|
+
analytics,
|
|
1255
1405
|
density,
|
|
1256
1406
|
className,
|
|
1257
1407
|
isActive,
|
|
1258
1408
|
size = "icon",
|
|
1259
1409
|
...props
|
|
1260
1410
|
}) {
|
|
1261
|
-
return /* @__PURE__ */
|
|
1411
|
+
return /* @__PURE__ */ jsx15(AnalyticsLink, {
|
|
1412
|
+
component: "PaginationLink",
|
|
1413
|
+
analytics,
|
|
1262
1414
|
"data-density": density,
|
|
1263
1415
|
className: cn2(buttonVariants2({ variant: isActive ? "outline" : "ghost", size }), className),
|
|
1264
1416
|
"aria-current": isActive ? "page" : undefined,
|
|
@@ -1273,18 +1425,18 @@ function PaginationPrevious2({
|
|
|
1273
1425
|
text = "Previous",
|
|
1274
1426
|
...props
|
|
1275
1427
|
}) {
|
|
1276
|
-
return /* @__PURE__ */
|
|
1428
|
+
return /* @__PURE__ */ jsxs9(PaginationLink2, {
|
|
1277
1429
|
density,
|
|
1278
1430
|
"aria-label": "Go to previous page",
|
|
1279
1431
|
size: "default",
|
|
1280
1432
|
className: cn2("ps-1.5!", className),
|
|
1281
1433
|
...props,
|
|
1282
1434
|
children: [
|
|
1283
|
-
/* @__PURE__ */
|
|
1435
|
+
/* @__PURE__ */ jsx15(ChevronLeftIcon, {
|
|
1284
1436
|
"data-icon": "inline-start",
|
|
1285
1437
|
className: "rtl:rotate-180"
|
|
1286
1438
|
}),
|
|
1287
|
-
/* @__PURE__ */
|
|
1439
|
+
/* @__PURE__ */ jsx15("span", {
|
|
1288
1440
|
className: "hidden sm:block",
|
|
1289
1441
|
children: text
|
|
1290
1442
|
})
|
|
@@ -1292,18 +1444,18 @@ function PaginationPrevious2({
|
|
|
1292
1444
|
});
|
|
1293
1445
|
}
|
|
1294
1446
|
function PaginationNext2({ density, className, text = "Next", ...props }) {
|
|
1295
|
-
return /* @__PURE__ */
|
|
1447
|
+
return /* @__PURE__ */ jsxs9(PaginationLink2, {
|
|
1296
1448
|
density,
|
|
1297
1449
|
"aria-label": "Go to next page",
|
|
1298
1450
|
size: "default",
|
|
1299
1451
|
className: cn2("pe-1.5!", className),
|
|
1300
1452
|
...props,
|
|
1301
1453
|
children: [
|
|
1302
|
-
/* @__PURE__ */
|
|
1454
|
+
/* @__PURE__ */ jsx15("span", {
|
|
1303
1455
|
className: "hidden sm:block",
|
|
1304
1456
|
children: text
|
|
1305
1457
|
}),
|
|
1306
|
-
/* @__PURE__ */
|
|
1458
|
+
/* @__PURE__ */ jsx15(ChevronRightIcon2, {
|
|
1307
1459
|
"data-icon": "inline-end",
|
|
1308
1460
|
className: "rtl:rotate-180"
|
|
1309
1461
|
})
|
|
@@ -1311,15 +1463,15 @@ function PaginationNext2({ density, className, text = "Next", ...props }) {
|
|
|
1311
1463
|
});
|
|
1312
1464
|
}
|
|
1313
1465
|
function PaginationEllipsis2({ density, className, ...props }) {
|
|
1314
|
-
return /* @__PURE__ */
|
|
1466
|
+
return /* @__PURE__ */ jsxs9("span", {
|
|
1315
1467
|
"aria-hidden": true,
|
|
1316
1468
|
"data-density": density,
|
|
1317
1469
|
"data-slot": "pagination-ellipsis",
|
|
1318
1470
|
className: cn2("flex size-control items-center justify-center [&_svg:not([class*='size-'])]:size-4", className),
|
|
1319
1471
|
...props,
|
|
1320
1472
|
children: [
|
|
1321
|
-
/* @__PURE__ */
|
|
1322
|
-
/* @__PURE__ */
|
|
1473
|
+
/* @__PURE__ */ jsx15(MoreHorizontalIcon2, {}),
|
|
1474
|
+
/* @__PURE__ */ jsx15("span", {
|
|
1323
1475
|
className: "sr-only",
|
|
1324
1476
|
children: "More pages"
|
|
1325
1477
|
})
|
|
@@ -1345,29 +1497,32 @@ function useDrawer() {
|
|
|
1345
1497
|
|
|
1346
1498
|
// src/components/Drawer.tsx
|
|
1347
1499
|
import { Drawer as DrawerPrimitive } from "@base-ui/react/drawer";
|
|
1348
|
-
import { jsx as
|
|
1500
|
+
import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1349
1501
|
function Drawer2({
|
|
1502
|
+
analytics,
|
|
1350
1503
|
modal = true,
|
|
1351
1504
|
showSwipeHandle = false,
|
|
1352
1505
|
snapPoints,
|
|
1353
1506
|
swipeDirection = "down",
|
|
1354
1507
|
...props
|
|
1355
1508
|
}) {
|
|
1509
|
+
const trackedOnOpenChange = useAnalyticsCallback("Drawer", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
|
|
1356
1510
|
const hasSnapPoints = snapPoints != null && snapPoints.length > 0;
|
|
1357
1511
|
const contextValue = useMemo2(() => ({ hasSnapPoints, modal, showSwipeHandle, swipeDirection }), [hasSnapPoints, modal, showSwipeHandle, swipeDirection]);
|
|
1358
|
-
return /* @__PURE__ */
|
|
1512
|
+
return /* @__PURE__ */ jsx16(DrawerContext.Provider, {
|
|
1359
1513
|
value: contextValue,
|
|
1360
|
-
children: /* @__PURE__ */
|
|
1514
|
+
children: /* @__PURE__ */ jsx16(DrawerPrimitive.Root, {
|
|
1361
1515
|
"data-slot": "drawer",
|
|
1362
1516
|
modal,
|
|
1363
1517
|
snapPoints,
|
|
1364
1518
|
swipeDirection,
|
|
1365
|
-
...props
|
|
1519
|
+
...props,
|
|
1520
|
+
onOpenChange: trackedOnOpenChange
|
|
1366
1521
|
})
|
|
1367
1522
|
});
|
|
1368
1523
|
}
|
|
1369
1524
|
function DrawerTrigger2({ ...props }) {
|
|
1370
|
-
return /* @__PURE__ */
|
|
1525
|
+
return /* @__PURE__ */ jsx16(DrawerPrimitive.Trigger, {
|
|
1371
1526
|
"data-slot": "drawer-trigger",
|
|
1372
1527
|
...props
|
|
1373
1528
|
});
|
|
@@ -1375,26 +1530,26 @@ function DrawerTrigger2({ ...props }) {
|
|
|
1375
1530
|
function DrawerPortal2({ container, ref, children, ...props }) {
|
|
1376
1531
|
const resolvedContainer = usePortalContainer2(container);
|
|
1377
1532
|
const portal = usePortalNode(ref);
|
|
1378
|
-
return /* @__PURE__ */
|
|
1533
|
+
return /* @__PURE__ */ jsx16(DrawerPrimitive.Portal, {
|
|
1379
1534
|
"data-slot": "drawer-portal",
|
|
1380
1535
|
container: resolvedContainer,
|
|
1381
1536
|
ref: portal.ref,
|
|
1382
1537
|
...props,
|
|
1383
|
-
children: /* @__PURE__ */
|
|
1538
|
+
children: /* @__PURE__ */ jsx16(PortalProvider2, {
|
|
1384
1539
|
container: portal.node,
|
|
1385
1540
|
children
|
|
1386
1541
|
})
|
|
1387
1542
|
});
|
|
1388
1543
|
}
|
|
1389
1544
|
function DrawerClose2({ ...props }) {
|
|
1390
|
-
return /* @__PURE__ */
|
|
1545
|
+
return /* @__PURE__ */ jsx16(DrawerPrimitive.Close, {
|
|
1391
1546
|
"data-slot": "drawer-close",
|
|
1392
1547
|
...props
|
|
1393
1548
|
});
|
|
1394
1549
|
}
|
|
1395
1550
|
function DrawerOverlay2({ density, className, ...props }) {
|
|
1396
1551
|
const resolvedDensity = useDensity(density);
|
|
1397
|
-
return /* @__PURE__ */
|
|
1552
|
+
return /* @__PURE__ */ jsx16(DrawerPrimitive.Backdrop, {
|
|
1398
1553
|
"data-density": resolvedDensity,
|
|
1399
1554
|
"data-slot": "drawer-overlay",
|
|
1400
1555
|
className: (state) => cn2("fixed inset-0 min-h-dvh bg-backdrop opacity-[max(var(--drawer-overlay-min-opacity,0),calc(1-var(--drawer-swipe-progress)))] transition-opacity duration-450 ease-[cubic-bezier(0.32,0.72,0,1)] select-none data-ending-style:pointer-events-none data-ending-style:opacity-0 data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-snap-points:[--drawer-overlay-min-opacity:0.5] data-starting-style:opacity-0 data-swiping:duration-0 supports-[-webkit-touch-callout:none]:absolute", typeof className === "function" ? className(state) : className),
|
|
@@ -1402,7 +1557,7 @@ function DrawerOverlay2({ density, className, ...props }) {
|
|
|
1402
1557
|
});
|
|
1403
1558
|
}
|
|
1404
1559
|
function DrawerSwipeHandle2({ density, className, ...props }) {
|
|
1405
|
-
return /* @__PURE__ */
|
|
1560
|
+
return /* @__PURE__ */ jsx16("div", {
|
|
1406
1561
|
"data-density": density,
|
|
1407
1562
|
"data-slot": "drawer-swipe-handle",
|
|
1408
1563
|
"aria-hidden": "true",
|
|
@@ -1415,18 +1570,18 @@ function DrawerContent2({ density, className, children, ...props }) {
|
|
|
1415
1570
|
const direction = useDirection2();
|
|
1416
1571
|
const { hasSnapPoints, modal, showSwipeHandle, swipeDirection } = useDrawer();
|
|
1417
1572
|
const swipeAxis = swipeDirection === "down" || swipeDirection === "up" ? "y" : "x";
|
|
1418
|
-
return /* @__PURE__ */
|
|
1573
|
+
return /* @__PURE__ */ jsxs10(DrawerPortal2, {
|
|
1419
1574
|
"data-slot": "drawer-portal",
|
|
1420
1575
|
children: [
|
|
1421
|
-
modal === true && /* @__PURE__ */
|
|
1576
|
+
modal === true && /* @__PURE__ */ jsx16(DrawerOverlay2, {
|
|
1422
1577
|
"data-snap-points": hasSnapPoints ? "" : undefined
|
|
1423
1578
|
}),
|
|
1424
|
-
/* @__PURE__ */
|
|
1579
|
+
/* @__PURE__ */ jsx16(DrawerPrimitive.Viewport, {
|
|
1425
1580
|
dir: direction,
|
|
1426
1581
|
"data-slot": "drawer-viewport",
|
|
1427
1582
|
"data-modal": modal,
|
|
1428
1583
|
className: "pointer-events-none fixed inset-0 select-none data-[modal=true]:pointer-events-auto",
|
|
1429
|
-
children: /* @__PURE__ */
|
|
1584
|
+
children: /* @__PURE__ */ jsxs10(DrawerPrimitive.Popup, {
|
|
1430
1585
|
"data-density": resolvedDensity,
|
|
1431
1586
|
"data-slot": "drawer-popup",
|
|
1432
1587
|
"data-scroll": "none",
|
|
@@ -1435,8 +1590,8 @@ function DrawerContent2({ density, className, children, ...props }) {
|
|
|
1435
1590
|
className: (state) => cn2("group/drawer-popup pointer-events-auto fixed m-(--drawer-inset,0px) flex h-(--drawer-content-height) max-h-(--drawer-content-max-height,none) min-h-0 w-(--drawer-content-width,auto) transform-[translate3d(var(--translate-x,0px),var(--translate-y,0px),0)] flex-col border border-frame-edge shadow-frame bg-popover text-sm text-popover-foreground transition-[transform,height,opacity,filter] duration-450 ease-[cubic-bezier(0.22,1,0.36,1)] will-change-transform outline-none select-none [interpolate-size:allow-keywords] data-[swipe-direction=down]:rounded-t-md data-[swipe-direction=down]:border-t data-[swipe-direction=left]:rounded-r-md data-[swipe-direction=left]:border-r data-[swipe-direction=right]:rounded-l-md data-[swipe-direction=right]:border-l data-[swipe-direction=up]:rounded-b-md data-[swipe-direction=up]:border-b", "data-nested-drawer-open:overflow-hidden data-nested-drawer-open:brightness-95", "after:pointer-events-none after:absolute after:bg-(--drawer-bleed-background,var(--color-popover)) data-[swipe-axis=x]:after:inset-y-0 data-[swipe-axis=x]:after:w-(--bleed) data-[swipe-axis=y]:after:inset-x-0 data-[swipe-axis=y]:after:h-(--bleed) data-[swipe-direction=down]:after:top-full data-[swipe-direction=left]:after:right-full data-[swipe-direction=right]:after:left-full data-[swipe-direction=up]:after:bottom-full", "[--drawer-content-height:var(--drawer-height,auto)] data-[swipe-axis=x]:[--drawer-content-width:75%] data-[swipe-axis=y]:[--drawer-content-max-height:calc(100dvh-6rem)] data-[swipe-axis=y]:data-snap-points:[--drawer-content-height:100dvh] data-[swipe-axis=x]:sm:[--drawer-content-width:24rem]", "[--bleed:3rem] [--peek:1rem] [--stack-height:var(--drawer-frontmost-height,var(--drawer-height,0px))] [--stack-peek-offset:max(0px,calc((var(--nested-drawers)-var(--stack-progress))*var(--peek)))] [--stack-progress:clamp(0,var(--drawer-swipe-progress),1)] [--stack-shrink:0]", "data-ending-style:transform-(--closed-transform) data-ending-style:opacity-[0.9999] data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-nested-drawer-swiping:duration-0 data-ending-style:data-nested-drawer-swiping:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-starting-style:transform-(--closed-transform) data-swiping:duration-0 data-ending-style:data-swiping:duration-[calc(var(--drawer-swipe-strength)*400ms)]", "data-[swipe-axis=y]:inset-x-0 data-[swipe-axis=y]:data-nested-drawer-open:h-(--stack-height)", "data-[swipe-axis=x]:inset-y-0 data-[swipe-axis=x]:flex-row", "data-[swipe-direction=down]:bottom-0 data-[swipe-direction=down]:origin-bottom data-[swipe-direction=down]:[--closed-transform:translate3d(0,calc(100%+var(--drawer-inset,0px)+2px),0)] data-[swipe-direction=down]:[--translate-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y)-var(--stack-peek-offset)-(var(--stack-shrink)*var(--stack-height)))]", "data-[swipe-direction=up]:top-0 data-[swipe-direction=up]:origin-top data-[swipe-direction=up]:[--closed-transform:translate3d(0,calc(-100%-var(--drawer-inset,0px)-2px),0)] data-[swipe-direction=up]:[--translate-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y)+var(--stack-peek-offset)+(var(--stack-shrink)*var(--stack-height)))]", "data-[swipe-direction=left]:left-0 data-[swipe-direction=left]:origin-left data-[swipe-direction=left]:[--closed-transform:translate3d(calc(-100%-var(--drawer-inset,0px)-2px),0,0)] data-[swipe-direction=left]:[--translate-x:calc(var(--drawer-swipe-movement-x)+var(--stack-peek-offset)+(var(--stack-shrink)*100%))]", "data-[swipe-direction=right]:right-0 data-[swipe-direction=right]:origin-right data-[swipe-direction=right]:[--closed-transform:translate3d(calc(100%+var(--drawer-inset,0px)+2px),0,0)] data-[swipe-direction=right]:[--translate-x:calc(var(--drawer-swipe-movement-x)-var(--stack-peek-offset)-(var(--stack-shrink)*100%))]", typeof className === "function" ? className(state) : className),
|
|
1436
1591
|
...props,
|
|
1437
1592
|
children: [
|
|
1438
|
-
showSwipeHandle && /* @__PURE__ */
|
|
1439
|
-
/* @__PURE__ */
|
|
1593
|
+
showSwipeHandle && /* @__PURE__ */ jsx16(DrawerSwipeHandle2, {}),
|
|
1594
|
+
/* @__PURE__ */ jsx16(DrawerPrimitive.Content, {
|
|
1440
1595
|
"data-slot": "drawer-content",
|
|
1441
1596
|
"data-scroll": "none",
|
|
1442
1597
|
className: "flex min-h-0 flex-1 flex-col overflow-hidden overscroll-contain rounded-[inherit] transition-opacity duration-300 ease-out select-text group-data-nested-drawer-open/drawer-popup:opacity-0 group-data-nested-drawer-swiping/drawer-popup:opacity-100 group-data-swiping/drawer-popup:select-none",
|
|
@@ -1449,7 +1604,7 @@ function DrawerContent2({ density, className, children, ...props }) {
|
|
|
1449
1604
|
});
|
|
1450
1605
|
}
|
|
1451
1606
|
function DrawerHeader2({ density, className, ...props }) {
|
|
1452
|
-
return /* @__PURE__ */
|
|
1607
|
+
return /* @__PURE__ */ jsx16("div", {
|
|
1453
1608
|
"data-density": density,
|
|
1454
1609
|
"data-slot": "drawer-header",
|
|
1455
1610
|
className: cn2("flex shrink-0 flex-col gap-0.5 p-panel pb-0 group-data-[swipe-axis=y]/drawer-popup:text-center md:gap-0.5 md:text-start md:group-data-[swipe-axis=y]/drawer-popup:text-start", className),
|
|
@@ -1457,7 +1612,7 @@ function DrawerHeader2({ density, className, ...props }) {
|
|
|
1457
1612
|
});
|
|
1458
1613
|
}
|
|
1459
1614
|
function DrawerFooter2({ density, className, ...props }) {
|
|
1460
|
-
return /* @__PURE__ */
|
|
1615
|
+
return /* @__PURE__ */ jsx16("div", {
|
|
1461
1616
|
"data-density": density,
|
|
1462
1617
|
"data-slot": "drawer-footer",
|
|
1463
1618
|
className: cn2("mt-auto flex shrink-0 flex-col gap-2 p-panel pt-0", className),
|
|
@@ -1465,7 +1620,7 @@ function DrawerFooter2({ density, className, ...props }) {
|
|
|
1465
1620
|
});
|
|
1466
1621
|
}
|
|
1467
1622
|
function DrawerTitle2({ density, className, ...props }) {
|
|
1468
|
-
return /* @__PURE__ */
|
|
1623
|
+
return /* @__PURE__ */ jsx16(DrawerPrimitive.Title, {
|
|
1469
1624
|
"data-density": density,
|
|
1470
1625
|
"data-slot": "drawer-title",
|
|
1471
1626
|
className: (state) => cn2(" text-base font-medium text-foreground", typeof className === "function" ? className(state) : className),
|
|
@@ -1473,7 +1628,7 @@ function DrawerTitle2({ density, className, ...props }) {
|
|
|
1473
1628
|
});
|
|
1474
1629
|
}
|
|
1475
1630
|
function DrawerDescription2({ density, className, ...props }) {
|
|
1476
|
-
return /* @__PURE__ */
|
|
1631
|
+
return /* @__PURE__ */ jsx16(DrawerPrimitive.Description, {
|
|
1477
1632
|
"data-density": density,
|
|
1478
1633
|
"data-slot": "drawer-description",
|
|
1479
1634
|
className: (state) => cn2("text-sm text-balance text-muted-foreground", typeof className === "function" ? className(state) : className),
|
|
@@ -1484,29 +1639,31 @@ function DrawerDescription2({ density, className, ...props }) {
|
|
|
1484
1639
|
import { ChevronRightIcon as ChevronRightIcon3, CheckIcon as CheckIcon2 } from "lucide-react";
|
|
1485
1640
|
import { useDirection as useDirection4 } from "@base-ui/react/direction-provider";
|
|
1486
1641
|
import { ContextMenu as ContextMenuPrimitive } from "@base-ui/react/context-menu";
|
|
1487
|
-
import { jsx as
|
|
1488
|
-
function ContextMenu2({ ...props }) {
|
|
1489
|
-
|
|
1642
|
+
import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1643
|
+
function ContextMenu2({ analytics, ...props }) {
|
|
1644
|
+
const trackedOnOpenChange = useAnalyticsCallback("ContextMenu", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
|
|
1645
|
+
return /* @__PURE__ */ jsx17(ContextMenuPrimitive.Root, {
|
|
1490
1646
|
"data-slot": "context-menu",
|
|
1491
|
-
...props
|
|
1647
|
+
...props,
|
|
1648
|
+
onOpenChange: trackedOnOpenChange
|
|
1492
1649
|
});
|
|
1493
1650
|
}
|
|
1494
1651
|
function ContextMenuPortal2({ container, ref, children, ...props }) {
|
|
1495
1652
|
const resolvedContainer = usePortalContainer2(container);
|
|
1496
1653
|
const portal = usePortalNode(ref);
|
|
1497
|
-
return /* @__PURE__ */
|
|
1654
|
+
return /* @__PURE__ */ jsx17(ContextMenuPrimitive.Portal, {
|
|
1498
1655
|
"data-slot": "context-menu-portal",
|
|
1499
1656
|
container: resolvedContainer,
|
|
1500
1657
|
ref: portal.ref,
|
|
1501
1658
|
...props,
|
|
1502
|
-
children: /* @__PURE__ */
|
|
1659
|
+
children: /* @__PURE__ */ jsx17(PortalProvider2, {
|
|
1503
1660
|
container: portal.node,
|
|
1504
1661
|
children
|
|
1505
1662
|
})
|
|
1506
1663
|
});
|
|
1507
1664
|
}
|
|
1508
1665
|
function ContextMenuTrigger2({ density, className, ...props }) {
|
|
1509
|
-
return /* @__PURE__ */
|
|
1666
|
+
return /* @__PURE__ */ jsx17(ContextMenuPrimitive.Trigger, {
|
|
1510
1667
|
"data-density": density,
|
|
1511
1668
|
"data-slot": "context-menu-trigger",
|
|
1512
1669
|
className: (state) => cn2("select-none", typeof className === "function" ? className(state) : className),
|
|
@@ -1524,15 +1681,15 @@ function ContextMenuContent2({
|
|
|
1524
1681
|
}) {
|
|
1525
1682
|
const resolvedDensity = useDensity(density);
|
|
1526
1683
|
const direction = useDirection4();
|
|
1527
|
-
return /* @__PURE__ */
|
|
1528
|
-
children: /* @__PURE__ */
|
|
1684
|
+
return /* @__PURE__ */ jsx17(ContextMenuPortal2, {
|
|
1685
|
+
children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.Positioner, {
|
|
1529
1686
|
dir: direction,
|
|
1530
1687
|
className: "isolate outline-none",
|
|
1531
1688
|
align,
|
|
1532
1689
|
alignOffset,
|
|
1533
1690
|
side,
|
|
1534
1691
|
sideOffset,
|
|
1535
|
-
children: /* @__PURE__ */
|
|
1692
|
+
children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.Popup, {
|
|
1536
1693
|
dir: direction,
|
|
1537
1694
|
"data-density": resolvedDensity,
|
|
1538
1695
|
"data-slot": "context-menu-content",
|
|
@@ -1543,13 +1700,13 @@ function ContextMenuContent2({
|
|
|
1543
1700
|
});
|
|
1544
1701
|
}
|
|
1545
1702
|
function ContextMenuGroup2({ ...props }) {
|
|
1546
|
-
return /* @__PURE__ */
|
|
1703
|
+
return /* @__PURE__ */ jsx17(ContextMenuPrimitive.Group, {
|
|
1547
1704
|
"data-slot": "context-menu-group",
|
|
1548
1705
|
...props
|
|
1549
1706
|
});
|
|
1550
1707
|
}
|
|
1551
1708
|
function ContextMenuLabel2({ density, className, inset, ...props }) {
|
|
1552
|
-
return /* @__PURE__ */
|
|
1709
|
+
return /* @__PURE__ */ jsx17(ContextMenuPrimitive.GroupLabel, {
|
|
1553
1710
|
"data-density": density,
|
|
1554
1711
|
"data-slot": "context-menu-label",
|
|
1555
1712
|
"data-inset": inset,
|
|
@@ -1557,24 +1714,38 @@ function ContextMenuLabel2({ density, className, inset, ...props }) {
|
|
|
1557
1714
|
...props
|
|
1558
1715
|
});
|
|
1559
1716
|
}
|
|
1560
|
-
function ContextMenuItem2({
|
|
1561
|
-
|
|
1717
|
+
function ContextMenuItem2({
|
|
1718
|
+
analytics,
|
|
1719
|
+
density,
|
|
1720
|
+
className,
|
|
1721
|
+
inset,
|
|
1722
|
+
variant = "default",
|
|
1723
|
+
...props
|
|
1724
|
+
}) {
|
|
1725
|
+
const trackedOnClick = useAnalyticsCallback("ContextMenuItem", analytics, { name: "ui.activate" }, props.onClick);
|
|
1726
|
+
return /* @__PURE__ */ jsx17(ContextMenuPrimitive.Item, {
|
|
1562
1727
|
"data-density": density,
|
|
1563
1728
|
"data-slot": "context-menu-item",
|
|
1564
1729
|
"data-inset": inset,
|
|
1565
1730
|
"data-variant": variant,
|
|
1566
1731
|
className: (state) => cn2("group/context-menu-item relative flex cursor-default items-center gap-control-gap rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive", typeof className === "function" ? className(state) : className),
|
|
1567
|
-
...props
|
|
1732
|
+
...props,
|
|
1733
|
+
onClick: trackedOnClick
|
|
1568
1734
|
});
|
|
1569
1735
|
}
|
|
1570
|
-
function ContextMenuSub2({
|
|
1571
|
-
|
|
1736
|
+
function ContextMenuSub2({
|
|
1737
|
+
analytics,
|
|
1738
|
+
...props
|
|
1739
|
+
}) {
|
|
1740
|
+
const trackedOnOpenChange = useAnalyticsCallback("ContextMenuSub", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
|
|
1741
|
+
return /* @__PURE__ */ jsx17(ContextMenuPrimitive.SubmenuRoot, {
|
|
1572
1742
|
"data-slot": "context-menu-sub",
|
|
1573
|
-
...props
|
|
1743
|
+
...props,
|
|
1744
|
+
onOpenChange: trackedOnOpenChange
|
|
1574
1745
|
});
|
|
1575
1746
|
}
|
|
1576
1747
|
function ContextMenuSubTrigger2({ density, className, inset, children, ...props }) {
|
|
1577
|
-
return /* @__PURE__ */
|
|
1748
|
+
return /* @__PURE__ */ jsxs11(ContextMenuPrimitive.SubmenuTrigger, {
|
|
1578
1749
|
"data-density": density,
|
|
1579
1750
|
"data-slot": "context-menu-sub-trigger",
|
|
1580
1751
|
"data-inset": inset,
|
|
@@ -1582,14 +1753,14 @@ function ContextMenuSubTrigger2({ density, className, inset, children, ...props
|
|
|
1582
1753
|
...props,
|
|
1583
1754
|
children: [
|
|
1584
1755
|
children,
|
|
1585
|
-
/* @__PURE__ */
|
|
1756
|
+
/* @__PURE__ */ jsx17(ChevronRightIcon3, {
|
|
1586
1757
|
className: "rtl:rotate-180 ms-auto"
|
|
1587
1758
|
})
|
|
1588
1759
|
]
|
|
1589
1760
|
});
|
|
1590
1761
|
}
|
|
1591
1762
|
function ContextMenuSubContent2({ ...props }) {
|
|
1592
|
-
return /* @__PURE__ */
|
|
1763
|
+
return /* @__PURE__ */ jsx17(ContextMenuContent2, {
|
|
1593
1764
|
"data-slot": "context-menu-sub-content",
|
|
1594
1765
|
className: " shadow-frame border border-frame-edge",
|
|
1595
1766
|
side: "inline-end",
|
|
@@ -1597,6 +1768,7 @@ function ContextMenuSubContent2({ ...props }) {
|
|
|
1597
1768
|
});
|
|
1598
1769
|
}
|
|
1599
1770
|
function ContextMenuCheckboxItem2({
|
|
1771
|
+
analytics,
|
|
1600
1772
|
density,
|
|
1601
1773
|
className,
|
|
1602
1774
|
children,
|
|
@@ -1604,42 +1776,49 @@ function ContextMenuCheckboxItem2({
|
|
|
1604
1776
|
inset,
|
|
1605
1777
|
...props
|
|
1606
1778
|
}) {
|
|
1607
|
-
|
|
1779
|
+
const trackedOnCheckedChange = useAnalyticsCallback("ContextMenuCheckboxItem", analytics, { name: "ui.change-request" }, props.onCheckedChange);
|
|
1780
|
+
return /* @__PURE__ */ jsxs11(ContextMenuPrimitive.CheckboxItem, {
|
|
1608
1781
|
"data-density": density,
|
|
1609
1782
|
"data-slot": "context-menu-checkbox-item",
|
|
1610
1783
|
"data-inset": inset,
|
|
1611
1784
|
className: (state) => cn2("relative flex cursor-default items-center gap-control-gap rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
|
|
1612
1785
|
checked,
|
|
1613
1786
|
...props,
|
|
1787
|
+
onCheckedChange: trackedOnCheckedChange,
|
|
1614
1788
|
children: [
|
|
1615
|
-
/* @__PURE__ */
|
|
1789
|
+
/* @__PURE__ */ jsx17("span", {
|
|
1616
1790
|
className: "pointer-events-none absolute end-2",
|
|
1617
|
-
children: /* @__PURE__ */
|
|
1618
|
-
children: /* @__PURE__ */
|
|
1791
|
+
children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.CheckboxItemIndicator, {
|
|
1792
|
+
children: /* @__PURE__ */ jsx17(CheckIcon2, {})
|
|
1619
1793
|
})
|
|
1620
1794
|
}),
|
|
1621
1795
|
children
|
|
1622
1796
|
]
|
|
1623
1797
|
});
|
|
1624
1798
|
}
|
|
1625
|
-
function ContextMenuRadioGroup2({
|
|
1626
|
-
|
|
1799
|
+
function ContextMenuRadioGroup2({
|
|
1800
|
+
analytics,
|
|
1801
|
+
...props
|
|
1802
|
+
}) {
|
|
1803
|
+
const trackedOnValueChange = useAnalyticsCallback("ContextMenuRadioGroup", analytics, { name: "ui.change-request" }, props.onValueChange);
|
|
1804
|
+
return /* @__PURE__ */ jsx17(ContextMenuPrimitive.RadioGroup, {
|
|
1627
1805
|
"data-slot": "context-menu-radio-group",
|
|
1628
|
-
...props
|
|
1806
|
+
...props,
|
|
1807
|
+
onValueChange: trackedOnValueChange
|
|
1629
1808
|
});
|
|
1630
1809
|
}
|
|
1631
1810
|
function ContextMenuRadioItem2({ density, className, children, inset, ...props }) {
|
|
1632
|
-
return /* @__PURE__ */
|
|
1811
|
+
return /* @__PURE__ */ jsxs11(ContextMenuPrimitive.RadioItem, {
|
|
1633
1812
|
"data-density": density,
|
|
1634
1813
|
"data-slot": "context-menu-radio-item",
|
|
1635
1814
|
"data-inset": inset,
|
|
1636
1815
|
className: (state) => cn2("relative flex cursor-default items-center gap-control-gap rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
|
|
1637
1816
|
...props,
|
|
1638
1817
|
children: [
|
|
1639
|
-
/* @__PURE__ */
|
|
1818
|
+
/* @__PURE__ */ jsx17("span", {
|
|
1640
1819
|
className: "pointer-events-none absolute end-2",
|
|
1641
|
-
children: /* @__PURE__ */
|
|
1642
|
-
children: /* @__PURE__ */
|
|
1820
|
+
children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.RadioItemIndicator, {
|
|
1821
|
+
children: /* @__PURE__ */ jsx17(CheckIcon2, {})
|
|
1643
1822
|
})
|
|
1644
1823
|
}),
|
|
1645
1824
|
children
|
|
@@ -1647,7 +1826,7 @@ function ContextMenuRadioItem2({ density, className, children, inset, ...props }
|
|
|
1647
1826
|
});
|
|
1648
1827
|
}
|
|
1649
1828
|
function ContextMenuSeparator2({ density, className, ...props }) {
|
|
1650
|
-
return /* @__PURE__ */
|
|
1829
|
+
return /* @__PURE__ */ jsx17(ContextMenuPrimitive.Separator, {
|
|
1651
1830
|
"data-density": density,
|
|
1652
1831
|
"data-slot": "context-menu-separator",
|
|
1653
1832
|
className: (state) => cn2("-mx-1 my-1 h-px bg-border", typeof className === "function" ? className(state) : className),
|
|
@@ -1655,7 +1834,7 @@ function ContextMenuSeparator2({ density, className, ...props }) {
|
|
|
1655
1834
|
});
|
|
1656
1835
|
}
|
|
1657
1836
|
function ContextMenuShortcut2({ density, className, ...props }) {
|
|
1658
|
-
return /* @__PURE__ */
|
|
1837
|
+
return /* @__PURE__ */ jsx17("span", {
|
|
1659
1838
|
"data-density": density,
|
|
1660
1839
|
"data-slot": "context-menu-shortcut",
|
|
1661
1840
|
className: cn2("ms-auto text-xs tracking-widest text-muted-foreground group-focus/context-menu-item:text-accent-foreground", className),
|
|
@@ -1666,35 +1845,40 @@ function ContextMenuShortcut2({ density, className, ...props }) {
|
|
|
1666
1845
|
import { CheckIcon as CheckIcon3 } from "lucide-react";
|
|
1667
1846
|
import { Menu as MenuPrimitive } from "@base-ui/react/menu";
|
|
1668
1847
|
import { Menubar as MenubarPrimitive } from "@base-ui/react/menubar";
|
|
1669
|
-
import { jsx as
|
|
1848
|
+
import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1670
1849
|
function Menubar2({ density, className, ...props }) {
|
|
1671
|
-
return /* @__PURE__ */
|
|
1850
|
+
return /* @__PURE__ */ jsx18(MenubarPrimitive, {
|
|
1672
1851
|
"data-density": density,
|
|
1673
1852
|
"data-slot": "menubar",
|
|
1674
1853
|
className: (state) => cn2("flex h-control items-center gap-0.5 rounded-sm border p-px", typeof className === "function" ? className(state) : className),
|
|
1675
1854
|
...props
|
|
1676
1855
|
});
|
|
1677
1856
|
}
|
|
1678
|
-
function MenubarMenu2({
|
|
1679
|
-
|
|
1857
|
+
function MenubarMenu2({
|
|
1858
|
+
analytics,
|
|
1859
|
+
...props
|
|
1860
|
+
}) {
|
|
1861
|
+
const trackedOnOpenChange = useAnalyticsCallback("MenubarMenu", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
|
|
1862
|
+
return /* @__PURE__ */ jsx18(DropdownMenu2, {
|
|
1680
1863
|
"data-slot": "menubar-menu",
|
|
1681
|
-
...props
|
|
1864
|
+
...props,
|
|
1865
|
+
onOpenChange: trackedOnOpenChange
|
|
1682
1866
|
});
|
|
1683
1867
|
}
|
|
1684
1868
|
function MenubarGroup2({ ...props }) {
|
|
1685
|
-
return /* @__PURE__ */
|
|
1869
|
+
return /* @__PURE__ */ jsx18(DropdownMenuGroup2, {
|
|
1686
1870
|
"data-slot": "menubar-group",
|
|
1687
1871
|
...props
|
|
1688
1872
|
});
|
|
1689
1873
|
}
|
|
1690
1874
|
function MenubarPortal2({ ...props }) {
|
|
1691
|
-
return /* @__PURE__ */
|
|
1875
|
+
return /* @__PURE__ */ jsx18(DropdownMenuPortal2, {
|
|
1692
1876
|
"data-slot": "menubar-portal",
|
|
1693
1877
|
...props
|
|
1694
1878
|
});
|
|
1695
1879
|
}
|
|
1696
1880
|
function MenubarTrigger2({ density, className, ...props }) {
|
|
1697
|
-
return /* @__PURE__ */
|
|
1881
|
+
return /* @__PURE__ */ jsx18(DropdownMenuTrigger2, {
|
|
1698
1882
|
"data-density": density,
|
|
1699
1883
|
"data-slot": "menubar-trigger",
|
|
1700
1884
|
className: (state) => cn2("flex h-full items-center rounded-sm px-control-x text-sm leading-none font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted", typeof className === "function" ? className(state) : className),
|
|
@@ -1709,7 +1893,7 @@ function MenubarContent2({
|
|
|
1709
1893
|
sideOffset = 8,
|
|
1710
1894
|
...props
|
|
1711
1895
|
}) {
|
|
1712
|
-
return /* @__PURE__ */
|
|
1896
|
+
return /* @__PURE__ */ jsx18(DropdownMenuContent2, {
|
|
1713
1897
|
density,
|
|
1714
1898
|
"data-slot": "menubar-content",
|
|
1715
1899
|
align,
|
|
@@ -1719,17 +1903,27 @@ function MenubarContent2({
|
|
|
1719
1903
|
...props
|
|
1720
1904
|
});
|
|
1721
1905
|
}
|
|
1722
|
-
function MenubarItem2({
|
|
1723
|
-
|
|
1906
|
+
function MenubarItem2({
|
|
1907
|
+
analytics,
|
|
1908
|
+
density,
|
|
1909
|
+
className,
|
|
1910
|
+
inset,
|
|
1911
|
+
variant = "default",
|
|
1912
|
+
...props
|
|
1913
|
+
}) {
|
|
1914
|
+
const trackedOnClick = useAnalyticsCallback("MenubarItem", analytics, { name: "ui.activate" }, props.onClick);
|
|
1915
|
+
return /* @__PURE__ */ jsx18(DropdownMenuItem2, {
|
|
1724
1916
|
density,
|
|
1725
1917
|
"data-slot": "menubar-item",
|
|
1726
1918
|
inset,
|
|
1727
1919
|
variant,
|
|
1728
1920
|
className: (state) => cn2("group/menubar-item gap-control-gap rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive!", typeof className === "function" ? className(state) : className),
|
|
1729
|
-
...props
|
|
1921
|
+
...props,
|
|
1922
|
+
onClick: trackedOnClick
|
|
1730
1923
|
});
|
|
1731
1924
|
}
|
|
1732
1925
|
function MenubarCheckboxItem2({
|
|
1926
|
+
analytics,
|
|
1733
1927
|
density,
|
|
1734
1928
|
className,
|
|
1735
1929
|
children,
|
|
@@ -1737,18 +1931,20 @@ function MenubarCheckboxItem2({
|
|
|
1737
1931
|
inset,
|
|
1738
1932
|
...props
|
|
1739
1933
|
}) {
|
|
1740
|
-
|
|
1934
|
+
const trackedOnCheckedChange = useAnalyticsCallback("MenubarCheckboxItem", analytics, { name: "ui.change-request" }, props.onCheckedChange);
|
|
1935
|
+
return /* @__PURE__ */ jsxs12(MenuPrimitive.CheckboxItem, {
|
|
1741
1936
|
"data-density": density,
|
|
1742
1937
|
"data-slot": "menubar-checkbox-item",
|
|
1743
1938
|
"data-inset": inset,
|
|
1744
1939
|
className: (state) => cn2("relative flex cursor-default items-center gap-control-gap rounded-md py-1 pe-1.5 ps-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", typeof className === "function" ? className(state) : className),
|
|
1745
1940
|
checked,
|
|
1746
1941
|
...props,
|
|
1942
|
+
onCheckedChange: trackedOnCheckedChange,
|
|
1747
1943
|
children: [
|
|
1748
|
-
/* @__PURE__ */
|
|
1944
|
+
/* @__PURE__ */ jsx18("span", {
|
|
1749
1945
|
className: "pointer-events-none absolute start-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
|
|
1750
|
-
children: /* @__PURE__ */
|
|
1751
|
-
children: /* @__PURE__ */
|
|
1946
|
+
children: /* @__PURE__ */ jsx18(MenuPrimitive.CheckboxItemIndicator, {
|
|
1947
|
+
children: /* @__PURE__ */ jsx18(CheckIcon3, {})
|
|
1752
1948
|
})
|
|
1753
1949
|
}),
|
|
1754
1950
|
children
|
|
@@ -1756,23 +1952,23 @@ function MenubarCheckboxItem2({
|
|
|
1756
1952
|
});
|
|
1757
1953
|
}
|
|
1758
1954
|
function MenubarRadioGroup2({ ...props }) {
|
|
1759
|
-
return /* @__PURE__ */
|
|
1955
|
+
return /* @__PURE__ */ jsx18(DropdownMenuRadioGroup2, {
|
|
1760
1956
|
"data-slot": "menubar-radio-group",
|
|
1761
1957
|
...props
|
|
1762
1958
|
});
|
|
1763
1959
|
}
|
|
1764
1960
|
function MenubarRadioItem2({ density, className, children, inset, ...props }) {
|
|
1765
|
-
return /* @__PURE__ */
|
|
1961
|
+
return /* @__PURE__ */ jsxs12(MenuPrimitive.RadioItem, {
|
|
1766
1962
|
"data-density": density,
|
|
1767
1963
|
"data-slot": "menubar-radio-item",
|
|
1768
1964
|
"data-inset": inset,
|
|
1769
1965
|
className: (state) => cn2("relative flex cursor-default items-center gap-control-gap rounded-md py-1 pe-1.5 ps-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
|
|
1770
1966
|
...props,
|
|
1771
1967
|
children: [
|
|
1772
|
-
/* @__PURE__ */
|
|
1968
|
+
/* @__PURE__ */ jsx18("span", {
|
|
1773
1969
|
className: "pointer-events-none absolute start-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
|
|
1774
|
-
children: /* @__PURE__ */
|
|
1775
|
-
children: /* @__PURE__ */
|
|
1970
|
+
children: /* @__PURE__ */ jsx18(MenuPrimitive.RadioItemIndicator, {
|
|
1971
|
+
children: /* @__PURE__ */ jsx18(CheckIcon3, {})
|
|
1776
1972
|
})
|
|
1777
1973
|
}),
|
|
1778
1974
|
children
|
|
@@ -1780,7 +1976,7 @@ function MenubarRadioItem2({ density, className, children, inset, ...props }) {
|
|
|
1780
1976
|
});
|
|
1781
1977
|
}
|
|
1782
1978
|
function MenubarLabel2({ density, className, inset, ...props }) {
|
|
1783
|
-
return /* @__PURE__ */
|
|
1979
|
+
return /* @__PURE__ */ jsx18(DropdownMenuLabel2, {
|
|
1784
1980
|
density,
|
|
1785
1981
|
"data-slot": "menubar-label",
|
|
1786
1982
|
inset,
|
|
@@ -1789,7 +1985,7 @@ function MenubarLabel2({ density, className, inset, ...props }) {
|
|
|
1789
1985
|
});
|
|
1790
1986
|
}
|
|
1791
1987
|
function MenubarSeparator2({ density, className, ...props }) {
|
|
1792
|
-
return /* @__PURE__ */
|
|
1988
|
+
return /* @__PURE__ */ jsx18(DropdownMenuSeparator2, {
|
|
1793
1989
|
density,
|
|
1794
1990
|
"data-slot": "menubar-separator",
|
|
1795
1991
|
className: (state) => cn2("-mx-1 my-1 h-px bg-border", typeof className === "function" ? className(state) : className),
|
|
@@ -1797,7 +1993,7 @@ function MenubarSeparator2({ density, className, ...props }) {
|
|
|
1797
1993
|
});
|
|
1798
1994
|
}
|
|
1799
1995
|
function MenubarShortcut2({ density, className, ...props }) {
|
|
1800
|
-
return /* @__PURE__ */
|
|
1996
|
+
return /* @__PURE__ */ jsx18(DropdownMenuShortcut2, {
|
|
1801
1997
|
"data-density": density,
|
|
1802
1998
|
"data-slot": "menubar-shortcut",
|
|
1803
1999
|
className: cn2("ms-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground", className),
|
|
@@ -1805,13 +2001,13 @@ function MenubarShortcut2({ density, className, ...props }) {
|
|
|
1805
2001
|
});
|
|
1806
2002
|
}
|
|
1807
2003
|
function MenubarSub2({ ...props }) {
|
|
1808
|
-
return /* @__PURE__ */
|
|
2004
|
+
return /* @__PURE__ */ jsx18(DropdownMenuSub2, {
|
|
1809
2005
|
"data-slot": "menubar-sub",
|
|
1810
2006
|
...props
|
|
1811
2007
|
});
|
|
1812
2008
|
}
|
|
1813
2009
|
function MenubarSubTrigger2({ density, className, inset, ...props }) {
|
|
1814
|
-
return /* @__PURE__ */
|
|
2010
|
+
return /* @__PURE__ */ jsx18(DropdownMenuSubTrigger2, {
|
|
1815
2011
|
density,
|
|
1816
2012
|
"data-slot": "menubar-sub-trigger",
|
|
1817
2013
|
inset,
|
|
@@ -1820,7 +2016,7 @@ function MenubarSubTrigger2({ density, className, inset, ...props }) {
|
|
|
1820
2016
|
});
|
|
1821
2017
|
}
|
|
1822
2018
|
function MenubarSubContent2({ density, className, ...props }) {
|
|
1823
|
-
return /* @__PURE__ */
|
|
2019
|
+
return /* @__PURE__ */ jsx18(DropdownMenuSubContent2, {
|
|
1824
2020
|
density,
|
|
1825
2021
|
"data-slot": "menubar-sub-content",
|
|
1826
2022
|
className: (state) => cn2(" min-w-32 rounded-sm bg-popover p-1 text-popover-foreground shadow-frame border border-frame-edge border border-frame-edge shadow-frame duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 ", typeof className === "function" ? className(state) : className),
|
|
@@ -1831,23 +2027,26 @@ function MenubarSubContent2({ density, className, ...props }) {
|
|
|
1831
2027
|
import { ChevronDownIcon as ChevronDownIcon3 } from "lucide-react";
|
|
1832
2028
|
import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react/navigation-menu";
|
|
1833
2029
|
import { cva as cva3 } from "class-variance-authority";
|
|
1834
|
-
import { jsx as
|
|
2030
|
+
import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1835
2031
|
function NavigationMenu2({
|
|
2032
|
+
analytics,
|
|
1836
2033
|
density,
|
|
1837
2034
|
align = "start",
|
|
1838
2035
|
className,
|
|
1839
2036
|
children,
|
|
1840
2037
|
...props
|
|
1841
2038
|
}) {
|
|
2039
|
+
const trackedOnValueChange = useAnalyticsCallback("NavigationMenu", analytics, { name: "ui.change-request" }, props.onValueChange);
|
|
1842
2040
|
const resolvedDensity = useDensity(density);
|
|
1843
|
-
return /* @__PURE__ */
|
|
2041
|
+
return /* @__PURE__ */ jsxs13(NavigationMenuPrimitive.Root, {
|
|
1844
2042
|
"data-density": resolvedDensity,
|
|
1845
2043
|
"data-slot": "navigation-menu",
|
|
1846
2044
|
className: (state) => cn2("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", typeof className === "function" ? className(state) : className),
|
|
1847
2045
|
...props,
|
|
2046
|
+
onValueChange: trackedOnValueChange,
|
|
1848
2047
|
children: [
|
|
1849
2048
|
children,
|
|
1850
|
-
/* @__PURE__ */
|
|
2049
|
+
/* @__PURE__ */ jsx19(NavigationMenuPositioner2, {
|
|
1851
2050
|
density: resolvedDensity,
|
|
1852
2051
|
align
|
|
1853
2052
|
})
|
|
@@ -1855,7 +2054,7 @@ function NavigationMenu2({
|
|
|
1855
2054
|
});
|
|
1856
2055
|
}
|
|
1857
2056
|
function NavigationMenuList2({ density, className, ...props }) {
|
|
1858
|
-
return /* @__PURE__ */
|
|
2057
|
+
return /* @__PURE__ */ jsx19(NavigationMenuPrimitive.List, {
|
|
1859
2058
|
"data-density": density,
|
|
1860
2059
|
"data-slot": "navigation-menu-list",
|
|
1861
2060
|
className: (state) => cn2("group flex flex-1 list-none items-center justify-center gap-0", typeof className === "function" ? className(state) : className),
|
|
@@ -1863,7 +2062,7 @@ function NavigationMenuList2({ density, className, ...props }) {
|
|
|
1863
2062
|
});
|
|
1864
2063
|
}
|
|
1865
2064
|
function NavigationMenuItem2({ density, className, ...props }) {
|
|
1866
|
-
return /* @__PURE__ */
|
|
2065
|
+
return /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Item, {
|
|
1867
2066
|
"data-density": density,
|
|
1868
2067
|
"data-slot": "navigation-menu-item",
|
|
1869
2068
|
className: (state) => cn2("relative", typeof className === "function" ? className(state) : className),
|
|
@@ -1872,7 +2071,7 @@ function NavigationMenuItem2({ density, className, ...props }) {
|
|
|
1872
2071
|
}
|
|
1873
2072
|
var navigationMenuTriggerStyle2 = cva3("group/navigation-menu-trigger inline-flex h-control-lg w-max items-center justify-center rounded-sm px-control-x py-1.5 text-sm font-medium transition-colors outline-none hover:bg-muted focus:bg-muted focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted");
|
|
1874
2073
|
function NavigationMenuTrigger2({ density, className, children, ...props }) {
|
|
1875
|
-
return /* @__PURE__ */
|
|
2074
|
+
return /* @__PURE__ */ jsxs13(NavigationMenuPrimitive.Trigger, {
|
|
1876
2075
|
"data-density": density,
|
|
1877
2076
|
"data-slot": "navigation-menu-trigger",
|
|
1878
2077
|
className: (state) => cn2(navigationMenuTriggerStyle2(), "group", typeof className === "function" ? className(state) : className),
|
|
@@ -1880,12 +2079,12 @@ function NavigationMenuTrigger2({ density, className, children, ...props }) {
|
|
|
1880
2079
|
children: [
|
|
1881
2080
|
children,
|
|
1882
2081
|
" ",
|
|
1883
|
-
/* @__PURE__ */
|
|
2082
|
+
/* @__PURE__ */ jsx19(NavigationMenuIndicator2, {})
|
|
1884
2083
|
]
|
|
1885
2084
|
});
|
|
1886
2085
|
}
|
|
1887
2086
|
function NavigationMenuContent2({ density, className, ...props }) {
|
|
1888
|
-
return /* @__PURE__ */
|
|
2087
|
+
return /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Content, {
|
|
1889
2088
|
"data-density": density,
|
|
1890
2089
|
"data-slot": "navigation-menu-content",
|
|
1891
2090
|
className: (state) => cn2("data-ending-style:data-activation-direction=left:translate-x-[50%] data-ending-style:data-activation-direction=right:translate-x-[-50%] data-starting-style:data-activation-direction=left:translate-x-[-50%] data-starting-style:data-activation-direction=right:translate-x-[50%] h-full w-auto p-1 transition-[opacity,transform,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-ending-style:opacity-0 data-starting-style:opacity-0 ", typeof className === "function" ? className(state) : className),
|
|
@@ -1905,12 +2104,12 @@ function NavigationMenuPositioner2({
|
|
|
1905
2104
|
const direction = useDirection2();
|
|
1906
2105
|
const container = usePortalContainer2();
|
|
1907
2106
|
const portal = usePortalNode();
|
|
1908
|
-
return /* @__PURE__ */
|
|
2107
|
+
return /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Portal, {
|
|
1909
2108
|
container,
|
|
1910
2109
|
ref: portal.ref,
|
|
1911
|
-
children: /* @__PURE__ */
|
|
2110
|
+
children: /* @__PURE__ */ jsx19(PortalProvider2, {
|
|
1912
2111
|
container: portal.node,
|
|
1913
|
-
children: /* @__PURE__ */
|
|
2112
|
+
children: /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Positioner, {
|
|
1914
2113
|
dir: direction,
|
|
1915
2114
|
side,
|
|
1916
2115
|
sideOffset,
|
|
@@ -1918,11 +2117,11 @@ function NavigationMenuPositioner2({
|
|
|
1918
2117
|
alignOffset,
|
|
1919
2118
|
className: (state) => cn2("isolate h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0", typeof className === "function" ? className(state) : className),
|
|
1920
2119
|
...props,
|
|
1921
|
-
children: /* @__PURE__ */
|
|
2120
|
+
children: /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Popup, {
|
|
1922
2121
|
"data-density": resolvedDensity,
|
|
1923
2122
|
"data-slot": "navigation-menu-popup",
|
|
1924
2123
|
className: "data-[ending-style]:easing-[ease] xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded-sm bg-popover text-popover-foreground border border-frame-edge shadow-frame transition-[opacity,transform,width,height,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:opacity-0",
|
|
1925
|
-
children: /* @__PURE__ */
|
|
2124
|
+
children: /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Viewport, {
|
|
1926
2125
|
className: "relative size-full overflow-hidden"
|
|
1927
2126
|
})
|
|
1928
2127
|
})
|
|
@@ -1930,12 +2129,14 @@ function NavigationMenuPositioner2({
|
|
|
1930
2129
|
})
|
|
1931
2130
|
});
|
|
1932
2131
|
}
|
|
1933
|
-
function NavigationMenuLink2({ density, className, ...props }) {
|
|
1934
|
-
|
|
2132
|
+
function NavigationMenuLink2({ analytics, density, className, ...props }) {
|
|
2133
|
+
const trackedOnClick = useAnalyticsCallback("NavigationMenuLink", analytics, { name: "ui.activate" }, props.onClick);
|
|
2134
|
+
return /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Link, {
|
|
1935
2135
|
"data-density": density,
|
|
1936
2136
|
"data-slot": "navigation-menu-link",
|
|
1937
2137
|
className: (state) => cn2("flex items-center gap-2 rounded-sm p-2 text-sm transition-colors outline-none hover:bg-muted focus:bg-muted focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
|
|
1938
|
-
...props
|
|
2138
|
+
...props,
|
|
2139
|
+
onClick: trackedOnClick
|
|
1939
2140
|
});
|
|
1940
2141
|
}
|
|
1941
2142
|
function NavigationMenuIndicator2({
|
|
@@ -1944,32 +2145,32 @@ function NavigationMenuIndicator2({
|
|
|
1944
2145
|
children,
|
|
1945
2146
|
...props
|
|
1946
2147
|
}) {
|
|
1947
|
-
return /* @__PURE__ */
|
|
2148
|
+
return /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Icon, {
|
|
1948
2149
|
"data-density": density,
|
|
1949
2150
|
"data-slot": "navigation-menu-indicator",
|
|
1950
2151
|
className: (state) => cn2("ms-1 inline-flex size-3 shrink-0 items-center justify-center transition-transform duration-120 data-popup-open:rotate-180 [&_svg]:size-full", typeof className === "function" ? className(state) : className),
|
|
1951
2152
|
...props,
|
|
1952
|
-
children: children ?? /* @__PURE__ */
|
|
2153
|
+
children: children ?? /* @__PURE__ */ jsx19(ChevronDownIcon3, {})
|
|
1953
2154
|
});
|
|
1954
2155
|
}
|
|
1955
2156
|
// src/components/Toast.tsx
|
|
1956
2157
|
import { Toast as ToastPrimitive } from "@base-ui/react/toast";
|
|
1957
2158
|
import { CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon, LoaderCircleIcon, XIcon } from "lucide-react";
|
|
1958
|
-
import { jsx as
|
|
2159
|
+
import { jsx as jsx20, jsxs as jsxs14, Fragment as Fragment3 } from "react/jsx-runtime";
|
|
1959
2160
|
function ToastProvider2(props) {
|
|
1960
|
-
return /* @__PURE__ */
|
|
2161
|
+
return /* @__PURE__ */ jsx20(ToastPrimitive.Provider, {
|
|
1961
2162
|
...props
|
|
1962
2163
|
});
|
|
1963
2164
|
}
|
|
1964
2165
|
function ToastPortal2({ container, ref, children, ...props }) {
|
|
1965
2166
|
const resolvedContainer = usePortalContainer2(container);
|
|
1966
2167
|
const portal = usePortalNode(ref);
|
|
1967
|
-
return /* @__PURE__ */
|
|
2168
|
+
return /* @__PURE__ */ jsx20(ToastPrimitive.Portal, {
|
|
1968
2169
|
"data-slot": "toast-portal",
|
|
1969
2170
|
container: resolvedContainer,
|
|
1970
2171
|
ref: portal.ref,
|
|
1971
2172
|
...props,
|
|
1972
|
-
children: /* @__PURE__ */
|
|
2173
|
+
children: /* @__PURE__ */ jsx20(PortalProvider2, {
|
|
1973
2174
|
container: portal.node,
|
|
1974
2175
|
children
|
|
1975
2176
|
})
|
|
@@ -1978,7 +2179,7 @@ function ToastPortal2({ container, ref, children, ...props }) {
|
|
|
1978
2179
|
function ToastViewport2({ density, dir, className, ...props }) {
|
|
1979
2180
|
const resolvedDensity = useDensity(density);
|
|
1980
2181
|
const inheritedDirection = useDirection2();
|
|
1981
|
-
return /* @__PURE__ */
|
|
2182
|
+
return /* @__PURE__ */ jsx20(ToastPrimitive.Viewport, {
|
|
1982
2183
|
dir: dir ?? inheritedDirection,
|
|
1983
2184
|
"data-density": resolvedDensity,
|
|
1984
2185
|
"data-slot": "toast-viewport",
|
|
@@ -1987,7 +2188,7 @@ function ToastViewport2({ density, dir, className, ...props }) {
|
|
|
1987
2188
|
});
|
|
1988
2189
|
}
|
|
1989
2190
|
function Toast2({ density, className, ...props }) {
|
|
1990
|
-
return /* @__PURE__ */
|
|
2191
|
+
return /* @__PURE__ */ jsx20(ToastPrimitive.Root, {
|
|
1991
2192
|
"data-density": density,
|
|
1992
2193
|
"data-slot": "toast",
|
|
1993
2194
|
className: (state) => cn2("group/toast pointer-events-auto absolute right-0 bottom-0 w-full rounded-md border border-frame-edge bg-popover text-popover-foreground shadow-frame outline-none select-none focus-visible:ring-1 focus-visible:ring-ring [--offset-y:calc(var(--toast-offset-y)*-1-var(--toast-index)*var(--spacing-panel))] [transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--offset-y)+var(--toast-swipe-movement-y)))] transition-[transform,opacity] duration-120 ease-out data-limited:opacity-0 data-starting-style:opacity-0 data-ending-style:opacity-0 motion-reduce:transition-none", typeof className === "function" ? className(state) : className),
|
|
@@ -1995,57 +2196,63 @@ function Toast2({ density, className, ...props }) {
|
|
|
1995
2196
|
});
|
|
1996
2197
|
}
|
|
1997
2198
|
function ToastContent2({ className, ...props }) {
|
|
1998
|
-
return /* @__PURE__ */
|
|
2199
|
+
return /* @__PURE__ */ jsx20(ToastPrimitive.Content, {
|
|
1999
2200
|
"data-slot": "toast-content",
|
|
2000
2201
|
className: (state) => cn2("flex items-center gap-control-gap p-panel", typeof className === "function" ? className(state) : className),
|
|
2001
2202
|
...props
|
|
2002
2203
|
});
|
|
2003
2204
|
}
|
|
2004
2205
|
function ToastTitle2({ className, ...props }) {
|
|
2005
|
-
return /* @__PURE__ */
|
|
2206
|
+
return /* @__PURE__ */ jsx20(ToastPrimitive.Title, {
|
|
2006
2207
|
"data-slot": "toast-title",
|
|
2007
2208
|
className: (state) => cn2("text-sm font-medium", typeof className === "function" ? className(state) : className),
|
|
2008
2209
|
...props
|
|
2009
2210
|
});
|
|
2010
2211
|
}
|
|
2011
2212
|
function ToastDescription2({ className, ...props }) {
|
|
2012
|
-
return /* @__PURE__ */
|
|
2213
|
+
return /* @__PURE__ */ jsx20(ToastPrimitive.Description, {
|
|
2013
2214
|
"data-slot": "toast-description",
|
|
2014
2215
|
className: (state) => cn2("text-sm text-muted-foreground", typeof className === "function" ? className(state) : className),
|
|
2015
2216
|
...props
|
|
2016
2217
|
});
|
|
2017
2218
|
}
|
|
2018
2219
|
function ToastAction2({
|
|
2220
|
+
analytics,
|
|
2019
2221
|
className,
|
|
2020
|
-
render = /* @__PURE__ */
|
|
2222
|
+
render = /* @__PURE__ */ jsx20(Button2, {
|
|
2021
2223
|
variant: "outline",
|
|
2022
2224
|
size: "sm"
|
|
2023
2225
|
}),
|
|
2024
2226
|
...props
|
|
2025
2227
|
}) {
|
|
2026
|
-
|
|
2228
|
+
const trackedOnClick = useAnalyticsCallback("ToastAction", analytics, { name: "ui.activate" }, props.onClick);
|
|
2229
|
+
return /* @__PURE__ */ jsx20(ToastPrimitive.Action, {
|
|
2027
2230
|
"data-slot": "toast-action",
|
|
2028
2231
|
render,
|
|
2029
2232
|
className: (state) => cn2("shrink-0", typeof className === "function" ? className(state) : className),
|
|
2030
|
-
...props
|
|
2233
|
+
...props,
|
|
2234
|
+
onClick: trackedOnClick
|
|
2031
2235
|
});
|
|
2032
2236
|
}
|
|
2033
2237
|
function ToastClose2({
|
|
2238
|
+
analytics,
|
|
2034
2239
|
className,
|
|
2035
2240
|
children,
|
|
2036
|
-
render = /* @__PURE__ */
|
|
2241
|
+
render = /* @__PURE__ */ jsx20(Button2, {
|
|
2037
2242
|
variant: "ghost",
|
|
2038
2243
|
size: "icon-sm"
|
|
2039
2244
|
}),
|
|
2040
2245
|
...props
|
|
2041
2246
|
}) {
|
|
2042
|
-
|
|
2247
|
+
const trackedOnClick = useAnalyticsCallback("ToastClose", analytics, { name: "ui.activate" }, props.onClick);
|
|
2248
|
+
return /* @__PURE__ */ jsx20(ToastPrimitive.Close, {
|
|
2043
2249
|
"data-slot": "toast-close",
|
|
2044
2250
|
"aria-label": "Close toast",
|
|
2045
2251
|
render,
|
|
2046
2252
|
className: (state) => cn2("relative shrink-0 text-muted-foreground hover:text-foreground", typeof className === "function" ? className(state) : className),
|
|
2047
2253
|
...props,
|
|
2048
|
-
|
|
2254
|
+
onClick: trackedOnClick,
|
|
2255
|
+
children: children ?? /* @__PURE__ */ jsx20(XIcon, {
|
|
2049
2256
|
"aria-hidden": "true"
|
|
2050
2257
|
})
|
|
2051
2258
|
});
|
|
@@ -2053,24 +2260,24 @@ function ToastClose2({
|
|
|
2053
2260
|
function ToastIcon({ type }) {
|
|
2054
2261
|
switch (type) {
|
|
2055
2262
|
case "success":
|
|
2056
|
-
return /* @__PURE__ */
|
|
2263
|
+
return /* @__PURE__ */ jsx20(CircleCheckIcon, {
|
|
2057
2264
|
"aria-hidden": "true"
|
|
2058
2265
|
});
|
|
2059
2266
|
case "info":
|
|
2060
|
-
return /* @__PURE__ */
|
|
2267
|
+
return /* @__PURE__ */ jsx20(InfoIcon, {
|
|
2061
2268
|
"aria-hidden": "true"
|
|
2062
2269
|
});
|
|
2063
2270
|
case "warning":
|
|
2064
|
-
return /* @__PURE__ */
|
|
2271
|
+
return /* @__PURE__ */ jsx20(TriangleAlertIcon, {
|
|
2065
2272
|
"aria-hidden": "true"
|
|
2066
2273
|
});
|
|
2067
2274
|
case "error":
|
|
2068
|
-
return /* @__PURE__ */
|
|
2275
|
+
return /* @__PURE__ */ jsx20(OctagonXIcon, {
|
|
2069
2276
|
"aria-hidden": "true",
|
|
2070
2277
|
className: "text-destructive"
|
|
2071
2278
|
});
|
|
2072
2279
|
case "loading":
|
|
2073
|
-
return /* @__PURE__ */
|
|
2280
|
+
return /* @__PURE__ */ jsx20(LoaderCircleIcon, {
|
|
2074
2281
|
"aria-hidden": "true",
|
|
2075
2282
|
className: "animate-spin motion-reduce:animate-none"
|
|
2076
2283
|
});
|
|
@@ -2080,41 +2287,41 @@ function ToastIcon({ type }) {
|
|
|
2080
2287
|
}
|
|
2081
2288
|
function ToastList() {
|
|
2082
2289
|
const { toasts } = ToastPrimitive.useToastManager();
|
|
2083
|
-
return /* @__PURE__ */
|
|
2084
|
-
children: toasts.map((toastItem) => /* @__PURE__ */
|
|
2290
|
+
return /* @__PURE__ */ jsx20(Fragment3, {
|
|
2291
|
+
children: toasts.map((toastItem) => /* @__PURE__ */ jsx20(Toast2, {
|
|
2085
2292
|
toast: toastItem,
|
|
2086
|
-
children: /* @__PURE__ */
|
|
2293
|
+
children: /* @__PURE__ */ jsxs14(ToastContent2, {
|
|
2087
2294
|
children: [
|
|
2088
|
-
/* @__PURE__ */
|
|
2295
|
+
/* @__PURE__ */ jsx20("span", {
|
|
2089
2296
|
"data-slot": "toast-icon",
|
|
2090
2297
|
className: "shrink-0 empty:hidden [&_svg]:size-4",
|
|
2091
|
-
children: /* @__PURE__ */
|
|
2298
|
+
children: /* @__PURE__ */ jsx20(ToastIcon, {
|
|
2092
2299
|
type: toastItem.type
|
|
2093
2300
|
})
|
|
2094
2301
|
}),
|
|
2095
|
-
/* @__PURE__ */
|
|
2302
|
+
/* @__PURE__ */ jsxs14("div", {
|
|
2096
2303
|
className: "flex min-w-0 flex-1 flex-col gap-1",
|
|
2097
2304
|
children: [
|
|
2098
|
-
/* @__PURE__ */
|
|
2099
|
-
/* @__PURE__ */
|
|
2305
|
+
/* @__PURE__ */ jsx20(ToastTitle2, {}),
|
|
2306
|
+
/* @__PURE__ */ jsx20(ToastDescription2, {})
|
|
2100
2307
|
]
|
|
2101
2308
|
}),
|
|
2102
|
-
/* @__PURE__ */
|
|
2103
|
-
/* @__PURE__ */
|
|
2309
|
+
/* @__PURE__ */ jsx20(ToastAction2, {}),
|
|
2310
|
+
/* @__PURE__ */ jsx20(ToastClose2, {})
|
|
2104
2311
|
]
|
|
2105
2312
|
})
|
|
2106
2313
|
}, toastItem.id))
|
|
2107
2314
|
});
|
|
2108
2315
|
}
|
|
2109
2316
|
function ToastToaster2({ children, density, ...props }) {
|
|
2110
|
-
return /* @__PURE__ */
|
|
2317
|
+
return /* @__PURE__ */ jsxs14(ToastProvider2, {
|
|
2111
2318
|
...props,
|
|
2112
2319
|
children: [
|
|
2113
2320
|
children,
|
|
2114
|
-
/* @__PURE__ */
|
|
2115
|
-
children: /* @__PURE__ */
|
|
2321
|
+
/* @__PURE__ */ jsx20(ToastPortal2, {
|
|
2322
|
+
children: /* @__PURE__ */ jsx20(ToastViewport2, {
|
|
2116
2323
|
density,
|
|
2117
|
-
children: /* @__PURE__ */
|
|
2324
|
+
children: /* @__PURE__ */ jsx20(ToastList, {})
|
|
2118
2325
|
})
|
|
2119
2326
|
})
|
|
2120
2327
|
]
|
|
@@ -2130,7 +2337,7 @@ function useToastManager2() {
|
|
|
2130
2337
|
import { mergeProps as mergeProps6 } from "@base-ui/react/merge-props";
|
|
2131
2338
|
import { useRender as useRender6 } from "@base-ui/react/use-render";
|
|
2132
2339
|
import { cva as cva4 } from "class-variance-authority";
|
|
2133
|
-
import { jsx as
|
|
2340
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
2134
2341
|
var markerVariants2 = cva4("group/marker relative flex min-h-4 w-full items-center gap-control-gap text-start text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground [&:is(a,button)]:outline-none [&:is(a,button)]:focus-visible:outline-1 [&:is(a,button)]:focus-visible:outline-ring", {
|
|
2135
2342
|
variants: {
|
|
2136
2343
|
variant: {
|
|
@@ -2149,7 +2356,7 @@ function Marker2({ density, className, variant = "default", render, ...props })
|
|
|
2149
2356
|
});
|
|
2150
2357
|
}
|
|
2151
2358
|
function MarkerIcon2({ density, className, ...props }) {
|
|
2152
|
-
return /* @__PURE__ */
|
|
2359
|
+
return /* @__PURE__ */ jsx21("span", {
|
|
2153
2360
|
"data-density": density,
|
|
2154
2361
|
"data-slot": "marker-icon",
|
|
2155
2362
|
"aria-hidden": "true",
|
|
@@ -2158,7 +2365,7 @@ function MarkerIcon2({ density, className, ...props }) {
|
|
|
2158
2365
|
});
|
|
2159
2366
|
}
|
|
2160
2367
|
function MarkerContent2({ density, className, ...props }) {
|
|
2161
|
-
return /* @__PURE__ */
|
|
2368
|
+
return /* @__PURE__ */ jsx21("span", {
|
|
2162
2369
|
"data-density": density,
|
|
2163
2370
|
"data-slot": "marker-content",
|
|
2164
2371
|
className: cn2("min-w-0 wrap-break-word group-data-[variant=separator]/marker:text-center [&>a]:underline [&>a]:underline-offset-3 [&>a:hover]:text-foreground", className),
|
|
@@ -2169,9 +2376,9 @@ function MarkerContent2({ density, className, ...props }) {
|
|
|
2169
2376
|
import { mergeProps as mergeProps7 } from "@base-ui/react/merge-props";
|
|
2170
2377
|
import { useRender as useRender7 } from "@base-ui/react/use-render";
|
|
2171
2378
|
import { cva as cva5 } from "class-variance-authority";
|
|
2172
|
-
import { jsx as
|
|
2379
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
2173
2380
|
function BubbleGroup2({ density, className, ...props }) {
|
|
2174
|
-
return /* @__PURE__ */
|
|
2381
|
+
return /* @__PURE__ */ jsx22("div", {
|
|
2175
2382
|
"data-density": density,
|
|
2176
2383
|
"data-slot": "bubble-group",
|
|
2177
2384
|
className: cn2("flex min-w-0 flex-col gap-control-gap", className),
|
|
@@ -2193,7 +2400,7 @@ var bubbleVariants = cva5("group/bubble relative flex w-fit max-w-[80%] min-w-0
|
|
|
2193
2400
|
defaultVariants: { variant: "default" }
|
|
2194
2401
|
});
|
|
2195
2402
|
function Bubble2({ density, variant = "default", align = "start", className, ...props }) {
|
|
2196
|
-
return /* @__PURE__ */
|
|
2403
|
+
return /* @__PURE__ */ jsx22("div", {
|
|
2197
2404
|
"data-density": density,
|
|
2198
2405
|
"data-slot": "bubble",
|
|
2199
2406
|
"data-variant": variant,
|
|
@@ -2226,7 +2433,7 @@ function BubbleReactions2({
|
|
|
2226
2433
|
className,
|
|
2227
2434
|
...props
|
|
2228
2435
|
}) {
|
|
2229
|
-
return /* @__PURE__ */
|
|
2436
|
+
return /* @__PURE__ */ jsx22("div", {
|
|
2230
2437
|
"data-density": density,
|
|
2231
2438
|
"data-slot": "bubble-reactions",
|
|
2232
2439
|
"data-align": align,
|
|
@@ -2244,9 +2451,9 @@ import { createContext as createContext2 } from "react";
|
|
|
2244
2451
|
var MessageContext = createContext2(null);
|
|
2245
2452
|
|
|
2246
2453
|
// src/components/Message.tsx
|
|
2247
|
-
import { jsx as
|
|
2454
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
2248
2455
|
function MessageGroup2({ density, className, ...props }) {
|
|
2249
|
-
return /* @__PURE__ */
|
|
2456
|
+
return /* @__PURE__ */ jsx23("div", {
|
|
2250
2457
|
"data-density": density,
|
|
2251
2458
|
"data-slot": "message-group",
|
|
2252
2459
|
className: cn2("flex min-w-0 flex-col gap-control-gap", className),
|
|
@@ -2257,9 +2464,9 @@ function Message2({ density, className, align = "start", style, ...props }) {
|
|
|
2257
2464
|
const [footerOffset, setFooterOffset] = useState(0);
|
|
2258
2465
|
const context = useMemo3(() => ({ setFooterOffset }), []);
|
|
2259
2466
|
const messageStyle = { ...style, "--message-footer-offset": `${footerOffset}px` };
|
|
2260
|
-
return /* @__PURE__ */
|
|
2467
|
+
return /* @__PURE__ */ jsx23(MessageContext.Provider, {
|
|
2261
2468
|
value: context,
|
|
2262
|
-
children: /* @__PURE__ */
|
|
2469
|
+
children: /* @__PURE__ */ jsx23("div", {
|
|
2263
2470
|
"data-density": density,
|
|
2264
2471
|
"data-slot": "message",
|
|
2265
2472
|
"data-align": align,
|
|
@@ -2270,7 +2477,7 @@ function Message2({ density, className, align = "start", style, ...props }) {
|
|
|
2270
2477
|
});
|
|
2271
2478
|
}
|
|
2272
2479
|
function MessageAvatar2({ density, className, ...props }) {
|
|
2273
|
-
return /* @__PURE__ */
|
|
2480
|
+
return /* @__PURE__ */ jsx23("div", {
|
|
2274
2481
|
"data-density": density,
|
|
2275
2482
|
"data-slot": "message-avatar",
|
|
2276
2483
|
className: cn2("flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-(--message-footer-offset)", className),
|
|
@@ -2278,7 +2485,7 @@ function MessageAvatar2({ density, className, ...props }) {
|
|
|
2278
2485
|
});
|
|
2279
2486
|
}
|
|
2280
2487
|
function MessageContent2({ density, className, ...props }) {
|
|
2281
|
-
return /* @__PURE__ */
|
|
2488
|
+
return /* @__PURE__ */ jsx23("div", {
|
|
2282
2489
|
"data-density": density,
|
|
2283
2490
|
"data-slot": "message-content",
|
|
2284
2491
|
className: cn2("flex w-full min-w-0 flex-col gap-control-gap wrap-break-word group-data-[align=end]/message:[&>[data-slot]:not([data-slot=message-header])]:self-end", className),
|
|
@@ -2286,7 +2493,7 @@ function MessageContent2({ density, className, ...props }) {
|
|
|
2286
2493
|
});
|
|
2287
2494
|
}
|
|
2288
2495
|
function MessageHeader2({ density, className, ...props }) {
|
|
2289
|
-
return /* @__PURE__ */
|
|
2496
|
+
return /* @__PURE__ */ jsx23("div", {
|
|
2290
2497
|
"data-density": density,
|
|
2291
2498
|
"data-slot": "message-header",
|
|
2292
2499
|
className: cn2("flex max-w-full min-w-0 items-center px-control-x text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0", className),
|
|
@@ -2328,7 +2535,7 @@ function MessageFooter2({ density, className, ...props }) {
|
|
|
2328
2535
|
import { mergeProps as mergeProps8 } from "@base-ui/react/merge-props";
|
|
2329
2536
|
import { useRender as useRender9 } from "@base-ui/react/use-render";
|
|
2330
2537
|
import { cva as cva6 } from "class-variance-authority";
|
|
2331
|
-
import { jsx as
|
|
2538
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
2332
2539
|
var attachmentVariants = cva6("group/attachment relative flex w-fit max-w-full min-w-0 shrink-0 flex-wrap rounded-md border bg-card text-card-foreground transition-colors motion-reduce:transition-none focus-within:ring-1 focus-within:ring-ring has-[>a,>button]:hover:bg-muted/50 data-[state=error]:border-destructive data-[state=idle]:border-dashed", {
|
|
2333
2540
|
variants: {
|
|
2334
2541
|
size: {
|
|
@@ -2350,7 +2557,7 @@ function Attachment2({
|
|
|
2350
2557
|
orientation = "horizontal",
|
|
2351
2558
|
...props
|
|
2352
2559
|
}) {
|
|
2353
|
-
return /* @__PURE__ */
|
|
2560
|
+
return /* @__PURE__ */ jsx24("div", {
|
|
2354
2561
|
"data-slot": "attachment",
|
|
2355
2562
|
"data-density": density,
|
|
2356
2563
|
"data-state": state,
|
|
@@ -2370,7 +2577,7 @@ var attachmentMediaVariants = cva6("relative flex aspect-square w-10 shrink-0 it
|
|
|
2370
2577
|
defaultVariants: { variant: "icon" }
|
|
2371
2578
|
});
|
|
2372
2579
|
function AttachmentMedia2({ density, className, variant = "icon", ...props }) {
|
|
2373
|
-
return /* @__PURE__ */
|
|
2580
|
+
return /* @__PURE__ */ jsx24("div", {
|
|
2374
2581
|
"data-slot": "attachment-media",
|
|
2375
2582
|
"data-density": density,
|
|
2376
2583
|
"data-variant": variant,
|
|
@@ -2379,7 +2586,7 @@ function AttachmentMedia2({ density, className, variant = "icon", ...props }) {
|
|
|
2379
2586
|
});
|
|
2380
2587
|
}
|
|
2381
2588
|
function AttachmentContent2({ density, className, ...props }) {
|
|
2382
|
-
return /* @__PURE__ */
|
|
2589
|
+
return /* @__PURE__ */ jsx24("div", {
|
|
2383
2590
|
"data-slot": "attachment-content",
|
|
2384
2591
|
"data-density": density,
|
|
2385
2592
|
className: cn2("max-w-full min-w-0 flex-1 leading-tight group-data-[orientation=vertical]/attachment:px-1", className),
|
|
@@ -2387,7 +2594,7 @@ function AttachmentContent2({ density, className, ...props }) {
|
|
|
2387
2594
|
});
|
|
2388
2595
|
}
|
|
2389
2596
|
function AttachmentTitle2({ density, className, ...props }) {
|
|
2390
|
-
return /* @__PURE__ */
|
|
2597
|
+
return /* @__PURE__ */ jsx24("span", {
|
|
2391
2598
|
"data-slot": "attachment-title",
|
|
2392
2599
|
"data-density": density,
|
|
2393
2600
|
className: cn2("block max-w-full min-w-0 truncate font-medium group-data-[state=processing]/attachment:shimmer group-data-[state=uploading]/attachment:shimmer", className),
|
|
@@ -2395,7 +2602,7 @@ function AttachmentTitle2({ density, className, ...props }) {
|
|
|
2395
2602
|
});
|
|
2396
2603
|
}
|
|
2397
2604
|
function AttachmentDescription2({ density, className, ...props }) {
|
|
2398
|
-
return /* @__PURE__ */
|
|
2605
|
+
return /* @__PURE__ */ jsx24("span", {
|
|
2399
2606
|
"data-slot": "attachment-description",
|
|
2400
2607
|
"data-density": density,
|
|
2401
2608
|
className: cn2("mt-0.5 block max-w-full min-w-0 truncate text-xs text-muted-foreground group-data-[state=error]/attachment:text-destructive", className),
|
|
@@ -2403,7 +2610,7 @@ function AttachmentDescription2({ density, className, ...props }) {
|
|
|
2403
2610
|
});
|
|
2404
2611
|
}
|
|
2405
2612
|
function AttachmentActions2({ density, className, ...props }) {
|
|
2406
|
-
return /* @__PURE__ */
|
|
2613
|
+
return /* @__PURE__ */ jsx24("div", {
|
|
2407
2614
|
"data-slot": "attachment-actions",
|
|
2408
2615
|
"data-density": density,
|
|
2409
2616
|
className: cn2("relative z-20 flex shrink-0 items-center group-data-[orientation=vertical]/attachment:absolute group-data-[orientation=vertical]/attachment:top-3 group-data-[orientation=vertical]/attachment:end-3 group-data-[orientation=vertical]/attachment:gap-1", className),
|
|
@@ -2416,7 +2623,7 @@ function AttachmentAction2({
|
|
|
2416
2623
|
size = "icon-xs",
|
|
2417
2624
|
...props
|
|
2418
2625
|
}) {
|
|
2419
|
-
return /* @__PURE__ */
|
|
2626
|
+
return /* @__PURE__ */ jsx24(Button2, {
|
|
2420
2627
|
"data-slot": "attachment-action",
|
|
2421
2628
|
variant,
|
|
2422
2629
|
size,
|
|
@@ -2424,16 +2631,24 @@ function AttachmentAction2({
|
|
|
2424
2631
|
...props
|
|
2425
2632
|
});
|
|
2426
2633
|
}
|
|
2427
|
-
function AttachmentTrigger2({
|
|
2634
|
+
function AttachmentTrigger2({
|
|
2635
|
+
analytics,
|
|
2636
|
+
density,
|
|
2637
|
+
className,
|
|
2638
|
+
render,
|
|
2639
|
+
type,
|
|
2640
|
+
...props
|
|
2641
|
+
}) {
|
|
2642
|
+
const onClick = useAnalyticsCallback("AttachmentTrigger", analytics, { name: "ui.activate" }, props.onClick);
|
|
2428
2643
|
return useRender9({
|
|
2429
2644
|
defaultTagName: "button",
|
|
2430
|
-
props: mergeProps8({ type: render ? type : type ?? "button", className: cn2("absolute inset-0 z-10 outline-none", className) }, props),
|
|
2645
|
+
props: mergeProps8({ type: render ? type : type ?? "button", className: cn2("absolute inset-0 z-10 outline-none", className) }, { ...props, onClick }),
|
|
2431
2646
|
render,
|
|
2432
2647
|
state: { slot: "attachment-trigger", density }
|
|
2433
2648
|
});
|
|
2434
2649
|
}
|
|
2435
2650
|
function AttachmentGroup2({ density, className, ...props }) {
|
|
2436
|
-
return /* @__PURE__ */
|
|
2651
|
+
return /* @__PURE__ */ jsx24("div", {
|
|
2437
2652
|
"data-slot": "attachment-group",
|
|
2438
2653
|
"data-density": density,
|
|
2439
2654
|
className: cn2("flex min-w-0 scroll-fade-x snap-x snap-mandatory scroll-px-1 no-scrollbar gap-3 overflow-x-auto overscroll-x-contain py-1 *:data-[slot=attachment]:flex-none *:data-[slot=attachment]:snap-start", className),
|
|
@@ -2442,8 +2657,9 @@ function AttachmentGroup2({ density, className, ...props }) {
|
|
|
2442
2657
|
}
|
|
2443
2658
|
// src/components/InlineEdit.tsx
|
|
2444
2659
|
import { useEffect as useEffect2, useRef as useRef2, useState as useState2 } from "react";
|
|
2445
|
-
import { jsx as
|
|
2660
|
+
import { jsx as jsx25, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2446
2661
|
function InlineEdit2({
|
|
2662
|
+
analytics,
|
|
2447
2663
|
label,
|
|
2448
2664
|
value,
|
|
2449
2665
|
density,
|
|
@@ -2453,6 +2669,7 @@ function InlineEdit2({
|
|
|
2453
2669
|
onCommit,
|
|
2454
2670
|
onCancel
|
|
2455
2671
|
}) {
|
|
2672
|
+
const track = useAnalytics2("InlineEdit", analytics);
|
|
2456
2673
|
const input = useRef2(null);
|
|
2457
2674
|
const isFinished = useRef2(false);
|
|
2458
2675
|
const shouldCancel = useRef2(false);
|
|
@@ -2471,6 +2688,7 @@ function InlineEdit2({
|
|
|
2471
2688
|
setError("");
|
|
2472
2689
|
try {
|
|
2473
2690
|
await onCommit(value);
|
|
2691
|
+
track({ name: "ui.commit" });
|
|
2474
2692
|
} catch (error) {
|
|
2475
2693
|
isFinished.current = false;
|
|
2476
2694
|
setError(error instanceof Error ? error.message : "Could not save this edit.");
|
|
@@ -2478,14 +2696,15 @@ function InlineEdit2({
|
|
|
2478
2696
|
setSaving(false);
|
|
2479
2697
|
}
|
|
2480
2698
|
};
|
|
2481
|
-
return /* @__PURE__ */
|
|
2699
|
+
return /* @__PURE__ */ jsxs15("form", {
|
|
2482
2700
|
className: "flex min-w-0 flex-col gap-1",
|
|
2483
2701
|
onSubmit: (event) => {
|
|
2484
2702
|
event.preventDefault();
|
|
2485
2703
|
save();
|
|
2486
2704
|
},
|
|
2487
2705
|
children: [
|
|
2488
|
-
/* @__PURE__ */
|
|
2706
|
+
/* @__PURE__ */ jsx25(Input2, {
|
|
2707
|
+
analytics: false,
|
|
2489
2708
|
ref: input,
|
|
2490
2709
|
density,
|
|
2491
2710
|
"aria-label": label,
|
|
@@ -2513,7 +2732,7 @@ function InlineEdit2({
|
|
|
2513
2732
|
}
|
|
2514
2733
|
}
|
|
2515
2734
|
}),
|
|
2516
|
-
error && /* @__PURE__ */
|
|
2735
|
+
error && /* @__PURE__ */ jsx25("p", {
|
|
2517
2736
|
role: "alert",
|
|
2518
2737
|
className: "text-xs text-destructive",
|
|
2519
2738
|
children: error
|
|
@@ -2523,30 +2742,38 @@ function InlineEdit2({
|
|
|
2523
2742
|
}
|
|
2524
2743
|
// src/components/StarRating.tsx
|
|
2525
2744
|
import { Radio } from "@base-ui/react/radio";
|
|
2526
|
-
import { RadioGroup } from "@base-ui/react/radio-group";
|
|
2527
2745
|
import { StarIcon, CircleOffIcon } from "lucide-react";
|
|
2528
|
-
import { jsx as
|
|
2529
|
-
function StarRating2({
|
|
2530
|
-
|
|
2746
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
2747
|
+
function StarRating2({
|
|
2748
|
+
analytics,
|
|
2749
|
+
label,
|
|
2750
|
+
value,
|
|
2751
|
+
disabled,
|
|
2752
|
+
density,
|
|
2753
|
+
onValueChange
|
|
2754
|
+
}) {
|
|
2755
|
+
return /* @__PURE__ */ jsx26(RadioGroup2, {
|
|
2756
|
+
analytics,
|
|
2531
2757
|
"aria-label": label,
|
|
2532
2758
|
value,
|
|
2533
2759
|
disabled,
|
|
2534
2760
|
"data-density": density,
|
|
2535
2761
|
className: "inline-flex w-fit shrink-0 items-center gap-0.5",
|
|
2536
2762
|
onValueChange,
|
|
2537
|
-
children: [1, 2, 3, 4, 5, 0].map((star) => /* @__PURE__ */
|
|
2763
|
+
children: [1, 2, 3, 4, 5, 0].map((star) => /* @__PURE__ */ jsx26(Radio.Root, {
|
|
2538
2764
|
value: star,
|
|
2539
2765
|
nativeButton: true,
|
|
2540
|
-
render: /* @__PURE__ */
|
|
2766
|
+
render: /* @__PURE__ */ jsx26(AnalyticsButton, {
|
|
2767
|
+
component: "StarRating",
|
|
2541
2768
|
type: "button"
|
|
2542
2769
|
}),
|
|
2543
2770
|
"aria-label": star === 0 ? "Unrated" : `${star} ${star === 1 ? "star" : "stars"}`,
|
|
2544
2771
|
title: star === 0 ? "Clear rating" : `${star} stars`,
|
|
2545
2772
|
className: "inline-flex size-5 shrink-0 items-center justify-center rounded-sm text-muted-foreground outline-none hover:text-primary focus-visible:ring-1 focus-visible:ring-ring data-disabled:cursor-not-allowed data-disabled:opacity-50",
|
|
2546
|
-
children: star === 0 ? /* @__PURE__ */
|
|
2773
|
+
children: star === 0 ? /* @__PURE__ */ jsx26(CircleOffIcon, {
|
|
2547
2774
|
"aria-hidden": "true",
|
|
2548
2775
|
className: "size-3"
|
|
2549
|
-
}) : /* @__PURE__ */
|
|
2776
|
+
}) : /* @__PURE__ */ jsx26(StarIcon, {
|
|
2550
2777
|
"aria-hidden": "true",
|
|
2551
2778
|
className: star <= value ? "size-3.5 fill-primary text-primary" : "size-3.5"
|
|
2552
2779
|
})
|
|
@@ -2555,7 +2782,7 @@ function StarRating2({ label, value, disabled, density, onValueChange }) {
|
|
|
2555
2782
|
}
|
|
2556
2783
|
// src/components/ConfirmationDialog.tsx
|
|
2557
2784
|
import { useState as useState3 } from "react";
|
|
2558
|
-
import { jsx as
|
|
2785
|
+
import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2559
2786
|
function ConfirmationDialog2({
|
|
2560
2787
|
open,
|
|
2561
2788
|
title,
|
|
@@ -2566,7 +2793,7 @@ function ConfirmationDialog2({
|
|
|
2566
2793
|
}) {
|
|
2567
2794
|
const [isPending, setPending] = useState3(false);
|
|
2568
2795
|
const [error, setError] = useState3("");
|
|
2569
|
-
return /* @__PURE__ */
|
|
2796
|
+
return /* @__PURE__ */ jsx27(AlertDialog2, {
|
|
2570
2797
|
open,
|
|
2571
2798
|
onOpenChange: (next) => {
|
|
2572
2799
|
if (!isPending) {
|
|
@@ -2574,31 +2801,31 @@ function ConfirmationDialog2({
|
|
|
2574
2801
|
onOpenChange(next);
|
|
2575
2802
|
}
|
|
2576
2803
|
},
|
|
2577
|
-
children: /* @__PURE__ */
|
|
2804
|
+
children: /* @__PURE__ */ jsxs16(AlertDialogContent2, {
|
|
2578
2805
|
children: [
|
|
2579
|
-
/* @__PURE__ */
|
|
2806
|
+
/* @__PURE__ */ jsxs16(AlertDialogHeader2, {
|
|
2580
2807
|
children: [
|
|
2581
|
-
/* @__PURE__ */
|
|
2808
|
+
/* @__PURE__ */ jsx27(AlertDialogTitle2, {
|
|
2582
2809
|
children: title
|
|
2583
2810
|
}),
|
|
2584
|
-
/* @__PURE__ */
|
|
2811
|
+
/* @__PURE__ */ jsx27(AlertDialogDescription2, {
|
|
2585
2812
|
children: description
|
|
2586
2813
|
})
|
|
2587
2814
|
]
|
|
2588
2815
|
}),
|
|
2589
|
-
error && /* @__PURE__ */
|
|
2816
|
+
error && /* @__PURE__ */ jsx27(Alert2, {
|
|
2590
2817
|
variant: "destructive",
|
|
2591
|
-
children: /* @__PURE__ */
|
|
2818
|
+
children: /* @__PURE__ */ jsx27(AlertDescription2, {
|
|
2592
2819
|
children: error
|
|
2593
2820
|
})
|
|
2594
2821
|
}),
|
|
2595
|
-
/* @__PURE__ */
|
|
2822
|
+
/* @__PURE__ */ jsxs16(AlertDialogFooter2, {
|
|
2596
2823
|
children: [
|
|
2597
|
-
/* @__PURE__ */
|
|
2824
|
+
/* @__PURE__ */ jsx27(AlertDialogCancel2, {
|
|
2598
2825
|
disabled: isPending,
|
|
2599
2826
|
children: "Cancel"
|
|
2600
2827
|
}),
|
|
2601
|
-
/* @__PURE__ */
|
|
2828
|
+
/* @__PURE__ */ jsx27(Button2, {
|
|
2602
2829
|
variant: "destructive",
|
|
2603
2830
|
disabled: isPending,
|
|
2604
2831
|
onClick: async () => {
|
|
@@ -2642,32 +2869,41 @@ function useObjectURL(file) {
|
|
|
2642
2869
|
}
|
|
2643
2870
|
|
|
2644
2871
|
// src/components/ImagePicker.tsx
|
|
2645
|
-
import { jsx as
|
|
2646
|
-
function ImagePicker2({
|
|
2872
|
+
import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2873
|
+
function ImagePicker2({
|
|
2874
|
+
analytics,
|
|
2875
|
+
src,
|
|
2876
|
+
file,
|
|
2877
|
+
label,
|
|
2878
|
+
disabled,
|
|
2879
|
+
onFileChange,
|
|
2880
|
+
onClear
|
|
2881
|
+
}) {
|
|
2882
|
+
const track = useAnalytics2("ImagePicker", analytics);
|
|
2647
2883
|
const input = useRef3(null);
|
|
2648
2884
|
const preview = useObjectURL(file);
|
|
2649
2885
|
const image = file === null ? undefined : preview ?? src;
|
|
2650
|
-
return /* @__PURE__ */
|
|
2886
|
+
return /* @__PURE__ */ jsxs17("figure", {
|
|
2651
2887
|
className: "flex min-w-0 flex-col items-center gap-3",
|
|
2652
2888
|
"aria-label": label,
|
|
2653
2889
|
children: [
|
|
2654
|
-
/* @__PURE__ */
|
|
2890
|
+
/* @__PURE__ */ jsxs17(Avatar2, {
|
|
2655
2891
|
size: "preview",
|
|
2656
2892
|
shape: "square",
|
|
2657
2893
|
children: [
|
|
2658
|
-
/* @__PURE__ */
|
|
2894
|
+
/* @__PURE__ */ jsx28(AvatarImage2, {
|
|
2659
2895
|
src: image,
|
|
2660
2896
|
alt: label
|
|
2661
2897
|
}),
|
|
2662
|
-
/* @__PURE__ */
|
|
2663
|
-
children: /* @__PURE__ */
|
|
2898
|
+
/* @__PURE__ */ jsx28(AvatarFallback2, {
|
|
2899
|
+
children: /* @__PURE__ */ jsx28(ImageIcon, {
|
|
2664
2900
|
className: "size-12",
|
|
2665
2901
|
"aria-hidden": "true"
|
|
2666
2902
|
})
|
|
2667
2903
|
})
|
|
2668
2904
|
]
|
|
2669
2905
|
}),
|
|
2670
|
-
/* @__PURE__ */
|
|
2906
|
+
/* @__PURE__ */ jsx28("input", {
|
|
2671
2907
|
ref: input,
|
|
2672
2908
|
hidden: true,
|
|
2673
2909
|
type: "file",
|
|
@@ -2676,27 +2912,29 @@ function ImagePicker2({ src, file, label, disabled, onFileChange, onClear }) {
|
|
|
2676
2912
|
disabled,
|
|
2677
2913
|
onChange: (event) => {
|
|
2678
2914
|
const selected = event.currentTarget.files?.[0];
|
|
2679
|
-
if (selected)
|
|
2915
|
+
if (selected) {
|
|
2680
2916
|
onFileChange(selected);
|
|
2917
|
+
track({ name: "ui.commit" }, event.nativeEvent);
|
|
2918
|
+
}
|
|
2681
2919
|
event.currentTarget.value = "";
|
|
2682
2920
|
}
|
|
2683
2921
|
}),
|
|
2684
|
-
/* @__PURE__ */
|
|
2922
|
+
/* @__PURE__ */ jsxs17("div", {
|
|
2685
2923
|
className: "flex flex-wrap justify-center gap-2",
|
|
2686
2924
|
children: [
|
|
2687
|
-
/* @__PURE__ */
|
|
2925
|
+
/* @__PURE__ */ jsxs17(Button2, {
|
|
2688
2926
|
type: "button",
|
|
2689
2927
|
variant: "outline",
|
|
2690
2928
|
disabled,
|
|
2691
2929
|
onClick: () => input.current?.click(),
|
|
2692
2930
|
children: [
|
|
2693
|
-
/* @__PURE__ */
|
|
2931
|
+
/* @__PURE__ */ jsx28(UploadIcon, {
|
|
2694
2932
|
"data-icon": "inline-start"
|
|
2695
2933
|
}),
|
|
2696
2934
|
"Upload image"
|
|
2697
2935
|
]
|
|
2698
2936
|
}),
|
|
2699
|
-
/* @__PURE__ */
|
|
2937
|
+
/* @__PURE__ */ jsx28(Button2, {
|
|
2700
2938
|
type: "button",
|
|
2701
2939
|
variant: "outline",
|
|
2702
2940
|
disabled: disabled || !image,
|
|
@@ -2710,9 +2948,9 @@ function ImagePicker2({ src, file, label, disabled, onFileChange, onClear }) {
|
|
|
2710
2948
|
}
|
|
2711
2949
|
// src/components/Meter.tsx
|
|
2712
2950
|
import { Meter as MeterPrimitive } from "@base-ui/react/meter";
|
|
2713
|
-
import { jsx as
|
|
2951
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
2714
2952
|
function Meter2({ density, className, ...props }) {
|
|
2715
|
-
return /* @__PURE__ */
|
|
2953
|
+
return /* @__PURE__ */ jsx29(MeterPrimitive.Root, {
|
|
2716
2954
|
"data-density": density,
|
|
2717
2955
|
"data-slot": "meter",
|
|
2718
2956
|
className: (state) => cn2("flex min-w-0 flex-wrap items-center gap-field-gap", typeof className === "function" ? className(state) : className),
|
|
@@ -2720,7 +2958,7 @@ function Meter2({ density, className, ...props }) {
|
|
|
2720
2958
|
});
|
|
2721
2959
|
}
|
|
2722
2960
|
function MeterLabel2({ density, className, ...props }) {
|
|
2723
|
-
return /* @__PURE__ */
|
|
2961
|
+
return /* @__PURE__ */ jsx29(MeterPrimitive.Label, {
|
|
2724
2962
|
"data-density": density,
|
|
2725
2963
|
"data-slot": "meter-label",
|
|
2726
2964
|
className: (state) => cn2("text-sm font-medium", typeof className === "function" ? className(state) : className),
|
|
@@ -2728,7 +2966,7 @@ function MeterLabel2({ density, className, ...props }) {
|
|
|
2728
2966
|
});
|
|
2729
2967
|
}
|
|
2730
2968
|
function MeterValue2({ density, className, ...props }) {
|
|
2731
|
-
return /* @__PURE__ */
|
|
2969
|
+
return /* @__PURE__ */ jsx29(MeterPrimitive.Value, {
|
|
2732
2970
|
"data-density": density,
|
|
2733
2971
|
"data-slot": "meter-value",
|
|
2734
2972
|
className: (state) => cn2("ms-auto text-sm text-muted-foreground tabular-nums", typeof className === "function" ? className(state) : className),
|
|
@@ -2736,7 +2974,7 @@ function MeterValue2({ density, className, ...props }) {
|
|
|
2736
2974
|
});
|
|
2737
2975
|
}
|
|
2738
2976
|
function MeterTrack2({ density, className, ...props }) {
|
|
2739
|
-
return /* @__PURE__ */
|
|
2977
|
+
return /* @__PURE__ */ jsx29(MeterPrimitive.Track, {
|
|
2740
2978
|
"data-density": density,
|
|
2741
2979
|
"data-slot": "meter-track",
|
|
2742
2980
|
className: (state) => cn2("h-1 w-full overflow-hidden rounded-sm bg-muted", typeof className === "function" ? className(state) : className),
|
|
@@ -2748,7 +2986,7 @@ function MeterIndicator2({
|
|
|
2748
2986
|
className,
|
|
2749
2987
|
...props
|
|
2750
2988
|
}) {
|
|
2751
|
-
return /* @__PURE__ */
|
|
2989
|
+
return /* @__PURE__ */ jsx29(MeterPrimitive.Indicator, {
|
|
2752
2990
|
"data-density": density,
|
|
2753
2991
|
"data-slot": "meter-indicator",
|
|
2754
2992
|
className: (state) => cn2("h-full bg-primary transition-[width] motion-reduce:transition-none", typeof className === "function" ? className(state) : className),
|
|
@@ -2758,9 +2996,9 @@ function MeterIndicator2({
|
|
|
2758
2996
|
// src/components/Stepper.tsx
|
|
2759
2997
|
import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
|
|
2760
2998
|
import { CheckIcon as CheckIcon4 } from "lucide-react";
|
|
2761
|
-
import { jsx as
|
|
2999
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
2762
3000
|
function Stepper2({ density, className, ...props }) {
|
|
2763
|
-
return /* @__PURE__ */
|
|
3001
|
+
return /* @__PURE__ */ jsx30(TabsPrimitive.Root, {
|
|
2764
3002
|
"data-density": density,
|
|
2765
3003
|
"data-slot": "stepper",
|
|
2766
3004
|
className: (state) => cn2("group/stepper flex min-w-0 flex-col gap-panel data-[orientation=vertical]:flex-row", typeof className === "function" ? className(state) : className),
|
|
@@ -2773,7 +3011,7 @@ function StepperList2({
|
|
|
2773
3011
|
activateOnFocus = false,
|
|
2774
3012
|
...props
|
|
2775
3013
|
}) {
|
|
2776
|
-
return /* @__PURE__ */
|
|
3014
|
+
return /* @__PURE__ */ jsx30(TabsPrimitive.List, {
|
|
2777
3015
|
"data-density": density,
|
|
2778
3016
|
"data-slot": "stepper-list",
|
|
2779
3017
|
activateOnFocus,
|
|
@@ -2782,7 +3020,7 @@ function StepperList2({
|
|
|
2782
3020
|
});
|
|
2783
3021
|
}
|
|
2784
3022
|
function StepperTrigger2({ density, className, ...props }) {
|
|
2785
|
-
return /* @__PURE__ */
|
|
3023
|
+
return /* @__PURE__ */ jsx30(TabsPrimitive.Tab, {
|
|
2786
3024
|
"data-density": density,
|
|
2787
3025
|
"data-slot": "stepper-trigger",
|
|
2788
3026
|
className: (state) => cn2("group/step flex min-h-control items-center gap-control-gap rounded-sm text-sm text-muted-foreground outline-none focus-visible:ring-1 focus-visible:ring-ring data-active:text-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:opacity-50", typeof className === "function" ? className(state) : className),
|
|
@@ -2790,17 +3028,17 @@ function StepperTrigger2({ density, className, ...props }) {
|
|
|
2790
3028
|
});
|
|
2791
3029
|
}
|
|
2792
3030
|
function StepperIndicator2({ completed = false, children, className, ...props }) {
|
|
2793
|
-
return /* @__PURE__ */
|
|
3031
|
+
return /* @__PURE__ */ jsx30("span", {
|
|
2794
3032
|
"aria-hidden": "true",
|
|
2795
3033
|
"data-slot": "stepper-indicator",
|
|
2796
3034
|
"data-completed": completed || undefined,
|
|
2797
3035
|
className: cn2("flex size-control shrink-0 items-center justify-center rounded-sm border border-input bg-secondary text-sm tabular-nums group-data-active/step:border-primary group-data-active/step:bg-primary group-data-active/step:text-primary-foreground data-completed:border-primary data-completed:text-primary [&_svg]:size-3.5", className),
|
|
2798
3036
|
...props,
|
|
2799
|
-
children: completed ? /* @__PURE__ */
|
|
3037
|
+
children: completed ? /* @__PURE__ */ jsx30(CheckIcon4, {}) : children
|
|
2800
3038
|
});
|
|
2801
3039
|
}
|
|
2802
3040
|
function StepperContent2({ density, className, ...props }) {
|
|
2803
|
-
return /* @__PURE__ */
|
|
3041
|
+
return /* @__PURE__ */ jsx30(TabsPrimitive.Panel, {
|
|
2804
3042
|
"data-density": density,
|
|
2805
3043
|
"data-slot": "stepper-content",
|
|
2806
3044
|
className: (state) => cn2("min-w-0 flex-1 outline-none focus-visible:ring-1 focus-visible:ring-ring", typeof className === "function" ? className(state) : className),
|
|
@@ -2808,7 +3046,7 @@ function StepperContent2({ density, className, ...props }) {
|
|
|
2808
3046
|
});
|
|
2809
3047
|
}
|
|
2810
3048
|
// src/components/AppShell.tsx
|
|
2811
|
-
import { jsx as
|
|
3049
|
+
import { jsx as jsx31, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2812
3050
|
function AppShell2({
|
|
2813
3051
|
navigation,
|
|
2814
3052
|
brand,
|
|
@@ -2821,28 +3059,29 @@ function AppShell2({
|
|
|
2821
3059
|
label = "Application",
|
|
2822
3060
|
density
|
|
2823
3061
|
}) {
|
|
2824
|
-
return /* @__PURE__ */
|
|
3062
|
+
return /* @__PURE__ */ jsxs18(SidebarProvider2, {
|
|
2825
3063
|
density,
|
|
2826
3064
|
defaultOpen: defaultSidebarOpen,
|
|
2827
3065
|
className: "relative min-h-0",
|
|
2828
3066
|
style: { height },
|
|
2829
3067
|
"data-scroll": "none",
|
|
2830
3068
|
children: [
|
|
2831
|
-
/* @__PURE__ */
|
|
3069
|
+
/* @__PURE__ */ jsxs18(Sidebar2, {
|
|
2832
3070
|
collapsible: "icon",
|
|
2833
3071
|
position: "container",
|
|
2834
3072
|
children: [
|
|
2835
|
-
/* @__PURE__ */
|
|
3073
|
+
/* @__PURE__ */ jsx31(SidebarHeader2, {
|
|
2836
3074
|
children: brand
|
|
2837
3075
|
}),
|
|
2838
|
-
/* @__PURE__ */
|
|
2839
|
-
children: /* @__PURE__ */
|
|
3076
|
+
/* @__PURE__ */ jsx31(SidebarContent2, {
|
|
3077
|
+
children: /* @__PURE__ */ jsx31("nav", {
|
|
2840
3078
|
"aria-label": "Primary navigation",
|
|
2841
|
-
children: /* @__PURE__ */
|
|
2842
|
-
children: /* @__PURE__ */
|
|
2843
|
-
children: navigation.map((item) => /* @__PURE__ */
|
|
2844
|
-
children: /* @__PURE__ */
|
|
2845
|
-
render: /* @__PURE__ */
|
|
3079
|
+
children: /* @__PURE__ */ jsx31(SidebarGroup2, {
|
|
3080
|
+
children: /* @__PURE__ */ jsx31(SidebarMenu2, {
|
|
3081
|
+
children: navigation.map((item) => /* @__PURE__ */ jsx31(SidebarMenuItem2, {
|
|
3082
|
+
children: /* @__PURE__ */ jsxs18(SidebarMenuButton2, {
|
|
3083
|
+
render: /* @__PURE__ */ jsx31(AnalyticsLink, {
|
|
3084
|
+
component: "AppShell",
|
|
2846
3085
|
href: item.href,
|
|
2847
3086
|
"aria-current": item.active ? "page" : undefined
|
|
2848
3087
|
}),
|
|
@@ -2850,7 +3089,7 @@ function AppShell2({
|
|
|
2850
3089
|
tooltip: item.label,
|
|
2851
3090
|
children: [
|
|
2852
3091
|
item.icon,
|
|
2853
|
-
/* @__PURE__ */
|
|
3092
|
+
/* @__PURE__ */ jsx31("span", {
|
|
2854
3093
|
children: item.label
|
|
2855
3094
|
})
|
|
2856
3095
|
]
|
|
@@ -2860,36 +3099,36 @@ function AppShell2({
|
|
|
2860
3099
|
})
|
|
2861
3100
|
})
|
|
2862
3101
|
}),
|
|
2863
|
-
sidebarFooter && /* @__PURE__ */
|
|
3102
|
+
sidebarFooter && /* @__PURE__ */ jsx31(SidebarFooter2, {
|
|
2864
3103
|
children: sidebarFooter
|
|
2865
3104
|
})
|
|
2866
3105
|
]
|
|
2867
3106
|
}),
|
|
2868
|
-
/* @__PURE__ */
|
|
3107
|
+
/* @__PURE__ */ jsxs18(SidebarInset2, {
|
|
2869
3108
|
"aria-label": label,
|
|
2870
3109
|
className: "min-h-0 min-w-0",
|
|
2871
3110
|
"data-scroll": "none",
|
|
2872
3111
|
children: [
|
|
2873
|
-
/* @__PURE__ */
|
|
3112
|
+
/* @__PURE__ */ jsxs18("header", {
|
|
2874
3113
|
"data-scroll": "none",
|
|
2875
3114
|
className: "flex shrink-0 items-center gap-control-gap border-b border-border p-panel",
|
|
2876
3115
|
children: [
|
|
2877
|
-
/* @__PURE__ */
|
|
2878
|
-
/* @__PURE__ */
|
|
3116
|
+
/* @__PURE__ */ jsx31(SidebarTrigger2, {}),
|
|
3117
|
+
/* @__PURE__ */ jsx31(Separator2, {
|
|
2879
3118
|
orientation: "vertical",
|
|
2880
3119
|
className: "h-control"
|
|
2881
3120
|
}),
|
|
2882
3121
|
header
|
|
2883
3122
|
]
|
|
2884
3123
|
}),
|
|
2885
|
-
/* @__PURE__ */
|
|
3124
|
+
/* @__PURE__ */ jsx31(ScrollArea2, {
|
|
2886
3125
|
className: "min-h-0 flex-1",
|
|
2887
|
-
children: /* @__PURE__ */
|
|
3126
|
+
children: /* @__PURE__ */ jsx31("div", {
|
|
2888
3127
|
className: "flex min-w-0 flex-col gap-panel p-panel",
|
|
2889
3128
|
children
|
|
2890
3129
|
})
|
|
2891
3130
|
}),
|
|
2892
|
-
footer && /* @__PURE__ */
|
|
3131
|
+
footer && /* @__PURE__ */ jsx31("footer", {
|
|
2893
3132
|
className: "shrink-0 border-t border-border p-panel",
|
|
2894
3133
|
"data-scroll": "none",
|
|
2895
3134
|
children: footer
|
|
@@ -2900,32 +3139,32 @@ function AppShell2({
|
|
|
2900
3139
|
});
|
|
2901
3140
|
}
|
|
2902
3141
|
// src/components/PageHeader.tsx
|
|
2903
|
-
import { jsx as
|
|
3142
|
+
import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2904
3143
|
function PageHeader2({ title, description, breadcrumbs, actions, density }) {
|
|
2905
|
-
return /* @__PURE__ */
|
|
3144
|
+
return /* @__PURE__ */ jsxs19("header", {
|
|
2906
3145
|
"data-density": density,
|
|
2907
3146
|
"data-slot": "page-header",
|
|
2908
3147
|
"data-scroll": "none",
|
|
2909
3148
|
className: "flex min-w-0 flex-col gap-field-gap",
|
|
2910
3149
|
children: [
|
|
2911
3150
|
breadcrumbs,
|
|
2912
|
-
/* @__PURE__ */
|
|
3151
|
+
/* @__PURE__ */ jsxs19("div", {
|
|
2913
3152
|
className: "flex min-w-0 flex-wrap items-start justify-between gap-panel",
|
|
2914
3153
|
children: [
|
|
2915
|
-
/* @__PURE__ */
|
|
3154
|
+
/* @__PURE__ */ jsxs19("div", {
|
|
2916
3155
|
className: "min-w-0",
|
|
2917
3156
|
children: [
|
|
2918
|
-
/* @__PURE__ */
|
|
3157
|
+
/* @__PURE__ */ jsx32("h1", {
|
|
2919
3158
|
className: "text-xl font-semibold text-foreground",
|
|
2920
3159
|
children: title
|
|
2921
3160
|
}),
|
|
2922
|
-
description && /* @__PURE__ */
|
|
3161
|
+
description && /* @__PURE__ */ jsx32("div", {
|
|
2923
3162
|
className: "mt-1 text-sm text-muted-foreground",
|
|
2924
3163
|
children: description
|
|
2925
3164
|
})
|
|
2926
3165
|
]
|
|
2927
3166
|
}),
|
|
2928
|
-
actions && /* @__PURE__ */
|
|
3167
|
+
actions && /* @__PURE__ */ jsx32("div", {
|
|
2929
3168
|
className: "flex shrink-0 flex-wrap items-center gap-control-gap",
|
|
2930
3169
|
children: actions
|
|
2931
3170
|
})
|
|
@@ -2935,7 +3174,7 @@ function PageHeader2({ title, description, breadcrumbs, actions, density }) {
|
|
|
2935
3174
|
});
|
|
2936
3175
|
}
|
|
2937
3176
|
// src/components/WorkspaceSwitcher.tsx
|
|
2938
|
-
import { jsx as
|
|
3177
|
+
import { jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2939
3178
|
function WorkspaceSwitcher2({
|
|
2940
3179
|
workspaces,
|
|
2941
3180
|
value,
|
|
@@ -2945,7 +3184,7 @@ function WorkspaceSwitcher2({
|
|
|
2945
3184
|
label = "Workspace",
|
|
2946
3185
|
density
|
|
2947
3186
|
}) {
|
|
2948
|
-
return /* @__PURE__ */
|
|
3187
|
+
return /* @__PURE__ */ jsxs20(Select2, {
|
|
2949
3188
|
items: workspaces,
|
|
2950
3189
|
value,
|
|
2951
3190
|
defaultValue: defaultValue ?? workspaces[0]?.value,
|
|
@@ -2955,15 +3194,15 @@ function WorkspaceSwitcher2({
|
|
|
2955
3194
|
},
|
|
2956
3195
|
disabled,
|
|
2957
3196
|
children: [
|
|
2958
|
-
/* @__PURE__ */
|
|
3197
|
+
/* @__PURE__ */ jsx33(SelectTrigger2, {
|
|
2959
3198
|
"aria-label": label,
|
|
2960
3199
|
density,
|
|
2961
|
-
children: /* @__PURE__ */
|
|
3200
|
+
children: /* @__PURE__ */ jsx33(SelectValue2, {})
|
|
2962
3201
|
}),
|
|
2963
|
-
/* @__PURE__ */
|
|
3202
|
+
/* @__PURE__ */ jsx33(SelectContent2, {
|
|
2964
3203
|
density,
|
|
2965
|
-
children: /* @__PURE__ */
|
|
2966
|
-
children: workspaces.map((workspace) => /* @__PURE__ */
|
|
3204
|
+
children: /* @__PURE__ */ jsx33(SelectGroup2, {
|
|
3205
|
+
children: workspaces.map((workspace) => /* @__PURE__ */ jsx33(SelectItem2, {
|
|
2967
3206
|
value: workspace.value,
|
|
2968
3207
|
children: workspace.label
|
|
2969
3208
|
}, workspace.value))
|
|
@@ -2973,52 +3212,52 @@ function WorkspaceSwitcher2({
|
|
|
2973
3212
|
});
|
|
2974
3213
|
}
|
|
2975
3214
|
// src/components/AccountMenu.tsx
|
|
2976
|
-
import { jsx as
|
|
3215
|
+
import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2977
3216
|
function AccountMenu2({ name, email, image, onAction, density }) {
|
|
2978
|
-
return /* @__PURE__ */
|
|
3217
|
+
return /* @__PURE__ */ jsxs21(DropdownMenu2, {
|
|
2979
3218
|
children: [
|
|
2980
|
-
/* @__PURE__ */
|
|
2981
|
-
render: /* @__PURE__ */
|
|
3219
|
+
/* @__PURE__ */ jsxs21(DropdownMenuTrigger2, {
|
|
3220
|
+
render: /* @__PURE__ */ jsx34(Button2, {
|
|
2982
3221
|
variant: "ghost",
|
|
2983
3222
|
density
|
|
2984
3223
|
}),
|
|
2985
3224
|
"aria-label": `Account menu for ${name}`,
|
|
2986
3225
|
children: [
|
|
2987
|
-
/* @__PURE__ */
|
|
3226
|
+
/* @__PURE__ */ jsxs21(Avatar2, {
|
|
2988
3227
|
className: "size-control",
|
|
2989
3228
|
children: [
|
|
2990
|
-
/* @__PURE__ */
|
|
3229
|
+
/* @__PURE__ */ jsx34(AvatarImage2, {
|
|
2991
3230
|
src: image,
|
|
2992
3231
|
alt: ""
|
|
2993
3232
|
}),
|
|
2994
|
-
/* @__PURE__ */
|
|
3233
|
+
/* @__PURE__ */ jsx34(AvatarFallback2, {
|
|
2995
3234
|
children: name.slice(0, 2).toUpperCase()
|
|
2996
3235
|
})
|
|
2997
3236
|
]
|
|
2998
3237
|
}),
|
|
2999
|
-
/* @__PURE__ */
|
|
3238
|
+
/* @__PURE__ */ jsx34("span", {
|
|
3000
3239
|
children: name
|
|
3001
3240
|
})
|
|
3002
3241
|
]
|
|
3003
3242
|
}),
|
|
3004
|
-
/* @__PURE__ */
|
|
3243
|
+
/* @__PURE__ */ jsx34(DropdownMenuContent2, {
|
|
3005
3244
|
density,
|
|
3006
3245
|
align: "end",
|
|
3007
|
-
children: /* @__PURE__ */
|
|
3246
|
+
children: /* @__PURE__ */ jsxs21(DropdownMenuGroup2, {
|
|
3008
3247
|
children: [
|
|
3009
|
-
/* @__PURE__ */
|
|
3248
|
+
/* @__PURE__ */ jsx34(DropdownMenuLabel2, {
|
|
3010
3249
|
children: email ?? name
|
|
3011
3250
|
}),
|
|
3012
|
-
/* @__PURE__ */
|
|
3251
|
+
/* @__PURE__ */ jsx34(DropdownMenuItem2, {
|
|
3013
3252
|
onClick: () => onAction("profile"),
|
|
3014
3253
|
children: "Profile"
|
|
3015
3254
|
}),
|
|
3016
|
-
/* @__PURE__ */
|
|
3255
|
+
/* @__PURE__ */ jsx34(DropdownMenuItem2, {
|
|
3017
3256
|
onClick: () => onAction("settings"),
|
|
3018
3257
|
children: "Settings"
|
|
3019
3258
|
}),
|
|
3020
|
-
/* @__PURE__ */
|
|
3021
|
-
/* @__PURE__ */
|
|
3259
|
+
/* @__PURE__ */ jsx34(DropdownMenuSeparator2, {}),
|
|
3260
|
+
/* @__PURE__ */ jsx34(DropdownMenuItem2, {
|
|
3022
3261
|
onClick: () => onAction("sign-out"),
|
|
3023
3262
|
children: "Sign out"
|
|
3024
3263
|
})
|
|
@@ -3029,7 +3268,7 @@ function AccountMenu2({ name, email, image, onAction, density }) {
|
|
|
3029
3268
|
});
|
|
3030
3269
|
}
|
|
3031
3270
|
// src/components/StatCard.tsx
|
|
3032
|
-
import { jsx as
|
|
3271
|
+
import { jsx as jsx35, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3033
3272
|
function StatCard2({
|
|
3034
3273
|
label,
|
|
3035
3274
|
value,
|
|
@@ -3040,40 +3279,40 @@ function StatCard2({
|
|
|
3040
3279
|
loading = false,
|
|
3041
3280
|
density
|
|
3042
3281
|
}) {
|
|
3043
|
-
return /* @__PURE__ */
|
|
3282
|
+
return /* @__PURE__ */ jsxs22(Card2, {
|
|
3044
3283
|
density,
|
|
3045
3284
|
"aria-label": label,
|
|
3046
3285
|
"aria-busy": loading,
|
|
3047
3286
|
children: [
|
|
3048
|
-
/* @__PURE__ */
|
|
3287
|
+
/* @__PURE__ */ jsxs22(CardHeader2, {
|
|
3049
3288
|
children: [
|
|
3050
|
-
/* @__PURE__ */
|
|
3289
|
+
/* @__PURE__ */ jsx35(CardTitle2, {
|
|
3051
3290
|
children: label
|
|
3052
3291
|
}),
|
|
3053
|
-
description && /* @__PURE__ */
|
|
3292
|
+
description && /* @__PURE__ */ jsx35(CardDescription2, {
|
|
3054
3293
|
children: description
|
|
3055
3294
|
})
|
|
3056
3295
|
]
|
|
3057
3296
|
}),
|
|
3058
|
-
/* @__PURE__ */
|
|
3059
|
-
children: /* @__PURE__ */
|
|
3297
|
+
/* @__PURE__ */ jsx35(CardContent2, {
|
|
3298
|
+
children: /* @__PURE__ */ jsxs22("div", {
|
|
3060
3299
|
className: "flex flex-wrap items-center justify-between gap-control-gap",
|
|
3061
3300
|
children: [
|
|
3062
|
-
loading ? /* @__PURE__ */
|
|
3301
|
+
loading ? /* @__PURE__ */ jsx35(Skeleton2, {
|
|
3063
3302
|
className: "h-8 w-24",
|
|
3064
3303
|
"aria-label": `Loading ${label}`
|
|
3065
|
-
}) : /* @__PURE__ */
|
|
3304
|
+
}) : /* @__PURE__ */ jsx35("div", {
|
|
3066
3305
|
className: "text-2xl font-semibold tabular-nums",
|
|
3067
3306
|
children: value
|
|
3068
3307
|
}),
|
|
3069
|
-
change && /* @__PURE__ */
|
|
3308
|
+
change && /* @__PURE__ */ jsx35(Badge2, {
|
|
3070
3309
|
variant: changeIntent === "positive" ? "success" : changeIntent === "negative" ? "destructive" : "secondary",
|
|
3071
3310
|
children: change
|
|
3072
3311
|
})
|
|
3073
3312
|
]
|
|
3074
3313
|
})
|
|
3075
3314
|
}),
|
|
3076
|
-
children && /* @__PURE__ */
|
|
3315
|
+
children && /* @__PURE__ */ jsx35(CardFooter2, {
|
|
3077
3316
|
children
|
|
3078
3317
|
})
|
|
3079
3318
|
]
|
|
@@ -3081,7 +3320,7 @@ function StatCard2({
|
|
|
3081
3320
|
}
|
|
3082
3321
|
// src/components/AuthForm.tsx
|
|
3083
3322
|
import { useId as useId2, useState as useState5 } from "react";
|
|
3084
|
-
import { jsx as
|
|
3323
|
+
import { jsx as jsx36, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3085
3324
|
function AuthForm2({
|
|
3086
3325
|
mode = "sign-in",
|
|
3087
3326
|
onSubmit,
|
|
@@ -3111,33 +3350,33 @@ function AuthForm2({
|
|
|
3111
3350
|
setPending(false);
|
|
3112
3351
|
}
|
|
3113
3352
|
}
|
|
3114
|
-
return /* @__PURE__ */
|
|
3353
|
+
return /* @__PURE__ */ jsxs23(Card2, {
|
|
3115
3354
|
density,
|
|
3116
3355
|
children: [
|
|
3117
|
-
/* @__PURE__ */
|
|
3356
|
+
/* @__PURE__ */ jsxs23(CardHeader2, {
|
|
3118
3357
|
children: [
|
|
3119
|
-
/* @__PURE__ */
|
|
3358
|
+
/* @__PURE__ */ jsx36(CardTitle2, {
|
|
3120
3359
|
children: title
|
|
3121
3360
|
}),
|
|
3122
|
-
/* @__PURE__ */
|
|
3361
|
+
/* @__PURE__ */ jsx36(CardDescription2, {
|
|
3123
3362
|
children: mode === "reset-password" ? "Enter your email to request a password reset." : "Enter your details to continue."
|
|
3124
3363
|
})
|
|
3125
3364
|
]
|
|
3126
3365
|
}),
|
|
3127
|
-
/* @__PURE__ */
|
|
3128
|
-
children: /* @__PURE__ */
|
|
3366
|
+
/* @__PURE__ */ jsx36(CardContent2, {
|
|
3367
|
+
children: /* @__PURE__ */ jsx36("form", {
|
|
3129
3368
|
onSubmit: submit,
|
|
3130
3369
|
"aria-label": title,
|
|
3131
3370
|
"aria-busy": pending,
|
|
3132
|
-
children: /* @__PURE__ */
|
|
3371
|
+
children: /* @__PURE__ */ jsxs23(FieldGroup2, {
|
|
3133
3372
|
children: [
|
|
3134
|
-
mode === "sign-up" && /* @__PURE__ */
|
|
3373
|
+
mode === "sign-up" && /* @__PURE__ */ jsxs23(Field2, {
|
|
3135
3374
|
children: [
|
|
3136
|
-
/* @__PURE__ */
|
|
3375
|
+
/* @__PURE__ */ jsx36(FieldLabel2, {
|
|
3137
3376
|
htmlFor: id + "-name",
|
|
3138
3377
|
children: "Name"
|
|
3139
3378
|
}),
|
|
3140
|
-
/* @__PURE__ */
|
|
3379
|
+
/* @__PURE__ */ jsx36(Input2, {
|
|
3141
3380
|
id: id + "-name",
|
|
3142
3381
|
name: "name",
|
|
3143
3382
|
autoComplete: "name",
|
|
@@ -3146,13 +3385,13 @@ function AuthForm2({
|
|
|
3146
3385
|
})
|
|
3147
3386
|
]
|
|
3148
3387
|
}),
|
|
3149
|
-
/* @__PURE__ */
|
|
3388
|
+
/* @__PURE__ */ jsxs23(Field2, {
|
|
3150
3389
|
children: [
|
|
3151
|
-
/* @__PURE__ */
|
|
3390
|
+
/* @__PURE__ */ jsx36(FieldLabel2, {
|
|
3152
3391
|
htmlFor: id + "-email",
|
|
3153
3392
|
children: "Email"
|
|
3154
3393
|
}),
|
|
3155
|
-
/* @__PURE__ */
|
|
3394
|
+
/* @__PURE__ */ jsx36(Input2, {
|
|
3156
3395
|
id: id + "-email",
|
|
3157
3396
|
name: "email",
|
|
3158
3397
|
type: "email",
|
|
@@ -3162,13 +3401,13 @@ function AuthForm2({
|
|
|
3162
3401
|
})
|
|
3163
3402
|
]
|
|
3164
3403
|
}),
|
|
3165
|
-
mode !== "reset-password" && /* @__PURE__ */
|
|
3404
|
+
mode !== "reset-password" && /* @__PURE__ */ jsxs23(Field2, {
|
|
3166
3405
|
children: [
|
|
3167
|
-
/* @__PURE__ */
|
|
3406
|
+
/* @__PURE__ */ jsx36(FieldLabel2, {
|
|
3168
3407
|
htmlFor: id + "-password",
|
|
3169
3408
|
children: "Password"
|
|
3170
3409
|
}),
|
|
3171
|
-
/* @__PURE__ */
|
|
3410
|
+
/* @__PURE__ */ jsx36(Input2, {
|
|
3172
3411
|
id: id + "-password",
|
|
3173
3412
|
name: "password",
|
|
3174
3413
|
type: "password",
|
|
@@ -3177,27 +3416,27 @@ function AuthForm2({
|
|
|
3177
3416
|
required: true,
|
|
3178
3417
|
disabled: disabled || pending
|
|
3179
3418
|
}),
|
|
3180
|
-
mode === "sign-up" && /* @__PURE__ */
|
|
3419
|
+
mode === "sign-up" && /* @__PURE__ */ jsx36(FieldDescription2, {
|
|
3181
3420
|
children: "Use at least eight characters."
|
|
3182
3421
|
})
|
|
3183
3422
|
]
|
|
3184
3423
|
}),
|
|
3185
|
-
error && /* @__PURE__ */
|
|
3424
|
+
error && /* @__PURE__ */ jsxs23(Alert2, {
|
|
3186
3425
|
variant: "destructive",
|
|
3187
3426
|
children: [
|
|
3188
|
-
/* @__PURE__ */
|
|
3427
|
+
/* @__PURE__ */ jsx36(AlertTitle2, {
|
|
3189
3428
|
children: "Request failed"
|
|
3190
3429
|
}),
|
|
3191
|
-
/* @__PURE__ */
|
|
3430
|
+
/* @__PURE__ */ jsx36(AlertDescription2, {
|
|
3192
3431
|
children: error
|
|
3193
3432
|
})
|
|
3194
3433
|
]
|
|
3195
3434
|
}),
|
|
3196
|
-
/* @__PURE__ */
|
|
3435
|
+
/* @__PURE__ */ jsxs23(Button2, {
|
|
3197
3436
|
type: "submit",
|
|
3198
3437
|
disabled: disabled || pending,
|
|
3199
3438
|
children: [
|
|
3200
|
-
pending && /* @__PURE__ */
|
|
3439
|
+
pending && /* @__PURE__ */ jsx36(Spinner2, {
|
|
3201
3440
|
"data-icon": "inline-start"
|
|
3202
3441
|
}),
|
|
3203
3442
|
mode === "reset-password" ? "Send reset link" : title
|
|
@@ -3208,14 +3447,14 @@ function AuthForm2({
|
|
|
3208
3447
|
})
|
|
3209
3448
|
})
|
|
3210
3449
|
}),
|
|
3211
|
-
footer && /* @__PURE__ */
|
|
3450
|
+
footer && /* @__PURE__ */ jsx36(CardFooter2, {
|
|
3212
3451
|
children: footer
|
|
3213
3452
|
})
|
|
3214
3453
|
]
|
|
3215
3454
|
});
|
|
3216
3455
|
}
|
|
3217
3456
|
// src/components/SettingsSection.tsx
|
|
3218
|
-
import { jsx as
|
|
3457
|
+
import { jsx as jsx37, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
3219
3458
|
function SettingsSection2({
|
|
3220
3459
|
title,
|
|
3221
3460
|
description,
|
|
@@ -3228,48 +3467,48 @@ function SettingsSection2({
|
|
|
3228
3467
|
destructive = false,
|
|
3229
3468
|
density
|
|
3230
3469
|
}) {
|
|
3231
|
-
return /* @__PURE__ */
|
|
3470
|
+
return /* @__PURE__ */ jsx37("form", {
|
|
3232
3471
|
"aria-label": title,
|
|
3233
3472
|
onSubmit,
|
|
3234
3473
|
"aria-busy": pending,
|
|
3235
|
-
children: /* @__PURE__ */
|
|
3474
|
+
children: /* @__PURE__ */ jsxs24(Card2, {
|
|
3236
3475
|
density,
|
|
3237
3476
|
children: [
|
|
3238
|
-
/* @__PURE__ */
|
|
3477
|
+
/* @__PURE__ */ jsxs24(CardHeader2, {
|
|
3239
3478
|
children: [
|
|
3240
|
-
/* @__PURE__ */
|
|
3479
|
+
/* @__PURE__ */ jsx37(CardTitle2, {
|
|
3241
3480
|
children: title
|
|
3242
3481
|
}),
|
|
3243
|
-
description && /* @__PURE__ */
|
|
3482
|
+
description && /* @__PURE__ */ jsx37(CardDescription2, {
|
|
3244
3483
|
children: description
|
|
3245
3484
|
})
|
|
3246
3485
|
]
|
|
3247
3486
|
}),
|
|
3248
|
-
/* @__PURE__ */
|
|
3249
|
-
children: /* @__PURE__ */
|
|
3487
|
+
/* @__PURE__ */ jsx37(CardContent2, {
|
|
3488
|
+
children: /* @__PURE__ */ jsxs24("fieldset", {
|
|
3250
3489
|
disabled: disabled || pending,
|
|
3251
3490
|
className: "min-w-0 border-0 p-0",
|
|
3252
3491
|
children: [
|
|
3253
|
-
/* @__PURE__ */
|
|
3492
|
+
/* @__PURE__ */ jsx37("legend", {
|
|
3254
3493
|
className: "sr-only",
|
|
3255
3494
|
children: title
|
|
3256
3495
|
}),
|
|
3257
|
-
/* @__PURE__ */
|
|
3496
|
+
/* @__PURE__ */ jsx37(FieldGroup2, {
|
|
3258
3497
|
children
|
|
3259
3498
|
})
|
|
3260
3499
|
]
|
|
3261
3500
|
})
|
|
3262
3501
|
}),
|
|
3263
|
-
/* @__PURE__ */
|
|
3502
|
+
/* @__PURE__ */ jsxs24(CardFooter2, {
|
|
3264
3503
|
className: "flex flex-wrap items-center justify-between gap-control-gap",
|
|
3265
3504
|
children: [
|
|
3266
3505
|
footer,
|
|
3267
|
-
/* @__PURE__ */
|
|
3506
|
+
/* @__PURE__ */ jsxs24(Button2, {
|
|
3268
3507
|
type: "submit",
|
|
3269
3508
|
variant: destructive ? "destructive" : "default",
|
|
3270
3509
|
disabled: disabled || pending,
|
|
3271
3510
|
children: [
|
|
3272
|
-
pending && /* @__PURE__ */
|
|
3511
|
+
pending && /* @__PURE__ */ jsx37(Spinner2, {
|
|
3273
3512
|
"data-icon": "inline-start"
|
|
3274
3513
|
}),
|
|
3275
3514
|
saveLabel
|
|
@@ -3282,7 +3521,7 @@ function SettingsSection2({
|
|
|
3282
3521
|
});
|
|
3283
3522
|
}
|
|
3284
3523
|
// src/components/TagInput.tsx
|
|
3285
|
-
import { jsx as
|
|
3524
|
+
import { jsx as jsx38, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3286
3525
|
function TagInput2({
|
|
3287
3526
|
label,
|
|
3288
3527
|
options,
|
|
@@ -3295,7 +3534,7 @@ function TagInput2({
|
|
|
3295
3534
|
density
|
|
3296
3535
|
}) {
|
|
3297
3536
|
const anchor = useComboboxAnchor2();
|
|
3298
|
-
return /* @__PURE__ */
|
|
3537
|
+
return /* @__PURE__ */ jsxs25(Combobox2, {
|
|
3299
3538
|
items: options,
|
|
3300
3539
|
multiple: true,
|
|
3301
3540
|
value,
|
|
@@ -3304,33 +3543,33 @@ function TagInput2({
|
|
|
3304
3543
|
disabled,
|
|
3305
3544
|
name,
|
|
3306
3545
|
children: [
|
|
3307
|
-
/* @__PURE__ */
|
|
3546
|
+
/* @__PURE__ */ jsxs25(ComboboxChips2, {
|
|
3308
3547
|
ref: anchor,
|
|
3309
3548
|
density,
|
|
3310
3549
|
children: [
|
|
3311
|
-
/* @__PURE__ */
|
|
3312
|
-
children: (values) => values.map((item) => /* @__PURE__ */
|
|
3550
|
+
/* @__PURE__ */ jsx38(ComboboxValue2, {
|
|
3551
|
+
children: (values) => values.map((item) => /* @__PURE__ */ jsx38(ComboboxChip2, {
|
|
3313
3552
|
removeLabel: `Remove ${item}`,
|
|
3314
3553
|
children: item
|
|
3315
3554
|
}, item))
|
|
3316
3555
|
}),
|
|
3317
|
-
/* @__PURE__ */
|
|
3556
|
+
/* @__PURE__ */ jsx38(ComboboxChipsInput2, {
|
|
3318
3557
|
"aria-label": label,
|
|
3319
3558
|
placeholder
|
|
3320
3559
|
})
|
|
3321
3560
|
]
|
|
3322
3561
|
}),
|
|
3323
|
-
/* @__PURE__ */
|
|
3562
|
+
/* @__PURE__ */ jsxs25(ComboboxContent2, {
|
|
3324
3563
|
anchor,
|
|
3325
3564
|
density,
|
|
3326
3565
|
children: [
|
|
3327
|
-
/* @__PURE__ */
|
|
3566
|
+
/* @__PURE__ */ jsx38(ComboboxEmpty2, {
|
|
3328
3567
|
children: "No matching tags."
|
|
3329
3568
|
}),
|
|
3330
|
-
/* @__PURE__ */
|
|
3331
|
-
children: /* @__PURE__ */
|
|
3332
|
-
children: /* @__PURE__ */
|
|
3333
|
-
children: (item) => /* @__PURE__ */
|
|
3569
|
+
/* @__PURE__ */ jsx38(ComboboxList2, {
|
|
3570
|
+
children: /* @__PURE__ */ jsx38(ComboboxGroup2, {
|
|
3571
|
+
children: /* @__PURE__ */ jsx38(ComboboxCollection2, {
|
|
3572
|
+
children: (item) => /* @__PURE__ */ jsx38(ComboboxItem2, {
|
|
3334
3573
|
value: item,
|
|
3335
3574
|
children: item
|
|
3336
3575
|
}, item)
|
|
@@ -3343,7 +3582,7 @@ function TagInput2({
|
|
|
3343
3582
|
});
|
|
3344
3583
|
}
|
|
3345
3584
|
// src/components/FilterBar.tsx
|
|
3346
|
-
import { jsx as
|
|
3585
|
+
import { jsx as jsx39, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3347
3586
|
function FilterBar2({
|
|
3348
3587
|
label,
|
|
3349
3588
|
search,
|
|
@@ -3354,38 +3593,38 @@ function FilterBar2({
|
|
|
3354
3593
|
disabled,
|
|
3355
3594
|
density
|
|
3356
3595
|
}) {
|
|
3357
|
-
return /* @__PURE__ */
|
|
3596
|
+
return /* @__PURE__ */ jsxs26("fieldset", {
|
|
3358
3597
|
"aria-label": label,
|
|
3359
3598
|
disabled,
|
|
3360
3599
|
"data-density": density,
|
|
3361
3600
|
className: "flex min-w-0 flex-wrap items-center gap-2",
|
|
3362
3601
|
children: [
|
|
3363
|
-
/* @__PURE__ */
|
|
3602
|
+
/* @__PURE__ */ jsx39(Input2, {
|
|
3364
3603
|
"aria-label": `Search ${label}`,
|
|
3365
3604
|
type: "search",
|
|
3366
3605
|
value: search,
|
|
3367
3606
|
onChange: (event) => onSearchChange(event.target.value),
|
|
3368
3607
|
className: "min-w-40 flex-1"
|
|
3369
3608
|
}),
|
|
3370
|
-
filters.map((filter) => /* @__PURE__ */
|
|
3609
|
+
filters.map((filter) => /* @__PURE__ */ jsxs26(NativeSelect2, {
|
|
3371
3610
|
"aria-label": filter.label,
|
|
3372
3611
|
value: value[filter.id] ?? "",
|
|
3373
3612
|
onChange: (event) => onValueChange({ ...value, [filter.id]: event.target.value }),
|
|
3374
3613
|
children: [
|
|
3375
|
-
/* @__PURE__ */
|
|
3614
|
+
/* @__PURE__ */ jsxs26(NativeSelectOption2, {
|
|
3376
3615
|
value: "",
|
|
3377
3616
|
children: [
|
|
3378
3617
|
"All ",
|
|
3379
3618
|
filter.label.toLowerCase()
|
|
3380
3619
|
]
|
|
3381
3620
|
}),
|
|
3382
|
-
filter.options.map((option) => /* @__PURE__ */
|
|
3621
|
+
filter.options.map((option) => /* @__PURE__ */ jsx39(NativeSelectOption2, {
|
|
3383
3622
|
value: option.value,
|
|
3384
3623
|
children: option.label
|
|
3385
3624
|
}, option.value))
|
|
3386
3625
|
]
|
|
3387
3626
|
}, filter.id)),
|
|
3388
|
-
/* @__PURE__ */
|
|
3627
|
+
/* @__PURE__ */ jsx39(Button2, {
|
|
3389
3628
|
type: "button",
|
|
3390
3629
|
variant: "ghost",
|
|
3391
3630
|
disabled: !search && !Object.values(value).some(Boolean),
|
|
@@ -3399,7 +3638,7 @@ function FilterBar2({
|
|
|
3399
3638
|
});
|
|
3400
3639
|
}
|
|
3401
3640
|
// src/components/BarList.tsx
|
|
3402
|
-
import { jsx as
|
|
3641
|
+
import { jsx as jsx40, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3403
3642
|
function BarList2({
|
|
3404
3643
|
label,
|
|
3405
3644
|
items,
|
|
@@ -3408,25 +3647,25 @@ function BarList2({
|
|
|
3408
3647
|
density
|
|
3409
3648
|
}) {
|
|
3410
3649
|
const max = Math.max(1, ...items.map((item) => item.value));
|
|
3411
|
-
return /* @__PURE__ */
|
|
3650
|
+
return /* @__PURE__ */ jsxs27("section", {
|
|
3412
3651
|
"aria-label": label,
|
|
3413
3652
|
"data-density": density,
|
|
3414
3653
|
children: [
|
|
3415
|
-
/* @__PURE__ */
|
|
3654
|
+
/* @__PURE__ */ jsx40("ul", {
|
|
3416
3655
|
className: "grid gap-3",
|
|
3417
|
-
children: items.map((item) => /* @__PURE__ */
|
|
3418
|
-
children: /* @__PURE__ */
|
|
3656
|
+
children: items.map((item) => /* @__PURE__ */ jsx40("li", {
|
|
3657
|
+
children: /* @__PURE__ */ jsxs27(Meter2, {
|
|
3419
3658
|
min: 0,
|
|
3420
3659
|
max,
|
|
3421
3660
|
value: item.value,
|
|
3422
3661
|
"aria-label": item.label,
|
|
3423
3662
|
format: { maximumFractionDigits: 2 },
|
|
3424
3663
|
children: [
|
|
3425
|
-
/* @__PURE__ */
|
|
3664
|
+
/* @__PURE__ */ jsxs27("div", {
|
|
3426
3665
|
className: "mb-1 flex items-center justify-between gap-3 text-sm",
|
|
3427
3666
|
children: [
|
|
3428
|
-
/* @__PURE__ */
|
|
3429
|
-
children: onItemSelect ? /* @__PURE__ */
|
|
3667
|
+
/* @__PURE__ */ jsx40(MeterLabel2, {
|
|
3668
|
+
children: onItemSelect ? /* @__PURE__ */ jsx40(Button2, {
|
|
3430
3669
|
type: "button",
|
|
3431
3670
|
variant: "link",
|
|
3432
3671
|
className: "h-auto p-0",
|
|
@@ -3434,19 +3673,19 @@ function BarList2({
|
|
|
3434
3673
|
children: item.label
|
|
3435
3674
|
}) : item.label
|
|
3436
3675
|
}),
|
|
3437
|
-
/* @__PURE__ */
|
|
3676
|
+
/* @__PURE__ */ jsx40(MeterValue2, {
|
|
3438
3677
|
children: () => valueFormatter(item.value)
|
|
3439
3678
|
})
|
|
3440
3679
|
]
|
|
3441
3680
|
}),
|
|
3442
|
-
/* @__PURE__ */
|
|
3443
|
-
children: /* @__PURE__ */
|
|
3681
|
+
/* @__PURE__ */ jsx40(MeterTrack2, {
|
|
3682
|
+
children: /* @__PURE__ */ jsx40(MeterIndicator2, {})
|
|
3444
3683
|
})
|
|
3445
3684
|
]
|
|
3446
3685
|
})
|
|
3447
3686
|
}, item.id))
|
|
3448
3687
|
}),
|
|
3449
|
-
!items.length && /* @__PURE__ */
|
|
3688
|
+
!items.length && /* @__PURE__ */ jsx40("p", {
|
|
3450
3689
|
role: "status",
|
|
3451
3690
|
className: "text-sm text-muted-foreground",
|
|
3452
3691
|
children: "No data available."
|
|
@@ -3455,23 +3694,23 @@ function BarList2({
|
|
|
3455
3694
|
});
|
|
3456
3695
|
}
|
|
3457
3696
|
// src/components/StatusTracker.tsx
|
|
3458
|
-
import { jsx as
|
|
3697
|
+
import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
3459
3698
|
var statusClasses = { success: "bg-success", warning: "bg-warning", error: "bg-destructive", unknown: "bg-muted" };
|
|
3460
3699
|
function StatusTracker2({ label, items, onItemSelect, density }) {
|
|
3461
|
-
return /* @__PURE__ */
|
|
3462
|
-
children: /* @__PURE__ */
|
|
3700
|
+
return /* @__PURE__ */ jsx41(TooltipProvider2, {
|
|
3701
|
+
children: /* @__PURE__ */ jsx41("div", {
|
|
3463
3702
|
role: "group",
|
|
3464
3703
|
"aria-label": label,
|
|
3465
3704
|
"data-density": density,
|
|
3466
3705
|
className: "flex min-w-0 gap-1",
|
|
3467
|
-
children: items.map((item) => /* @__PURE__ */
|
|
3706
|
+
children: items.map((item) => /* @__PURE__ */ jsxs28(Tooltip2, {
|
|
3468
3707
|
children: [
|
|
3469
|
-
/* @__PURE__ */
|
|
3708
|
+
/* @__PURE__ */ jsx41(TooltipTrigger2, {
|
|
3470
3709
|
"aria-label": `${item.label}: ${item.status}`,
|
|
3471
3710
|
onClick: () => onItemSelect?.(item),
|
|
3472
3711
|
className: cn2("h-8 min-w-2 flex-1 rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ring", statusClasses[item.status])
|
|
3473
3712
|
}),
|
|
3474
|
-
/* @__PURE__ */
|
|
3713
|
+
/* @__PURE__ */ jsxs28(TooltipContent2, {
|
|
3475
3714
|
children: [
|
|
3476
3715
|
item.label,
|
|
3477
3716
|
": ",
|
|
@@ -3484,7 +3723,7 @@ function StatusTracker2({ label, items, onItemSelect, density }) {
|
|
|
3484
3723
|
});
|
|
3485
3724
|
}
|
|
3486
3725
|
// src/components/DashboardLayout.tsx
|
|
3487
|
-
import { jsx as
|
|
3726
|
+
import { jsx as jsx42, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
3488
3727
|
function DashboardLayout2({
|
|
3489
3728
|
title,
|
|
3490
3729
|
description,
|
|
@@ -3495,24 +3734,24 @@ function DashboardLayout2({
|
|
|
3495
3734
|
footer,
|
|
3496
3735
|
density
|
|
3497
3736
|
}) {
|
|
3498
|
-
return /* @__PURE__ */
|
|
3737
|
+
return /* @__PURE__ */ jsxs29("div", {
|
|
3499
3738
|
"data-density": density,
|
|
3500
3739
|
"data-scroll": "none",
|
|
3501
3740
|
className: "grid min-w-0 gap-6",
|
|
3502
3741
|
children: [
|
|
3503
|
-
/* @__PURE__ */
|
|
3742
|
+
/* @__PURE__ */ jsx42(PageHeader2, {
|
|
3504
3743
|
title,
|
|
3505
3744
|
description,
|
|
3506
3745
|
actions
|
|
3507
3746
|
}),
|
|
3508
3747
|
filters,
|
|
3509
|
-
stats.length > 0 && /* @__PURE__ */
|
|
3748
|
+
stats.length > 0 && /* @__PURE__ */ jsx42("div", {
|
|
3510
3749
|
className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-4",
|
|
3511
|
-
children: stats.map(({ id, ...stat }) => /* @__PURE__ */
|
|
3750
|
+
children: stats.map(({ id, ...stat }) => /* @__PURE__ */ jsx42(StatCard2, {
|
|
3512
3751
|
...stat
|
|
3513
3752
|
}, id))
|
|
3514
3753
|
}),
|
|
3515
|
-
/* @__PURE__ */
|
|
3754
|
+
/* @__PURE__ */ jsx42("div", {
|
|
3516
3755
|
className: "grid min-w-0 gap-4",
|
|
3517
3756
|
children
|
|
3518
3757
|
}),
|
|
@@ -3521,18 +3760,18 @@ function DashboardLayout2({
|
|
|
3521
3760
|
});
|
|
3522
3761
|
}
|
|
3523
3762
|
// src/components/BillingUsage.tsx
|
|
3524
|
-
import { jsx as
|
|
3763
|
+
import { jsx as jsx43, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3525
3764
|
function BillingUsage2({ plan, price, period, metrics, onManage, pending, density }) {
|
|
3526
|
-
return /* @__PURE__ */
|
|
3765
|
+
return /* @__PURE__ */ jsxs30(Card2, {
|
|
3527
3766
|
density,
|
|
3528
3767
|
"aria-label": "Billing and usage",
|
|
3529
3768
|
children: [
|
|
3530
|
-
/* @__PURE__ */
|
|
3769
|
+
/* @__PURE__ */ jsxs30(CardHeader2, {
|
|
3531
3770
|
children: [
|
|
3532
|
-
/* @__PURE__ */
|
|
3771
|
+
/* @__PURE__ */ jsx43(CardTitle2, {
|
|
3533
3772
|
children: plan
|
|
3534
3773
|
}),
|
|
3535
|
-
/* @__PURE__ */
|
|
3774
|
+
/* @__PURE__ */ jsxs30(CardDescription2, {
|
|
3536
3775
|
children: [
|
|
3537
3776
|
price,
|
|
3538
3777
|
" · ",
|
|
@@ -3541,32 +3780,32 @@ function BillingUsage2({ plan, price, period, metrics, onManage, pending, densit
|
|
|
3541
3780
|
})
|
|
3542
3781
|
]
|
|
3543
3782
|
}),
|
|
3544
|
-
/* @__PURE__ */
|
|
3783
|
+
/* @__PURE__ */ jsx43(CardContent2, {
|
|
3545
3784
|
className: "grid gap-4",
|
|
3546
|
-
children: metrics.map((metric) => /* @__PURE__ */
|
|
3785
|
+
children: metrics.map((metric) => /* @__PURE__ */ jsxs30(Meter2, {
|
|
3547
3786
|
value: metric.used,
|
|
3548
3787
|
max: metric.limit,
|
|
3549
3788
|
"aria-label": metric.label,
|
|
3550
3789
|
children: [
|
|
3551
|
-
/* @__PURE__ */
|
|
3790
|
+
/* @__PURE__ */ jsxs30("div", {
|
|
3552
3791
|
className: "mb-2 flex items-center justify-between gap-3 text-sm",
|
|
3553
3792
|
children: [
|
|
3554
|
-
/* @__PURE__ */
|
|
3793
|
+
/* @__PURE__ */ jsx43(MeterLabel2, {
|
|
3555
3794
|
children: metric.label
|
|
3556
3795
|
}),
|
|
3557
|
-
/* @__PURE__ */
|
|
3796
|
+
/* @__PURE__ */ jsx43(MeterValue2, {
|
|
3558
3797
|
children: () => `${metric.used.toLocaleString()} / ${metric.limit.toLocaleString()}${metric.unit ? ` ${metric.unit}` : ""}`
|
|
3559
3798
|
})
|
|
3560
3799
|
]
|
|
3561
3800
|
}),
|
|
3562
|
-
/* @__PURE__ */
|
|
3563
|
-
children: /* @__PURE__ */
|
|
3801
|
+
/* @__PURE__ */ jsx43(MeterTrack2, {
|
|
3802
|
+
children: /* @__PURE__ */ jsx43(MeterIndicator2, {})
|
|
3564
3803
|
})
|
|
3565
3804
|
]
|
|
3566
3805
|
}, metric.id))
|
|
3567
3806
|
}),
|
|
3568
|
-
/* @__PURE__ */
|
|
3569
|
-
children: /* @__PURE__ */
|
|
3807
|
+
/* @__PURE__ */ jsx43(CardFooter2, {
|
|
3808
|
+
children: /* @__PURE__ */ jsx43(Button2, {
|
|
3570
3809
|
type: "button",
|
|
3571
3810
|
variant: "outline",
|
|
3572
3811
|
onClick: onManage,
|
|
@@ -3577,4 +3816,4 @@ function BillingUsage2({ plan, price, period, metrics, onManage, pending, densit
|
|
|
3577
3816
|
]
|
|
3578
3817
|
});
|
|
3579
3818
|
}
|
|
3580
|
-
export { ButtonLink2, Accordion2, AccordionItem2, AccordionTrigger2, AccordionContent2, EmptyState3, PageMessage2, JsonViewer2, AlertDialog2, AlertDialogTrigger2, AlertDialogPortal2, AlertDialogOverlay2, AlertDialogContent2, AlertDialogHeader2, AlertDialogFooter2, AlertDialogMedia2, AlertDialogTitle2, AlertDialogDescription2, AlertDialogAction2, AlertDialogCancel2, Select2, SelectGroup2, SelectValue2, SelectTrigger2, SelectContent2, SelectLabel2, SelectItem2, SelectSeparator2, SelectScrollUpButton2, SelectScrollDownButton2, DensityProvider2, collectLayoutViolations2, LayoutGuard2, ScrollGuard2, ThemeProvider2, AspectRatio2, Breadcrumb2, BreadcrumbList2, BreadcrumbItem2, BreadcrumbLink2, BreadcrumbPage2, BreadcrumbSeparator2, BreadcrumbEllipsis2, buttonGroupVariants2, ButtonGroup2, ButtonGroupText2, ButtonGroupSeparator2, ItemGroup2, ItemSeparator2, Item2, ItemMedia2, ItemContent2, ItemTitle2, ItemDescription2, ItemActions2, ItemHeader2, ItemFooter2, Pagination2, PaginationContent2, PaginationItem2, PaginationLink2, PaginationPrevious2, PaginationNext2, PaginationEllipsis2, Drawer2, DrawerTrigger2, DrawerPortal2, DrawerClose2, DrawerOverlay2, DrawerSwipeHandle2, DrawerContent2, DrawerHeader2, DrawerFooter2, DrawerTitle2, DrawerDescription2, ContextMenu2, ContextMenuPortal2, ContextMenuTrigger2, ContextMenuContent2, ContextMenuGroup2, ContextMenuLabel2, ContextMenuItem2, ContextMenuSub2, ContextMenuSubTrigger2, ContextMenuSubContent2, ContextMenuCheckboxItem2, ContextMenuRadioGroup2, ContextMenuRadioItem2, ContextMenuSeparator2, ContextMenuShortcut2, Menubar2, MenubarMenu2, MenubarGroup2, MenubarPortal2, MenubarTrigger2, MenubarContent2, MenubarItem2, MenubarCheckboxItem2, MenubarRadioGroup2, MenubarRadioItem2, MenubarLabel2, MenubarSeparator2, MenubarShortcut2, MenubarSub2, MenubarSubTrigger2, MenubarSubContent2, NavigationMenu2, NavigationMenuList2, NavigationMenuItem2, navigationMenuTriggerStyle2, NavigationMenuTrigger2, NavigationMenuContent2, NavigationMenuPositioner2, NavigationMenuLink2, NavigationMenuIndicator2, ToastProvider2, ToastPortal2, ToastViewport2, Toast2, ToastContent2, ToastTitle2, ToastDescription2, ToastAction2, ToastClose2, ToastToaster2, createToastManager2, useToastManager2, markerVariants2, Marker2, MarkerIcon2, MarkerContent2, BubbleGroup2, Bubble2, BubbleContent2, BubbleReactions2, MessageGroup2, Message2, MessageAvatar2, MessageContent2, MessageHeader2, MessageFooter2, Attachment2, AttachmentMedia2, AttachmentContent2, AttachmentTitle2, AttachmentDescription2, AttachmentActions2, AttachmentAction2, AttachmentTrigger2, AttachmentGroup2, InlineEdit2, StarRating2, ConfirmationDialog2, ImagePicker2, Meter2, MeterLabel2, MeterValue2, MeterTrack2, MeterIndicator2, Stepper2, StepperList2, StepperTrigger2, StepperIndicator2, StepperContent2, AppShell2, PageHeader2, WorkspaceSwitcher2, AccountMenu2, StatCard2, AuthForm2, SettingsSection2, TagInput2, FilterBar2, BarList2, StatusTracker2, DashboardLayout2, BillingUsage2 };
|
|
3819
|
+
export { ButtonLink2, Accordion2, AccordionItem2, AccordionTrigger2, AccordionContent2, EmptyState3, PageMessage2, formatDataLabel2, DataViewer2, JsonViewer2, AlertDialog2, AlertDialogTrigger2, AlertDialogPortal2, AlertDialogOverlay2, AlertDialogContent2, AlertDialogHeader2, AlertDialogFooter2, AlertDialogMedia2, AlertDialogTitle2, AlertDialogDescription2, AlertDialogAction2, AlertDialogCancel2, Select2, SelectGroup2, SelectValue2, SelectTrigger2, SelectContent2, SelectLabel2, SelectItem2, SelectSeparator2, SelectScrollUpButton2, SelectScrollDownButton2, DensityProvider2, collectLayoutViolations2, LayoutGuard2, ScrollGuard2, ThemeProvider2, AspectRatio2, Breadcrumb2, BreadcrumbList2, BreadcrumbItem2, BreadcrumbLink2, BreadcrumbPage2, BreadcrumbSeparator2, BreadcrumbEllipsis2, buttonGroupVariants2, ButtonGroup2, ButtonGroupText2, ButtonGroupSeparator2, ItemGroup2, ItemSeparator2, Item2, ItemMedia2, ItemContent2, ItemTitle2, ItemDescription2, ItemActions2, ItemHeader2, ItemFooter2, Pagination2, PaginationContent2, PaginationItem2, PaginationLink2, PaginationPrevious2, PaginationNext2, PaginationEllipsis2, Drawer2, DrawerTrigger2, DrawerPortal2, DrawerClose2, DrawerOverlay2, DrawerSwipeHandle2, DrawerContent2, DrawerHeader2, DrawerFooter2, DrawerTitle2, DrawerDescription2, ContextMenu2, ContextMenuPortal2, ContextMenuTrigger2, ContextMenuContent2, ContextMenuGroup2, ContextMenuLabel2, ContextMenuItem2, ContextMenuSub2, ContextMenuSubTrigger2, ContextMenuSubContent2, ContextMenuCheckboxItem2, ContextMenuRadioGroup2, ContextMenuRadioItem2, ContextMenuSeparator2, ContextMenuShortcut2, Menubar2, MenubarMenu2, MenubarGroup2, MenubarPortal2, MenubarTrigger2, MenubarContent2, MenubarItem2, MenubarCheckboxItem2, MenubarRadioGroup2, MenubarRadioItem2, MenubarLabel2, MenubarSeparator2, MenubarShortcut2, MenubarSub2, MenubarSubTrigger2, MenubarSubContent2, NavigationMenu2, NavigationMenuList2, NavigationMenuItem2, navigationMenuTriggerStyle2, NavigationMenuTrigger2, NavigationMenuContent2, NavigationMenuPositioner2, NavigationMenuLink2, NavigationMenuIndicator2, ToastProvider2, ToastPortal2, ToastViewport2, Toast2, ToastContent2, ToastTitle2, ToastDescription2, ToastAction2, ToastClose2, ToastToaster2, createToastManager2, useToastManager2, markerVariants2, Marker2, MarkerIcon2, MarkerContent2, BubbleGroup2, Bubble2, BubbleContent2, BubbleReactions2, MessageGroup2, Message2, MessageAvatar2, MessageContent2, MessageHeader2, MessageFooter2, Attachment2, AttachmentMedia2, AttachmentContent2, AttachmentTitle2, AttachmentDescription2, AttachmentActions2, AttachmentAction2, AttachmentTrigger2, AttachmentGroup2, InlineEdit2, StarRating2, ConfirmationDialog2, ImagePicker2, Meter2, MeterLabel2, MeterValue2, MeterTrack2, MeterIndicator2, Stepper2, StepperList2, StepperTrigger2, StepperIndicator2, StepperContent2, AppShell2, PageHeader2, WorkspaceSwitcher2, AccountMenu2, StatCard2, AuthForm2, SettingsSection2, TagInput2, FilterBar2, BarList2, StatusTracker2, DashboardLayout2, BillingUsage2 };
|