@alexgorbatchev/shadcn 0.0.42 → 0.0.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. package/README.md +48 -24
  2. package/dist/analytics/AnalyticsContext.d.ts +2 -0
  3. package/dist/analytics/analyticsSource.d.ts +4 -0
  4. package/dist/analytics/types.d.ts +55 -0
  5. package/dist/{chunk-2agnzxa0.js → chunk-05shyxqp.js} +1 -1
  6. package/dist/{chunk-59p19t57.js → chunk-0fmrwsgp.js} +7 -2
  7. package/dist/{chunk-p45ytcc2.js → chunk-0gwqtywa.js} +3 -3
  8. package/dist/{chunk-60756tfb.js → chunk-0q9n4syq.js} +3 -3
  9. package/dist/{chunk-dwkjt1mm.js → chunk-0twprqdp.js} +13 -3
  10. package/dist/{chunk-rggdd436.js → chunk-0xqqs9kw.js} +1 -1
  11. package/dist/{chunk-dvmxyk3q.js → chunk-10t1w38s.js} +2 -2
  12. package/dist/{chunk-57jj9v64.js → chunk-14mh00z3.js} +3 -3
  13. package/dist/{chunk-h6kcqtzf.js → chunk-1hq2k0fs.js} +6 -2
  14. package/dist/{chunk-saf6rz9s.js → chunk-1hy9rfvc.js} +1 -1
  15. package/dist/{chunk-nvegyysk.js → chunk-1q30wk9x.js} +2 -2
  16. package/dist/{chunk-3bzbwhda.js → chunk-1sqv5axv.js} +6 -2
  17. package/dist/{chunk-yxgyprns.js → chunk-1sxpyjph.js} +1 -1
  18. package/dist/{chunk-zdx7dtcw.js → chunk-1t959882.js} +1 -1
  19. package/dist/{chunk-p8gshf3k.js → chunk-1zbtg30t.js} +6 -2
  20. package/dist/{chunk-4djw71cv.js → chunk-21ab0jsp.js} +12 -6
  21. package/dist/{chunk-7gpq6kty.js → chunk-23419f5j.js} +1 -1
  22. package/dist/{chunk-f5hphka1.js → chunk-23jrbq6y.js} +5 -1
  23. package/dist/{chunk-k4aawd44.js → chunk-2krw4tjq.js} +1 -1
  24. package/dist/{chunk-644cnngf.js → chunk-2mn2ctsk.js} +6 -0
  25. package/dist/{chunk-7e3samhv.js → chunk-2mswp6h1.js} +3 -3
  26. package/dist/{chunk-4zaj9tsr.js → chunk-2pzvxbq3.js} +3 -3
  27. package/dist/chunk-38301e40.js +182 -0
  28. package/dist/{chunk-he0w0tx1.js → chunk-3b6ws9hk.js} +1 -1
  29. package/dist/{chunk-4stkzcvt.js → chunk-3r0q02k6.js} +175 -53
  30. package/dist/{chunk-fgzcp6dt.js → chunk-3t7h84te.js} +1 -1
  31. package/dist/{chunk-7b3n0ftm.js → chunk-3v95p5js.js} +1 -1
  32. package/dist/{chunk-ey6q1ra5.js → chunk-3wap1z7h.js} +6 -2
  33. package/dist/{chunk-d0qccfv4.js → chunk-46tg5t7g.js} +3 -3
  34. package/dist/chunk-4710gn6d.js +15 -0
  35. package/dist/{chunk-5z9y2mdj.js → chunk-474fgeht.js} +1 -1
  36. package/dist/{chunk-7mj8g4vx.js → chunk-48yhjpfs.js} +1 -1
  37. package/dist/{chunk-yazbpnav.js → chunk-4e1eq1t5.js} +2 -2
  38. package/dist/{chunk-pqe77cc1.js → chunk-4e879g03.js} +1 -1
  39. package/dist/{chunk-espw1b6e.js → chunk-4gcpx4pm.js} +1 -1
  40. package/dist/{chunk-s0typ7hv.js → chunk-55s7v2mw.js} +2 -2
  41. package/dist/{chunk-ret3m6vs.js → chunk-588wj6g4.js} +1 -1
  42. package/dist/{chunk-mwzhaw5v.js → chunk-5h7xxnr7.js} +1 -1
  43. package/dist/chunk-5mydsjp3.js +48 -0
  44. package/dist/{chunk-pc2d5950.js → chunk-5myr07fp.js} +1 -1
  45. package/dist/{chunk-f0jej3qt.js → chunk-5w279fsn.js} +6 -6
  46. package/dist/{chunk-zn1w5cd5.js → chunk-5zyc28sc.js} +11 -7
  47. package/dist/{chunk-hh43wg05.js → chunk-60p7sagm.js} +12 -6
  48. package/dist/{chunk-vf1rsqpk.js → chunk-645dhey7.js} +1 -1
  49. package/dist/{chunk-0skytwpk.js → chunk-6475gsta.js} +2 -2
  50. package/dist/{chunk-na2mxcxz.js → chunk-6fp821jv.js} +2 -2
  51. package/dist/{chunk-dzvsjw59.js → chunk-6jw87d07.js} +33 -4
  52. package/dist/{chunk-58st8hnr.js → chunk-6kygf29c.js} +1 -1
  53. package/dist/{chunk-sb00e3gj.js → chunk-77xfccfq.js} +3 -3
  54. package/dist/{chunk-cyfbg25t.js → chunk-79vgr8w9.js} +3 -3
  55. package/dist/chunk-7jpsybag.js +33 -0
  56. package/dist/{chunk-987zth0a.js → chunk-7mnba0d8.js} +8 -3
  57. package/dist/chunk-7ny0vyek.js +25 -0
  58. package/dist/{chunk-jkgje3ar.js → chunk-7qwp41y5.js} +1 -1
  59. package/dist/{chunk-rffrerg5.js → chunk-7w8yemba.js} +7 -2
  60. package/dist/{chunk-809fwd84.js → chunk-7zyf9nnf.js} +24 -10
  61. package/dist/{chunk-k138cvn8.js → chunk-83v2vma2.js} +1 -1
  62. package/dist/{chunk-enxt9sfx.js → chunk-84gs32n6.js} +1 -1
  63. package/dist/{chunk-5x7387nh.js → chunk-8bxfp671.js} +1 -1
  64. package/dist/{chunk-726x26pk.js → chunk-8jnfvgvk.js} +1 -1
  65. package/dist/{chunk-6kwf9644.js → chunk-8k18tnap.js} +1 -1
  66. package/dist/{chunk-3jrsp186.js → chunk-8q0xpeh4.js} +1 -1
  67. package/dist/{chunk-gqm1483k.js → chunk-8rtm4y46.js} +2 -2
  68. package/dist/chunk-8ssktt4b.js +11 -0
  69. package/dist/{chunk-d4bm5rzy.js → chunk-8wc2z7te.js} +37 -12
  70. package/dist/{chunk-b06rfrfz.js → chunk-8xnjf4ef.js} +6 -2
  71. package/dist/{chunk-tfqfqn8z.js → chunk-96x8wa8w.js} +1 -1
  72. package/dist/{chunk-3se9vgw9.js → chunk-9qcqxp3v.js} +1 -1
  73. package/dist/{chunk-dtkw8m6d.js → chunk-9t5h5ps3.js} +1 -1
  74. package/dist/{chunk-tnnf8ydf.js → chunk-9w9berq8.js} +6 -1
  75. package/dist/{chunk-a50gtwc9.js → chunk-a82d9z1e.js} +1 -1
  76. package/dist/{chunk-q5m8vz61.js → chunk-aahx2gyb.js} +1 -1
  77. package/dist/{chunk-3dyqen8w.js → chunk-agy4dzea.js} +1 -1
  78. package/dist/{chunk-n789tekk.js → chunk-axw1yqxz.js} +1 -1
  79. package/dist/{chunk-97kagey4.js → chunk-beywepck.js} +5 -1
  80. package/dist/{chunk-rkbbjjwq.js → chunk-bt7ramb0.js} +6 -2
  81. package/dist/{chunk-ga79snaw.js → chunk-c4m53x5s.js} +1 -1
  82. package/dist/{chunk-8vfh3ez0.js → chunk-c9ypcp4s.js} +32 -19
  83. package/dist/{chunk-ybypybsb.js → chunk-cmd9erv0.js} +6 -1
  84. package/dist/{chunk-r6p7982y.js → chunk-cqbd39je.js} +6 -1
  85. package/dist/{chunk-81y5s246.js → chunk-ct6ayjkt.js} +1 -1
  86. package/dist/{chunk-bt57g6ms.js → chunk-cvg5366s.js} +1 -1
  87. package/dist/{chunk-7p6032sv.js → chunk-cy1xv5nz.js} +10 -2
  88. package/dist/{chunk-6wx7cr8d.js → chunk-d444bwwf.js} +2 -2
  89. package/dist/{chunk-yrxjwwz3.js → chunk-dfkzm4f1.js} +218 -199
  90. package/dist/{chunk-ttdeyjvj.js → chunk-dhmtrz6f.js} +1 -1
  91. package/dist/{chunk-x0megjk3.js → chunk-dq6se94p.js} +1 -1
  92. package/dist/{chunk-3zrw72sw.js → chunk-e970kv8r.js} +1 -1
  93. package/dist/{chunk-3x0ter92.js → chunk-e9756880.js} +1 -1
  94. package/dist/{chunk-0kyfh857.js → chunk-e9v481he.js} +1 -1
  95. package/dist/{chunk-wndqbss9.js → chunk-ekbesw9t.js} +7 -2
  96. package/dist/{chunk-yc9ytj9j.js → chunk-esrypw6g.js} +1 -1
  97. package/dist/{chunk-b43t3etd.js → chunk-ewhk1ze1.js} +1 -1
  98. package/dist/{chunk-kwbgqv5z.js → chunk-f08tw6hg.js} +1 -1
  99. package/dist/{chunk-mgdec3zt.js → chunk-f28xnx55.js} +2 -2
  100. package/dist/{chunk-43hfchxf.js → chunk-f63cr8mx.js} +9 -3
  101. package/dist/{chunk-jy50ebz0.js → chunk-f6rbv5gf.js} +8 -4
  102. package/dist/{chunk-78cs7n93.js → chunk-f72tygjq.js} +1 -1
  103. package/dist/{chunk-p9aqek06.js → chunk-f9kdk0q4.js} +5 -1
  104. package/dist/{chunk-ag6xpy6q.js → chunk-f9twxy4y.js} +11 -3
  105. package/dist/{chunk-arsjatb3.js → chunk-fky4t8cc.js} +2 -2
  106. package/dist/{chunk-4521sn9e.js → chunk-fkzh31y0.js} +1 -1
  107. package/dist/{chunk-09agnr7z.js → chunk-fpj82hex.js} +1 -1
  108. package/dist/{chunk-24d68cjp.js → chunk-fw86vanx.js} +8 -2
  109. package/dist/{chunk-gtbtfnd7.js → chunk-fxfwgr5g.js} +4 -4
  110. package/dist/{chunk-jf0y740b.js → chunk-fz2x6hvf.js} +1 -1
  111. package/dist/{chunk-1hj251b8.js → chunk-gbmvkt3q.js} +19 -7
  112. package/dist/{chunk-9nckfswe.js → chunk-ghz2g6j5.js} +9 -4
  113. package/dist/{chunk-sfmkphna.js → chunk-gtebjkkz.js} +10 -5
  114. package/dist/{chunk-dv8344f7.js → chunk-h3qqt3rg.js} +1 -1
  115. package/dist/{chunk-46jdxdzy.js → chunk-h5zhqdmb.js} +3 -3
  116. package/dist/{chunk-9a1hj7mc.js → chunk-hj9avapz.js} +4 -4
  117. package/dist/{chunk-b513tz37.js → chunk-hxg0pkj9.js} +1 -1
  118. package/dist/{chunk-jrzx4wre.js → chunk-j2hawnp9.js} +2 -2
  119. package/dist/{chunk-c2vcrwjp.js → chunk-j2n8684w.js} +6 -1
  120. package/dist/{chunk-ws4y7ctw.js → chunk-jadf0xqn.js} +6 -2
  121. package/dist/{chunk-ex1zk6ta.js → chunk-jgdpa00w.js} +10 -7
  122. package/dist/{chunk-yxej7z50.js → chunk-jk941nke.js} +1 -1
  123. package/dist/{chunk-e7wbz622.js → chunk-jwzg2twy.js} +1 -1
  124. package/dist/{chunk-pg9rhbgm.js → chunk-k455qwx2.js} +2 -2
  125. package/dist/{chunk-cgv6qm25.js → chunk-khtt3f21.js} +2 -2
  126. package/dist/{chunk-p6wb9jw3.js → chunk-kxx5fnpb.js} +1 -1
  127. package/dist/{chunk-1qsph9ej.js → chunk-kzar67tq.js} +3 -5
  128. package/dist/{chunk-tz8xh1nc.js → chunk-m0agthfm.js} +1 -1
  129. package/dist/{chunk-yf68wrse.js → chunk-m4wfy6n3.js} +2 -2
  130. package/dist/{chunk-21x1n6gn.js → chunk-m71d0g7v.js} +6 -6
  131. package/dist/{chunk-h19wjq6v.js → chunk-m7n2f6nf.js} +1 -1
  132. package/dist/{chunk-srv59vf3.js → chunk-m9rrhywc.js} +4 -4
  133. package/dist/{chunk-z7jkw7ds.js → chunk-mcdqy5gt.js} +1 -1
  134. package/dist/{chunk-dd4erwx8.js → chunk-mtx71g1t.js} +7 -3
  135. package/dist/{chunk-9vyg3854.js → chunk-mwzmmeeq.js} +5 -1
  136. package/dist/{chunk-w0bgsawz.js → chunk-n5ea9nv1.js} +2 -2
  137. package/dist/{chunk-krz4q9sz.js → chunk-ngq209hr.js} +2 -2
  138. package/dist/{chunk-7j9d7dtq.js → chunk-nw8zvj83.js} +1 -1
  139. package/dist/{chunk-52e8a05a.js → chunk-nxkbx5r2.js} +1 -1
  140. package/dist/{chunk-c7tnf6h7.js → chunk-p1eqxz4v.js} +28 -9
  141. package/dist/{chunk-9ye7w106.js → chunk-p5x18ckg.js} +1 -1
  142. package/dist/{chunk-ehgeg4q9.js → chunk-p6kw19sx.js} +17 -7
  143. package/dist/{chunk-3c7tvhtx.js → chunk-pa8yemp1.js} +1 -1
  144. package/dist/{chunk-zw6a73cm.js → chunk-prp1x0by.js} +1 -1
  145. package/dist/{chunk-8ye0k6z7.js → chunk-ptgtqv1a.js} +6 -1
  146. package/dist/{chunk-8k1y6w5k.js → chunk-pws4vb8r.js} +5 -1
  147. package/dist/{chunk-r07v9c4f.js → chunk-pzr1f2tz.js} +5 -1
  148. package/dist/{chunk-aexby8h3.js → chunk-q606kj28.js} +24 -2
  149. package/dist/{chunk-sat9hjv7.js → chunk-qky9999p.js} +1 -1
  150. package/dist/{chunk-svkzwq5e.js → chunk-qmfxytfb.js} +1 -1
  151. package/dist/{chunk-wnyxdfzd.js → chunk-qv3b2jvc.js} +1 -1
  152. package/dist/{chunk-5bw5h08v.js → chunk-r4jzz4f2.js} +7 -1
  153. package/dist/{chunk-cb51ybz5.js → chunk-r7mfpkbb.js} +12 -4
  154. package/dist/{chunk-5wndb6hx.js → chunk-ray29hdb.js} +6 -2
  155. package/dist/{chunk-z4jpedvh.js → chunk-rr74321a.js} +1 -1
  156. package/dist/{chunk-wensxzx9.js → chunk-rtb0ejf0.js} +1 -1
  157. package/dist/{chunk-tvd9n2kd.js → chunk-s0ecp1mv.js} +1 -1
  158. package/dist/{chunk-y7pkfcsz.js → chunk-s8ejm9d8.js} +1 -1
  159. package/dist/{chunk-v9r6t8bz.js → chunk-snq5m541.js} +6 -2
  160. package/dist/{chunk-4qn98ngf.js → chunk-srr328m4.js} +1 -1
  161. package/dist/{chunk-6p6zfyjr.js → chunk-svz0farj.js} +1 -1
  162. package/dist/{chunk-d3fr5vtc.js → chunk-t97ts9df.js} +1 -1
  163. package/dist/{chunk-79667fz5.js → chunk-tbd56x4h.js} +3 -3
  164. package/dist/chunk-tcefvfr8.js +15 -0
  165. package/dist/{chunk-0ftjkxjg.js → chunk-td7ra5d2.js} +1 -1
  166. package/dist/{chunk-6wvhq8wq.js → chunk-tg5grn8f.js} +2 -2
  167. package/dist/{chunk-hz9azhzx.js → chunk-tq0pfv5h.js} +7 -2
  168. package/dist/{chunk-4x3ck2yz.js → chunk-v24aqtkt.js} +1 -1
  169. package/dist/{chunk-sbrpnv8s.js → chunk-v8gdzaxt.js} +6 -2
  170. package/dist/{chunk-3mzqf6b4.js → chunk-vg2j5044.js} +1 -1
  171. package/dist/{chunk-map13pza.js → chunk-vhm7fpav.js} +11 -11
  172. package/dist/{chunk-kt085sbn.js → chunk-vm3fzfnj.js} +1 -1
  173. package/dist/{chunk-2bx2r98r.js → chunk-vrs3371x.js} +6 -2
  174. package/dist/{chunk-bqyvf9jn.js → chunk-w1jm0rx3.js} +8 -4
  175. package/dist/{chunk-e0pv0me5.js → chunk-w9jyajx3.js} +1 -1
  176. package/dist/{chunk-5v4typ39.js → chunk-wh7rmym5.js} +3 -3
  177. package/dist/{chunk-0mkv6zgs.js → chunk-wnhxn2se.js} +1 -1
  178. package/dist/{chunk-jfc7rhtt.js → chunk-wpa484a6.js} +1 -1
  179. package/dist/{chunk-pgq064p6.js → chunk-wq8jxf31.js} +7 -3
  180. package/dist/{chunk-6432235c.js → chunk-x1598f0d.js} +3 -3
  181. package/dist/{chunk-83zjj4jd.js → chunk-x6vx0v6d.js} +34 -7
  182. package/dist/{chunk-j4gd5awk.js → chunk-x6zmnr8m.js} +6 -6
  183. package/dist/{chunk-aa7m22zj.js → chunk-x90xmrba.js} +13 -4
  184. package/dist/{chunk-wjaehks2.js → chunk-xfhk2vrw.js} +6 -2
  185. package/dist/{chunk-5a2xnjyw.js → chunk-xgp1eyhr.js} +12 -4
  186. package/dist/{chunk-pwqw7ksj.js → chunk-xq579zwh.js} +1 -1
  187. package/dist/{chunk-ge5t1xhw.js → chunk-xvmv0xm5.js} +1 -1
  188. package/dist/{chunk-96wh7ccv.js → chunk-xwf411kf.js} +6 -2
  189. package/dist/{chunk-9jct7hv0.js → chunk-y7tyyzfy.js} +3 -3
  190. package/dist/{chunk-wqc963k8.js → chunk-ybyx7vt4.js} +2 -2
  191. package/dist/{chunk-rbm24fhv.js → chunk-z8n03ra5.js} +2 -2
  192. package/dist/{chunk-wmyj3hfw.js → chunk-zksbrzf6.js} +1 -1
  193. package/dist/{chunk-bsff5mmk.js → chunk-zp3wrbve.js} +1 -1
  194. package/dist/components/Accordion.d.ts +3 -2
  195. package/dist/components/AlertDialog.d.ts +3 -3
  196. package/dist/components/Attachment.d.ts +4 -3
  197. package/dist/components/Badge.d.ts +1 -1
  198. package/dist/components/Breadcrumb.d.ts +3 -2
  199. package/dist/components/Button.d.ts +8 -4
  200. package/dist/components/ButtonLink.d.ts +3 -2
  201. package/dist/components/Checkbox.d.ts +3 -2
  202. package/dist/components/Collapsible.d.ts +2 -1
  203. package/dist/components/Combobox.d.ts +2 -1
  204. package/dist/components/ContextMenu.d.ts +6 -5
  205. package/dist/components/Dialog.d.ts +2 -1
  206. package/dist/components/Drawer.d.ts +2 -1
  207. package/dist/components/DropTarget.d.ts +1 -1
  208. package/dist/components/DropdownMenu.d.ts +6 -5
  209. package/dist/components/HoverCard.d.ts +2 -1
  210. package/dist/components/ImagePicker.d.ts +3 -2
  211. package/dist/components/InlineEdit.d.ts +3 -2
  212. package/dist/components/Input.d.ts +3 -2
  213. package/dist/components/InputGroup.d.ts +2 -1
  214. package/dist/components/Item.d.ts +1 -1
  215. package/dist/components/Menubar.d.ts +4 -3
  216. package/dist/components/NativeSelect.d.ts +2 -1
  217. package/dist/components/NavigationMenu.d.ts +4 -3
  218. package/dist/components/NumberField.d.ts +2 -1
  219. package/dist/components/Pagination.d.ts +2 -1
  220. package/dist/components/Popover.d.ts +2 -1
  221. package/dist/components/RadioGroup.d.ts +3 -2
  222. package/dist/components/Select.d.ts +2 -1
  223. package/dist/components/Sheet.d.ts +2 -1
  224. package/dist/components/Sidebar.d.ts +8 -7
  225. package/dist/components/Slider.d.ts +2 -1
  226. package/dist/components/StarRating.d.ts +3 -2
  227. package/dist/components/Switch.d.ts +3 -2
  228. package/dist/components/Tabs.d.ts +3 -2
  229. package/dist/components/Textarea.d.ts +3 -2
  230. package/dist/components/Toast.d.ts +3 -2
  231. package/dist/components/Toggle.d.ts +3 -2
  232. package/dist/components/ToggleGroup.d.ts +17 -2
  233. package/dist/components/Toolbar.d.ts +4 -3
  234. package/dist/components/Tooltip.d.ts +2 -1
  235. package/dist/components/analytics/AnalyticsButton.d.ts +8 -0
  236. package/dist/components/analytics/AnalyticsImpression.d.ts +11 -0
  237. package/dist/components/analytics/AnalyticsInput.d.ts +7 -0
  238. package/dist/components/analytics/AnalyticsLink.d.ts +7 -0
  239. package/dist/components/analytics/AnalyticsProvider.d.ts +3 -0
  240. package/dist/components/analytics/AnalyticsScope.d.ts +3 -0
  241. package/dist/components/analytics/AnalyticsTextarea.d.ts +7 -0
  242. package/dist/components/analytics/index.d.ts +6 -0
  243. package/dist/components/analytics/index.js +145 -0
  244. package/dist/components/assistant-ui/elements/AgentCard.js +8 -2
  245. package/dist/components/assistant-ui/elements/ApprovalCard.js +8 -2
  246. package/dist/components/assistant-ui/elements/ArtifactCard.js +8 -2
  247. package/dist/components/assistant-ui/elements/AudioPlayer.js +9 -2
  248. package/dist/components/assistant-ui/elements/BackgroundInbox.js +8 -2
  249. package/dist/components/assistant-ui/elements/CanvasSplit.js +8 -2
  250. package/dist/components/assistant-ui/elements/Chart.js +6 -2
  251. package/dist/components/assistant-ui/elements/ChatPanel.js +12 -5
  252. package/dist/components/assistant-ui/elements/CheckpointHistory.js +8 -2
  253. package/dist/components/assistant-ui/elements/Citation.js +9 -5
  254. package/dist/components/assistant-ui/elements/CodeRunner.js +8 -2
  255. package/dist/components/assistant-ui/elements/CommandPalette.js +13 -9
  256. package/dist/components/assistant-ui/elements/ComposerAttachButton.js +8 -2
  257. package/dist/components/assistant-ui/elements/ComposerAttachmentChip.js +8 -2
  258. package/dist/components/assistant-ui/elements/ComposerAttachments.js +12 -5
  259. package/dist/components/assistant-ui/elements/ComposerBar.js +12 -5
  260. package/dist/components/assistant-ui/elements/ComposerCommandItem.js +9 -3
  261. package/dist/components/assistant-ui/elements/ComposerContext.js +8 -5
  262. package/dist/components/assistant-ui/elements/ComposerInput.js +12 -5
  263. package/dist/components/assistant-ui/elements/ComposerMenuItem.js +8 -2
  264. package/dist/components/assistant-ui/elements/ComposerModelItem.js +9 -3
  265. package/dist/components/assistant-ui/elements/ComposerModelTrigger.js +8 -2
  266. package/dist/components/assistant-ui/elements/ComposerPersonItem.js +9 -3
  267. package/dist/components/assistant-ui/elements/ComposerSend.js +8 -2
  268. package/dist/components/assistant-ui/elements/ComposerToolbar.js +12 -5
  269. package/dist/components/assistant-ui/elements/ComposerVoiceButton.js +8 -2
  270. package/dist/components/assistant-ui/elements/ConfidenceMarker.js +5 -1
  271. package/dist/components/assistant-ui/elements/ConnectionState.js +8 -2
  272. package/dist/components/assistant-ui/elements/ContextDisplay.js +13 -10
  273. package/dist/components/assistant-ui/elements/ContextDisplayBar.js +10 -7
  274. package/dist/components/assistant-ui/elements/ContextDisplayContent.js +6 -4
  275. package/dist/components/assistant-ui/elements/ContextDisplayRing.js +10 -7
  276. package/dist/components/assistant-ui/elements/ContextDisplayRoot.js +6 -4
  277. package/dist/components/assistant-ui/elements/ContextDisplayText.js +10 -7
  278. package/dist/components/assistant-ui/elements/ContextDisplayTrigger.js +7 -4
  279. package/dist/components/assistant-ui/elements/ConversationMap.js +7 -4
  280. package/dist/components/assistant-ui/elements/ConversationSearch.js +12 -5
  281. package/dist/components/assistant-ui/elements/DataTable.js +9 -2
  282. package/dist/components/assistant-ui/elements/Diagram.js +8 -2
  283. package/dist/components/assistant-ui/elements/DiffViewer.js +9 -3
  284. package/dist/components/assistant-ui/elements/DiffViewerHeader.js +8 -2
  285. package/dist/components/assistant-ui/elements/DocumentReference.js +8 -2
  286. package/dist/components/assistant-ui/elements/DraftRestore.js +8 -2
  287. package/dist/components/assistant-ui/elements/EditMessage.js +10 -3
  288. package/dist/components/assistant-ui/elements/ElicitationForm.js +12 -5
  289. package/dist/components/assistant-ui/elements/EmptyStateComposer.js +12 -5
  290. package/dist/components/assistant-ui/elements/EmptyStateSuggestion.js +8 -2
  291. package/dist/components/assistant-ui/elements/ErrorState.js +8 -2
  292. package/dist/components/assistant-ui/elements/EveAskQuestion.js +13 -5
  293. package/dist/components/assistant-ui/elements/FeedbackDialog.js +11 -4
  294. package/dist/components/assistant-ui/elements/File.js +11 -3
  295. package/dist/components/assistant-ui/elements/GenerativeUi.js +11 -8
  296. package/dist/components/assistant-ui/elements/GeoMap.js +8 -2
  297. package/dist/components/assistant-ui/elements/GuardrailNotice.js +8 -2
  298. package/dist/components/assistant-ui/elements/Image.js +10 -5
  299. package/dist/components/assistant-ui/elements/ImageGallery.js +10 -5
  300. package/dist/components/assistant-ui/elements/ImageGeneration.js +8 -2
  301. package/dist/components/assistant-ui/elements/JobProgress.js +8 -2
  302. package/dist/components/assistant-ui/elements/LauncherBubble.js +8 -2
  303. package/dist/components/assistant-ui/elements/LinkPreview.js +5 -1
  304. package/dist/components/assistant-ui/elements/MapAnswer.js +9 -2
  305. package/dist/components/assistant-ui/elements/MarkdownText.js +8 -6
  306. package/dist/components/assistant-ui/elements/McpServerPanel.js +9 -3
  307. package/dist/components/assistant-ui/elements/MemoryChips.js +8 -2
  308. package/dist/components/assistant-ui/elements/MermaidDiagram.js +9 -6
  309. package/dist/components/assistant-ui/elements/MermaidZoom.js +8 -5
  310. package/dist/components/assistant-ui/elements/MessageActions.js +9 -3
  311. package/dist/components/assistant-ui/elements/MessageAttachments.js +8 -2
  312. package/dist/components/assistant-ui/elements/MessageBranches.js +8 -2
  313. package/dist/components/assistant-ui/elements/MessagePair.js +8 -2
  314. package/dist/components/assistant-ui/elements/MessageQueue.js +8 -2
  315. package/dist/components/assistant-ui/elements/MobileComposer.js +12 -5
  316. package/dist/components/assistant-ui/elements/ModelPicker.js +5 -2
  317. package/dist/components/assistant-ui/elements/ModelSelector.js +24 -19
  318. package/dist/components/assistant-ui/elements/ModelSelectorContent.js +21 -16
  319. package/dist/components/assistant-ui/elements/ModelSelectorEffort.js +5 -1
  320. package/dist/components/assistant-ui/elements/ModelSelectorEmpty.js +13 -9
  321. package/dist/components/assistant-ui/elements/ModelSelectorFocusAnchor.js +13 -9
  322. package/dist/components/assistant-ui/elements/ModelSelectorGroup.js +13 -9
  323. package/dist/components/assistant-ui/elements/ModelSelectorItem.js +13 -9
  324. package/dist/components/assistant-ui/elements/ModelSelectorList.js +15 -11
  325. package/dist/components/assistant-ui/elements/ModelSelectorRoot.js +6 -4
  326. package/dist/components/assistant-ui/elements/ModelSelectorSearch.js +13 -9
  327. package/dist/components/assistant-ui/elements/ModelSelectorSeparator.js +13 -9
  328. package/dist/components/assistant-ui/elements/ModelSelectorTrigger.js +7 -4
  329. package/dist/components/assistant-ui/elements/Onboarding.js +8 -2
  330. package/dist/components/assistant-ui/elements/OptionList.js +9 -3
  331. package/dist/components/assistant-ui/elements/PermissionGrant.js +8 -2
  332. package/dist/components/assistant-ui/elements/PromptLibrary.js +12 -5
  333. package/dist/components/assistant-ui/elements/QuestionFlow.js +10 -4
  334. package/dist/components/assistant-ui/elements/QuotaBanner.js +8 -2
  335. package/dist/components/assistant-ui/elements/QuoteReply.js +8 -2
  336. package/dist/components/assistant-ui/elements/ReadAloud.js +8 -2
  337. package/dist/components/assistant-ui/elements/ReasoningContent.js +5 -2
  338. package/dist/components/assistant-ui/elements/ReasoningEffort.js +5 -2
  339. package/dist/components/assistant-ui/elements/ReasoningPanel.js +6 -2
  340. package/dist/components/assistant-ui/elements/ReasoningRoot.js +5 -2
  341. package/dist/components/assistant-ui/elements/ReasoningTrigger.js +5 -2
  342. package/dist/components/assistant-ui/elements/RecommendationCard.js +8 -2
  343. package/dist/components/assistant-ui/elements/RegenerateMenu.js +7 -5
  344. package/dist/components/assistant-ui/elements/ReviewableDiff.js +8 -2
  345. package/dist/components/assistant-ui/elements/RunActivity.js +6 -2
  346. package/dist/components/assistant-ui/elements/ScheduleCard.js +5 -2
  347. package/dist/components/assistant-ui/elements/ScrollAnchor.js +5 -1
  348. package/dist/components/assistant-ui/elements/SettingsPanel.js +12 -5
  349. package/dist/components/assistant-ui/elements/SharedConversation.js +8 -2
  350. package/dist/components/assistant-ui/elements/Sources.js +7 -2
  351. package/dist/components/assistant-ui/elements/StoppedRun.js +8 -2
  352. package/dist/components/assistant-ui/elements/Suggestions.js +8 -2
  353. package/dist/components/assistant-ui/elements/TaskCard.js +8 -2
  354. package/dist/components/assistant-ui/elements/TerminalBlock.js +8 -2
  355. package/dist/components/assistant-ui/elements/ThreadList.js +8 -2
  356. package/dist/components/assistant-ui/elements/ThreadSearch.js +12 -5
  357. package/dist/components/assistant-ui/elements/TodoList.js +8 -2
  358. package/dist/components/assistant-ui/elements/ToolCall.js +6 -2
  359. package/dist/components/assistant-ui/elements/ToolError.js +8 -2
  360. package/dist/components/assistant-ui/elements/ToolGroup.js +8 -2
  361. package/dist/components/assistant-ui/elements/ToolTimeline.js +6 -2
  362. package/dist/components/assistant-ui/elements/TooltipIconButton.js +6 -5
  363. package/dist/components/assistant-ui/elements/VoiceConversation.js +9 -2
  364. package/dist/components/assistant-ui/elements/WebPreview.js +8 -2
  365. package/dist/components/assistant-ui/eveAskQuestionToolkit.js +14 -6
  366. package/dist/components/assistant-ui/index.js +148 -144
  367. package/dist/components/assistant-ui/native/AssistantModal.js +29 -25
  368. package/dist/components/assistant-ui/native/AssistantSidebar.js +28 -24
  369. package/dist/components/assistant-ui/native/AttachmentPreview.js +9 -7
  370. package/dist/components/assistant-ui/native/ComposerQuotePreview.js +5 -1
  371. package/dist/components/assistant-ui/native/ComposerTriggerPopover.js +5 -1
  372. package/dist/components/assistant-ui/native/ContextDisplay.js +15 -12
  373. package/dist/components/assistant-ui/native/ContextDisplayBar.js +12 -9
  374. package/dist/components/assistant-ui/native/ContextDisplayRing.js +12 -9
  375. package/dist/components/assistant-ui/native/ContextDisplayRoot.js +8 -6
  376. package/dist/components/assistant-ui/native/ContextDisplayRuntimeRoot.js +7 -5
  377. package/dist/components/assistant-ui/native/ContextDisplayText.js +12 -9
  378. package/dist/components/assistant-ui/native/ConversationMapAui.js +8 -5
  379. package/dist/components/assistant-ui/native/FollowupSuggestionsRow.js +5 -1
  380. package/dist/components/assistant-ui/native/McpConfigDialog.js +12 -6
  381. package/dist/components/assistant-ui/native/MermaidDiagram.js +10 -7
  382. package/dist/components/assistant-ui/native/MessageTiming.js +7 -4
  383. package/dist/components/assistant-ui/native/ModelSelector.js +26 -21
  384. package/dist/components/assistant-ui/native/Reasoning.js +13 -11
  385. package/dist/components/assistant-ui/native/SelectionToolbar.js +5 -1
  386. package/dist/components/assistant-ui/native/Sources.js +5 -1
  387. package/dist/components/assistant-ui/native/TaskCard.js +15 -11
  388. package/dist/components/assistant-ui/native/TaskGroup.js +16 -12
  389. package/dist/components/assistant-ui/native/TaskTray.js +7 -4
  390. package/dist/components/assistant-ui/native/Thread.js +26 -22
  391. package/dist/components/assistant-ui/native/ThreadList.d.ts +6 -4
  392. package/dist/components/assistant-ui/native/ThreadList.js +11 -5
  393. package/dist/components/assistant-ui/native/ThreadListSidebar.js +14 -10
  394. package/dist/components/assistant-ui/native/ToolFallbackRoot.js +12 -4
  395. package/dist/components/assistant-ui/native/ToolGroup.js +6 -2
  396. package/dist/components/assistant-ui/native/VoiceConnectButton.js +8 -2
  397. package/dist/components/assistant-ui/native/VoiceControl.js +10 -9
  398. package/dist/components/assistant-ui/native/VoiceConversation.js +10 -3
  399. package/dist/components/assistant-ui/native/VoiceDisconnectButton.js +7 -6
  400. package/dist/components/assistant-ui/native/VoiceMuteButton.js +7 -6
  401. package/dist/components/assistant-ui/native/index.js +81 -77
  402. package/dist/components/calendar/Calendar.d.ts +1 -1
  403. package/dist/components/calendar/index.js +9 -6
  404. package/dist/components/calendar/types.d.ts +2 -1
  405. package/dist/components/carousel/Carousel.d.ts +1 -1
  406. package/dist/components/carousel/index.js +8 -2
  407. package/dist/components/carousel/types.d.ts +2 -1
  408. package/dist/components/chart/index.js +5 -1
  409. package/dist/components/color-picker/ColorPicker.d.ts +2 -1
  410. package/dist/components/color-picker/index.js +26 -1
  411. package/dist/components/command/Command.d.ts +2 -1
  412. package/dist/components/command/index.js +12 -8
  413. package/dist/components/data-grid/index.js +16 -12
  414. package/dist/components/editor/RichTextEditor.d.ts +3 -2
  415. package/dist/components/editor/index.js +39 -3
  416. package/dist/components/event-calendar/EventCalendar.d.ts +2 -1
  417. package/dist/components/event-calendar/index.js +19 -3
  418. package/dist/components/file-upload/FileUpload.d.ts +3 -2
  419. package/dist/components/file-upload/index.js +20 -2
  420. package/dist/components/gantt/index.js +9 -3
  421. package/dist/components/image-crop/ImageCrop.d.ts +4 -3
  422. package/dist/components/image-crop/index.js +27 -1
  423. package/dist/components/input-otp/InputOTP.d.ts +3 -2
  424. package/dist/components/input-otp/index.js +9 -2
  425. package/dist/components/json-render/catalog.d.ts +1 -1
  426. package/dist/components/json-render/index.js +34 -31
  427. package/dist/components/message-scroller/MessageScroller.d.ts +3 -2
  428. package/dist/components/message-scroller/index.js +12 -1
  429. package/dist/components/persian-calendar/PersianCalendar.d.ts +3 -2
  430. package/dist/components/persian-calendar/index.js +16 -3
  431. package/dist/components/questionnaire/Questionnaire.d.ts +8 -7
  432. package/dist/components/questionnaire/index.js +37 -3
  433. package/dist/components/resizable/Resizable.d.ts +2 -1
  434. package/dist/components/resizable/index.js +4 -1
  435. package/dist/components/sonner/Sonner.d.ts +3 -2
  436. package/dist/components/sonner/index.js +14 -1
  437. package/dist/components/tree/Tree.d.ts +3 -2
  438. package/dist/components/tree/TreeItem.d.ts +3 -2
  439. package/dist/components/tree/index.js +28 -2
  440. package/dist/components/virtual-data-grid/index.js +11 -4
  441. package/dist/drag-drop/types.d.ts +2 -1
  442. package/dist/hooks/useAnalytics.d.ts +4 -0
  443. package/dist/hooks/useAnalyticsCallback.d.ts +5 -0
  444. package/dist/hooks/useAnalyticsEnabled.d.ts +2 -0
  445. package/dist/hooks/useAnalyticsInput.d.ts +8 -0
  446. package/dist/hooks/useDropTarget.d.ts +1 -1
  447. package/dist/index.js +39 -37
  448. package/dist/prototype.js +5 -1
  449. package/llms/components/actions/Button.md +20 -0
  450. package/llms/components/actions/ToggleGroup.md +48 -1
  451. package/llms/components/providers/AnalyticsProvider.md +59 -0
  452. package/llms/setup.md +48 -24
  453. package/llms.txt +1 -0
  454. package/package.json +5 -1
  455. package/dist/chunk-j89xg1ak.js +0 -14
  456. package/dist/chunk-mz3e810d.js +0 -83
  457. package/dist/chunk-q7p28b89.js +0 -68
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-cp2m7y7v.js";
4
4
  import {
5
5
  Button2
6
- } from "./chunk-q7p28b89.js";
6
+ } from "./chunk-38301e40.js";
7
7
  import {
8
8
  paper,
9
9
  mono
@@ -3,12 +3,12 @@ import {
3
3
  } from "./chunk-cp2m7y7v.js";
4
4
  import {
5
5
  Button2
6
- } from "./chunk-q7p28b89.js";
6
+ } from "./chunk-38301e40.js";
7
7
  import {
8
8
  InputGroup2,
9
9
  InputGroupAddon2,
10
10
  InputGroupInput2
11
- } from "./chunk-57jj9v64.js";
11
+ } from "./chunk-14mh00z3.js";
12
12
  import {
13
13
  field,
14
14
  mono
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-cp2m7y7v.js";
4
4
  import {
5
5
  Button2
6
- } from "./chunk-q7p28b89.js";
6
+ } from "./chunk-38301e40.js";
7
7
  import {
8
8
  paper,
9
9
  field,
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-cp2m7y7v.js";
4
4
  import {
5
5
  Button2
6
- } from "./chunk-q7p28b89.js";
6
+ } from "./chunk-38301e40.js";
7
7
  import {
8
8
  paper,
9
9
  mono
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  Button2
3
- } from "./chunk-q7p28b89.js";
3
+ } from "./chunk-38301e40.js";
4
4
  import {
5
5
  useReceiptFocus
6
6
  } from "./chunk-vxvaaptq.js";
7
7
  import {
8
8
  OptionList2
9
- } from "./chunk-pg9rhbgm.js";
9
+ } from "./chunk-k455qwx2.js";
10
10
 
11
11
  // src/components/assistant-ui/elements/QuestionFlow.tsx
12
12
  import { useCallback, useId, useLayoutEffect, useRef, useState } from "react";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-cp2m7y7v.js";
4
4
  import {
5
5
  Button2
6
- } from "./chunk-q7p28b89.js";
6
+ } from "./chunk-38301e40.js";
7
7
  import {
8
8
  ShimmerLabel2
9
9
  } from "./chunk-s3wqwhxc.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Button2
3
- } from "./chunk-q7p28b89.js";
3
+ } from "./chunk-38301e40.js";
4
4
  import {
5
5
  useReceiptFocus
6
6
  } from "./chunk-vxvaaptq.js";
@@ -0,0 +1,48 @@
1
+ import {
2
+ useAnalytics2
3
+ } from "./chunk-7ny0vyek.js";
4
+ import {
5
+ useAnalyticsEnabled
6
+ } from "./chunk-8ssktt4b.js";
7
+
8
+ // src/analytics/analyticsSource.ts
9
+ function analyticsSource(value) {
10
+ if (typeof value !== "object" || value === null)
11
+ return;
12
+ if (value instanceof Event)
13
+ return value;
14
+ if ("nativeEvent" in value)
15
+ return analyticsSource(value.nativeEvent);
16
+ if ("event" in value)
17
+ return analyticsSource(value.event);
18
+ return;
19
+ }
20
+ function isAnalyticsCanceled(value) {
21
+ if (typeof value !== "object" || value === null)
22
+ return false;
23
+ return "isCanceled" in value && value.isCanceled === true || "defaultPrevented" in value && value.defaultPrevented === true;
24
+ }
25
+ function isAnalyticsProgrammatic(value) {
26
+ return typeof value === "object" && value !== null && (("isUserInteraction" in value) && value.isUserInteraction === false || ("event" in value) && analyticsSource(value.event)?.type === "base-ui");
27
+ }
28
+
29
+ // src/hooks/useAnalyticsCallback.ts
30
+ function useAnalyticsCallback(component, analytics, detail, callback) {
31
+ const enabled = useAnalyticsEnabled(analytics);
32
+ const track = useAnalytics2(component, analytics);
33
+ return (...args) => {
34
+ callback?.(...args);
35
+ if (!enabled)
36
+ return;
37
+ if (args.some(isAnalyticsCanceled) || args.some(isAnalyticsProgrammatic))
38
+ return;
39
+ const event = typeof detail === "function" ? detail(...args) : detail;
40
+ const source = args.map(analyticsSource).find((candidate) => candidate !== undefined);
41
+ queueMicrotask(() => {
42
+ if (!args.some(isAnalyticsCanceled))
43
+ track(event, source);
44
+ });
45
+ };
46
+ }
47
+
48
+ export { useAnalyticsCallback };
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-cp2m7y7v.js";
4
4
  import {
5
5
  Button2
6
- } from "./chunk-q7p28b89.js";
6
+ } from "./chunk-38301e40.js";
7
7
 
8
8
  // src/components/assistant-ui/elements/Suggestions.tsx
9
9
  import { jsx } from "react/jsx-runtime";
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  PopoverContent2,
3
3
  PopoverTitle2
4
- } from "./chunk-4djw71cv.js";
4
+ } from "./chunk-21ab0jsp.js";
5
5
  import {
6
6
  Command2
7
- } from "./chunk-dwkjt1mm.js";
7
+ } from "./chunk-0twprqdp.js";
8
8
  import {
9
9
  useModelSelectorContext
10
10
  } from "./chunk-ydfx8r6d.js";
11
11
  import {
12
12
  ModelSelectorFocusAnchor2
13
- } from "./chunk-y7pkfcsz.js";
13
+ } from "./chunk-s8ejm9d8.js";
14
14
  import {
15
15
  ModelSelectorSearch2
16
- } from "./chunk-0mkv6zgs.js";
16
+ } from "./chunk-wnhxn2se.js";
17
17
  import {
18
18
  ModelSelectorList2
19
- } from "./chunk-60756tfb.js";
19
+ } from "./chunk-0q9n4syq.js";
20
20
  import {
21
21
  ModelSelectorEffort2
22
- } from "./chunk-r07v9c4f.js";
22
+ } from "./chunk-pzr1f2tz.js";
23
23
 
24
24
  // src/components/assistant-ui/elements/ModelSelectorContent.tsx
25
25
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
@@ -1,20 +1,23 @@
1
+ import {
2
+ AnalyticsButton
3
+ } from "./chunk-tcefvfr8.js";
1
4
  import {
2
5
  useResolvedPortalContainer
3
- } from "./chunk-dtkw8m6d.js";
6
+ } from "./chunk-9t5h5ps3.js";
4
7
  import {
5
8
  useDensity
6
9
  } from "./chunk-e6hk39ev.js";
7
- import {
8
- TooltipIconButton2
9
- } from "./chunk-1qsph9ej.js";
10
10
  import {
11
11
  Thread2
12
- } from "./chunk-yrxjwwz3.js";
12
+ } from "./chunk-dfkzm4f1.js";
13
+ import {
14
+ TooltipIconButton2
15
+ } from "./chunk-kzar67tq.js";
13
16
  import {
14
17
  ThreadListSearch2,
15
18
  ThreadListRoot2,
16
19
  ThreadListItems2
17
- } from "./chunk-bqyvf9jn.js";
20
+ } from "./chunk-w1jm0rx3.js";
18
21
 
19
22
  // src/components/assistant-ui/native/AssistantModal.tsx
20
23
  import { BotIcon, ChevronDownIcon, HistoryIcon, PlusIcon } from "lucide-react";
@@ -308,7 +311,8 @@ var AssistantModalThreadList = ({ onSelect }) => {
308
311
  });
309
312
  };
310
313
  var AssistantModalResizeHandle = (props) => {
311
- return /* @__PURE__ */ jsx("button", {
314
+ return /* @__PURE__ */ jsx(AnalyticsButton, {
315
+ component: "AssistantModalResizeHandle",
312
316
  type: "button",
313
317
  "aria-label": "Resize Assistant",
314
318
  className: "aui-modal-resize-handle group-hover/modal:border-foreground/15 hover:border-foreground/40 focus-visible:border-ring absolute start-0 top-0 z-10 size-6 cursor-nwse-resize touch-none rounded-ss-xl border-s-2 border-t-2 border-transparent transition-colors outline-none [clip-path:polygon(0_0,100%_0,100%_6px,6px_6px,6px_100%,0_100%)] motion-reduce:transition-none rtl:cursor-nesw-resize rtl:[clip-path:polygon(0_0,100%_0,100%_100%,calc(100%_-_6px)_100%,calc(100%_-_6px)_6px,0_6px)]",
@@ -2,24 +2,30 @@ import {
2
2
  useDensity
3
3
  } from "./chunk-e6hk39ev.js";
4
4
  import {
5
- usePortalContainer2
6
- } from "./chunk-j89xg1ak.js";
7
- import {
5
+ usePortalContainer2,
8
6
  usePortalNode,
9
7
  PortalProvider2
10
- } from "./chunk-aa7m22zj.js";
8
+ } from "./chunk-x90xmrba.js";
11
9
  import {
12
10
  cn2
13
11
  } from "./chunk-cp2m7y7v.js";
12
+ import {
13
+ useAnalyticsCallback
14
+ } from "./chunk-5mydsjp3.js";
14
15
 
15
16
  // src/components/HoverCard.tsx
16
17
  import { PreviewCard as PreviewCardPrimitive } from "@base-ui/react/preview-card";
17
18
  import { useDirection } from "@base-ui/react/direction-provider";
18
19
  import { jsx } from "react/jsx-runtime";
19
- function HoverCard2({ ...props }) {
20
+ function HoverCard2({
21
+ analytics,
22
+ ...props
23
+ }) {
24
+ const trackedOnOpenChange = useAnalyticsCallback("HoverCard", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
20
25
  return /* @__PURE__ */ jsx(PreviewCardPrimitive.Root, {
21
26
  "data-slot": "hover-card",
22
- ...props
27
+ ...props,
28
+ onOpenChange: trackedOnOpenChange
23
29
  });
24
30
  }
25
31
  function HoverCardTrigger2({ ...props }) {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-cp2m7y7v.js";
4
4
  import {
5
5
  Button2
6
- } from "./chunk-q7p28b89.js";
6
+ } from "./chunk-38301e40.js";
7
7
  import {
8
8
  paper,
9
9
  field,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Button2
3
- } from "./chunk-q7p28b89.js";
3
+ } from "./chunk-38301e40.js";
4
4
  import {
5
5
  ToggleGroup2,
6
6
  ToggleGroupItem2
7
- } from "./chunk-aexby8h3.js";
7
+ } from "./chunk-q606kj28.js";
8
8
 
9
9
  // src/components/assistant-ui/elements/MessageActions.tsx
10
10
  import { CheckIcon, CopyIcon, EllipsisIcon, RefreshCwIcon, ThumbsDownIcon, ThumbsUpIcon } from "lucide-react";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  Button2
3
- } from "./chunk-q7p28b89.js";
3
+ } from "./chunk-38301e40.js";
4
4
  import {
5
5
  InputGroup2,
6
6
  InputGroupAddon2,
7
7
  InputGroupInput2
8
- } from "./chunk-57jj9v64.js";
8
+ } from "./chunk-14mh00z3.js";
9
9
 
10
10
  // src/components/assistant-ui/elements/MobileComposer.tsx
11
11
  import { ArrowUpIcon, MicIcon, PlusIcon, SquareIcon } from "lucide-react";
@@ -1,12 +1,15 @@
1
+ import {
2
+ useAnalytics2
3
+ } from "./chunk-7ny0vyek.js";
1
4
  import {
2
5
  cn2
3
6
  } from "./chunk-cp2m7y7v.js";
4
7
  import {
5
8
  Button2
6
- } from "./chunk-q7p28b89.js";
9
+ } from "./chunk-38301e40.js";
7
10
 
8
11
  // src/components/carousel/Carousel.tsx
9
- import { useCallback, useEffect, useState } from "react";
12
+ import { useCallback, useEffect, useEffectEvent, useState } from "react";
10
13
  import useEmblaCarousel from "embla-carousel-react";
11
14
  import { useDirection } from "@base-ui/react/direction-provider";
12
15
  import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon } from "lucide-react";
@@ -27,6 +30,7 @@ function useCarousel2() {
27
30
  // src/components/carousel/Carousel.tsx
28
31
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
29
32
  function Carousel2({
33
+ analytics,
30
34
  density,
31
35
  orientation = "horizontal",
32
36
  opts,
@@ -37,6 +41,8 @@ function Carousel2({
37
41
  onKeyDown,
38
42
  ...props
39
43
  }) {
44
+ const track = useAnalytics2("Carousel", analytics);
45
+ const reportNavigation = useEffectEvent(() => track({ name: "ui.navigate" }));
40
46
  const inheritedDirection = useDirection();
41
47
  const direction = opts?.direction ?? inheritedDirection;
42
48
  const [carouselRef, api] = useEmblaCarousel({
@@ -53,11 +59,32 @@ function Carousel2({
53
59
  }, plugins);
54
60
  const [canScrollPrev, setCanScrollPrev] = useState(false);
55
61
  const [canScrollNext, setCanScrollNext] = useState(false);
56
- const scrollPrev = useCallback(() => api?.scrollPrev(), [api]);
57
- const scrollNext = useCallback(() => api?.scrollNext(), [api]);
62
+ const scrollPrev = useCallback(() => {
63
+ if (api?.canScrollPrev()) {
64
+ api.scrollPrev();
65
+ track({ name: "ui.navigate" });
66
+ }
67
+ }, [api, track]);
68
+ const scrollNext = useCallback(() => {
69
+ if (api?.canScrollNext()) {
70
+ api.scrollNext();
71
+ track({ name: "ui.navigate" });
72
+ }
73
+ }, [api, track]);
58
74
  useEffect(() => {
59
75
  if (!api)
60
76
  return;
77
+ let dragStart;
78
+ const pointerDown = () => {
79
+ dragStart = api.selectedScrollSnap();
80
+ };
81
+ const settle = () => {
82
+ if (dragStart !== undefined && dragStart !== api.selectedScrollSnap())
83
+ reportNavigation();
84
+ dragStart = undefined;
85
+ };
86
+ api.on("pointerDown", pointerDown);
87
+ api.on("settle", settle);
61
88
  const update = () => {
62
89
  setCanScrollPrev(api.canScrollPrev());
63
90
  setCanScrollNext(api.canScrollNext());
@@ -66,6 +93,8 @@ function Carousel2({
66
93
  api.on("reInit", update);
67
94
  api.on("select", update);
68
95
  return () => {
96
+ api.off("pointerDown", pointerDown);
97
+ api.off("settle", settle);
69
98
  api.off("reInit", update);
70
99
  api.off("select", update);
71
100
  };
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-cp2m7y7v.js";
4
4
  import {
5
5
  InputGroup2
6
- } from "./chunk-57jj9v64.js";
6
+ } from "./chunk-14mh00z3.js";
7
7
 
8
8
  // src/components/assistant-ui/elements/ComposerBar.tsx
9
9
  import { jsx } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Button2
3
- } from "./chunk-q7p28b89.js";
3
+ } from "./chunk-38301e40.js";
4
4
  import {
5
5
  Table2,
6
6
  TableHeader2,
@@ -14,10 +14,10 @@ import {
14
14
  import {
15
15
  NativeSelect2,
16
16
  NativeSelectOption2
17
- } from "./chunk-5bw5h08v.js";
17
+ } from "./chunk-r4jzz4f2.js";
18
18
  import {
19
19
  Input2
20
- } from "./chunk-59p19t57.js";
20
+ } from "./chunk-0fmrwsgp.js";
21
21
 
22
22
  // src/components/data-grid/DataGrid.tsx
23
23
  import {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Button2
3
- } from "./chunk-q7p28b89.js";
3
+ } from "./chunk-38301e40.js";
4
4
  import {
5
5
  Card2,
6
6
  CardHeader2,
@@ -15,11 +15,11 @@ import {
15
15
  } from "./chunk-6jpz5geq.js";
16
16
  import {
17
17
  Textarea2
18
- } from "./chunk-hz9azhzx.js";
18
+ } from "./chunk-tq0pfv5h.js";
19
19
  import {
20
20
  ToggleGroup2,
21
21
  ToggleGroupItem2
22
- } from "./chunk-aexby8h3.js";
22
+ } from "./chunk-q606kj28.js";
23
23
 
24
24
  // src/components/assistant-ui/elements/FeedbackDialog.tsx
25
25
  import { useId } from "react";
@@ -0,0 +1,33 @@
1
+ import {
2
+ useAnalytics2
3
+ } from "./chunk-7ny0vyek.js";
4
+ import {
5
+ useAnalyticsEnabled
6
+ } from "./chunk-8ssktt4b.js";
7
+
8
+ // src/hooks/useAnalyticsInput.ts
9
+ import { useLayoutEffect, useRef } from "react";
10
+ function useAnalyticsInput(component, analytics, handlers) {
11
+ const enabled = useAnalyticsEnabled(analytics);
12
+ const dirty = useRef(false);
13
+ useLayoutEffect(() => {
14
+ dirty.current = false;
15
+ }, [enabled]);
16
+ const track = useAnalytics2(component, analytics);
17
+ return {
18
+ onChange(event) {
19
+ handlers.onChange?.(event);
20
+ if (enabled && !event.defaultPrevented)
21
+ dirty.current = true;
22
+ },
23
+ onBlur(event) {
24
+ handlers.onBlur?.(event);
25
+ const changed = dirty.current;
26
+ dirty.current = false;
27
+ if (changed && !event.defaultPrevented)
28
+ track({ name: "ui.commit" }, event.nativeEvent);
29
+ }
30
+ };
31
+ }
32
+
33
+ export { useAnalyticsInput };
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  useIsomorphicLayoutEffect
3
3
  } from "./chunk-1wz92wgg.js";
4
+ import {
5
+ AnalyticsLink
6
+ } from "./chunk-4710gn6d.js";
4
7
  import {
5
8
  cn2
6
9
  } from "./chunk-cp2m7y7v.js";
@@ -9,7 +12,7 @@ import {
9
12
  } from "./chunk-wjx6zf94.js";
10
13
  import {
11
14
  Button2
12
- } from "./chunk-q7p28b89.js";
15
+ } from "./chunk-38301e40.js";
13
16
  import {
14
17
  Card2
15
18
  } from "./chunk-bygq5yqf.js";
@@ -239,7 +242,8 @@ function DataTableValueCell({ column, row, locale, relativeTo }) {
239
242
  children: textValue(value)
240
243
  });
241
244
  const external = /^https?:/.test(href);
242
- return external ? /* @__PURE__ */ jsxs("a", {
245
+ return external ? /* @__PURE__ */ jsxs(AnalyticsLink, {
246
+ component: "DataTableValueCell",
243
247
  href,
244
248
  target: "_blank",
245
249
  rel: "noopener noreferrer",
@@ -251,7 +255,8 @@ function DataTableValueCell({ column, row, locale, relativeTo }) {
251
255
  children: " (opens in a new tab)"
252
256
  })
253
257
  ]
254
- }) : /* @__PURE__ */ jsx("a", {
258
+ }) : /* @__PURE__ */ jsx(AnalyticsLink, {
259
+ component: "DataTableValueCell",
255
260
  href,
256
261
  className: "underline underline-offset-2",
257
262
  children: textValue(value)
@@ -0,0 +1,25 @@
1
+ // src/hooks/useAnalytics.ts
2
+ import { useContext } from "react";
3
+
4
+ // src/analytics/AnalyticsContext.ts
5
+ import { createContext } from "react";
6
+ var AnalyticsContext = createContext(null);
7
+
8
+ // src/hooks/useAnalytics.ts
9
+ function useAnalytics2(component, analytics) {
10
+ const context = useContext(AnalyticsContext);
11
+ return (detail, source) => {
12
+ if (!context || analytics === false)
13
+ return;
14
+ context.send({
15
+ ...detail,
16
+ schemaVersion: 1,
17
+ component,
18
+ ...analytics?.id === undefined ? {} : { id: analytics.id },
19
+ scope: context.scope,
20
+ properties: { ...context.properties, ...analytics?.properties }
21
+ }, source);
22
+ };
23
+ }
24
+
25
+ export { AnalyticsContext, useAnalytics2 };
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-cp2m7y7v.js";
4
4
  import {
5
5
  Button2
6
- } from "./chunk-q7p28b89.js";
6
+ } from "./chunk-38301e40.js";
7
7
  import {
8
8
  paper,
9
9
  mono
@@ -1,15 +1,20 @@
1
1
  import {
2
2
  cn2
3
3
  } from "./chunk-cp2m7y7v.js";
4
+ import {
5
+ useAnalyticsCallback
6
+ } from "./chunk-5mydsjp3.js";
4
7
 
5
8
  // src/components/resizable/Resizable.tsx
6
9
  import { Group, Panel, Separator } from "react-resizable-panels";
7
10
  import { jsx, jsxs } from "react/jsx-runtime";
8
- function Resizable2({ className, ...props }) {
11
+ function Resizable2({ analytics, className, ...props }) {
12
+ const trackedOnLayoutChanged = useAnalyticsCallback("Resizable", analytics, { name: "ui.commit" }, props.onLayoutChanged);
9
13
  return /* @__PURE__ */ jsx(Group, {
10
14
  "data-slot": "resizable-panel-group",
11
15
  className: cn2("size-full", className),
12
- ...props
16
+ ...props,
17
+ onLayoutChanged: trackedOnLayoutChanged
13
18
  });
14
19
  }
15
20
  function ResizablePanel2({ style, ...props }) {
@@ -1,9 +1,12 @@
1
+ import {
2
+ useAnalyticsInput
3
+ } from "./chunk-7jpsybag.js";
1
4
  import {
2
5
  cn2
3
6
  } from "./chunk-cp2m7y7v.js";
4
7
  import {
5
8
  Button2
6
- } from "./chunk-q7p28b89.js";
9
+ } from "./chunk-38301e40.js";
7
10
  import {
8
11
  useMediaDuration
9
12
  } from "./chunk-pb8tsrdf.js";
@@ -15,10 +18,20 @@ import {
15
18
  mono
16
19
  } from "./chunk-fgmcbtyt.js";
17
20
 
21
+ // src/components/analytics/AnalyticsInput.tsx
22
+ import { jsx } from "react/jsx-runtime";
23
+ function AnalyticsInput({ component, analytics, ...props }) {
24
+ const handlers = useAnalyticsInput(component, analytics, props);
25
+ return /* @__PURE__ */ jsx("input", {
26
+ ...props,
27
+ ...handlers
28
+ });
29
+ }
30
+
18
31
  // src/components/assistant-ui/elements/AudioPlayer.tsx
19
32
  import { useEffect, useRef, useState } from "react";
20
33
  import { PauseIcon, PlayIcon } from "lucide-react";
21
- import { jsx, jsxs } from "react/jsx-runtime";
34
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
22
35
  function AudioPlayer2({ src, title, artwork, durationMs, ...props }) {
23
36
  const audioRef = useRef(null);
24
37
  const [playback, setPlayback] = useState({
@@ -59,22 +72,22 @@ function AudioPlayer2({ src, title, artwork, durationMs, ...props }) {
59
72
  className: cn2(paper, "flex w-full max-w-md items-center gap-3 rounded-md p-3"),
60
73
  ...props,
61
74
  children: [
62
- artwork ? /* @__PURE__ */ jsx("img", {
75
+ artwork ? /* @__PURE__ */ jsx2("img", {
63
76
  src: artwork,
64
77
  alt: "",
65
78
  className: "size-10 shrink-0 rounded-lg object-cover"
66
79
  }) : null,
67
- /* @__PURE__ */ jsx(Button2, {
80
+ /* @__PURE__ */ jsx2(Button2, {
68
81
  variant: "default",
69
82
  type: "button",
70
83
  "aria-label": `${playing ? "Pause" : "Play"}${playbackLabel}`,
71
84
  disabled: hasError,
72
85
  onClick: togglePlayback,
73
86
  size: "icon",
74
- children: playing ? /* @__PURE__ */ jsx(PauseIcon, {
87
+ children: playing ? /* @__PURE__ */ jsx2(PauseIcon, {
75
88
  "aria-hidden": "true",
76
89
  "data-icon": "inline-start"
77
- }) : /* @__PURE__ */ jsx(PlayIcon, {
90
+ }) : /* @__PURE__ */ jsx2(PlayIcon, {
78
91
  "aria-hidden": "true",
79
92
  "data-icon": "inline-start"
80
93
  })
@@ -82,11 +95,12 @@ function AudioPlayer2({ src, title, artwork, durationMs, ...props }) {
82
95
  /* @__PURE__ */ jsxs("div", {
83
96
  className: "flex min-w-0 grow basis-16 flex-col gap-1.5",
84
97
  children: [
85
- /* @__PURE__ */ jsx("span", {
98
+ /* @__PURE__ */ jsx2("span", {
86
99
  className: "truncate text-base font-medium",
87
100
  children: displayTitle
88
101
  }),
89
- /* @__PURE__ */ jsx("input", {
102
+ /* @__PURE__ */ jsx2(AnalyticsInput, {
103
+ component: "AudioPlayer",
90
104
  type: "range",
91
105
  min: 0,
92
106
  max: duration ?? 0,
@@ -116,7 +130,7 @@ function AudioPlayer2({ src, title, artwork, durationMs, ...props }) {
116
130
  durationLabel
117
131
  ]
118
132
  }),
119
- /* @__PURE__ */ jsx("audio", {
133
+ /* @__PURE__ */ jsx2("audio", {
120
134
  ref: audioRef,
121
135
  src,
122
136
  preload: "metadata",
@@ -129,7 +143,7 @@ function AudioPlayer2({ src, title, artwork, durationMs, ...props }) {
129
143
  onPause: () => update({ playing: false }),
130
144
  onError: () => update({ hasError: true, playing: false })
131
145
  }),
132
- hasError ? /* @__PURE__ */ jsx("span", {
146
+ hasError ? /* @__PURE__ */ jsx2("span", {
133
147
  role: "alert",
134
148
  className: "text-muted-foreground text-sm",
135
149
  children: "Can't play this audio"
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-cp2m7y7v.js";
4
4
  import {
5
5
  Button2
6
- } from "./chunk-q7p28b89.js";
6
+ } from "./chunk-38301e40.js";
7
7
  import {
8
8
  paper,
9
9
  mono
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-cp2m7y7v.js";
4
4
  import {
5
5
  Button2
6
- } from "./chunk-q7p28b89.js";
6
+ } from "./chunk-38301e40.js";
7
7
  import {
8
8
  paper,
9
9
  field,