@elabs-ai/components-ui 4.2.0 → 5.0.0

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 (1422) hide show
  1. package/README.md +2 -1
  2. package/dist/chunk-22Z735L6.js +18 -0
  3. package/dist/chunk-22Z735L6.js.map +1 -0
  4. package/dist/chunk-23E62DNM.js +2 -0
  5. package/dist/chunk-23E62DNM.js.map +1 -0
  6. package/dist/chunk-2AABRSIN.js +2 -0
  7. package/dist/chunk-2AABRSIN.js.map +1 -0
  8. package/dist/chunk-2HXVFC4B.js +44 -0
  9. package/dist/chunk-2HXVFC4B.js.map +1 -0
  10. package/dist/chunk-2SBYBN45.js +2 -0
  11. package/dist/chunk-2SBYBN45.js.map +1 -0
  12. package/dist/chunk-333EWYWL.js +385 -0
  13. package/dist/chunk-333EWYWL.js.map +1 -0
  14. package/dist/chunk-35DUHYPC.js +59 -0
  15. package/dist/chunk-35DUHYPC.js.map +1 -0
  16. package/dist/chunk-35ZTVB35.js +76 -0
  17. package/dist/chunk-35ZTVB35.js.map +1 -0
  18. package/dist/chunk-36VULFFV.js +2 -0
  19. package/dist/chunk-36VULFFV.js.map +1 -0
  20. package/dist/chunk-3B7W334A.js +229 -0
  21. package/dist/chunk-3B7W334A.js.map +1 -0
  22. package/dist/chunk-3EKVSKGJ.js +256 -0
  23. package/dist/chunk-3EKVSKGJ.js.map +1 -0
  24. package/dist/chunk-3JAEQNCB.js +60 -0
  25. package/dist/chunk-3JAEQNCB.js.map +1 -0
  26. package/dist/chunk-3LWAAK3J.js +140 -0
  27. package/dist/chunk-3LWAAK3J.js.map +1 -0
  28. package/dist/chunk-3OSGTUN2.js +2 -0
  29. package/dist/chunk-3OSGTUN2.js.map +1 -0
  30. package/dist/chunk-3P7SRCDB.js +23 -0
  31. package/dist/chunk-3P7SRCDB.js.map +1 -0
  32. package/dist/chunk-45ICJ3EV.js +2 -0
  33. package/dist/chunk-45ICJ3EV.js.map +1 -0
  34. package/dist/chunk-4ACT7RLU.js +2 -0
  35. package/dist/chunk-4ACT7RLU.js.map +1 -0
  36. package/dist/chunk-4E73UAFA.js +296 -0
  37. package/dist/chunk-4E73UAFA.js.map +1 -0
  38. package/dist/chunk-4GQFIJAE.js +197 -0
  39. package/dist/chunk-4GQFIJAE.js.map +1 -0
  40. package/dist/chunk-4HTVJZVG.js +2 -0
  41. package/dist/chunk-4HTVJZVG.js.map +1 -0
  42. package/dist/chunk-4KDA5MDC.js +2 -0
  43. package/dist/chunk-4KDA5MDC.js.map +1 -0
  44. package/dist/chunk-4PITSMJ3.js +52 -0
  45. package/dist/chunk-4PITSMJ3.js.map +1 -0
  46. package/dist/chunk-4PXDZR2W.js +2 -0
  47. package/dist/chunk-4PXDZR2W.js.map +1 -0
  48. package/dist/chunk-4UWOADYM.js +2 -0
  49. package/dist/chunk-4UWOADYM.js.map +1 -0
  50. package/dist/chunk-4W3MVVKN.js +66 -0
  51. package/dist/chunk-4W3MVVKN.js.map +1 -0
  52. package/dist/chunk-4YOFSGHD.js +2 -0
  53. package/dist/chunk-4YOFSGHD.js.map +1 -0
  54. package/dist/chunk-533R5EKD.js +87 -0
  55. package/dist/chunk-533R5EKD.js.map +1 -0
  56. package/dist/chunk-545HI223.js +2 -0
  57. package/dist/chunk-545HI223.js.map +1 -0
  58. package/dist/chunk-57C25JYV.js +170 -0
  59. package/dist/chunk-57C25JYV.js.map +1 -0
  60. package/dist/chunk-5AWXGBSH.js +82 -0
  61. package/dist/chunk-5AWXGBSH.js.map +1 -0
  62. package/dist/chunk-5G2DDMHR.js +2 -0
  63. package/dist/chunk-5G2DDMHR.js.map +1 -0
  64. package/dist/chunk-5HBMI2DO.js +42 -0
  65. package/dist/chunk-5HBMI2DO.js.map +1 -0
  66. package/dist/chunk-5LCN5Q2L.js +23 -0
  67. package/dist/chunk-5LCN5Q2L.js.map +1 -0
  68. package/dist/chunk-5P4BSHIG.js +2 -0
  69. package/dist/chunk-5P4BSHIG.js.map +1 -0
  70. package/dist/chunk-5RC32MZH.js +161 -0
  71. package/dist/chunk-5RC32MZH.js.map +1 -0
  72. package/dist/chunk-5SHHIQVA.js +22 -0
  73. package/dist/chunk-5SHHIQVA.js.map +1 -0
  74. package/dist/chunk-5V5J7APL.js +27 -0
  75. package/dist/chunk-5V5J7APL.js.map +1 -0
  76. package/dist/chunk-5YZLOAKR.js +2 -0
  77. package/dist/chunk-5YZLOAKR.js.map +1 -0
  78. package/dist/chunk-5Z55AFOW.js +128 -0
  79. package/dist/chunk-5Z55AFOW.js.map +1 -0
  80. package/dist/chunk-653ZIWX6.js +2 -0
  81. package/dist/chunk-653ZIWX6.js.map +1 -0
  82. package/dist/chunk-6DHG7JVP.js +2 -0
  83. package/dist/chunk-6DHG7JVP.js.map +1 -0
  84. package/dist/chunk-6HGS5Z2Z.js +110 -0
  85. package/dist/chunk-6HGS5Z2Z.js.map +1 -0
  86. package/dist/chunk-6NKILKS6.js +35 -0
  87. package/dist/chunk-6NKILKS6.js.map +1 -0
  88. package/dist/chunk-6OFWWIEG.js +50 -0
  89. package/dist/chunk-6OFWWIEG.js.map +1 -0
  90. package/dist/chunk-6OPDRLMU.js +158 -0
  91. package/dist/chunk-6OPDRLMU.js.map +1 -0
  92. package/dist/chunk-6QU7OVFA.js +357 -0
  93. package/dist/chunk-6QU7OVFA.js.map +1 -0
  94. package/dist/chunk-6ROQKB4U.js +2 -0
  95. package/dist/chunk-6ROQKB4U.js.map +1 -0
  96. package/dist/chunk-6S43VAN7.js +2 -0
  97. package/dist/chunk-6S43VAN7.js.map +1 -0
  98. package/dist/chunk-6TJVJPNU.js +1321 -0
  99. package/dist/chunk-6TJVJPNU.js.map +1 -0
  100. package/dist/chunk-6VLJL7Q4.js +2 -0
  101. package/dist/chunk-6VLJL7Q4.js.map +1 -0
  102. package/dist/chunk-7G63B2B7.js +189 -0
  103. package/dist/chunk-7G63B2B7.js.map +1 -0
  104. package/dist/chunk-7P24I5OL.js +23 -0
  105. package/dist/chunk-7P24I5OL.js.map +1 -0
  106. package/dist/chunk-7PS5MKVH.js +97 -0
  107. package/dist/chunk-7PS5MKVH.js.map +1 -0
  108. package/dist/chunk-7WIHVGYL.js +2 -0
  109. package/dist/chunk-7WIHVGYL.js.map +1 -0
  110. package/dist/chunk-7WXDSTNR.js +62 -0
  111. package/dist/chunk-7WXDSTNR.js.map +1 -0
  112. package/dist/chunk-A43B4IT7.js +395 -0
  113. package/dist/chunk-A43B4IT7.js.map +1 -0
  114. package/dist/chunk-A47AZPCL.js +35 -0
  115. package/dist/chunk-A47AZPCL.js.map +1 -0
  116. package/dist/chunk-AA3SPDJU.js +2 -0
  117. package/dist/chunk-AA3SPDJU.js.map +1 -0
  118. package/dist/chunk-AC7X3D2M.js +2 -0
  119. package/dist/chunk-AC7X3D2M.js.map +1 -0
  120. package/dist/chunk-AE6UDP36.js +2 -0
  121. package/dist/chunk-AE6UDP36.js.map +1 -0
  122. package/dist/chunk-AFEFAGPW.js +2 -0
  123. package/dist/chunk-AFEFAGPW.js.map +1 -0
  124. package/dist/chunk-AFJCS2WV.js +95 -0
  125. package/dist/chunk-AFJCS2WV.js.map +1 -0
  126. package/dist/chunk-AQNLEP5F.js +2 -0
  127. package/dist/chunk-AQNLEP5F.js.map +1 -0
  128. package/dist/chunk-AUQVJ7KO.js +2 -0
  129. package/dist/chunk-AUQVJ7KO.js.map +1 -0
  130. package/dist/chunk-AXKZBRZK.js +32 -0
  131. package/dist/chunk-AXKZBRZK.js.map +1 -0
  132. package/dist/chunk-AZEABCK4.js +30 -0
  133. package/dist/chunk-AZEABCK4.js.map +1 -0
  134. package/dist/chunk-B23VW24W.js +2 -0
  135. package/dist/chunk-B23VW24W.js.map +1 -0
  136. package/dist/chunk-B2RSOLLO.js +2 -0
  137. package/dist/chunk-B2RSOLLO.js.map +1 -0
  138. package/dist/chunk-B5QQLMEE.js +31 -0
  139. package/dist/chunk-B5QQLMEE.js.map +1 -0
  140. package/dist/chunk-BLNXHETI.js +163 -0
  141. package/dist/chunk-BLNXHETI.js.map +1 -0
  142. package/dist/chunk-BM6NGS3A.js +201 -0
  143. package/dist/chunk-BM6NGS3A.js.map +1 -0
  144. package/dist/chunk-BN4CKDFU.js +989 -0
  145. package/dist/chunk-BN4CKDFU.js.map +1 -0
  146. package/dist/chunk-BPXLHGWI.js +54 -0
  147. package/dist/chunk-BPXLHGWI.js.map +1 -0
  148. package/dist/chunk-BTBYNKT4.js +2 -0
  149. package/dist/chunk-BTBYNKT4.js.map +1 -0
  150. package/dist/chunk-BWL7HWEF.js +325 -0
  151. package/dist/chunk-BWL7HWEF.js.map +1 -0
  152. package/dist/chunk-BZQF5QCN.js +18 -0
  153. package/dist/chunk-BZQF5QCN.js.map +1 -0
  154. package/dist/chunk-C2AQEEFB.js +2 -0
  155. package/dist/chunk-C2AQEEFB.js.map +1 -0
  156. package/dist/chunk-C753P3VJ.js +2 -0
  157. package/dist/chunk-C753P3VJ.js.map +1 -0
  158. package/dist/chunk-CDE74W6O.js +2 -0
  159. package/dist/chunk-CDE74W6O.js.map +1 -0
  160. package/dist/chunk-CEQER4CV.js +2 -0
  161. package/dist/chunk-CEQER4CV.js.map +1 -0
  162. package/dist/chunk-CQ5CH3SB.js +55 -0
  163. package/dist/chunk-CQ5CH3SB.js.map +1 -0
  164. package/dist/chunk-CRGGGHAM.js +2 -0
  165. package/dist/chunk-CRGGGHAM.js.map +1 -0
  166. package/dist/chunk-CRVB4SLG.js +2 -0
  167. package/dist/chunk-CRVB4SLG.js.map +1 -0
  168. package/dist/chunk-CT6XJIPY.js +2 -0
  169. package/dist/chunk-CT6XJIPY.js.map +1 -0
  170. package/dist/chunk-CY624JOL.js +2 -0
  171. package/dist/chunk-CY624JOL.js.map +1 -0
  172. package/dist/chunk-D3C3VVCX.js +38 -0
  173. package/dist/chunk-D3C3VVCX.js.map +1 -0
  174. package/dist/chunk-D53EN4Q6.js +2 -0
  175. package/dist/chunk-D53EN4Q6.js.map +1 -0
  176. package/dist/chunk-DCHYNTHI.js +11 -0
  177. package/dist/chunk-DCHYNTHI.js.map +1 -0
  178. package/dist/chunk-DCI6IOJX.js +236 -0
  179. package/dist/chunk-DCI6IOJX.js.map +1 -0
  180. package/dist/chunk-DFYPQ52O.js +476 -0
  181. package/dist/chunk-DFYPQ52O.js.map +1 -0
  182. package/dist/chunk-DIQJODQR.js +2 -0
  183. package/dist/chunk-DIQJODQR.js.map +1 -0
  184. package/dist/chunk-DSGTH6JW.js +2 -0
  185. package/dist/chunk-DSGTH6JW.js.map +1 -0
  186. package/dist/chunk-DT6RNLCP.js +32 -0
  187. package/dist/chunk-DT6RNLCP.js.map +1 -0
  188. package/dist/chunk-DU6ITAJL.js +2 -0
  189. package/dist/chunk-DU6ITAJL.js.map +1 -0
  190. package/dist/chunk-DUF2VZON.js +36 -0
  191. package/dist/chunk-DUF2VZON.js.map +1 -0
  192. package/dist/chunk-DXDLTYTT.js +2 -0
  193. package/dist/chunk-DXDLTYTT.js.map +1 -0
  194. package/dist/chunk-E3ES2KR6.js +55 -0
  195. package/dist/chunk-E3ES2KR6.js.map +1 -0
  196. package/dist/chunk-EAFPUZ46.js +2 -0
  197. package/dist/chunk-EAFPUZ46.js.map +1 -0
  198. package/dist/chunk-EBDOKU5K.js +2 -0
  199. package/dist/chunk-EBDOKU5K.js.map +1 -0
  200. package/dist/chunk-ECCNRCC4.js +74 -0
  201. package/dist/chunk-ECCNRCC4.js.map +1 -0
  202. package/dist/chunk-EDE73Q6Z.js +2 -0
  203. package/dist/chunk-EDE73Q6Z.js.map +1 -0
  204. package/dist/chunk-EHGIW7GA.js +190 -0
  205. package/dist/chunk-EHGIW7GA.js.map +1 -0
  206. package/dist/chunk-EJQYE4MY.js +100 -0
  207. package/dist/chunk-EJQYE4MY.js.map +1 -0
  208. package/dist/chunk-EKY3A5LO.js +133 -0
  209. package/dist/chunk-EKY3A5LO.js.map +1 -0
  210. package/dist/chunk-EL3OXVOW.js +31 -0
  211. package/dist/chunk-EL3OXVOW.js.map +1 -0
  212. package/dist/chunk-EP3U7OQ3.js +18 -0
  213. package/dist/chunk-EP3U7OQ3.js.map +1 -0
  214. package/dist/chunk-EY2PGOG3.js +246 -0
  215. package/dist/chunk-EY2PGOG3.js.map +1 -0
  216. package/dist/chunk-FAOX6A5D.js +2 -0
  217. package/dist/chunk-FAOX6A5D.js.map +1 -0
  218. package/dist/chunk-FBJ2JSRA.js +47 -0
  219. package/dist/chunk-FBJ2JSRA.js.map +1 -0
  220. package/dist/chunk-FDJ77DTR.js +2 -0
  221. package/dist/chunk-FDJ77DTR.js.map +1 -0
  222. package/dist/chunk-FDPONOOT.js +93 -0
  223. package/dist/chunk-FDPONOOT.js.map +1 -0
  224. package/dist/chunk-FHDJKH2A.js +2 -0
  225. package/dist/chunk-FHDJKH2A.js.map +1 -0
  226. package/dist/chunk-FINAKMC6.js +796 -0
  227. package/dist/chunk-FINAKMC6.js.map +1 -0
  228. package/dist/chunk-FKUP7QRJ.js +54 -0
  229. package/dist/chunk-FKUP7QRJ.js.map +1 -0
  230. package/dist/chunk-FPLZ24MK.js +2 -0
  231. package/dist/chunk-FPLZ24MK.js.map +1 -0
  232. package/dist/chunk-FRFSDZIN.js +2 -0
  233. package/dist/chunk-FRFSDZIN.js.map +1 -0
  234. package/dist/chunk-FYCCNQXQ.js +173 -0
  235. package/dist/chunk-FYCCNQXQ.js.map +1 -0
  236. package/dist/chunk-G3OTDYCD.js +53 -0
  237. package/dist/chunk-G3OTDYCD.js.map +1 -0
  238. package/dist/chunk-G72UOVKS.js +2 -0
  239. package/dist/chunk-G72UOVKS.js.map +1 -0
  240. package/dist/chunk-GAI4NEPU.js +151 -0
  241. package/dist/chunk-GAI4NEPU.js.map +1 -0
  242. package/dist/chunk-GRWGNWIJ.js +187 -0
  243. package/dist/chunk-GRWGNWIJ.js.map +1 -0
  244. package/dist/chunk-GV6GQXKX.js +176 -0
  245. package/dist/chunk-GV6GQXKX.js.map +1 -0
  246. package/dist/chunk-H5UA5JW4.js +140 -0
  247. package/dist/chunk-H5UA5JW4.js.map +1 -0
  248. package/dist/chunk-H5XSI63P.js +2 -0
  249. package/dist/chunk-H5XSI63P.js.map +1 -0
  250. package/dist/chunk-HANBQNW3.js +1498 -0
  251. package/dist/chunk-HANBQNW3.js.map +1 -0
  252. package/dist/chunk-HCU2JHPH.js +169 -0
  253. package/dist/chunk-HCU2JHPH.js.map +1 -0
  254. package/dist/chunk-HDDXP2J7.js +2 -0
  255. package/dist/chunk-HDDXP2J7.js.map +1 -0
  256. package/dist/chunk-HDS64Z5L.js +54 -0
  257. package/dist/chunk-HDS64Z5L.js.map +1 -0
  258. package/dist/chunk-HHVULJGX.js +2 -0
  259. package/dist/chunk-HHVULJGX.js.map +1 -0
  260. package/dist/chunk-HLMFRCFE.js +2 -0
  261. package/dist/chunk-HLMFRCFE.js.map +1 -0
  262. package/dist/chunk-HPUPDT4Q.js +2 -0
  263. package/dist/chunk-HPUPDT4Q.js.map +1 -0
  264. package/dist/chunk-HRYH7XQP.js +209 -0
  265. package/dist/chunk-HRYH7XQP.js.map +1 -0
  266. package/dist/chunk-HVFYAQLK.js +101 -0
  267. package/dist/chunk-HVFYAQLK.js.map +1 -0
  268. package/dist/chunk-HZPNST7D.js +2 -0
  269. package/dist/chunk-HZPNST7D.js.map +1 -0
  270. package/dist/chunk-I6O6ACCH.js +2 -0
  271. package/dist/chunk-I6O6ACCH.js.map +1 -0
  272. package/dist/chunk-IGP5E4FC.js +201 -0
  273. package/dist/chunk-IGP5E4FC.js.map +1 -0
  274. package/dist/chunk-IHMFEPIT.js +123 -0
  275. package/dist/chunk-IHMFEPIT.js.map +1 -0
  276. package/dist/chunk-IM5VJP6T.js +2 -0
  277. package/dist/chunk-IM5VJP6T.js.map +1 -0
  278. package/dist/chunk-IRUZDWJ3.js +218 -0
  279. package/dist/chunk-IRUZDWJ3.js.map +1 -0
  280. package/dist/chunk-ISWUCXEZ.js +2 -0
  281. package/dist/chunk-ISWUCXEZ.js.map +1 -0
  282. package/dist/chunk-ITFDGFOT.js +31 -0
  283. package/dist/chunk-ITFDGFOT.js.map +1 -0
  284. package/dist/chunk-IUQ474IC.js +2 -0
  285. package/dist/chunk-IUQ474IC.js.map +1 -0
  286. package/dist/chunk-IY23F2Y5.js +2 -0
  287. package/dist/chunk-IY23F2Y5.js.map +1 -0
  288. package/dist/chunk-IZJOZJDL.js +75 -0
  289. package/dist/chunk-IZJOZJDL.js.map +1 -0
  290. package/dist/chunk-J2P4YZLC.js +85 -0
  291. package/dist/chunk-J2P4YZLC.js.map +1 -0
  292. package/dist/chunk-JCRBDA66.js +2 -0
  293. package/dist/chunk-JCRBDA66.js.map +1 -0
  294. package/dist/chunk-JGS2IHER.js +140 -0
  295. package/dist/chunk-JGS2IHER.js.map +1 -0
  296. package/dist/chunk-JNWXHPZG.js +24 -0
  297. package/dist/chunk-JNWXHPZG.js.map +1 -0
  298. package/dist/chunk-JWWJ2Z5C.js +2 -0
  299. package/dist/chunk-JWWJ2Z5C.js.map +1 -0
  300. package/dist/chunk-K2GLXCTG.js +2 -0
  301. package/dist/chunk-K2GLXCTG.js.map +1 -0
  302. package/dist/chunk-K6YRTASS.js +55 -0
  303. package/dist/chunk-K6YRTASS.js.map +1 -0
  304. package/dist/chunk-KAAJL2HA.js +327 -0
  305. package/dist/chunk-KAAJL2HA.js.map +1 -0
  306. package/dist/chunk-KBNWM27Q.js +48 -0
  307. package/dist/chunk-KBNWM27Q.js.map +1 -0
  308. package/dist/chunk-KOVHUAHG.js +164 -0
  309. package/dist/chunk-KOVHUAHG.js.map +1 -0
  310. package/dist/chunk-KRVSD4OK.js +2 -0
  311. package/dist/chunk-KRVSD4OK.js.map +1 -0
  312. package/dist/chunk-KTH3GWAL.js +116 -0
  313. package/dist/chunk-KTH3GWAL.js.map +1 -0
  314. package/dist/chunk-KUAVM54Y.js +30 -0
  315. package/dist/chunk-KUAVM54Y.js.map +1 -0
  316. package/dist/chunk-KWQ6HV5Z.js +97 -0
  317. package/dist/chunk-KWQ6HV5Z.js.map +1 -0
  318. package/dist/chunk-KZWC6JCI.js +177 -0
  319. package/dist/chunk-KZWC6JCI.js.map +1 -0
  320. package/dist/chunk-L37QZALU.js +17 -0
  321. package/dist/chunk-L37QZALU.js.map +1 -0
  322. package/dist/chunk-L3SHPHLK.js +35 -0
  323. package/dist/chunk-L3SHPHLK.js.map +1 -0
  324. package/dist/chunk-L66VJIRD.js +2 -0
  325. package/dist/chunk-L66VJIRD.js.map +1 -0
  326. package/dist/chunk-LDOCY4SU.js +68 -0
  327. package/dist/chunk-LDOCY4SU.js.map +1 -0
  328. package/dist/chunk-LJGWA2XL.js +2 -0
  329. package/dist/chunk-LJGWA2XL.js.map +1 -0
  330. package/dist/chunk-LLQWLZ75.js +2 -0
  331. package/dist/chunk-LLQWLZ75.js.map +1 -0
  332. package/dist/chunk-LMO3QK7Q.js +137 -0
  333. package/dist/chunk-LMO3QK7Q.js.map +1 -0
  334. package/dist/chunk-LOSXINSS.js +100 -0
  335. package/dist/chunk-LOSXINSS.js.map +1 -0
  336. package/dist/chunk-LR2CU7HK.js +41 -0
  337. package/dist/chunk-LR2CU7HK.js.map +1 -0
  338. package/dist/chunk-LSYVAOSH.js +2 -0
  339. package/dist/chunk-LSYVAOSH.js.map +1 -0
  340. package/dist/chunk-LVRULYU4.js +400 -0
  341. package/dist/chunk-LVRULYU4.js.map +1 -0
  342. package/dist/chunk-LXW3GNF7.js +201 -0
  343. package/dist/chunk-LXW3GNF7.js.map +1 -0
  344. package/dist/chunk-LYVBDMDQ.js +2 -0
  345. package/dist/chunk-LYVBDMDQ.js.map +1 -0
  346. package/dist/chunk-M3WSUFD4.js +2 -0
  347. package/dist/chunk-M3WSUFD4.js.map +1 -0
  348. package/dist/chunk-MGAXCPT7.js +87 -0
  349. package/dist/chunk-MGAXCPT7.js.map +1 -0
  350. package/dist/chunk-MIXCXZWT.js +2 -0
  351. package/dist/chunk-MIXCXZWT.js.map +1 -0
  352. package/dist/chunk-MLGBLKUH.js +2 -0
  353. package/dist/chunk-MLGBLKUH.js.map +1 -0
  354. package/dist/chunk-MNS2VWHD.js +2 -0
  355. package/dist/chunk-MNS2VWHD.js.map +1 -0
  356. package/dist/chunk-MPMMU3QI.js +2 -0
  357. package/dist/chunk-MPMMU3QI.js.map +1 -0
  358. package/dist/chunk-MRWOHWEH.js +2 -0
  359. package/dist/chunk-MRWOHWEH.js.map +1 -0
  360. package/dist/chunk-MZDL7N52.js +2 -0
  361. package/dist/chunk-MZDL7N52.js.map +1 -0
  362. package/dist/chunk-N44PNGDS.js +169 -0
  363. package/dist/chunk-N44PNGDS.js.map +1 -0
  364. package/dist/chunk-N7PJTMRL.js +2 -0
  365. package/dist/chunk-N7PJTMRL.js.map +1 -0
  366. package/dist/chunk-NBMF7SIS.js +35 -0
  367. package/dist/chunk-NBMF7SIS.js.map +1 -0
  368. package/dist/chunk-NJAGSGPF.js +245 -0
  369. package/dist/chunk-NJAGSGPF.js.map +1 -0
  370. package/dist/chunk-NMGNXW3J.js +98 -0
  371. package/dist/chunk-NMGNXW3J.js.map +1 -0
  372. package/dist/chunk-NQY3QNLR.js +80 -0
  373. package/dist/chunk-NQY3QNLR.js.map +1 -0
  374. package/dist/chunk-NRNIUM75.js +2 -0
  375. package/dist/chunk-NRNIUM75.js.map +1 -0
  376. package/dist/chunk-NRSSSVWB.js +61 -0
  377. package/dist/chunk-NRSSSVWB.js.map +1 -0
  378. package/dist/chunk-NTTSHOOK.js +78 -0
  379. package/dist/chunk-NTTSHOOK.js.map +1 -0
  380. package/dist/chunk-O3JWMB6O.js +20 -0
  381. package/dist/chunk-O3JWMB6O.js.map +1 -0
  382. package/dist/chunk-OBEJUAN6.js +246 -0
  383. package/dist/chunk-OBEJUAN6.js.map +1 -0
  384. package/dist/chunk-OEPN373X.js +2 -0
  385. package/dist/chunk-OEPN373X.js.map +1 -0
  386. package/dist/chunk-OITCRC5D.js +2 -0
  387. package/dist/chunk-OITCRC5D.js.map +1 -0
  388. package/dist/chunk-OKV3N7QK.js +2 -0
  389. package/dist/chunk-OKV3N7QK.js.map +1 -0
  390. package/dist/chunk-ON2E7XHD.js +51 -0
  391. package/dist/chunk-ON2E7XHD.js.map +1 -0
  392. package/dist/chunk-OPMMD25Z.js +218 -0
  393. package/dist/chunk-OPMMD25Z.js.map +1 -0
  394. package/dist/chunk-OR4NVFPH.js +2 -0
  395. package/dist/chunk-OR4NVFPH.js.map +1 -0
  396. package/dist/chunk-OV4GQOLC.js +73 -0
  397. package/dist/chunk-OV4GQOLC.js.map +1 -0
  398. package/dist/chunk-OYKS7YHE.js +2 -0
  399. package/dist/chunk-OYKS7YHE.js.map +1 -0
  400. package/dist/chunk-OYM3NHSD.js +74 -0
  401. package/dist/chunk-OYM3NHSD.js.map +1 -0
  402. package/dist/chunk-OZTM6PYF.js +30 -0
  403. package/dist/chunk-OZTM6PYF.js.map +1 -0
  404. package/dist/chunk-PHAENHGL.js +19 -0
  405. package/dist/chunk-PHAENHGL.js.map +1 -0
  406. package/dist/chunk-PLCQZBZS.js +63 -0
  407. package/dist/chunk-PLCQZBZS.js.map +1 -0
  408. package/dist/chunk-PP7POY7C.js +110 -0
  409. package/dist/chunk-PP7POY7C.js.map +1 -0
  410. package/dist/chunk-PSBNQZB4.js +2 -0
  411. package/dist/chunk-PSBNQZB4.js.map +1 -0
  412. package/dist/chunk-PYPNGKRD.js +355 -0
  413. package/dist/chunk-PYPNGKRD.js.map +1 -0
  414. package/dist/chunk-QDJHUNBQ.js +2 -0
  415. package/dist/chunk-QDJHUNBQ.js.map +1 -0
  416. package/dist/chunk-QDTGDYMM.js +77 -0
  417. package/dist/chunk-QDTGDYMM.js.map +1 -0
  418. package/dist/chunk-QF6UWWDY.js +125 -0
  419. package/dist/chunk-QF6UWWDY.js.map +1 -0
  420. package/dist/chunk-QGX37P5L.js +24 -0
  421. package/dist/chunk-QGX37P5L.js.map +1 -0
  422. package/dist/chunk-QNEOO22E.js +75 -0
  423. package/dist/chunk-QNEOO22E.js.map +1 -0
  424. package/dist/chunk-QODOFLHL.js +2 -0
  425. package/dist/chunk-QODOFLHL.js.map +1 -0
  426. package/dist/chunk-QRGYKV4J.js +2 -0
  427. package/dist/chunk-QRGYKV4J.js.map +1 -0
  428. package/dist/chunk-QTIKGWU4.js +91 -0
  429. package/dist/chunk-QTIKGWU4.js.map +1 -0
  430. package/dist/chunk-R3SYH7RG.js +782 -0
  431. package/dist/chunk-R3SYH7RG.js.map +1 -0
  432. package/dist/chunk-R5JYMCEA.js +2 -0
  433. package/dist/chunk-R5JYMCEA.js.map +1 -0
  434. package/dist/chunk-R7DDZIE3.js +232 -0
  435. package/dist/chunk-R7DDZIE3.js.map +1 -0
  436. package/dist/chunk-RB5AWLDJ.js +26 -0
  437. package/dist/chunk-RB5AWLDJ.js.map +1 -0
  438. package/dist/chunk-RF7JSNXJ.js +2 -0
  439. package/dist/chunk-RF7JSNXJ.js.map +1 -0
  440. package/dist/chunk-RHXVQZOW.js +2 -0
  441. package/dist/chunk-RHXVQZOW.js.map +1 -0
  442. package/dist/chunk-RM5JIUVW.js +74 -0
  443. package/dist/chunk-RM5JIUVW.js.map +1 -0
  444. package/dist/chunk-RMSMTLXH.js +2 -0
  445. package/dist/chunk-RMSMTLXH.js.map +1 -0
  446. package/dist/chunk-RNC4M6SG.js +85 -0
  447. package/dist/chunk-RNC4M6SG.js.map +1 -0
  448. package/dist/chunk-RRYWMYGI.js +14 -0
  449. package/dist/chunk-RRYWMYGI.js.map +1 -0
  450. package/dist/chunk-RRZUMIYG.js +93 -0
  451. package/dist/chunk-RRZUMIYG.js.map +1 -0
  452. package/dist/chunk-RTHCX2TG.js +59 -0
  453. package/dist/chunk-RTHCX2TG.js.map +1 -0
  454. package/dist/chunk-RWUKMJYA.js +39 -0
  455. package/dist/chunk-RWUKMJYA.js.map +1 -0
  456. package/dist/chunk-SMTAPQEQ.js +2 -0
  457. package/dist/chunk-SMTAPQEQ.js.map +1 -0
  458. package/dist/chunk-SS6EOZKZ.js +2 -0
  459. package/dist/chunk-SS6EOZKZ.js.map +1 -0
  460. package/dist/chunk-T2XEMEN2.js +2 -0
  461. package/dist/chunk-T2XEMEN2.js.map +1 -0
  462. package/dist/chunk-T4JNXV75.js +125 -0
  463. package/dist/chunk-T4JNXV75.js.map +1 -0
  464. package/dist/chunk-T7JOWG2A.js +10 -0
  465. package/dist/chunk-T7JOWG2A.js.map +1 -0
  466. package/dist/chunk-TAQI4JTE.js +12 -0
  467. package/dist/chunk-TAQI4JTE.js.map +1 -0
  468. package/dist/chunk-TEKBTTP2.js +27 -0
  469. package/dist/chunk-TEKBTTP2.js.map +1 -0
  470. package/dist/chunk-TNOANK34.js +4483 -0
  471. package/dist/chunk-TNOANK34.js.map +1 -0
  472. package/dist/chunk-TU24Y4HN.js +178 -0
  473. package/dist/chunk-TU24Y4HN.js.map +1 -0
  474. package/dist/chunk-U26XDHMX.js +726 -0
  475. package/dist/chunk-U26XDHMX.js.map +1 -0
  476. package/dist/chunk-U4LHV5DS.js +36 -0
  477. package/dist/chunk-U4LHV5DS.js.map +1 -0
  478. package/dist/chunk-U7QYCYHC.js +2 -0
  479. package/dist/chunk-U7QYCYHC.js.map +1 -0
  480. package/dist/chunk-UANAVLMS.js +2 -0
  481. package/dist/chunk-UANAVLMS.js.map +1 -0
  482. package/dist/chunk-UCEVPLR5.js +2 -0
  483. package/dist/chunk-UCEVPLR5.js.map +1 -0
  484. package/dist/chunk-UCQDLRHR.js +31 -0
  485. package/dist/chunk-UCQDLRHR.js.map +1 -0
  486. package/dist/chunk-UFF7LLGU.js +2 -0
  487. package/dist/chunk-UFF7LLGU.js.map +1 -0
  488. package/dist/chunk-UG5TKXTK.js +2 -0
  489. package/dist/chunk-UG5TKXTK.js.map +1 -0
  490. package/dist/chunk-ULIDYFM7.js +192 -0
  491. package/dist/chunk-ULIDYFM7.js.map +1 -0
  492. package/dist/chunk-UPEMEBWH.js +186 -0
  493. package/dist/chunk-UPEMEBWH.js.map +1 -0
  494. package/dist/chunk-UQHWOPUY.js +61 -0
  495. package/dist/chunk-UQHWOPUY.js.map +1 -0
  496. package/dist/chunk-UQRYTMR7.js +2 -0
  497. package/dist/chunk-UQRYTMR7.js.map +1 -0
  498. package/dist/chunk-URVAZW44.js +323 -0
  499. package/dist/chunk-URVAZW44.js.map +1 -0
  500. package/dist/chunk-USI4LB3N.js +2 -0
  501. package/dist/chunk-USI4LB3N.js.map +1 -0
  502. package/dist/chunk-UXSV6RVS.js +31 -0
  503. package/dist/chunk-UXSV6RVS.js.map +1 -0
  504. package/dist/chunk-V2S5DINS.js +2 -0
  505. package/dist/chunk-V2S5DINS.js.map +1 -0
  506. package/dist/chunk-V3EQ6ACC.js +2 -0
  507. package/dist/chunk-V3EQ6ACC.js.map +1 -0
  508. package/dist/chunk-V4DDHF7S.js +147 -0
  509. package/dist/chunk-V4DDHF7S.js.map +1 -0
  510. package/dist/chunk-VA2OONPE.js +77 -0
  511. package/dist/chunk-VA2OONPE.js.map +1 -0
  512. package/dist/chunk-VFF3AN4Y.js +90 -0
  513. package/dist/chunk-VFF3AN4Y.js.map +1 -0
  514. package/dist/chunk-VH7GG77B.js +2 -0
  515. package/dist/chunk-VH7GG77B.js.map +1 -0
  516. package/dist/chunk-VHLPJ4XW.js +2 -0
  517. package/dist/chunk-VHLPJ4XW.js.map +1 -0
  518. package/dist/chunk-VLE5THFD.js +2 -0
  519. package/dist/chunk-VLE5THFD.js.map +1 -0
  520. package/dist/chunk-VORFRWM5.js +2 -0
  521. package/dist/chunk-VORFRWM5.js.map +1 -0
  522. package/dist/chunk-VQ2T3OEC.js +27 -0
  523. package/dist/chunk-VQ2T3OEC.js.map +1 -0
  524. package/dist/chunk-VRIAWF3A.js +25 -0
  525. package/dist/chunk-VRIAWF3A.js.map +1 -0
  526. package/dist/chunk-W6HCXQBH.js +198 -0
  527. package/dist/chunk-W6HCXQBH.js.map +1 -0
  528. package/dist/chunk-W7I2X6VI.js +2 -0
  529. package/dist/chunk-W7I2X6VI.js.map +1 -0
  530. package/dist/chunk-WCCCW4KD.js +140 -0
  531. package/dist/chunk-WCCCW4KD.js.map +1 -0
  532. package/dist/chunk-WNIVCHDP.js +2 -0
  533. package/dist/chunk-WNIVCHDP.js.map +1 -0
  534. package/dist/chunk-WOMO5CZ7.js +2 -0
  535. package/dist/chunk-WOMO5CZ7.js.map +1 -0
  536. package/dist/chunk-WTB4DDZP.js +163 -0
  537. package/dist/chunk-WTB4DDZP.js.map +1 -0
  538. package/dist/chunk-WW3CD7AU.js +118 -0
  539. package/dist/chunk-WW3CD7AU.js.map +1 -0
  540. package/dist/chunk-WX3LWMVU.js +81 -0
  541. package/dist/chunk-WX3LWMVU.js.map +1 -0
  542. package/dist/chunk-WYENWW3Y.js +2 -0
  543. package/dist/chunk-WYENWW3Y.js.map +1 -0
  544. package/dist/chunk-WZTFU6FJ.js +69 -0
  545. package/dist/chunk-WZTFU6FJ.js.map +1 -0
  546. package/dist/chunk-X4FE7UKP.js +2 -0
  547. package/dist/chunk-X4FE7UKP.js.map +1 -0
  548. package/dist/chunk-X6J4KKZZ.js +126 -0
  549. package/dist/chunk-X6J4KKZZ.js.map +1 -0
  550. package/dist/chunk-XAFRTZQF.js +56 -0
  551. package/dist/chunk-XAFRTZQF.js.map +1 -0
  552. package/dist/chunk-XGX3UFLD.js +2 -0
  553. package/dist/chunk-XGX3UFLD.js.map +1 -0
  554. package/dist/chunk-XGXCMA5M.js +2 -0
  555. package/dist/chunk-XGXCMA5M.js.map +1 -0
  556. package/dist/chunk-XJQADN6S.js +41 -0
  557. package/dist/chunk-XJQADN6S.js.map +1 -0
  558. package/dist/chunk-XMZ5LXL4.js +68 -0
  559. package/dist/chunk-XMZ5LXL4.js.map +1 -0
  560. package/dist/chunk-XONGYCW3.js +637 -0
  561. package/dist/chunk-XONGYCW3.js.map +1 -0
  562. package/dist/chunk-XYACSO57.js +36 -0
  563. package/dist/chunk-XYACSO57.js.map +1 -0
  564. package/dist/chunk-XYFEQHEM.js +2 -0
  565. package/dist/chunk-XYFEQHEM.js.map +1 -0
  566. package/dist/chunk-XZ23AFOP.js +26 -0
  567. package/dist/chunk-XZ23AFOP.js.map +1 -0
  568. package/dist/chunk-YACASX6X.js +54 -0
  569. package/dist/chunk-YACASX6X.js.map +1 -0
  570. package/dist/chunk-YCFOFNQF.js +28 -0
  571. package/dist/chunk-YCFOFNQF.js.map +1 -0
  572. package/dist/chunk-YIFB24WW.js +37 -0
  573. package/dist/chunk-YIFB24WW.js.map +1 -0
  574. package/dist/chunk-YIVL6HWS.js +68 -0
  575. package/dist/chunk-YIVL6HWS.js.map +1 -0
  576. package/dist/chunk-YK4H7VWM.js +2 -0
  577. package/dist/chunk-YK4H7VWM.js.map +1 -0
  578. package/dist/chunk-YL7VBHPZ.js +100 -0
  579. package/dist/chunk-YL7VBHPZ.js.map +1 -0
  580. package/dist/chunk-YMFEBGTU.js +2 -0
  581. package/dist/chunk-YMFEBGTU.js.map +1 -0
  582. package/dist/chunk-YPLKH5H4.js +226 -0
  583. package/dist/chunk-YPLKH5H4.js.map +1 -0
  584. package/dist/chunk-YWB7HLL7.js +126 -0
  585. package/dist/chunk-YWB7HLL7.js.map +1 -0
  586. package/dist/chunk-YXHHUJOZ.js +235 -0
  587. package/dist/chunk-YXHHUJOZ.js.map +1 -0
  588. package/dist/chunk-YZVXIPBC.js +2 -0
  589. package/dist/chunk-YZVXIPBC.js.map +1 -0
  590. package/dist/chunk-Z44RRTMX.js +2 -0
  591. package/dist/chunk-Z44RRTMX.js.map +1 -0
  592. package/dist/chunk-Z4CYBG3H.js +2 -0
  593. package/dist/chunk-Z4CYBG3H.js.map +1 -0
  594. package/dist/chunk-ZE2H4J3P.js +2 -0
  595. package/dist/chunk-ZE2H4J3P.js.map +1 -0
  596. package/dist/chunk-ZEMTALKO.js +2 -0
  597. package/dist/chunk-ZEMTALKO.js.map +1 -0
  598. package/dist/chunk-ZI2OXD6L.js +244 -0
  599. package/dist/chunk-ZI2OXD6L.js.map +1 -0
  600. package/dist/chunk-ZNFHDBUW.js +266 -0
  601. package/dist/chunk-ZNFHDBUW.js.map +1 -0
  602. package/dist/chunk-ZXBUOHCR.js +111 -0
  603. package/dist/chunk-ZXBUOHCR.js.map +1 -0
  604. package/dist/chunk-ZXVPEQM5.js +2 -0
  605. package/dist/chunk-ZXVPEQM5.js.map +1 -0
  606. package/dist/components/accordion/accordion.js +16 -0
  607. package/dist/components/accordion/accordion.js.map +1 -0
  608. package/dist/components/accordion/index.js +17 -0
  609. package/dist/components/accordion/index.js.map +1 -0
  610. package/dist/components/advanced-group/advanced-group.js +18 -0
  611. package/dist/components/advanced-group/advanced-group.js.map +1 -0
  612. package/dist/components/advanced-group/index.js +18 -0
  613. package/dist/components/advanced-group/index.js.map +1 -0
  614. package/dist/components/alert/alert.js +16 -0
  615. package/dist/components/alert/alert.js.map +1 -0
  616. package/dist/components/alert/index.js +17 -0
  617. package/dist/components/alert/index.js.map +1 -0
  618. package/dist/components/alert-dialog/alert-dialog.js +30 -0
  619. package/dist/components/alert-dialog/alert-dialog.js.map +1 -0
  620. package/dist/components/alert-dialog/index.js +31 -0
  621. package/dist/components/alert-dialog/index.js.map +1 -0
  622. package/dist/components/ambient-field/ambient-field.css +59 -0
  623. package/dist/components/ambient-field/ambient-field.css.map +1 -0
  624. package/dist/components/ambient-field/ambient-field.js +15 -0
  625. package/dist/components/ambient-field/ambient-field.js.map +1 -0
  626. package/dist/components/ambient-field/index.css +59 -0
  627. package/dist/components/ambient-field/index.css.map +1 -0
  628. package/dist/components/ambient-field/index.js +16 -0
  629. package/dist/components/ambient-field/index.js.map +1 -0
  630. package/dist/components/app-shell/app-shell.js +14 -0
  631. package/dist/components/app-shell/app-shell.js.map +1 -0
  632. package/dist/components/app-shell/index.js +15 -0
  633. package/dist/components/app-shell/index.js.map +1 -0
  634. package/dist/components/app-sidebar/app-sidebar.js +31 -0
  635. package/dist/components/app-sidebar/app-sidebar.js.map +1 -0
  636. package/dist/components/app-sidebar/index.js +31 -0
  637. package/dist/components/app-sidebar/index.js.map +1 -0
  638. package/dist/components/aspect-ratio/aspect-ratio.js +9 -0
  639. package/dist/components/aspect-ratio/aspect-ratio.js.map +1 -0
  640. package/dist/components/aspect-ratio/index.js +10 -0
  641. package/dist/components/aspect-ratio/index.js.map +1 -0
  642. package/dist/components/attribution-panel/attribution-panel.js +24 -0
  643. package/dist/components/attribution-panel/attribution-panel.js.map +1 -0
  644. package/dist/components/attribution-panel/attribution-types.js +2 -0
  645. package/dist/components/attribution-panel/attribution-types.js.map +1 -0
  646. package/dist/components/attribution-panel/attributions.generated.js +9 -0
  647. package/dist/components/attribution-panel/attributions.generated.js.map +1 -0
  648. package/dist/components/attribution-panel/index.js +24 -0
  649. package/dist/components/attribution-panel/index.js.map +1 -0
  650. package/dist/components/avatar/avatar.js +14 -0
  651. package/dist/components/avatar/avatar.js.map +1 -0
  652. package/dist/components/avatar/index.js +15 -0
  653. package/dist/components/avatar/index.js.map +1 -0
  654. package/dist/components/badge/badge.js +16 -0
  655. package/dist/components/badge/badge.js.map +1 -0
  656. package/dist/components/badge/index.js +13 -0
  657. package/dist/components/badge/index.js.map +1 -0
  658. package/dist/components/bento-grid/bento-grid.js +16 -0
  659. package/dist/components/bento-grid/bento-grid.js.map +1 -0
  660. package/dist/components/bento-grid/index.js +16 -0
  661. package/dist/components/bento-grid/index.js.map +1 -0
  662. package/dist/components/bounded-number/bounded-number.js +24 -0
  663. package/dist/components/bounded-number/bounded-number.js.map +1 -0
  664. package/dist/components/bounded-number/index.js +24 -0
  665. package/dist/components/bounded-number/index.js.map +1 -0
  666. package/dist/components/breadcrumb/breadcrumb.js +28 -0
  667. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  668. package/dist/components/breadcrumb/index.js +26 -0
  669. package/dist/components/breadcrumb/index.js.map +1 -0
  670. package/dist/components/button/button.js +12 -0
  671. package/dist/components/button/button.js.map +1 -0
  672. package/dist/components/button/index.js +13 -0
  673. package/dist/components/button/index.js.map +1 -0
  674. package/dist/components/button-group/button-group.js +18 -0
  675. package/dist/components/button-group/button-group.js.map +1 -0
  676. package/dist/components/button-group/index.js +19 -0
  677. package/dist/components/button-group/index.js.map +1 -0
  678. package/dist/components/calendar/calendar.js +12 -0
  679. package/dist/components/calendar/calendar.js.map +1 -0
  680. package/dist/components/calendar/index.js +13 -0
  681. package/dist/components/calendar/index.js.map +1 -0
  682. package/dist/components/card/card.js +27 -0
  683. package/dist/components/card/card.js.map +1 -0
  684. package/dist/components/card/index.js +27 -0
  685. package/dist/components/card/index.js.map +1 -0
  686. package/dist/components/carousel/carousel.js +24 -0
  687. package/dist/components/carousel/carousel.js.map +1 -0
  688. package/dist/components/carousel/index.js +24 -0
  689. package/dist/components/carousel/index.js.map +1 -0
  690. package/dist/components/change-review/change-review.js +34 -0
  691. package/dist/components/change-review/change-review.js.map +1 -0
  692. package/dist/components/change-review/index.js +34 -0
  693. package/dist/components/change-review/index.js.map +1 -0
  694. package/dist/components/checkbox/checkbox.js +10 -0
  695. package/dist/components/checkbox/checkbox.js.map +1 -0
  696. package/dist/components/checkbox/index.js +11 -0
  697. package/dist/components/checkbox/index.js.map +1 -0
  698. package/dist/components/collapsible/collapsible.js +14 -0
  699. package/dist/components/collapsible/collapsible.js.map +1 -0
  700. package/dist/components/collapsible/index.js +15 -0
  701. package/dist/components/collapsible/index.js.map +1 -0
  702. package/dist/components/collapsible-panel/index.js +11 -0
  703. package/dist/components/collapsible-panel/index.js.map +1 -0
  704. package/dist/components/collapsible-panel/use-collapsible-panel.js +11 -0
  705. package/dist/components/collapsible-panel/use-collapsible-panel.js.map +1 -0
  706. package/dist/components/color-picker/color-picker.js +18 -0
  707. package/dist/components/color-picker/color-picker.js.map +1 -0
  708. package/dist/components/color-picker/index.js +18 -0
  709. package/dist/components/color-picker/index.js.map +1 -0
  710. package/dist/components/combobox/combobox.js +28 -0
  711. package/dist/components/combobox/combobox.js.map +1 -0
  712. package/dist/components/combobox/index.js +28 -0
  713. package/dist/components/combobox/index.js.map +1 -0
  714. package/dist/components/command/command.js +39 -0
  715. package/dist/components/command/command.js.map +1 -0
  716. package/dist/components/command/index.js +39 -0
  717. package/dist/components/command/index.js.map +1 -0
  718. package/dist/components/command-chip/command-chip.js +17 -0
  719. package/dist/components/command-chip/command-chip.js.map +1 -0
  720. package/dist/components/command-chip/index.js +17 -0
  721. package/dist/components/command-chip/index.js.map +1 -0
  722. package/dist/components/command-trigger/command-trigger.js +12 -0
  723. package/dist/components/command-trigger/command-trigger.js.map +1 -0
  724. package/dist/components/command-trigger/index.js +13 -0
  725. package/dist/components/command-trigger/index.js.map +1 -0
  726. package/dist/components/confirm-dialog/confirm-dialog.js +20 -0
  727. package/dist/components/confirm-dialog/confirm-dialog.js.map +1 -0
  728. package/dist/components/confirm-dialog/index.js +20 -0
  729. package/dist/components/confirm-dialog/index.js.map +1 -0
  730. package/dist/components/context-menu/context-menu.js +36 -0
  731. package/dist/components/context-menu/context-menu.js.map +1 -0
  732. package/dist/components/context-menu/index.js +37 -0
  733. package/dist/components/context-menu/index.js.map +1 -0
  734. package/dist/components/context-rail/context-rail.js +35 -0
  735. package/dist/components/context-rail/context-rail.js.map +1 -0
  736. package/dist/components/context-rail/index.js +35 -0
  737. package/dist/components/context-rail/index.js.map +1 -0
  738. package/dist/components/copyable-value/copyable-value.js +19 -0
  739. package/dist/components/copyable-value/copyable-value.js.map +1 -0
  740. package/dist/components/copyable-value/index.js +17 -0
  741. package/dist/components/copyable-value/index.js.map +1 -0
  742. package/dist/components/date-picker/date-picker.js +21 -0
  743. package/dist/components/date-picker/date-picker.js.map +1 -0
  744. package/dist/components/date-picker/index.js +21 -0
  745. package/dist/components/date-picker/index.js.map +1 -0
  746. package/dist/components/date-range-picker/date-range-picker.js +22 -0
  747. package/dist/components/date-range-picker/date-range-picker.js.map +1 -0
  748. package/dist/components/date-range-picker/index.js +22 -0
  749. package/dist/components/date-range-picker/index.js.map +1 -0
  750. package/dist/components/descriptions/descriptions.js +12 -0
  751. package/dist/components/descriptions/descriptions.js.map +1 -0
  752. package/dist/components/descriptions/index.js +13 -0
  753. package/dist/components/descriptions/index.js.map +1 -0
  754. package/dist/components/dialog/dialog.js +41 -0
  755. package/dist/components/dialog/dialog.js.map +1 -0
  756. package/dist/components/dialog/index.js +45 -0
  757. package/dist/components/dialog/index.js.map +1 -0
  758. package/dist/components/dialog/use-dialog-dismiss-guard.js +10 -0
  759. package/dist/components/dialog/use-dialog-dismiss-guard.js.map +1 -0
  760. package/dist/components/drawer/drawer.js +26 -0
  761. package/dist/components/drawer/drawer.js.map +1 -0
  762. package/dist/components/drawer/index.js +27 -0
  763. package/dist/components/drawer/index.js.map +1 -0
  764. package/dist/components/dropdown-menu/dropdown-menu.js +38 -0
  765. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -0
  766. package/dist/components/dropdown-menu/index.js +39 -0
  767. package/dist/components/dropdown-menu/index.js.map +1 -0
  768. package/dist/components/empty-state/empty-state.js +15 -0
  769. package/dist/components/empty-state/empty-state.js.map +1 -0
  770. package/dist/components/empty-state/index.js +16 -0
  771. package/dist/components/empty-state/index.js.map +1 -0
  772. package/dist/components/error-state/error-state.js +15 -0
  773. package/dist/components/error-state/error-state.js.map +1 -0
  774. package/dist/components/error-state/index.js +16 -0
  775. package/dist/components/error-state/index.js.map +1 -0
  776. package/dist/components/expand-dialog/expand-dialog.js +28 -0
  777. package/dist/components/expand-dialog/expand-dialog.js.map +1 -0
  778. package/dist/components/expand-dialog/index.js +28 -0
  779. package/dist/components/expand-dialog/index.js.map +1 -0
  780. package/dist/components/field/field-context.js +11 -0
  781. package/dist/components/field/field-context.js.map +1 -0
  782. package/dist/components/field/field.js +23 -0
  783. package/dist/components/field/field.js.map +1 -0
  784. package/dist/components/field/index.js +23 -0
  785. package/dist/components/field/index.js.map +1 -0
  786. package/dist/components/field-row/field-row.js +14 -0
  787. package/dist/components/field-row/field-row.js.map +1 -0
  788. package/dist/components/field-row/index.js +14 -0
  789. package/dist/components/field-row/index.js.map +1 -0
  790. package/dist/components/file-upload/file-upload.js +28 -0
  791. package/dist/components/file-upload/file-upload.js.map +1 -0
  792. package/dist/components/file-upload/index.js +26 -0
  793. package/dist/components/file-upload/index.js.map +1 -0
  794. package/dist/components/form/form.js +27 -0
  795. package/dist/components/form/form.js.map +1 -0
  796. package/dist/components/hover-card/hover-card.js +14 -0
  797. package/dist/components/hover-card/hover-card.js.map +1 -0
  798. package/dist/components/hover-card/index.js +15 -0
  799. package/dist/components/hover-card/index.js.map +1 -0
  800. package/dist/components/icon-button/icon-button.js +14 -0
  801. package/dist/components/icon-button/icon-button.js.map +1 -0
  802. package/dist/components/icon-button/index.js +15 -0
  803. package/dist/components/icon-button/index.js.map +1 -0
  804. package/dist/components/input/index.js +11 -0
  805. package/dist/components/input/index.js.map +1 -0
  806. package/dist/components/input/input.js +10 -0
  807. package/dist/components/input/input.js.map +1 -0
  808. package/dist/components/input-group/index.js +31 -0
  809. package/dist/components/input-group/index.js.map +1 -0
  810. package/dist/components/input-group/input-group.js +30 -0
  811. package/dist/components/input-group/input-group.js.map +1 -0
  812. package/dist/components/input-otp/index.js +17 -0
  813. package/dist/components/input-otp/index.js.map +1 -0
  814. package/dist/components/input-otp/input-otp.js +17 -0
  815. package/dist/components/input-otp/input-otp.js.map +1 -0
  816. package/dist/components/install-tabs/index.js +28 -0
  817. package/dist/components/install-tabs/index.js.map +1 -0
  818. package/dist/components/install-tabs/install-tabs.js +28 -0
  819. package/dist/components/install-tabs/install-tabs.js.map +1 -0
  820. package/dist/components/integration-matrix/index.js +26 -0
  821. package/dist/components/integration-matrix/index.js.map +1 -0
  822. package/dist/components/integration-matrix/integration-matrix.js +26 -0
  823. package/dist/components/integration-matrix/integration-matrix.js.map +1 -0
  824. package/dist/components/kbd/index.js +11 -0
  825. package/dist/components/kbd/index.js.map +1 -0
  826. package/dist/components/kbd/kbd.js +10 -0
  827. package/dist/components/kbd/kbd.js.map +1 -0
  828. package/dist/components/key-value-editor/index.js +18 -0
  829. package/dist/components/key-value-editor/index.js.map +1 -0
  830. package/dist/components/key-value-editor/key-value-editor.js +18 -0
  831. package/dist/components/key-value-editor/key-value-editor.js.map +1 -0
  832. package/dist/components/keyboard-shortcuts/index.js +25 -0
  833. package/dist/components/keyboard-shortcuts/index.js.map +1 -0
  834. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.js +25 -0
  835. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.js.map +1 -0
  836. package/dist/components/label/index.js +11 -0
  837. package/dist/components/label/index.js.map +1 -0
  838. package/dist/components/label/label.js +10 -0
  839. package/dist/components/label/label.js.map +1 -0
  840. package/dist/components/link-preview/index.js +14 -0
  841. package/dist/components/link-preview/index.js.map +1 -0
  842. package/dist/components/link-preview/link-preview.js +14 -0
  843. package/dist/components/link-preview/link-preview.js.map +1 -0
  844. package/dist/components/list-editor/index.js +18 -0
  845. package/dist/components/list-editor/index.js.map +1 -0
  846. package/dist/components/list-editor/list-editor.js +18 -0
  847. package/dist/components/list-editor/list-editor.js.map +1 -0
  848. package/dist/components/loading-state/index.js +16 -0
  849. package/dist/components/loading-state/index.js.map +1 -0
  850. package/dist/components/loading-state/loading-state.js +15 -0
  851. package/dist/components/loading-state/loading-state.js.map +1 -0
  852. package/dist/components/locale-provider/index.js +16 -0
  853. package/dist/components/locale-provider/index.js.map +1 -0
  854. package/dist/components/locale-provider/locale-provider.js +13 -0
  855. package/dist/components/locale-provider/locale-provider.js.map +1 -0
  856. package/dist/components/locale-provider/messages.js +10 -0
  857. package/dist/components/locale-provider/messages.js.map +1 -0
  858. package/dist/components/match-highlight/index.js +15 -0
  859. package/dist/components/match-highlight/index.js.map +1 -0
  860. package/dist/components/match-highlight/match-highlight.js +14 -0
  861. package/dist/components/match-highlight/match-highlight.js.map +1 -0
  862. package/dist/components/mention-input/index.js +46 -0
  863. package/dist/components/mention-input/index.js.map +1 -0
  864. package/dist/components/mention-input/mention-input.js +33 -0
  865. package/dist/components/mention-input/mention-input.js.map +1 -0
  866. package/dist/components/mention-input/mention-value.js +20 -0
  867. package/dist/components/mention-input/mention-value.js.map +1 -0
  868. package/dist/components/menubar/index.js +39 -0
  869. package/dist/components/menubar/index.js.map +1 -0
  870. package/dist/components/menubar/menubar.js +38 -0
  871. package/dist/components/menubar/menubar.js.map +1 -0
  872. package/dist/components/meter/index.js +15 -0
  873. package/dist/components/meter/index.js.map +1 -0
  874. package/dist/components/meter/meter.js +15 -0
  875. package/dist/components/meter/meter.js.map +1 -0
  876. package/dist/components/metric-card/index.js +24 -0
  877. package/dist/components/metric-card/index.js.map +1 -0
  878. package/dist/components/metric-card/metric-card.js +24 -0
  879. package/dist/components/metric-card/metric-card.js.map +1 -0
  880. package/dist/components/model-picker/index.js +37 -0
  881. package/dist/components/model-picker/index.js.map +1 -0
  882. package/dist/components/model-picker/model-picker-state.js +13 -0
  883. package/dist/components/model-picker/model-picker-state.js.map +1 -0
  884. package/dist/components/model-picker/model-picker.js +37 -0
  885. package/dist/components/model-picker/model-picker.js.map +1 -0
  886. package/dist/components/nav-main/index.js +33 -0
  887. package/dist/components/nav-main/index.js.map +1 -0
  888. package/dist/components/nav-main/nav-main.js +33 -0
  889. package/dist/components/nav-main/nav-main.js.map +1 -0
  890. package/dist/components/nav-notifications/index.js +20 -0
  891. package/dist/components/nav-notifications/index.js.map +1 -0
  892. package/dist/components/nav-notifications/nav-notifications.js +20 -0
  893. package/dist/components/nav-notifications/nav-notifications.js.map +1 -0
  894. package/dist/components/nav-user/index.js +35 -0
  895. package/dist/components/nav-user/index.js.map +1 -0
  896. package/dist/components/nav-user/nav-user.js +35 -0
  897. package/dist/components/nav-user/nav-user.js.map +1 -0
  898. package/dist/components/navigation-menu/index.js +25 -0
  899. package/dist/components/navigation-menu/index.js.map +1 -0
  900. package/dist/components/navigation-menu/navigation-menu.js +25 -0
  901. package/dist/components/navigation-menu/navigation-menu.js.map +1 -0
  902. package/dist/components/number-input/index.js +22 -0
  903. package/dist/components/number-input/index.js.map +1 -0
  904. package/dist/components/number-input/number-input.js +22 -0
  905. package/dist/components/number-input/number-input.js.map +1 -0
  906. package/dist/components/page-shell/index.js +11 -0
  907. package/dist/components/page-shell/index.js.map +1 -0
  908. package/dist/components/page-shell/page-shell.js +10 -0
  909. package/dist/components/page-shell/page-shell.js.map +1 -0
  910. package/dist/components/pagination/index.js +28 -0
  911. package/dist/components/pagination/index.js.map +1 -0
  912. package/dist/components/pagination/pagination.js +28 -0
  913. package/dist/components/pagination/pagination.js.map +1 -0
  914. package/dist/components/parallax-plane/index.css +17 -0
  915. package/dist/components/parallax-plane/index.css.map +1 -0
  916. package/dist/components/parallax-plane/index.js +18 -0
  917. package/dist/components/parallax-plane/index.js.map +1 -0
  918. package/dist/components/parallax-plane/parallax-plane.css +17 -0
  919. package/dist/components/parallax-plane/parallax-plane.css.map +1 -0
  920. package/dist/components/parallax-plane/parallax-plane.js +18 -0
  921. package/dist/components/parallax-plane/parallax-plane.js.map +1 -0
  922. package/dist/components/popover/index.js +17 -0
  923. package/dist/components/popover/index.js.map +1 -0
  924. package/dist/components/popover/popover.js +16 -0
  925. package/dist/components/popover/popover.js.map +1 -0
  926. package/dist/components/progress/index.js +13 -0
  927. package/dist/components/progress/index.js.map +1 -0
  928. package/dist/components/progress/progress.js +12 -0
  929. package/dist/components/progress/progress.js.map +1 -0
  930. package/dist/components/radio-group/index.js +13 -0
  931. package/dist/components/radio-group/index.js.map +1 -0
  932. package/dist/components/radio-group/radio-group.js +12 -0
  933. package/dist/components/radio-group/radio-group.js.map +1 -0
  934. package/dist/components/rating/index.js +11 -0
  935. package/dist/components/rating/index.js.map +1 -0
  936. package/dist/components/rating/rating.js +11 -0
  937. package/dist/components/rating/rating.js.map +1 -0
  938. package/dist/components/resizable/index.js +15 -0
  939. package/dist/components/resizable/index.js.map +1 -0
  940. package/dist/components/resizable/resizable.js +14 -0
  941. package/dist/components/resizable/resizable.js.map +1 -0
  942. package/dist/components/reveal/index.js +15 -0
  943. package/dist/components/reveal/index.js.map +1 -0
  944. package/dist/components/reveal/reveal.js +14 -0
  945. package/dist/components/reveal/reveal.js.map +1 -0
  946. package/dist/components/reveal-on-enter/index.css +21 -0
  947. package/dist/components/reveal-on-enter/index.css.map +1 -0
  948. package/dist/components/reveal-on-enter/index.js +12 -0
  949. package/dist/components/reveal-on-enter/index.js.map +1 -0
  950. package/dist/components/reveal-on-enter/reveal-on-enter.css +21 -0
  951. package/dist/components/reveal-on-enter/reveal-on-enter.css.map +1 -0
  952. package/dist/components/reveal-on-enter/reveal-on-enter.js +12 -0
  953. package/dist/components/reveal-on-enter/reveal-on-enter.js.map +1 -0
  954. package/dist/components/revision-timeline/index.js +18 -0
  955. package/dist/components/revision-timeline/index.js.map +1 -0
  956. package/dist/components/revision-timeline/revision-timeline.js +18 -0
  957. package/dist/components/revision-timeline/revision-timeline.js.map +1 -0
  958. package/dist/components/schema-form/from-json-schema.js +13 -0
  959. package/dist/components/schema-form/from-json-schema.js.map +1 -0
  960. package/dist/components/schema-form/index.js +140 -0
  961. package/dist/components/schema-form/index.js.map +1 -0
  962. package/dist/components/schema-form/schema-form-spec.js +63 -0
  963. package/dist/components/schema-form/schema-form-spec.js.map +1 -0
  964. package/dist/components/schema-form/schema-form-store.js +21 -0
  965. package/dist/components/schema-form/schema-form-store.js.map +1 -0
  966. package/dist/components/schema-form/schema-form.js +77 -0
  967. package/dist/components/schema-form/schema-form.js.map +1 -0
  968. package/dist/components/scroll-area/index.js +13 -0
  969. package/dist/components/scroll-area/index.js.map +1 -0
  970. package/dist/components/scroll-area/scroll-area.js +12 -0
  971. package/dist/components/scroll-area/scroll-area.js.map +1 -0
  972. package/dist/components/section-header/index.js +11 -0
  973. package/dist/components/section-header/index.js.map +1 -0
  974. package/dist/components/section-header/section-header.js +10 -0
  975. package/dist/components/section-header/section-header.js.map +1 -0
  976. package/dist/components/segmented-field/index.js +17 -0
  977. package/dist/components/segmented-field/index.js.map +1 -0
  978. package/dist/components/segmented-field/segmented-field.js +17 -0
  979. package/dist/components/segmented-field/segmented-field.js.map +1 -0
  980. package/dist/components/select/index.js +26 -0
  981. package/dist/components/select/index.js.map +1 -0
  982. package/dist/components/select/select.js +26 -0
  983. package/dist/components/select/select.js.map +1 -0
  984. package/dist/components/separator/index.js +11 -0
  985. package/dist/components/separator/index.js.map +1 -0
  986. package/dist/components/separator/separator.js +10 -0
  987. package/dist/components/separator/separator.js.map +1 -0
  988. package/dist/components/sheet/index.js +30 -0
  989. package/dist/components/sheet/index.js.map +1 -0
  990. package/dist/components/sheet/sheet.js +30 -0
  991. package/dist/components/sheet/sheet.js.map +1 -0
  992. package/dist/components/side-dock/index.js +20 -0
  993. package/dist/components/side-dock/index.js.map +1 -0
  994. package/dist/components/side-dock/side-dock.js +20 -0
  995. package/dist/components/side-dock/side-dock.js.map +1 -0
  996. package/dist/components/sidebar/index.js +77 -0
  997. package/dist/components/sidebar/index.js.map +1 -0
  998. package/dist/components/sidebar/sidebar.js +77 -0
  999. package/dist/components/sidebar/sidebar.js.map +1 -0
  1000. package/dist/components/skeleton/index.js +11 -0
  1001. package/dist/components/skeleton/index.js.map +1 -0
  1002. package/dist/components/skeleton/skeleton.js +10 -0
  1003. package/dist/components/skeleton/skeleton.js.map +1 -0
  1004. package/dist/components/skip-link/index.js +11 -0
  1005. package/dist/components/skip-link/index.js.map +1 -0
  1006. package/dist/components/skip-link/skip-link.js +10 -0
  1007. package/dist/components/skip-link/skip-link.js.map +1 -0
  1008. package/dist/components/slider/index.js +11 -0
  1009. package/dist/components/slider/index.js.map +1 -0
  1010. package/dist/components/slider/slider.js +10 -0
  1011. package/dist/components/slider/slider.js.map +1 -0
  1012. package/dist/components/slider-number/index.js +26 -0
  1013. package/dist/components/slider-number/index.js.map +1 -0
  1014. package/dist/components/slider-number/slider-number.js +26 -0
  1015. package/dist/components/slider-number/slider-number.js.map +1 -0
  1016. package/dist/components/sonner/index.js +13 -0
  1017. package/dist/components/sonner/index.js.map +1 -0
  1018. package/dist/components/sonner/sonner.js +13 -0
  1019. package/dist/components/sonner/sonner.js.map +1 -0
  1020. package/dist/components/spec-playground/index.js +23 -0
  1021. package/dist/components/spec-playground/index.js.map +1 -0
  1022. package/dist/components/spec-playground/locate-json-path.js +17 -0
  1023. package/dist/components/spec-playground/locate-json-path.js.map +1 -0
  1024. package/dist/components/spec-playground/spec-playground.js +23 -0
  1025. package/dist/components/spec-playground/spec-playground.js.map +1 -0
  1026. package/dist/components/spinner/index.js +14 -0
  1027. package/dist/components/spinner/index.js.map +1 -0
  1028. package/dist/components/spinner/spinner.js +14 -0
  1029. package/dist/components/spinner/spinner.js.map +1 -0
  1030. package/dist/components/split-panel/index.js +13 -0
  1031. package/dist/components/split-panel/index.js.map +1 -0
  1032. package/dist/components/split-panel/split-panel.js +12 -0
  1033. package/dist/components/split-panel/split-panel.js.map +1 -0
  1034. package/dist/components/state-panel/index.js +17 -0
  1035. package/dist/components/state-panel/index.js.map +1 -0
  1036. package/dist/components/state-panel/state-panel.js +17 -0
  1037. package/dist/components/state-panel/state-panel.js.map +1 -0
  1038. package/dist/components/status-badge/index.js +30 -0
  1039. package/dist/components/status-badge/index.js.map +1 -0
  1040. package/dist/components/status-badge/status-badge.js +29 -0
  1041. package/dist/components/status-badge/status-badge.js.map +1 -0
  1042. package/dist/components/surface-tour/index.css +21 -0
  1043. package/dist/components/surface-tour/index.css.map +1 -0
  1044. package/dist/components/surface-tour/index.js +36 -0
  1045. package/dist/components/surface-tour/index.js.map +1 -0
  1046. package/dist/components/surface-tour/surface-tour.css +21 -0
  1047. package/dist/components/surface-tour/surface-tour.css.map +1 -0
  1048. package/dist/components/surface-tour/surface-tour.js +36 -0
  1049. package/dist/components/surface-tour/surface-tour.js.map +1 -0
  1050. package/dist/components/switch/index.js +11 -0
  1051. package/dist/components/switch/index.js.map +1 -0
  1052. package/dist/components/switch/switch.js +10 -0
  1053. package/dist/components/switch/switch.js.map +1 -0
  1054. package/dist/components/table/index.js +28 -0
  1055. package/dist/components/table/index.js.map +1 -0
  1056. package/dist/components/table/table.js +28 -0
  1057. package/dist/components/table/table.js.map +1 -0
  1058. package/dist/components/tabs/index.js +22 -0
  1059. package/dist/components/tabs/index.js.map +1 -0
  1060. package/dist/components/tabs/tabs.js +22 -0
  1061. package/dist/components/tabs/tabs.js.map +1 -0
  1062. package/dist/components/tag-input/index.js +21 -0
  1063. package/dist/components/tag-input/index.js.map +1 -0
  1064. package/dist/components/tag-input/tag-input.js +21 -0
  1065. package/dist/components/tag-input/tag-input.js.map +1 -0
  1066. package/dist/components/team-switcher/index.js +33 -0
  1067. package/dist/components/team-switcher/index.js.map +1 -0
  1068. package/dist/components/team-switcher/team-switcher.js +33 -0
  1069. package/dist/components/team-switcher/team-switcher.js.map +1 -0
  1070. package/dist/components/textarea/index.js +11 -0
  1071. package/dist/components/textarea/index.js.map +1 -0
  1072. package/dist/components/textarea/textarea.js +10 -0
  1073. package/dist/components/textarea/textarea.js.map +1 -0
  1074. package/dist/components/theme-family-switch/index.js +19 -0
  1075. package/dist/components/theme-family-switch/index.js.map +1 -0
  1076. package/dist/components/theme-family-switch/theme-family-switch.js +19 -0
  1077. package/dist/components/theme-family-switch/theme-family-switch.js.map +1 -0
  1078. package/dist/components/theme-switcher/index.js +24 -0
  1079. package/dist/components/theme-switcher/index.js.map +1 -0
  1080. package/dist/components/theme-switcher/theme-switcher.js +21 -0
  1081. package/dist/components/theme-switcher/theme-switcher.js.map +1 -0
  1082. package/dist/components/theme-switcher/use-theme-transition.js +10 -0
  1083. package/dist/components/theme-switcher/use-theme-transition.js.map +1 -0
  1084. package/dist/components/timeline/index.js +18 -0
  1085. package/dist/components/timeline/index.js.map +1 -0
  1086. package/dist/components/timeline/timeline.js +19 -0
  1087. package/dist/components/timeline/timeline.js.map +1 -0
  1088. package/dist/components/toggle/index.js +13 -0
  1089. package/dist/components/toggle/index.js.map +1 -0
  1090. package/dist/components/toggle/toggle.js +12 -0
  1091. package/dist/components/toggle/toggle.js.map +1 -0
  1092. package/dist/components/toggle-group/index.js +15 -0
  1093. package/dist/components/toggle-group/index.js.map +1 -0
  1094. package/dist/components/toggle-group/toggle-group.js +15 -0
  1095. package/dist/components/toggle-group/toggle-group.js.map +1 -0
  1096. package/dist/components/token-spotlight/index.css +25 -0
  1097. package/dist/components/token-spotlight/index.css.map +1 -0
  1098. package/dist/components/token-spotlight/index.js +23 -0
  1099. package/dist/components/token-spotlight/index.js.map +1 -0
  1100. package/dist/components/token-spotlight/token-spotlight.css +25 -0
  1101. package/dist/components/token-spotlight/token-spotlight.css.map +1 -0
  1102. package/dist/components/token-spotlight/token-spotlight.js +23 -0
  1103. package/dist/components/token-spotlight/token-spotlight.js.map +1 -0
  1104. package/dist/components/token-spotlight/token-value-format.js +11 -0
  1105. package/dist/components/token-spotlight/token-value-format.js.map +1 -0
  1106. package/dist/components/toolbar/index.js +27 -0
  1107. package/dist/components/toolbar/index.js.map +1 -0
  1108. package/dist/components/toolbar/toolbar.js +27 -0
  1109. package/dist/components/toolbar/toolbar.js.map +1 -0
  1110. package/dist/components/tooltip/index.js +17 -0
  1111. package/dist/components/tooltip/index.js.map +1 -0
  1112. package/dist/components/tooltip/tooltip.js +16 -0
  1113. package/dist/components/tooltip/tooltip.js.map +1 -0
  1114. package/dist/components/top-nav/index.js +11 -0
  1115. package/dist/components/top-nav/index.js.map +1 -0
  1116. package/dist/components/top-nav/top-nav.js +10 -0
  1117. package/dist/components/top-nav/top-nav.js.map +1 -0
  1118. package/dist/components/transfer/index.js +26 -0
  1119. package/dist/components/transfer/index.js.map +1 -0
  1120. package/dist/components/transfer/transfer.js +26 -0
  1121. package/dist/components/transfer/transfer.js.map +1 -0
  1122. package/dist/components/tree/index.js +21 -0
  1123. package/dist/components/tree/index.js.map +1 -0
  1124. package/dist/components/tree/tree.js +18 -0
  1125. package/dist/components/tree/tree.js.map +1 -0
  1126. package/dist/components/tree/use-tree-keyboard.js +14 -0
  1127. package/dist/components/tree/use-tree-keyboard.js.map +1 -0
  1128. package/dist/components/tree-select/index.js +26 -0
  1129. package/dist/components/tree-select/index.js.map +1 -0
  1130. package/dist/components/tree-select/tree-select.js +26 -0
  1131. package/dist/components/tree-select/tree-select.js.map +1 -0
  1132. package/dist/components/typography/index.js +41 -0
  1133. package/dist/components/typography/index.js.map +1 -0
  1134. package/dist/components/typography/prose.js +29 -0
  1135. package/dist/components/typography/prose.js.map +1 -0
  1136. package/dist/components/typography/typography.js +18 -0
  1137. package/dist/components/typography/typography.js.map +1 -0
  1138. package/dist/components/view-toolbar/index.js +27 -0
  1139. package/dist/components/view-toolbar/index.js.map +1 -0
  1140. package/dist/components/view-toolbar/view-toolbar.js +27 -0
  1141. package/dist/components/view-toolbar/view-toolbar.js.map +1 -0
  1142. package/dist/components/virtual-select/index.js +26 -0
  1143. package/dist/components/virtual-select/index.js.map +1 -0
  1144. package/dist/components/virtual-select/use-virtual-listbox.js +10 -0
  1145. package/dist/components/virtual-select/use-virtual-listbox.js.map +1 -0
  1146. package/dist/components/virtual-select/virtual-select.js +23 -0
  1147. package/dist/components/virtual-select/virtual-select.js.map +1 -0
  1148. package/dist/components/wizard/index.js +19 -0
  1149. package/dist/components/wizard/index.js.map +1 -0
  1150. package/dist/components/wizard/wizard.js +19 -0
  1151. package/dist/components/wizard/wizard.js.map +1 -0
  1152. package/dist/components/workspace-picker/index.js +38 -0
  1153. package/dist/components/workspace-picker/index.js.map +1 -0
  1154. package/dist/components/workspace-picker/workspace-picker-state.js +9 -0
  1155. package/dist/components/workspace-picker/workspace-picker-state.js.map +1 -0
  1156. package/dist/components/workspace-picker/workspace-picker.js +35 -0
  1157. package/dist/components/workspace-picker/workspace-picker.js.map +1 -0
  1158. package/dist/form.js +13 -110
  1159. package/dist/form.js.map +1 -1
  1160. package/dist/illustrations/empty-list-illustration.js +11 -0
  1161. package/dist/illustrations/empty-list-illustration.js.map +1 -0
  1162. package/dist/illustrations/error-illustration.js +11 -0
  1163. package/dist/illustrations/error-illustration.js.map +1 -0
  1164. package/dist/illustrations/first-run-illustration.js +11 -0
  1165. package/dist/illustrations/first-run-illustration.js.map +1 -0
  1166. package/dist/illustrations/illustration-base.js +16 -0
  1167. package/dist/illustrations/illustration-base.js.map +1 -0
  1168. package/dist/illustrations/index.js +41 -0
  1169. package/dist/illustrations/index.js.map +1 -0
  1170. package/dist/illustrations/no-access-illustration.js +11 -0
  1171. package/dist/illustrations/no-access-illustration.js.map +1 -0
  1172. package/dist/illustrations/no-results-illustration.js +11 -0
  1173. package/dist/illustrations/no-results-illustration.js.map +1 -0
  1174. package/dist/illustrations/offline-illustration.js +11 -0
  1175. package/dist/illustrations/offline-illustration.js.map +1 -0
  1176. package/dist/illustrations/success-illustration.js +11 -0
  1177. package/dist/illustrations/success-illustration.js.map +1 -0
  1178. package/dist/index.css +122 -0
  1179. package/dist/index.css.map +1 -0
  1180. package/dist/index.d.ts +1269 -116
  1181. package/dist/index.js +993 -23939
  1182. package/dist/index.js.map +1 -1
  1183. package/dist/lib/agent-event-model.js +9 -0
  1184. package/dist/lib/agent-event-model.js.map +1 -0
  1185. package/dist/lib/approval-option.js +9 -0
  1186. package/dist/lib/approval-option.js.map +1 -0
  1187. package/dist/lib/check-result.js +3 -0
  1188. package/dist/lib/check-result.js.map +1 -0
  1189. package/dist/lib/cn.js +23 -7
  1190. package/dist/lib/cn.js.map +1 -1
  1191. package/dist/lib/color-scale.js +11 -0
  1192. package/dist/lib/color-scale.js.map +1 -0
  1193. package/dist/lib/compact-number.js +21 -0
  1194. package/dist/lib/compact-number.js.map +1 -0
  1195. package/dist/lib/csv.js +11 -0
  1196. package/dist/lib/csv.js.map +1 -0
  1197. package/dist/lib/diff-line.js +11 -0
  1198. package/dist/lib/diff-line.js.map +1 -0
  1199. package/dist/lib/diff-rows.js +12 -0
  1200. package/dist/lib/diff-rows.js.map +1 -0
  1201. package/dist/lib/document-address.js +13 -0
  1202. package/dist/lib/document-address.js.map +1 -0
  1203. package/dist/lib/download.js +11 -0
  1204. package/dist/lib/download.js.map +1 -0
  1205. package/dist/lib/file-icon.js +12 -0
  1206. package/dist/lib/file-icon.js.map +1 -0
  1207. package/dist/lib/file-kind.js +13 -0
  1208. package/dist/lib/file-kind.js.map +1 -0
  1209. package/dist/lib/file-source.js +10 -0
  1210. package/dist/lib/file-source.js.map +1 -0
  1211. package/dist/lib/format-duration.js +9 -0
  1212. package/dist/lib/format-duration.js.map +1 -0
  1213. package/dist/lib/has-renderable-content.js +9 -0
  1214. package/dist/lib/has-renderable-content.js.map +1 -0
  1215. package/dist/lib/merge-refs.js +10 -0
  1216. package/dist/lib/merge-refs.js.map +1 -0
  1217. package/dist/lib/operating-mode.js +9 -0
  1218. package/dist/lib/operating-mode.js.map +1 -0
  1219. package/dist/lib/optional-peer.js +11 -0
  1220. package/dist/lib/optional-peer.js.map +1 -0
  1221. package/dist/lib/session-launch.js +3 -0
  1222. package/dist/lib/session-launch.js.map +1 -0
  1223. package/dist/lib/slash-command.js +11 -0
  1224. package/dist/lib/slash-command.js.map +1 -0
  1225. package/dist/lib/streamdown-translations.js +15 -0
  1226. package/dist/lib/streamdown-translations.js.map +1 -0
  1227. package/dist/lib/trigger-query.js +11 -0
  1228. package/dist/lib/trigger-query.js.map +1 -0
  1229. package/dist/lib/use-controllable-state.js +10 -0
  1230. package/dist/lib/use-controllable-state.js.map +1 -0
  1231. package/dist/lib/use-copy-to-clipboard.js +12 -0
  1232. package/dist/lib/use-copy-to-clipboard.js.map +1 -0
  1233. package/dist/lib/use-mobile.js +10 -0
  1234. package/dist/lib/use-mobile.js.map +1 -0
  1235. package/dist/lib/use-scroll-progress.js +18 -0
  1236. package/dist/lib/use-scroll-progress.js.map +1 -0
  1237. package/package.json +12 -5
  1238. package/src/__contract__/ambient-field.contract.test.tsx +49 -0
  1239. package/src/__contract__/command-chip.contract.test.tsx +49 -0
  1240. package/src/__contract__/install-tabs.contract.test.tsx +49 -0
  1241. package/src/__contract__/integration-matrix.contract.test.tsx +49 -0
  1242. package/src/__contract__/meter.contract.test.tsx +49 -0
  1243. package/src/__contract__/parallax-plane.contract.test.tsx +49 -0
  1244. package/src/__contract__/reveal-on-enter.contract.test.tsx +49 -0
  1245. package/src/__contract__/spec-playground.contract.test.tsx +49 -0
  1246. package/src/__contract__/surface-tour.contract.test.tsx +49 -0
  1247. package/src/__contract__/theme-family-switch.contract.test.tsx +49 -0
  1248. package/src/__contract__/token-spotlight.contract.test.tsx +49 -0
  1249. package/src/blocks-comparison-table.stories.tsx +1 -1
  1250. package/src/components/accordion/accordion.tsx +31 -15
  1251. package/src/components/advanced-group/advanced-group.stories.tsx +2 -0
  1252. package/src/components/alert/alert.tsx +13 -5
  1253. package/src/components/alert-dialog/alert-dialog.tsx +1 -1
  1254. package/src/components/ambient-field/ambient-field.css +98 -0
  1255. package/src/components/ambient-field/ambient-field.stories.tsx +75 -0
  1256. package/src/components/ambient-field/ambient-field.test.tsx +28 -0
  1257. package/src/components/ambient-field/ambient-field.tsx +69 -0
  1258. package/src/components/ambient-field/index.ts +7 -0
  1259. package/src/components/app-shell/app-shell.stories.tsx +344 -1
  1260. package/src/components/app-shell/app-shell.test.tsx +167 -0
  1261. package/src/components/app-shell/app-shell.tsx +119 -5
  1262. package/src/components/app-shell/index.ts +1 -1
  1263. package/src/components/attribution-panel/attributions.generated.ts +77 -4
  1264. package/src/components/badge/badge.stories.tsx +62 -0
  1265. package/src/components/badge/badge.test.tsx +21 -0
  1266. package/src/components/badge/badge.tsx +88 -8
  1267. package/src/components/breadcrumb/breadcrumb.stories.tsx +1 -1
  1268. package/src/components/breadcrumb/breadcrumb.tsx +2 -0
  1269. package/src/components/button/button.stories.tsx +5 -1
  1270. package/src/components/button/button.tsx +19 -8
  1271. package/src/components/calendar/calendar.tsx +6 -1
  1272. package/src/components/card/card.stories.tsx +73 -1
  1273. package/src/components/card/card.test.tsx +29 -2
  1274. package/src/components/card/card.tsx +77 -13
  1275. package/src/components/card/index.ts +2 -0
  1276. package/src/components/change-review/change-review.tsx +1 -1
  1277. package/src/components/collapsible-panel/index.ts +1 -0
  1278. package/src/components/collapsible-panel/use-collapsible-panel.ts +21 -2
  1279. package/src/components/color-picker/color-picker.tsx +3 -3
  1280. package/src/components/command/command.stories.tsx +64 -1
  1281. package/src/components/command/command.test.tsx +73 -0
  1282. package/src/components/command/command.tsx +73 -2
  1283. package/src/components/command-chip/command-chip.stories.tsx +78 -0
  1284. package/src/components/command-chip/command-chip.test.tsx +57 -0
  1285. package/src/components/command-chip/command-chip.tsx +168 -0
  1286. package/src/components/command-chip/index.ts +7 -0
  1287. package/src/components/command-trigger/command-trigger.tsx +1 -1
  1288. package/src/components/confirm-dialog/confirm-dialog.stories.tsx +2 -0
  1289. package/src/components/context-menu/context-menu.stories.tsx +26 -0
  1290. package/src/components/context-menu/context-menu.tsx +6 -6
  1291. package/src/components/context-rail/context-rail.tsx +22 -4
  1292. package/src/components/date-picker/date-picker.tsx +2 -0
  1293. package/src/components/descriptions/descriptions.stories.tsx +6 -0
  1294. package/src/components/descriptions/descriptions.test.tsx +18 -0
  1295. package/src/components/descriptions/descriptions.tsx +33 -5
  1296. package/src/components/descriptions/index.ts +1 -0
  1297. package/src/components/dialog/dialog.stories.tsx +5 -0
  1298. package/src/components/dialog/dialog.tsx +1 -1
  1299. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +37 -0
  1300. package/src/components/dropdown-menu/dropdown-menu.tsx +14 -6
  1301. package/src/components/expand-dialog/expand-dialog.test.tsx +47 -0
  1302. package/src/components/expand-dialog/expand-dialog.tsx +20 -5
  1303. package/src/components/hover-card/hover-card.tsx +1 -1
  1304. package/src/components/input/input.stories.tsx +17 -0
  1305. package/src/components/input/input.tsx +1 -1
  1306. package/src/components/input-group/input-group.stories.tsx +43 -6
  1307. package/src/components/input-group/input-group.tsx +5 -2
  1308. package/src/components/input-otp/input-otp.tsx +4 -2
  1309. package/src/components/install-tabs/index.ts +8 -0
  1310. package/src/components/install-tabs/install-tabs.stories.tsx +147 -0
  1311. package/src/components/install-tabs/install-tabs.test.tsx +120 -0
  1312. package/src/components/install-tabs/install-tabs.tsx +238 -0
  1313. package/src/components/integration-matrix/index.ts +10 -0
  1314. package/src/components/integration-matrix/integration-matrix.stories.tsx +171 -0
  1315. package/src/components/integration-matrix/integration-matrix.test.tsx +89 -0
  1316. package/src/components/integration-matrix/integration-matrix.tsx +237 -0
  1317. package/src/components/locale-provider/messages.ts +252 -0
  1318. package/src/components/mention-input/mention-input.tsx +1 -1
  1319. package/src/components/menubar/menubar.stories.tsx +25 -0
  1320. package/src/components/menubar/menubar.tsx +7 -7
  1321. package/src/components/meter/index.ts +1 -0
  1322. package/src/components/meter/meter.stories.tsx +102 -0
  1323. package/src/components/meter/meter.test.tsx +61 -0
  1324. package/src/components/meter/meter.tsx +173 -0
  1325. package/src/components/metric-card/index.ts +6 -1
  1326. package/src/components/metric-card/metric-card.stories.tsx +63 -0
  1327. package/src/components/metric-card/metric-card.test.tsx +83 -0
  1328. package/src/components/metric-card/metric-card.tsx +97 -14
  1329. package/src/components/nav-user/nav-user.test.tsx +23 -1
  1330. package/src/components/nav-user/nav-user.tsx +68 -53
  1331. package/src/components/navigation-menu/navigation-menu.stories.tsx +42 -0
  1332. package/src/components/navigation-menu/navigation-menu.tsx +1 -1
  1333. package/src/components/page-shell/page-shell.stories.tsx +1 -1
  1334. package/src/components/page-shell/page-shell.tsx +3 -2
  1335. package/src/components/pagination/pagination.tsx +2 -0
  1336. package/src/components/parallax-plane/index.ts +8 -0
  1337. package/src/components/parallax-plane/parallax-plane.css +26 -0
  1338. package/src/components/parallax-plane/parallax-plane.stories.tsx +88 -0
  1339. package/src/components/parallax-plane/parallax-plane.test.tsx +57 -0
  1340. package/src/components/parallax-plane/parallax-plane.tsx +80 -0
  1341. package/src/components/popover/popover.tsx +1 -1
  1342. package/src/components/progress/progress.stories.tsx +85 -0
  1343. package/src/components/progress/progress.test.tsx +47 -0
  1344. package/src/components/progress/progress.tsx +57 -3
  1345. package/src/components/reveal-on-enter/index.ts +5 -0
  1346. package/src/components/reveal-on-enter/reveal-on-enter.css +32 -0
  1347. package/src/components/reveal-on-enter/reveal-on-enter.stories.tsx +100 -0
  1348. package/src/components/reveal-on-enter/reveal-on-enter.test.tsx +87 -0
  1349. package/src/components/reveal-on-enter/reveal-on-enter.tsx +75 -0
  1350. package/src/components/revision-timeline/revision-timeline.tsx +1 -3
  1351. package/src/components/schema-form/index.ts +2 -0
  1352. package/src/components/schema-form/schema-form-spec.ts +36 -0
  1353. package/src/components/schema-form/schema-form.stories.tsx +33 -0
  1354. package/src/components/schema-form/schema-form.test.tsx +43 -0
  1355. package/src/components/schema-form/schema-form.tsx +111 -4
  1356. package/src/components/scroll-area/index.ts +1 -1
  1357. package/src/components/scroll-area/scroll-area.tsx +47 -18
  1358. package/src/components/section-header/section-header.tsx +1 -3
  1359. package/src/components/select/select.stories.tsx +17 -0
  1360. package/src/components/select/select.test.tsx +28 -1
  1361. package/src/components/select/select.tsx +3 -3
  1362. package/src/components/sheet/sheet.tsx +1 -1
  1363. package/src/components/side-dock/side-dock.stories.tsx +83 -0
  1364. package/src/components/side-dock/side-dock.tsx +50 -16
  1365. package/src/components/sidebar/sidebar.stories.tsx +3 -3
  1366. package/src/components/sidebar/sidebar.test.tsx +31 -1
  1367. package/src/components/sidebar/sidebar.tsx +34 -7
  1368. package/src/components/skip-link/skip-link.stories.tsx +1 -0
  1369. package/src/components/slider/slider.stories.tsx +13 -77
  1370. package/src/components/spec-playground/index.ts +10 -0
  1371. package/src/components/spec-playground/locate-json-path.ts +144 -0
  1372. package/src/components/spec-playground/spec-playground.stories.tsx +156 -0
  1373. package/src/components/spec-playground/spec-playground.test.tsx +106 -0
  1374. package/src/components/spec-playground/spec-playground.tsx +351 -0
  1375. package/src/components/state-panel/state-panel.stories.tsx +4 -2
  1376. package/src/components/state-panel/state-panel.tsx +1 -1
  1377. package/src/components/status-badge/status-badge.stories.tsx +53 -0
  1378. package/src/components/status-badge/status-badge.test.tsx +37 -0
  1379. package/src/components/status-badge/status-badge.tsx +75 -13
  1380. package/src/components/surface-tour/index.ts +11 -0
  1381. package/src/components/surface-tour/surface-tour.stories.tsx +150 -0
  1382. package/src/components/surface-tour/surface-tour.test.tsx +117 -0
  1383. package/src/components/surface-tour/surface-tour.tsx +456 -0
  1384. package/src/components/table/table.tsx +5 -2
  1385. package/src/components/tabs/tabs.stories.tsx +47 -1
  1386. package/src/components/tabs/tabs.test.tsx +26 -0
  1387. package/src/components/tabs/tabs.tsx +51 -11
  1388. package/src/components/textarea/textarea.tsx +1 -1
  1389. package/src/components/theme-family-switch/index.ts +10 -0
  1390. package/src/components/theme-family-switch/theme-family-switch.stories.tsx +97 -0
  1391. package/src/components/theme-family-switch/theme-family-switch.test.tsx +85 -0
  1392. package/src/components/theme-family-switch/theme-family-switch.tsx +166 -0
  1393. package/src/components/theme-switcher/theme-switcher.tsx +11 -4
  1394. package/src/components/token-spotlight/index.ts +11 -0
  1395. package/src/components/token-spotlight/token-spotlight.css +32 -0
  1396. package/src/components/token-spotlight/token-spotlight.stories.tsx +161 -0
  1397. package/src/components/token-spotlight/token-spotlight.test.tsx +323 -0
  1398. package/src/components/token-spotlight/token-spotlight.tsx +379 -0
  1399. package/src/components/token-spotlight/token-value-format.ts +205 -0
  1400. package/src/components/top-nav/top-nav.test.tsx +59 -0
  1401. package/src/components/top-nav/top-nav.tsx +36 -6
  1402. package/src/components/tree/tree.stories.tsx +1 -1
  1403. package/src/components/tree/tree.test.tsx +4 -4
  1404. package/src/components/tree/tree.tsx +4 -4
  1405. package/src/components/typography/typography.stories.tsx +7 -2
  1406. package/src/components/typography/typography.tsx +8 -0
  1407. package/src/components/view-toolbar/view-toolbar.stories.tsx +2 -1
  1408. package/src/components/view-toolbar/view-toolbar.tsx +2 -2
  1409. package/src/decoration.stories.tsx +213 -2
  1410. package/src/index.ts +46 -0
  1411. package/src/lib/cn.test.ts +20 -0
  1412. package/src/lib/cn.ts +32 -7
  1413. package/src/lib/color-scale.test.ts +386 -0
  1414. package/src/lib/color-scale.ts +628 -0
  1415. package/src/lib/compact-number.ts +118 -28
  1416. package/src/lib/use-scroll-progress.ts +103 -0
  1417. package/src/motion.stories.tsx +1 -0
  1418. package/src/templates-object-detail-hub.stories.tsx +8 -8
  1419. package/src/templates-screen-states.stories.tsx +1 -1
  1420. package/src/templates-settings.stories.tsx +8 -3
  1421. package/dist/chunk-FCH4ZN6G.js +0 -57
  1422. package/dist/chunk-FCH4ZN6G.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/mention-input/mention-input.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n createContext,\n forwardRef,\n use,\n useCallback,\n useEffect,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type HTMLAttributes,\n type KeyboardEvent as ReactKeyboardEvent,\n type ReactNode,\n type TextareaHTMLAttributes,\n} from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cn } from \"../../lib/cn\";\nimport { mergeRefs } from \"../../lib/merge-refs\";\nimport { findTriggerQuery } from \"../../lib/trigger-query\";\nimport { useLocale } from \"../locale-provider\";\nimport { Popover, PopoverAnchor, PopoverContent } from \"../popover\";\nimport { Textarea } from \"../textarea\";\nimport {\n defaultMentionFilter,\n insertMention,\n mentionAt,\n mentionEnd,\n remapMentions,\n type Mention,\n type MentionOption,\n type MentionValue,\n} from \"./mention-value\";\n\nexport type { Mention, MentionOption, MentionValue };\n\nconst EMPTY_VALUE: MentionValue = { text: \"\", mentions: [] };\n\n// ---------------------------------------------------------------------------\n// Context — state / actions / meta (component-api.md provider-injection shape)\n// ---------------------------------------------------------------------------\n\nexport interface MentionInputContextValue {\n state: {\n value: MentionValue;\n /** The in-progress query WITHOUT the trigger char; `null` when closed. */\n query: string | null;\n open: boolean;\n /** Index into `filtered`; `-1` when nothing is highlighted. */\n activeIndex: number;\n /** DOM id of the highlighted option; `undefined` when nothing is. */\n activeId?: string;\n filtered: MentionOption[];\n };\n actions: {\n insert: (option: MentionOption) => void;\n close: () => void;\n setActiveIndex: (index: number) => void;\n };\n meta: {\n trigger: string;\n listId: string;\n /**\n * The id `MentionInputTextarea` puts on its element. Advisory only — with\n * `asChild`, Radix `Slot` lets a consumer-supplied `id` on the child win\n * (child props are merged OVER slot props), so the component itself never\n * resolves the field through this id; it holds a real ref.\n */\n textareaId: string;\n optionId: (index: number) => string;\n };\n}\n\nconst MentionInputContext = createContext<MentionInputContextValue | null>(null);\n\n/** Read the surrounding `MentionInput`'s state, actions and ids. */\nexport function useMentionInput(): MentionInputContextValue {\n const ctx = use(MentionInputContext);\n if (!ctx) {\n throw new Error(\"useMentionInput must be used inside a <MentionInput>.\");\n }\n return ctx;\n}\n\n// ---------------------------------------------------------------------------\n// Query detection\n// ---------------------------------------------------------------------------\n\n/** Next enabled index in `list`, wrapping; `-1` when none is selectable. */\nfunction step(list: MentionOption[], from: number, direction: 1 | -1): number {\n const count = list.length;\n if (count === 0) return -1;\n for (let i = 1; i <= count; i++) {\n const index = (((from + direction * i) % count) + count) % count;\n if (!list[index]?.disabled) return index;\n }\n return -1;\n}\n\nfunction firstEnabled(list: MentionOption[]): number {\n const index = list.findIndex((o) => !o.disabled);\n return index;\n}\n\nfunction lastEnabled(list: MentionOption[]): number {\n for (let i = list.length - 1; i >= 0; i--) {\n if (!list[i]?.disabled) return i;\n }\n return -1;\n}\n\n// ---------------------------------------------------------------------------\n// Caret / overlay mirror\n// ---------------------------------------------------------------------------\n\n/**\n * Computed properties the mirror has to copy verbatim for its glyph metrics to\n * land on the same pixels as the textarea's. Anything that changes where a\n * character starts belongs here.\n */\nconst MIRRORED_PROPERTIES = [\n \"boxSizing\",\n \"paddingTop\",\n \"paddingRight\",\n \"paddingBottom\",\n \"paddingLeft\",\n \"borderTopWidth\",\n \"borderRightWidth\",\n \"borderBottomWidth\",\n \"borderLeftWidth\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"fontStyle\",\n \"fontVariant\",\n \"fontStretch\",\n \"fontFeatureSettings\",\n \"fontVariationSettings\",\n \"letterSpacing\",\n \"lineHeight\",\n \"textTransform\",\n \"textIndent\",\n \"wordSpacing\",\n \"textAlign\",\n \"direction\",\n \"tabSize\",\n // Wrapping, copied rather than assumed: forcing `word-break: break-word` when\n // the field says `normal` breaks long words one line early in the mirror.\n \"whiteSpace\",\n \"overflowWrap\",\n \"wordBreak\",\n] as const satisfies readonly (keyof CSSStyleDeclaration & string)[];\n\n/**\n * Extra keys `readMirrorStyle` writes onto the mirror style object BESIDES\n * `MIRRORED_PROPERTIES` (some of which — `paddingRight`, `whiteSpace` — it\n * overrides rather than adds). Used by `stylesEqual` below so the \"did\n * anything actually change\" check compares every key the object can carry,\n * without re-deriving that list from an object literal on every call.\n */\nconst EXTRA_MIRROR_KEYS = [\n \"position\",\n \"left\",\n \"top\",\n \"width\",\n \"height\",\n \"borderStyle\",\n \"borderColor\",\n \"overflow\",\n \"margin\",\n] as const;\n\n/**\n * Field-by-field comparison of two mirror style snapshots (perf review §3.3:\n * \"two JSON.stringify per callback\"). Both objects always carry the exact\n * same key set (`MIRRORED_PROPERTIES` + `EXTRA_MIRROR_KEYS`), so a plain\n * per-key `!==` walk is both cheaper and exact — `JSON.stringify` also\n * silently drops `undefined`-valued keys and is sensitive to key order in a\n * way this object's construction never guarantees.\n */\nfunction stylesEqual(a: CSSProperties, b: CSSProperties): boolean {\n const record = a as Record<string, unknown>;\n const other = b as Record<string, unknown>;\n for (const key of MIRRORED_PROPERTIES) {\n if (record[key] !== other[key]) return false;\n }\n for (const key of EXTRA_MIRROR_KEYS) {\n if (record[key] !== other[key]) return false;\n }\n return true;\n}\n\nfunction readMirrorStyle(textarea: HTMLTextAreaElement): CSSProperties {\n const computed = getComputedStyle(textarea);\n const style: Record<string, string | number> = {};\n for (const property of MIRRORED_PROPERTIES) {\n style[property] = computed[property] as string;\n }\n\n const borderX =\n Number.parseFloat(computed.borderLeftWidth || \"0\") +\n Number.parseFloat(computed.borderRightWidth || \"0\");\n // Whatever the box is wider than its content area, minus the borders, is the\n // vertical scrollbar. Fold it into the padding or every wrapped line in the\n // mirror breaks a few characters later than it does in the field.\n const scrollbar = Math.max(0, textarea.offsetWidth - textarea.clientWidth - borderX);\n\n return {\n ...(style as CSSProperties),\n position: \"absolute\",\n left: textarea.offsetLeft,\n top: textarea.offsetTop,\n width: textarea.offsetWidth,\n height: textarea.offsetHeight,\n paddingRight: Number.parseFloat(computed.paddingRight || \"0\") + scrollbar,\n borderStyle: \"solid\",\n borderColor: \"transparent\",\n // A textarea already computes `pre-wrap`; the fallback only covers a host\n // that reset it, and an environment (jsdom) that resolves nothing.\n whiteSpace: computed.whiteSpace || \"pre-wrap\",\n overflow: \"hidden\",\n margin: 0,\n };\n}\n\n/** Split the text into plain runs and mention runs, in document order. */\nfunction buildRuns(\n value: MentionValue,\n trigger: string,\n): Array<{ key: string; text: string; mention?: Mention }> {\n const runs: Array<{ key: string; text: string; mention?: Mention }> = [];\n const ordered = [...value.mentions].sort((a, b) => a.start - b.start);\n let cursor = 0;\n for (const mention of ordered) {\n if (mention.start > cursor) {\n runs.push({ key: `t${cursor}`, text: value.text.slice(cursor, mention.start) });\n }\n const end = mentionEnd(mention, trigger);\n runs.push({ key: `m${mention.start}`, text: value.text.slice(mention.start, end), mention });\n cursor = end;\n }\n if (cursor < value.text.length) {\n runs.push({ key: `t${cursor}`, text: value.text.slice(cursor) });\n }\n return runs;\n}\n\n// ---------------------------------------------------------------------------\n// MentionInput (root + provider + Popover)\n// ---------------------------------------------------------------------------\n\nexport interface MentionInputProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n \"onChange\" | \"defaultValue\"\n> {\n /** The roster the popup offers. */\n options: MentionOption[];\n /** Controlled value. */\n value?: MentionValue;\n /** Uncontrolled initial value. */\n defaultValue?: MentionValue;\n /** Called with the whole value whenever text or mentions change. */\n onValueChange?: (value: MentionValue) => void;\n /** Trigger character. Default `\"@\"`. */\n trigger?: string;\n /**\n * Which options survive the current query. Defaults to\n * `defaultMentionFilter`; pass `() => true` when the roster is fetched\n * app-side from `onQueryChange`.\n */\n filter?: (option: MentionOption, query: string) => boolean;\n /** The query changed. `null` means the popup closed. */\n onQueryChange?: (query: string | null) => void;\n /** Controlled popup state. */\n open?: boolean;\n /** Called when the popup wants to open or close. */\n onOpenChange?: (open: boolean) => void;\n children: ReactNode;\n}\n\n/**\n * MentionInput — an `@`-mention text field built on a real `<textarea>`.\n *\n * The field stays a native textarea (so IME, paste, undo, spellcheck, mobile\n * keyboards and `FormData` all keep working) and mentions are tracked as\n * offsets beside it. The suggestion popup is this component's own listbox\n * driven by `aria-activedescendant`, so **focus never leaves the textarea** —\n * a popup that took focus would take the caret with it.\n */\nexport const MentionInput = forwardRef<HTMLDivElement, MentionInputProps>(function MentionInput(\n {\n options,\n value: valueProp,\n defaultValue,\n onValueChange,\n trigger = \"@\",\n filter = defaultMentionFilter,\n onQueryChange,\n open: openProp,\n onOpenChange,\n className,\n children,\n ...props\n },\n ref,\n) {\n const uid = useId();\n const listId = `${uid}-listbox`;\n const textareaId = `${uid}-textarea`;\n const optionId = useCallback((index: number) => `${uid}-option-${index}`, [uid]);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const mergedRootRef = useMemo(() => mergeRefs<HTMLDivElement>(ref, rootRef), [ref]);\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n // ------------------------------------------------------------------\n // Controlled / uncontrolled value\n // ------------------------------------------------------------------\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = useState<MentionValue>(defaultValue ?? EMPTY_VALUE);\n const value = isControlled ? valueProp : internalValue;\n\n const commit = useCallback(\n (next: MentionValue) => {\n if (!isControlled) setInternalValue(next);\n onValueChange?.(next);\n },\n [isControlled, onValueChange],\n );\n\n // ------------------------------------------------------------------\n // Caret\n // ------------------------------------------------------------------\n const [caret, setCaret] = useState(() => (defaultValue?.text ?? \"\").length);\n const pendingCaretRef = useRef<number | null>(null);\n\n const applyCaret = useCallback((position: number) => {\n pendingCaretRef.current = position;\n setCaret(position);\n // Pure caret moves change no value, so React may skip the re-render that\n // would flush `pendingCaretRef` — set it here as well. Value changes still\n // need the post-commit pass below, because React writes the new `value`\n // into the DOM after this point and that resets the selection.\n textareaRef.current?.setSelectionRange(position, position);\n }, []);\n\n useLayoutEffect(() => {\n const position = pendingCaretRef.current;\n if (position === null) return;\n pendingCaretRef.current = null;\n textareaRef.current?.setSelectionRange(position, position);\n });\n\n // ------------------------------------------------------------------\n // Query / open state\n // ------------------------------------------------------------------\n const queryInfo = useMemo(\n () =>\n findTriggerQuery(value.text, caret, trigger, {\n isTriggerConsumed: (start) => mentionAt(value, start, trigger) !== undefined,\n }),\n [value, caret, trigger],\n );\n\n // Escape (and an outside dismissal) suppress the popup for the run it was\n // dismissed on, without touching the text — the query is still there, the\n // user just said they are done with the roster for now.\n const [dismissedStart, setDismissedStart] = useState<number | null>(null);\n useEffect(() => {\n if (queryInfo === null && dismissedStart !== null) setDismissedStart(null);\n }, [queryInfo, dismissedStart]);\n\n const derivedOpen = queryInfo !== null && dismissedStart !== queryInfo.start;\n const open = openProp ?? derivedOpen;\n const query = open && queryInfo ? queryInfo.query : null;\n\n const setOpen = useCallback(\n (next: boolean) => {\n onOpenChange?.(next);\n if (!next) setDismissedStart(queryInfo?.start ?? null);\n },\n [onOpenChange, queryInfo],\n );\n\n const onQueryChangeRef = useRef(onQueryChange);\n useEffect(() => {\n onQueryChangeRef.current = onQueryChange;\n }, [onQueryChange]);\n useEffect(() => {\n onQueryChangeRef.current?.(query);\n }, [query]);\n\n // ------------------------------------------------------------------\n // Filtering + highlight\n // ------------------------------------------------------------------\n const filtered = useMemo(\n () => (open && query !== null ? options.filter((option) => filter(option, query)) : []),\n [open, query, options, filter],\n );\n\n const [activeIndexState, setActiveIndexState] = useState(0);\n\n /**\n * The highlight is RESOLVED during render, never repaired in an effect.\n *\n * `aria-activedescendant` and the option's `aria-selected` must be written in\n * the same commit, or the attribute names an element that does not exist yet\n * — the generalised form of cmdk's `selectedItemId` hole (see the docblock in\n * `../command/command.tsx`). Clamping here means a stale index from before a\n * filter keystroke can never reach the DOM, not even for one frame.\n */\n const activeIndex = useMemo(() => {\n const candidate = filtered[activeIndexState];\n if (candidate && !candidate.disabled) return activeIndexState;\n return firstEnabled(filtered);\n }, [filtered, activeIndexState]);\n\n // Reset the *stored* index when the query changes so the next arrow press\n // starts from the top. Safe as an effect precisely because the resolved value\n // above is already correct in the intervening commit.\n useEffect(() => {\n setActiveIndexState(0);\n }, [query]);\n\n const activeId = activeIndex >= 0 ? optionId(activeIndex) : undefined;\n\n // ------------------------------------------------------------------\n // Actions\n // ------------------------------------------------------------------\n const insert = useCallback(\n (option: MentionOption) => {\n if (option.disabled || !queryInfo) return;\n const result = insertMention(value, option, trigger, queryInfo.start, caret);\n commit(result.value);\n applyCaret(result.caret);\n },\n [queryInfo, value, trigger, caret, commit, applyCaret],\n );\n\n const close = useCallback(() => {\n setOpen(false);\n }, [setOpen]);\n\n const removeMention = useCallback(\n (mention: Mention) => {\n const end = mentionEnd(mention, trigger);\n const nextText = value.text.slice(0, mention.start) + value.text.slice(end);\n commit({ text: nextText, mentions: remapMentions(value, nextText, trigger) });\n applyCaret(mention.start);\n },\n [value, trigger, commit, applyCaret],\n );\n\n // ------------------------------------------------------------------\n // Textarea event handlers (owned here, handed to MentionInputTextarea)\n // ------------------------------------------------------------------\n const syncCaret = useCallback((element: HTMLTextAreaElement) => {\n setCaret(element.selectionStart ?? 0);\n }, []);\n\n const handleChange = useCallback(\n (element: HTMLTextAreaElement) => {\n const nextText = element.value;\n commit({ text: nextText, mentions: remapMentions(value, nextText, trigger) });\n setCaret(element.selectionStart ?? nextText.length);\n },\n [commit, value, trigger],\n );\n\n const handleKeyDownCapture = useCallback(\n (event: ReactKeyboardEvent<HTMLTextAreaElement>) => {\n const element = event.currentTarget;\n const position = element.selectionStart ?? 0;\n const hasRange = element.selectionStart !== element.selectionEnd;\n\n if (open) {\n switch (event.key) {\n case \"ArrowDown\":\n event.preventDefault();\n setActiveIndexState(step(filtered, activeIndex, 1));\n return;\n case \"ArrowUp\":\n event.preventDefault();\n setActiveIndexState(step(filtered, activeIndex < 0 ? 0 : activeIndex, -1));\n return;\n case \"Home\":\n event.preventDefault();\n setActiveIndexState(firstEnabled(filtered));\n return;\n case \"End\":\n event.preventDefault();\n setActiveIndexState(lastEnabled(filtered));\n return;\n case \"Enter\":\n case \"Tab\": {\n const option = activeIndex >= 0 ? filtered[activeIndex] : undefined;\n if (option && !option.disabled) {\n // Capture phase, so `defaultPrevented` is already true when a\n // host handler (PromptInput's Enter→submit) runs in the bubble\n // phase on this same element and this same SyntheticEvent.\n event.preventDefault();\n insert(option);\n }\n return;\n }\n case \"Escape\":\n event.preventDefault();\n close();\n return;\n default:\n break;\n }\n }\n\n // Chip atomicity. A range selection is ordinary text editing — the user\n // asked for exactly those characters, mentions included.\n if (hasRange || event.metaKey || event.ctrlKey || event.altKey) return;\n\n if (event.key === \"Backspace\") {\n const mention = mentionAt(value, position - 1, trigger);\n if (mention) {\n event.preventDefault();\n removeMention(mention);\n }\n return;\n }\n if (event.key === \"Delete\") {\n const mention = mentionAt(value, position, trigger);\n if (mention) {\n event.preventDefault();\n removeMention(mention);\n }\n return;\n }\n if (event.key === \"ArrowLeft\" && !event.shiftKey) {\n const mention = mentionAt(value, position - 1, trigger);\n if (mention && position - 1 > mention.start) {\n event.preventDefault();\n applyCaret(mention.start);\n }\n return;\n }\n if (event.key === \"ArrowRight\" && !event.shiftKey) {\n const mention = mentionAt(value, position, trigger);\n if (mention) {\n event.preventDefault();\n applyCaret(mentionEnd(mention, trigger));\n }\n }\n },\n [open, filtered, activeIndex, insert, close, value, trigger, removeMention, applyCaret],\n );\n\n // ------------------------------------------------------------------\n // Mirror geometry (caret anchor + chip overlay)\n // ------------------------------------------------------------------\n const [mirrorStyle, setMirrorStyle] = useState<CSSProperties | null>(null);\n const [scrollTop, setScrollTop] = useState(0);\n const caretMarkerRef = useRef<HTMLSpanElement>(null);\n const [caretRect, setCaretRect] = useState({ left: 0, top: 0, height: 0 });\n\n /**\n * Re-snapshot the field's metrics whenever anything that MOVES A GLYPH can\n * have changed.\n *\n * A one-shot snapshot is not enough and the failure is visible, not\n * theoretical: the very first layout effect runs before the theme attribute\n * has been applied, so it captures the `:root` fallback font — the chip wash\n * then renders in a different typeface from the text it is supposed to sit\n * behind and runs ~14% wide (measured: 143.3px vs 125.5px for the same\n * string). Exactly the same drift happens at runtime whenever a `ThemeSwitcher`\n * changes `data-theme`, a density dial changes the type scale, or a web font\n * finishes loading. So the snapshot is re-taken on all of them.\n */\n const remeasureMirror = useCallback(() => {\n const element = textareaRef.current;\n if (!element) return;\n const next = readMirrorStyle(element);\n setMirrorStyle((previous) => (previous && stylesEqual(previous, next) ? previous : next));\n }, []);\n\n useLayoutEffect(() => {\n remeasureMirror();\n }, [remeasureMirror, value.text]);\n\n useLayoutEffect(() => {\n const element = textareaRef.current;\n if (!element) return;\n const teardown: Array<() => void> = [];\n\n if (typeof ResizeObserver !== \"undefined\") {\n const observer = new ResizeObserver(remeasureMirror);\n observer.observe(element);\n teardown.push(() => observer.disconnect());\n }\n\n if (typeof MutationObserver !== \"undefined\") {\n // The field's own classes/inline styles.\n const fieldObserver = new MutationObserver(remeasureMirror);\n fieldObserver.observe(element, {\n attributes: true,\n attributeFilter: [\"class\", \"style\"],\n });\n teardown.push(() => fieldObserver.disconnect());\n\n // Theme / density / decoration switches re-resolve the INHERITED font and\n // type scale, and a stale snapshot misaligns every chip on the surface.\n //\n // Scoped to the field's OWN nearest `[data-theme]` ancestor (falling\n // back to `<html>` when the field isn't inside a scoped region), never\n // the whole document — and filtered to only the three attributes a\n // theme/density/decoration switch actually writes, never generic\n // `class`/`style` on `<html>`/`<body>`. The broader, document-wide\n // observer this replaced fired on every Radix `Sheet`/`Dialog`/`Popover`\n // scroll-lock ANYWHERE in the app (it toggles inline `style` —\n // `overflow`, `padding-right` — on `<body>` on every open/close), which\n // has nothing to do with this field's own metrics (perf review §3.3).\n const themeScope =\n element.closest(\"[data-theme]\") ??\n (typeof document !== \"undefined\" ? document.documentElement : null);\n if (themeScope) {\n const themeObserver = new MutationObserver(remeasureMirror);\n themeObserver.observe(themeScope, {\n attributes: true,\n attributeFilter: [\"data-theme\", \"data-density\", \"data-decoration\"],\n });\n teardown.push(() => themeObserver.disconnect());\n }\n }\n\n // A web font landing after first paint changes every advance width. This\n // arm is intentionally kept as unpinned defence-in-depth: five isolation\n // attempts (issue #405) could not construct a scenario where removing it\n // alone turns any test red — it is covered only compositely by the\n // ResizeObserver/MutationObserver arms above. Do not delete it on the\n // strength of \"no test notices\"; see #405 for the full mutation audit and\n // the maintainer's keep decision (ADR 0023 §6).\n let cancelled = false;\n void document.fonts?.ready\n .then(() => {\n if (!cancelled) remeasureMirror();\n })\n .catch(() => undefined);\n teardown.push(() => {\n cancelled = true;\n });\n\n return () => {\n for (const fn of teardown) fn();\n };\n }, [remeasureMirror]);\n\n useLayoutEffect(() => {\n if (!open) return;\n const marker = caretMarkerRef.current;\n const root = rootRef.current;\n if (!marker || !root) return;\n const rect = marker.getClientRects()[0] ?? marker.getBoundingClientRect();\n const rootRect = root.getBoundingClientRect();\n const next = {\n left: rect.left - rootRect.left,\n top: rect.top - rootRect.top,\n height: rect.height,\n };\n setCaretRect((previous) =>\n previous.left === next.left && previous.top === next.top && previous.height === next.height\n ? previous\n : next,\n );\n }, [open, caret, value.text, mirrorStyle, scrollTop]);\n\n const runs = useMemo(() => buildRuns(value, trigger), [value, trigger]);\n\n // ------------------------------------------------------------------\n // Context\n // ------------------------------------------------------------------\n const contextValue = useMemo<MentionInputContextValue>(\n () => ({\n state: { value, query, open, activeIndex, activeId, filtered },\n actions: { insert, close, setActiveIndex: setActiveIndexState },\n meta: { trigger, listId, textareaId, optionId },\n }),\n [\n value,\n query,\n open,\n activeIndex,\n activeId,\n filtered,\n insert,\n close,\n trigger,\n listId,\n textareaId,\n optionId,\n ],\n );\n\n const textareaContextValue = useMemo<TextareaWiring>(\n () => ({\n textareaRef,\n textareaId,\n listId,\n open,\n activeId,\n value: value.text,\n onValueInput: handleChange,\n onCaretSync: syncCaret,\n onKeyDownCapture: handleKeyDownCapture,\n onDismiss: close,\n onScrollSync: setScrollTop,\n }),\n [\n textareaId,\n listId,\n open,\n activeId,\n value.text,\n handleChange,\n syncCaret,\n handleKeyDownCapture,\n close,\n ],\n );\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <MentionInputContext value={contextValue}>\n <TextareaWiringContext value={textareaContextValue}>\n <div\n ref={mergedRootRef}\n data-slot=\"mention-input\"\n className={cn(\"relative\", className)}\n {...props}\n >\n {children}\n\n {/*\n Chip overlay — decorative, painted ON TOP of the field.\n Every run is `text-transparent`; only a mention run paints a\n background, and it is a 10% wash, so the real glyphs in the\n textarea below stay legible and stay the ONLY copy of the text\n (native selection, IME and spellcheck are untouched). It sits on\n top rather than behind because a textarea's own background is\n opaque (`bg-background`), which would hide anything underneath.\n */}\n {mirrorStyle ? (\n <div\n data-slot=\"mention-input-overlay\"\n aria-hidden=\"true\"\n className=\"pointer-events-none select-none text-transparent\"\n style={{ ...mirrorStyle, zIndex: 1 }}\n >\n <div style={{ transform: `translateY(${-scrollTop}px)` }}>\n {runs.map((run) =>\n run.mention ? (\n <span\n key={run.key}\n data-slot=\"mention-input-chip\"\n className=\"box-decoration-clone rounded-sm bg-primary/10\"\n >\n {run.text}\n </span>\n ) : (\n <span key={run.key}>{run.text}</span>\n ),\n )}\n </div>\n </div>\n ) : null}\n\n {/* Caret measurement mirror — laid out, never painted. */}\n {open && mirrorStyle ? (\n <div\n data-slot=\"mention-input-caret-mirror\"\n aria-hidden=\"true\"\n className=\"pointer-events-none select-none\"\n style={{ ...mirrorStyle, visibility: \"hidden\", zIndex: -1 }}\n >\n <div style={{ transform: `translateY(${-scrollTop}px)` }}>\n {value.text.slice(0, caret)}\n <span ref={caretMarkerRef}>{value.text.slice(caret) || \".\"}</span>\n </div>\n </div>\n ) : null}\n\n <PopoverAnchor asChild>\n <span\n data-slot=\"mention-input-anchor\"\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute\"\n style={{\n left: caretRect.left,\n top: caretRect.top,\n width: 0,\n height: caretRect.height,\n }}\n />\n </PopoverAnchor>\n </div>\n </TextareaWiringContext>\n </MentionInputContext>\n </Popover>\n );\n});\n\n// ---------------------------------------------------------------------------\n// MentionInputTextarea\n// ---------------------------------------------------------------------------\n\ninterface TextareaWiring {\n textareaRef: React.RefObject<HTMLTextAreaElement | null>;\n textareaId: string;\n listId: string;\n open: boolean;\n activeId?: string;\n value: string;\n onValueInput: (element: HTMLTextAreaElement) => void;\n onCaretSync: (element: HTMLTextAreaElement) => void;\n onKeyDownCapture: (event: ReactKeyboardEvent<HTMLTextAreaElement>) => void;\n onDismiss: () => void;\n onScrollSync: (scrollTop: number) => void;\n}\n\nconst TextareaWiringContext = createContext<TextareaWiring | null>(null);\n\nexport interface MentionInputTextareaProps extends Omit<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"value\" | \"defaultValue\"\n> {\n /**\n * Render the consumer's own textarea-rendering component instead of a\n * `Textarea` — e.g. `PromptInputTextarea`. The child must ultimately render a\n * real `<textarea>`; everything this component needs is spread onto it.\n */\n asChild?: boolean;\n}\n\n/**\n * The field itself — a real `<textarea>` carrying the combobox semantics.\n *\n * The mention interception is bound as **`onKeyDownCapture`**, not `onKeyDown`.\n * Under `asChild`, Radix `Slot` merges CHILD handlers over slot handlers and\n * runs the child's **first**. So when the child binds `onKeyDown` directly on\n * the host element, a bubble-phase handler here would fire *after* it — the\n * child's Enter→submit would win and the popup would never see the key. React\n * dispatches an element's capture pass before its bubble pass and shares one\n * `SyntheticEvent` between them, so `preventDefault()` here is already visible\n * as `event.defaultPrevented` when the child's handler runs.\n *\n * **Scope of the hazard, stated precisely** (an earlier version of this comment\n * overclaimed): it applies to a child that binds `onKeyDown` on a *host\n * element*. It does NOT apply to `PromptInputTextarea`, which is a *component*\n * that destructures `onKeyDown` out of its own props, calls it first and bails\n * on `defaultPrevented` (`packages/ai/src/prompt-input.tsx`) — that composition\n * works with either binding. The capture binding is what makes the raw-host\n * case correct too, and that is the case the locking test exercises: see\n * \"T8 Slot handler-order contract\" in `mention-input.test.tsx`, which fails if\n * this is ever moved to `onKeyDown`.\n */\nexport const MentionInputTextarea = forwardRef<HTMLTextAreaElement, MentionInputTextareaProps>(\n function MentionInputTextarea(\n {\n asChild,\n className,\n // The seven handlers this component owns are destructured OUT of `props`\n // so `{...props}` can be spread BEFORE them without clobbering them.\n // Spreading props last (the obvious reading of \"spread ...props onto the\n // root\") silently replaced the component's own wiring: a consumer passing\n // `onChange` used to knock out `wiring.onValueInput`, and since the value\n // is provider-controlled that left the field completely inert. Consumer\n // handlers still run — each one is invoked from inside its counterpart —\n // and every NON-handler prop (`id`, `name`, `aria-*`, `placeholder`, …)\n // still wins, because the spread sits after those defaults.\n onChange,\n onKeyDownCapture,\n onSelect,\n onKeyUp,\n onClick,\n onScroll,\n onBlur,\n ...props\n },\n ref,\n ) {\n const wiring = use(TextareaWiringContext);\n if (!wiring) {\n throw new Error(\"MentionInputTextarea must be used inside a <MentionInput>.\");\n }\n const mergedRef = useMemo(\n () => mergeRefs<HTMLTextAreaElement>(ref, wiring.textareaRef),\n [ref, wiring.textareaRef],\n );\n\n const Comp = asChild ? Slot : Textarea;\n\n return (\n <Comp\n ref={mergedRef}\n id={wiring.textareaId}\n data-slot=\"mention-input-textarea\"\n // Machine-readable open state. It is a `data-` attribute rather than\n // `aria-expanded` because `aria-expanded` is NOT in `textbox`'s\n // supported-property set — see the ARIA note below.\n data-state={wiring.open ? \"open\" : \"closed\"}\n // The field stays an implicit `textbox`. `role=\"combobox\"` on a\n // `<textarea>` is invalid per ARIA in HTML (`<textarea>` allows no role\n // override) and axe's `aria-allowed-role` — enabled by default — flags\n // it on every story; `aria-expanded` on a textbox is worse still\n // (`aria-allowed-attr`, CRITICAL). All four attributes below ARE in\n // `textbox`'s supported set, so this arrangement is both spec-valid and\n // axe-clean while keeping the announcement that matters: with\n // `aria-activedescendant` on a textbox, AT reads the highlighted option\n // as the user arrows through the roster.\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n // Only while the popup is mounted: the listbox lives in a Radix portal\n // that unmounts on close, and an `aria-controls` pointing at a removed\n // node is a dangling reference.\n aria-controls={wiring.open ? wiring.listId : undefined}\n aria-activedescendant={wiring.activeId}\n autoComplete=\"off\"\n value={wiring.value}\n className={cn(\"relative z-0\", className)}\n {...props}\n onChange={(event) => {\n wiring.onValueInput(event.currentTarget);\n onChange?.(event);\n }}\n onKeyDownCapture={(event) => {\n wiring.onKeyDownCapture(event);\n onKeyDownCapture?.(event);\n }}\n onSelect={(event) => {\n wiring.onCaretSync(event.currentTarget);\n onSelect?.(event);\n }}\n onKeyUp={(event) => {\n wiring.onCaretSync(event.currentTarget);\n onKeyUp?.(event);\n }}\n onClick={(event) => {\n wiring.onCaretSync(event.currentTarget);\n onClick?.(event);\n }}\n onScroll={(event) => {\n wiring.onScrollSync(event.currentTarget.scrollTop);\n onScroll?.(event);\n }}\n onBlur={(event) => {\n wiring.onDismiss();\n onBlur?.(event);\n }}\n />\n );\n },\n);\n\n// ---------------------------------------------------------------------------\n// MentionInputContent / List / Item / Empty\n// ---------------------------------------------------------------------------\n\nexport type MentionInputContentProps = React.ComponentPropsWithoutRef<typeof PopoverContent>;\n\n/** The floating panel. Never takes focus — the caret has to stay in the field. */\nexport const MentionInputContent = forwardRef<\n React.ElementRef<typeof PopoverContent>,\n MentionInputContentProps\n>(function MentionInputContent({ className, align = \"start\", ...props }, ref) {\n const { meta } = useMentionInput();\n const wiring = use(TextareaWiringContext);\n\n return (\n <PopoverContent\n ref={ref}\n data-slot=\"mention-input-content\"\n align={align}\n // Radix `PopoverContent` defaults to `role=\"dialog\"`, which is wrong here\n // twice over: a combobox popup is not a dialog, and an unnamed dialog is\n // an axe `aria-dialog-name` violation (serious). The panel is a plain\n // container — the `role=\"listbox\"` inside carries all the semantics.\n role=\"presentation\"\n // No border, no ring: PopoverContent already carries `shadow-popover`.\n className={cn(\"w-72 p-0\", className)}\n onOpenAutoFocus={(event) => event.preventDefault()}\n onCloseAutoFocus={(event) => event.preventDefault()}\n onPointerDownOutside={(event) => {\n // Clicking the field itself only moves the caret; it must not count as\n // a dismissal, or the popup would fight the caret it depends on.\n const target = event.detail.originalEvent.target as Node | null;\n if (target && wiring?.textareaRef.current?.contains(target)) event.preventDefault();\n props.onPointerDownOutside?.(event);\n }}\n id={`${meta.listId}-content`}\n {...props}\n />\n );\n});\n\nexport interface MentionInputListProps extends Omit<HTMLAttributes<HTMLDivElement>, \"children\"> {\n /**\n * Either static nodes, or a render function called once per filtered option.\n * The function form is the one to reach for — the parent has to hand each\n * option back, which is exactly what `children`-as-a-function is for.\n */\n children?: ReactNode | ((option: MentionOption, index: number) => ReactNode);\n}\n\n/** The listbox. Owns the accessible name and the option mapping. */\nexport const MentionInputList = forwardRef<HTMLDivElement, MentionInputListProps>(\n function MentionInputList({ className, children, ...props }, ref) {\n const { t } = useLocale();\n const { state, meta } = useMentionInput();\n\n return (\n <div\n ref={ref}\n id={meta.listId}\n data-slot=\"mention-input-list\"\n role=\"listbox\"\n aria-label={t(\"ui.mentionInput.listLabel\")}\n className={cn(\"max-h-60 overflow-y-auto p-1\", className)}\n {...props}\n >\n {typeof children === \"function\"\n ? state.filtered.map((option, index) => children(option, index))\n : children}\n </div>\n );\n },\n);\n\nexport interface MentionInputItemProps extends Omit<HTMLAttributes<HTMLDivElement>, \"children\"> {\n option: MentionOption;\n children?: ReactNode;\n}\n\n/**\n * One option row.\n *\n * The row derives its own index from the provider's `filtered` list rather than\n * accepting one, so its `id` and `aria-selected` can never disagree with the\n * `aria-activedescendant` the field is publishing.\n */\nexport const MentionInputItem = forwardRef<HTMLDivElement, MentionInputItemProps>(\n function MentionInputItem({ option, className, children, ...props }, ref) {\n const { state, actions, meta } = useMentionInput();\n const index = state.filtered.findIndex((candidate) => candidate.id === option.id);\n const isActive = index >= 0 && index === state.activeIndex;\n\n return (\n <div\n ref={ref}\n id={index >= 0 ? meta.optionId(index) : undefined}\n data-slot=\"mention-input-item\"\n role=\"option\"\n aria-selected={isActive}\n aria-disabled={option.disabled || undefined}\n data-active={isActive || undefined}\n className={cn(\n \"relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5\",\n \"text-body outline-none transition-colors duration-fast motion-reduce:transition-none\",\n \"data-[active=true]:bg-accent data-[active=true]:text-accent-foreground\",\n \"aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:size-4\",\n className,\n )}\n // Keep the caret where it is: a mousedown inside the portal would\n // otherwise blur the textarea before the click ever lands.\n onMouseDown={(event) => {\n event.preventDefault();\n props.onMouseDown?.(event);\n }}\n onClick={(event) => {\n actions.insert(option);\n props.onClick?.(event);\n }}\n onMouseEnter={(event) => {\n if (!option.disabled && index >= 0) actions.setActiveIndex(index);\n props.onMouseEnter?.(event);\n }}\n {...props}\n >\n {children ?? (\n <span className=\"flex min-w-0 flex-col\">\n <span className=\"truncate\">{option.label}</span>\n {option.description ? (\n <span className=\"truncate text-meta text-muted-foreground\">{option.description}</span>\n ) : null}\n </span>\n )}\n </div>\n );\n },\n);\n\nexport type MentionInputEmptyProps = HTMLAttributes<HTMLDivElement>;\n\n/**\n * The \"nothing matches\" line. A **sibling** of the listbox, never a child —\n * a `role=\"listbox\"` may only own `option` and `group` children.\n */\nexport const MentionInputEmpty = forwardRef<HTMLDivElement, MentionInputEmptyProps>(\n function MentionInputEmpty({ className, children, ...props }, ref) {\n const { t } = useLocale();\n const { state } = useMentionInput();\n if (state.filtered.length > 0) return null;\n\n return (\n <div\n ref={ref}\n data-slot=\"mention-input-empty\"\n className={cn(\"py-6 text-center text-body text-muted-foreground\", className)}\n {...props}\n >\n {children ?? t(\"noResults\")}\n </div>\n );\n },\n);\n"],"mappings":"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","names":["MentionInput","MentionInputTextarea","MentionInputContent","MentionInputList","MentionInputItem","MentionInputEmpty"]}
@@ -0,0 +1,36 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "./chunk-KBNWM27Q.js";
5
+
6
+ // src/components/tooltip/tooltip.tsx
7
+ import { forwardRef } from "react";
8
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
9
+ import { jsx } from "react/jsx-runtime";
10
+ var TooltipProvider = TooltipPrimitive.Provider;
11
+ var Tooltip = TooltipPrimitive.Root;
12
+ var TooltipTrigger = TooltipPrimitive.Trigger;
13
+ var TooltipContent = forwardRef(function TooltipContent2({ className, sideOffset = 6, ...props }, ref) {
14
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
15
+ TooltipPrimitive.Content,
16
+ {
17
+ ref,
18
+ "data-slot": "tooltip-content",
19
+ sideOffset,
20
+ className: cn(
21
+ "z-50 overflow-hidden rounded-md bg-foreground px-2.5 py-1.5 text-meta text-background shadow-md",
22
+ "data-[state=delayed-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95",
23
+ className
24
+ ),
25
+ ...props
26
+ }
27
+ ) });
28
+ });
29
+
30
+ export {
31
+ TooltipProvider,
32
+ Tooltip,
33
+ TooltipTrigger,
34
+ TooltipContent
35
+ };
36
+ //# sourceMappingURL=chunk-U4LHV5DS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { forwardRef, type ComponentPropsWithoutRef, type ElementRef } from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cn } from \"../../lib/cn\";\n\nexport const TooltipProvider = TooltipPrimitive.Provider;\nexport const Tooltip = TooltipPrimitive.Root;\nexport const TooltipTrigger = TooltipPrimitive.Trigger;\n\nexport const TooltipContent = forwardRef<\n ElementRef<typeof TooltipPrimitive.Content>,\n ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(function TooltipContent({ className, sideOffset = 6, ...props }, ref) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md bg-foreground px-2.5 py-1.5 text-meta text-background shadow-md\",\n \"data-[state=delayed-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95\",\n className,\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n );\n});\n"],"mappings":";;;;;;AAAA,SAAS,kBAAkE;AAC3E,YAAY,sBAAsB;AAa5B;AAVC,IAAM,kBAAmC;AACzC,IAAM,UAA2B;AACjC,IAAM,iBAAkC;AAExC,IAAM,iBAAiB,WAG5B,SAASA,gBAAe,EAAE,WAAW,aAAa,GAAG,GAAG,MAAM,GAAG,KAAK;AACtE,SACE,oBAAkB,yBAAjB,EACC;AAAA,IAAkB;AAAA,IAAjB;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN,GACF;AAEJ,CAAC;","names":["TooltipContent"]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-U7QYCYHC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-UANAVLMS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-UCEVPLR5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+
3
+ // src/lib/csv.ts
4
+ var INJECTION_TRIGGER = /^[=+\-@]/;
5
+ function isNumericLiteral(field) {
6
+ const trimmed = field.trim();
7
+ if (trimmed === "") return false;
8
+ return Number.isFinite(Number(trimmed));
9
+ }
10
+ function csvStringifyValue(value) {
11
+ if (value === null || value === void 0) return "";
12
+ if (value instanceof Date) return value.toISOString();
13
+ if (typeof value === "object") return JSON.stringify(value);
14
+ return String(value);
15
+ }
16
+ function csvQuoteField(field, delimiter) {
17
+ let out = field;
18
+ if (INJECTION_TRIGGER.test(out) && !isNumericLiteral(out)) {
19
+ out = "'" + out;
20
+ }
21
+ if (out.includes(delimiter) || out.includes('"') || out.includes("\n") || out.includes("\r")) {
22
+ return '"' + out.replaceAll('"', '""') + '"';
23
+ }
24
+ return out;
25
+ }
26
+
27
+ export {
28
+ csvStringifyValue,
29
+ csvQuoteField
30
+ };
31
+ //# sourceMappingURL=chunk-UCQDLRHR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/csv.ts"],"sourcesContent":["/**\n * Shared CSV (RFC 4180) primitives — value stringification + injection-guarded\n * field quoting. Pure, no DOM, SSR-safe.\n *\n * The single home for logic previously duplicated between `@elabs-ai/components-data`'s\n * `toCsv` and `@elabs-ai/components-charts`'s `ChartFrame` local serializer (charts may not\n * depend on data per the one-way package rule, so both import this instead of\n * one importing the other).\n */\n\n/** Leading characters a spreadsheet may interpret as a formula trigger. */\nconst INJECTION_TRIGGER = /^[=+\\-@]/;\n\n/**\n * True when `field` parses as a plain finite number, e.g. \"-5\" or \"+12.3\".\n * A negative/positive number is not a formula — only guard fields that\n * START with a trigger character AND are not actually numeric.\n */\nfunction isNumericLiteral(field: string): boolean {\n const trimmed = field.trim();\n if (trimmed === \"\") return false;\n return Number.isFinite(Number(trimmed));\n}\n\n/** Stringify a cell value for CSV: dates → ISO, objects → JSON, else `String()`. */\nexport function csvStringifyValue(value: unknown): string {\n if (value === null || value === undefined) return \"\";\n if (value instanceof Date) return value.toISOString();\n if (typeof value === \"object\") return JSON.stringify(value);\n return String(value);\n}\n\n/**\n * Quote/escape one CSV field: prefixes a leading `'` when the field starts\n * with a formula-trigger character and is not a plain number (CSV-injection\n * guard), then RFC-4180-quotes when it contains the delimiter, a double\n * quote, or a line break.\n */\nexport function csvQuoteField(field: string, delimiter: string): string {\n let out = field;\n if (INJECTION_TRIGGER.test(out) && !isNumericLiteral(out)) {\n out = \"'\" + out;\n }\n if (out.includes(delimiter) || out.includes('\"') || out.includes(\"\\n\") || out.includes(\"\\r\")) {\n return '\"' + out.replaceAll('\"', '\"\"') + '\"';\n }\n return out;\n}\n"],"mappings":";;;AAWA,IAAM,oBAAoB;AAO1B,SAAS,iBAAiB,OAAwB;AAChD,QAAM,UAAU,MAAM,KAAK;AAC3B,MAAI,YAAY,GAAI,QAAO;AAC3B,SAAO,OAAO,SAAS,OAAO,OAAO,CAAC;AACxC;AAGO,SAAS,kBAAkB,OAAwB;AACxD,MAAI,UAAU,QAAQ,UAAU,OAAW,QAAO;AAClD,MAAI,iBAAiB,KAAM,QAAO,MAAM,YAAY;AACpD,MAAI,OAAO,UAAU,SAAU,QAAO,KAAK,UAAU,KAAK;AAC1D,SAAO,OAAO,KAAK;AACrB;AAQO,SAAS,cAAc,OAAe,WAA2B;AACtE,MAAI,MAAM;AACV,MAAI,kBAAkB,KAAK,GAAG,KAAK,CAAC,iBAAiB,GAAG,GAAG;AACzD,UAAM,MAAM;AAAA,EACd;AACA,MAAI,IAAI,SAAS,SAAS,KAAK,IAAI,SAAS,GAAG,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,SAAS,IAAI,GAAG;AAC5F,WAAO,MAAM,IAAI,WAAW,KAAK,IAAI,IAAI;AAAA,EAC3C;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-UFF7LLGU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-UG5TKXTK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,192 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "./chunk-KBNWM27Q.js";
5
+
6
+ // src/components/navigation-menu/navigation-menu.tsx
7
+ import {
8
+ createContext,
9
+ forwardRef,
10
+ useContext,
11
+ useId,
12
+ useMemo,
13
+ useRef,
14
+ useState
15
+ } from "react";
16
+ import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
17
+ import { cva } from "class-variance-authority";
18
+ import { ChevronDown } from "lucide-react";
19
+ import { jsx, jsxs } from "react/jsx-runtime";
20
+ var NavigationMenuGuardContext = createContext(null);
21
+ var NavigationMenuItemValueContext = createContext(void 0);
22
+ var NavigationMenu = forwardRef(function NavigationMenu2({ className, children, value: valueProp, defaultValue, onValueChange, ...props }, ref) {
23
+ const isControlled = valueProp !== void 0;
24
+ const [internalValue, setInternalValue] = useState(defaultValue ?? "");
25
+ const currentValue = isControlled ? valueProp : internalValue;
26
+ const currentValueRef = useRef(currentValue);
27
+ currentValueRef.current = currentValue;
28
+ const pointerPresentForRef = useRef(null);
29
+ const suppressReopenForRef = useRef(null);
30
+ const guard = useMemo(
31
+ () => ({
32
+ notePointerPresence(itemValue, present) {
33
+ if (present) {
34
+ pointerPresentForRef.current = itemValue;
35
+ return;
36
+ }
37
+ if (pointerPresentForRef.current === itemValue) pointerPresentForRef.current = null;
38
+ if (suppressReopenForRef.current === itemValue) suppressReopenForRef.current = null;
39
+ },
40
+ noteExplicitActivation(itemValue) {
41
+ if (suppressReopenForRef.current === itemValue) suppressReopenForRef.current = null;
42
+ },
43
+ consumeSuppressionFlag(itemValue) {
44
+ if (suppressReopenForRef.current === itemValue) {
45
+ suppressReopenForRef.current = null;
46
+ return true;
47
+ }
48
+ return false;
49
+ }
50
+ }),
51
+ []
52
+ );
53
+ const handleValueChange = (next) => {
54
+ const previous = currentValueRef.current;
55
+ if (next === "") {
56
+ if (previous !== "" && pointerPresentForRef.current === previous) {
57
+ suppressReopenForRef.current = previous;
58
+ }
59
+ } else if (guard.consumeSuppressionFlag(next)) {
60
+ return;
61
+ }
62
+ if (!isControlled) setInternalValue(next);
63
+ onValueChange?.(next);
64
+ };
65
+ return /* @__PURE__ */ jsx(NavigationMenuGuardContext.Provider, { value: guard, children: /* @__PURE__ */ jsxs(
66
+ NavigationMenuPrimitive.Root,
67
+ {
68
+ ref,
69
+ "data-slot": "navigation-menu",
70
+ value: currentValue,
71
+ onValueChange: handleValueChange,
72
+ className: cn("relative z-10 flex max-w-max flex-1 items-center justify-center", className),
73
+ ...props,
74
+ children: [
75
+ children,
76
+ /* @__PURE__ */ jsx(NavigationMenuViewport, {})
77
+ ]
78
+ }
79
+ ) });
80
+ });
81
+ var NavigationMenuList = forwardRef(function NavigationMenuList2({ className, ...props }, ref) {
82
+ return /* @__PURE__ */ jsx(
83
+ NavigationMenuPrimitive.List,
84
+ {
85
+ ref,
86
+ "data-slot": "navigation-menu-list",
87
+ className: cn("group flex flex-1 list-none items-center justify-center gap-1", className),
88
+ ...props
89
+ }
90
+ );
91
+ });
92
+ var NavigationMenuItem = forwardRef(function NavigationMenuItem2({ value: valueProp, ...props }, ref) {
93
+ const autoValue = useId();
94
+ const value = valueProp ?? autoValue;
95
+ return /* @__PURE__ */ jsx(NavigationMenuItemValueContext.Provider, { value, children: /* @__PURE__ */ jsx(
96
+ NavigationMenuPrimitive.Item,
97
+ {
98
+ ref,
99
+ "data-slot": "navigation-menu-item",
100
+ value,
101
+ ...props
102
+ }
103
+ ) });
104
+ });
105
+ var navigationMenuTriggerStyle = cva(
106
+ "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-body font-medium outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground focus-ring disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent"
107
+ );
108
+ var NavigationMenuTrigger = forwardRef(function NavigationMenuTrigger2({ className, children, onClick, onPointerEnter, onPointerLeave, ...props }, ref) {
109
+ const itemValue = useContext(NavigationMenuItemValueContext);
110
+ const guard = useContext(NavigationMenuGuardContext);
111
+ const notePointer = (event, present) => {
112
+ if (itemValue !== void 0 && guard && event.pointerType === "mouse") {
113
+ guard.notePointerPresence(itemValue, present);
114
+ }
115
+ };
116
+ return /* @__PURE__ */ jsxs(
117
+ NavigationMenuPrimitive.Trigger,
118
+ {
119
+ ref,
120
+ "data-slot": "navigation-menu-trigger",
121
+ className: cn(navigationMenuTriggerStyle(), "group", className),
122
+ onPointerEnter: (event) => {
123
+ onPointerEnter?.(event);
124
+ notePointer(event, true);
125
+ },
126
+ onPointerLeave: (event) => {
127
+ onPointerLeave?.(event);
128
+ notePointer(event, false);
129
+ },
130
+ onClick: (event) => {
131
+ if (itemValue !== void 0) guard?.noteExplicitActivation(itemValue);
132
+ onClick?.(event);
133
+ },
134
+ ...props,
135
+ children: [
136
+ children,
137
+ /* @__PURE__ */ jsx(
138
+ ChevronDown,
139
+ {
140
+ className: "relative top-px ms-1 size-3 transition-transform duration-base ease-standard group-data-[state=open]:rotate-180",
141
+ "aria-hidden": "true"
142
+ }
143
+ )
144
+ ]
145
+ }
146
+ );
147
+ });
148
+ var NavigationMenuContent = forwardRef(function NavigationMenuContent2({ className, ...props }, ref) {
149
+ return /* @__PURE__ */ jsx(
150
+ NavigationMenuPrimitive.Content,
151
+ {
152
+ ref,
153
+ "data-slot": "navigation-menu-content",
154
+ className: cn(
155
+ "start-0 top-0 w-full p-2 md:absolute md:w-auto",
156
+ "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out",
157
+ "data-[motion=from-end]:slide-in-from-right-2 data-[motion=from-start]:slide-in-from-left-2 data-[motion=to-end]:slide-out-to-right-2 data-[motion=to-start]:slide-out-to-left-2",
158
+ "data-[motion^=from-]:[--tw-ease:var(--ease-entrance)]",
159
+ className
160
+ ),
161
+ ...props
162
+ }
163
+ );
164
+ });
165
+ var NavigationMenuLink = NavigationMenuPrimitive.Link;
166
+ var NavigationMenuViewport = forwardRef(function NavigationMenuViewport2({ className, ...props }, ref) {
167
+ return /* @__PURE__ */ jsx("div", { className: "absolute start-0 top-full flex justify-center", children: /* @__PURE__ */ jsx(
168
+ NavigationMenuPrimitive.Viewport,
169
+ {
170
+ ref,
171
+ "data-slot": "navigation-menu-viewport",
172
+ className: cn(
173
+ "relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow md:w-[var(--radix-navigation-menu-viewport-width)]",
174
+ "origin-top transition-[width,height] duration-base ease-standard data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=open]:zoom-in-90 data-[state=closed]:zoom-out-95",
175
+ className
176
+ ),
177
+ ...props
178
+ }
179
+ ) });
180
+ });
181
+
182
+ export {
183
+ NavigationMenu,
184
+ NavigationMenuList,
185
+ NavigationMenuItem,
186
+ navigationMenuTriggerStyle,
187
+ NavigationMenuTrigger,
188
+ NavigationMenuContent,
189
+ NavigationMenuLink,
190
+ NavigationMenuViewport
191
+ };
192
+ //# sourceMappingURL=chunk-ULIDYFM7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/navigation-menu/navigation-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n createContext,\n forwardRef,\n useContext,\n useId,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type ElementRef,\n type PointerEvent as ReactPointerEvent,\n} from \"react\";\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\nimport { cva } from \"class-variance-authority\";\nimport { ChevronDown } from \"lucide-react\";\nimport { cn } from \"../../lib/cn\";\n\n/**\n * Residual of #54 (issue #85, fix round 1 → round 2): a pointer move onto a\n * trigger arms `@radix-ui/react-navigation-menu`'s root-level hover-intent\n * open timer (`openTimerRef`, default `delayDuration` 200ms — confirmed\n * unchanged through `@radix-ui/react-navigation-menu@1.2.22`, the current\n * latest stable). Neither the click-open path (root `onItemSelect`) nor any\n * dismiss path (Escape, outside-click, focus-out — all funnelled through one\n * `ROOT_CONTENT_DISMISS` handler → `onItemDismiss`) clears that timer, so it\n * fires later and silently reopens the panel even after an explicit\n * dismissal.\n *\n * Round 1 ran Radix's own `onTriggerLeave` cancellation path (a synthetic\n * `pointerout`) on every click. That clears the stray open timer, but\n * `onTriggerLeave` does two things, not one — it ALSO unconditionally arms\n * Radix's 150ms close timer (`startCloseTimer`/`closeTimerRef`), which\n * nothing then cancels for a click-opened (or keyboard/touch-opened) menu,\n * since it never gets a real pointerenter on its content. Every click-opened\n * menu silently closed itself ~150ms later. No supported, finer-grained Radix\n * API exists to clear only the open timer — the 6 context callbacks\n * (`onTriggerEnter`/`onTriggerLeave`/`onContentEnter`/`onContentLeave`/\n * `onItemSelect`/`onItemDismiss`) are the only reachable surface, and none of\n * the internal refs (`openTimerRef`, `closeTimerRef`, `wasClickCloseRef`,\n * `wasEscapeCloseRef`) are exported.\n *\n * Round 2 fix: stop reaching into Radix's internal timers via synthetic\n * events entirely. `NavigationMenu` takes over `value`/`onValueChange` as a\n * controlled proxy (transparent to a consumer's own controlled/uncontrolled\n * usage) and rejects, ONCE, a reopen request for an item that was just\n * dismissed (value → \"\") while a REAL mouse pointer was still resting on its\n * trigger — exactly the #85 scenario (dismissed inside the hover-intent\n * window, pointer never left). The guard is a one-shot, pointer-scoped\n * suppression per item (`suppressReopenForRef` in `NavigationMenu`, armed by\n * `NavigationMenuItemValueContext` + a small guard context), cleared the\n * instant ANY of the following happens, so it can never block a genuine\n * interaction: (a) the real pointer leaves that trigger (a fresh hover-intent\n * cycle is legitimate — Radix's own `wasEscapeCloseRef`/`wasClickCloseRef`\n * guards reset on the same real pointerenter), or (b) any click on that\n * trigger (`noteExplicitActivation`, which runs synchronously before Radix's\n * own `onItemSelect` in the same click dispatch, per\n * `composeEventHandlers(props.onClick, () => context.onItemSelect(...))` in\n * `@radix-ui/react-navigation-menu`'s Trigger). A pure keyboard sequence never\n * touches this guard at all (no pointer event ever marks the trigger as\n * \"resting\"), so it cannot regress keyboard or touch entry — see the 3\n * scenarios locked in `navigation-menu.test.tsx` (pointer dismiss stays\n * dismissed, click-open survives past the close-timer delay with no pointer\n * movement, keyboard open/Escape/no-reopen).\n *\n * `NavigationMenuItem` is wrapped (was a bare re-export) purely so its\n * resolved item value — the same value Radix's OWN auto-`useId()` fallback\n * would otherwise compute internally and never expose — is available to\n * `NavigationMenuTrigger` without inventing a new public prop or reaching\n * into Radix's non-exported item context.\n *\n * Tracked upstream: https://github.com/radix-ui/primitives/issues (file and\n * link the specific issue here once opened — non-blocking, parallel to this\n * interim fix; confirmed still present in 1.2.22, the latest stable release\n * as of this fix).\n */\ntype NavigationMenuGuard = {\n notePointerPresence(itemValue: string, present: boolean): void;\n noteExplicitActivation(itemValue: string): void;\n /** One-shot: returns true (and clears the flag) iff this reopen should be swallowed. */\n consumeSuppressionFlag(itemValue: string): boolean;\n};\n\nconst NavigationMenuGuardContext = createContext<NavigationMenuGuard | null>(null);\nconst NavigationMenuItemValueContext = createContext<string | undefined>(undefined);\n\nexport const NavigationMenu = forwardRef<\n ElementRef<typeof NavigationMenuPrimitive.Root>,\n ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(function NavigationMenu(\n { className, children, value: valueProp, defaultValue, onValueChange, ...props },\n ref,\n) {\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = useState(defaultValue ?? \"\");\n const currentValue = isControlled ? (valueProp as string) : internalValue;\n const currentValueRef = useRef(currentValue);\n currentValueRef.current = currentValue;\n\n // itemValue currently under a resting, real (mouse) pointer — at most one\n // at a time in practice, since a real pointer can only be inside one\n // trigger's bounds.\n const pointerPresentForRef = useRef<string | null>(null);\n // One-shot: the itemValue whose next reopen request should be swallowed.\n const suppressReopenForRef = useRef<string | null>(null);\n\n const guard = useMemo<NavigationMenuGuard>(\n () => ({\n notePointerPresence(itemValue, present) {\n if (present) {\n pointerPresentForRef.current = itemValue;\n return;\n }\n if (pointerPresentForRef.current === itemValue) pointerPresentForRef.current = null;\n // A genuine leave ends the suspicious window this guard exists for —\n // any future reopen must come from a fresh interaction (a new\n // hover-intent cycle after re-entering, or a click), both legitimate.\n if (suppressReopenForRef.current === itemValue) suppressReopenForRef.current = null;\n },\n noteExplicitActivation(itemValue) {\n if (suppressReopenForRef.current === itemValue) suppressReopenForRef.current = null;\n },\n consumeSuppressionFlag(itemValue) {\n if (suppressReopenForRef.current === itemValue) {\n suppressReopenForRef.current = null;\n return true;\n }\n return false;\n },\n }),\n [],\n );\n\n const handleValueChange = (next: string) => {\n const previous = currentValueRef.current;\n if (next === \"\") {\n if (previous !== \"\" && pointerPresentForRef.current === previous) {\n // Dismissed while a real pointer still rests on its trigger, inside\n // the hover-intent window — the #85 defect. Arm the one-shot guard\n // against exactly this item's next reopen request.\n suppressReopenForRef.current = previous;\n }\n } else if (guard.consumeSuppressionFlag(next)) {\n return; // Swallow the stray reopen — stay on `previous` (closed).\n }\n if (!isControlled) setInternalValue(next);\n onValueChange?.(next);\n };\n\n return (\n <NavigationMenuGuardContext.Provider value={guard}>\n <NavigationMenuPrimitive.Root\n ref={ref}\n data-slot=\"navigation-menu\"\n value={currentValue}\n onValueChange={handleValueChange}\n className={cn(\"relative z-10 flex max-w-max flex-1 items-center justify-center\", className)}\n {...props}\n >\n {children}\n <NavigationMenuViewport />\n </NavigationMenuPrimitive.Root>\n </NavigationMenuGuardContext.Provider>\n );\n});\n\nexport const NavigationMenuList = forwardRef<\n ElementRef<typeof NavigationMenuPrimitive.List>,\n ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(function NavigationMenuList({ className, ...props }, ref) {\n return (\n <NavigationMenuPrimitive.List\n ref={ref}\n data-slot=\"navigation-menu-list\"\n className={cn(\"group flex flex-1 list-none items-center justify-center gap-1\", className)}\n {...props}\n />\n );\n});\n\nexport const NavigationMenuItem = forwardRef<\n ElementRef<typeof NavigationMenuPrimitive.Item>,\n ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Item>\n>(function NavigationMenuItem({ value: valueProp, ...props }, ref) {\n const autoValue = useId();\n const value = valueProp ?? autoValue;\n return (\n <NavigationMenuItemValueContext.Provider value={value}>\n <NavigationMenuPrimitive.Item\n ref={ref}\n data-slot=\"navigation-menu-item\"\n value={value}\n {...props}\n />\n </NavigationMenuItemValueContext.Provider>\n );\n});\n\nexport const navigationMenuTriggerStyle = cva(\n \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-body font-medium outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground focus-ring disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent\",\n);\n\nexport const NavigationMenuTrigger = forwardRef<\n ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(function NavigationMenuTrigger(\n { className, children, onClick, onPointerEnter, onPointerLeave, ...props },\n ref,\n) {\n const itemValue = useContext(NavigationMenuItemValueContext);\n const guard = useContext(NavigationMenuGuardContext);\n\n const notePointer = (event: ReactPointerEvent<HTMLButtonElement>, present: boolean) => {\n if (itemValue !== undefined && guard && event.pointerType === \"mouse\") {\n guard.notePointerPresence(itemValue, present);\n }\n };\n\n return (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n onPointerEnter={(event) => {\n onPointerEnter?.(event);\n notePointer(event, true);\n }}\n onPointerLeave={(event) => {\n onPointerLeave?.(event);\n notePointer(event, false);\n }}\n onClick={(event) => {\n if (itemValue !== undefined) guard?.noteExplicitActivation(itemValue);\n onClick?.(event);\n }}\n {...props}\n >\n {children}\n <ChevronDown\n className=\"relative top-px ms-1 size-3 transition-transform duration-base ease-standard group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n});\n\nexport const NavigationMenuContent = forwardRef<\n ElementRef<typeof NavigationMenuPrimitive.Content>,\n ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(function NavigationMenuContent({ className, ...props }, ref) {\n return (\n <NavigationMenuPrimitive.Content\n ref={ref}\n data-slot=\"navigation-menu-content\"\n className={cn(\n \"start-0 top-0 w-full p-2 md:absolute md:w-auto\",\n \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out\",\n \"data-[motion=from-end]:slide-in-from-right-2 data-[motion=from-start]:slide-in-from-left-2 data-[motion=to-end]:slide-out-to-right-2 data-[motion=to-start]:slide-out-to-left-2\",\n \"data-[motion^=from-]:[--tw-ease:var(--ease-entrance)]\",\n className,\n )}\n {...props}\n />\n );\n});\n\nexport const NavigationMenuLink = NavigationMenuPrimitive.Link;\n\nexport const NavigationMenuViewport = forwardRef<\n ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(function NavigationMenuViewport({ className, ...props }, ref) {\n return (\n <div className=\"absolute start-0 top-full flex justify-center\">\n <NavigationMenuPrimitive.Viewport\n ref={ref}\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n \"relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow md:w-[var(--radix-navigation-menu-viewport-width)]\",\n \"origin-top transition-[width,height] duration-base ease-standard data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=open]:zoom-in-90 data-[state=closed]:zoom-out-95\",\n className,\n )}\n {...props}\n />\n </div>\n );\n});\n"],"mappings":"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","names":["NavigationMenu","NavigationMenuList","NavigationMenuItem","NavigationMenuTrigger","NavigationMenuContent","NavigationMenuViewport"]}