@elabs-ai/components-ui 4.2.0 → 5.1.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 (1435) 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-2DFB4YTK.js +55 -0
  9. package/dist/chunk-2DFB4YTK.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-2ZMPAD6C.js +357 -0
  13. package/dist/chunk-2ZMPAD6C.js.map +1 -0
  14. package/dist/chunk-36SY7TID.js +36 -0
  15. package/dist/chunk-36SY7TID.js.map +1 -0
  16. package/dist/chunk-36VULFFV.js +2 -0
  17. package/dist/chunk-36VULFFV.js.map +1 -0
  18. package/dist/chunk-3BZBNDRP.js +123 -0
  19. package/dist/chunk-3BZBNDRP.js.map +1 -0
  20. package/dist/chunk-3DJ4KY3U.js +82 -0
  21. package/dist/chunk-3DJ4KY3U.js.map +1 -0
  22. package/dist/chunk-3EDNWHWD.js +125 -0
  23. package/dist/chunk-3EDNWHWD.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-3OSGTUN2.js +2 -0
  27. package/dist/chunk-3OSGTUN2.js.map +1 -0
  28. package/dist/chunk-3P7SRCDB.js +23 -0
  29. package/dist/chunk-3P7SRCDB.js.map +1 -0
  30. package/dist/chunk-3ZR5PMKB.js +41 -0
  31. package/dist/chunk-3ZR5PMKB.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-47YSHR3H.js +77 -0
  35. package/dist/chunk-47YSHR3H.js.map +1 -0
  36. package/dist/chunk-4ACT7RLU.js +2 -0
  37. package/dist/chunk-4ACT7RLU.js.map +1 -0
  38. package/dist/chunk-4B2E4OCZ.js +44 -0
  39. package/dist/chunk-4B2E4OCZ.js.map +1 -0
  40. package/dist/chunk-4C4D6T5M.js +229 -0
  41. package/dist/chunk-4C4D6T5M.js.map +1 -0
  42. package/dist/chunk-4DWIMWR5.js +726 -0
  43. package/dist/chunk-4DWIMWR5.js.map +1 -0
  44. package/dist/chunk-4DZGAY6R.js +140 -0
  45. package/dist/chunk-4DZGAY6R.js.map +1 -0
  46. package/dist/chunk-4HTVJZVG.js +2 -0
  47. package/dist/chunk-4HTVJZVG.js.map +1 -0
  48. package/dist/chunk-4KDA5MDC.js +2 -0
  49. package/dist/chunk-4KDA5MDC.js.map +1 -0
  50. package/dist/chunk-4NSCLIES.js +126 -0
  51. package/dist/chunk-4NSCLIES.js.map +1 -0
  52. package/dist/chunk-4PXDZR2W.js +2 -0
  53. package/dist/chunk-4PXDZR2W.js.map +1 -0
  54. package/dist/chunk-4UWOADYM.js +2 -0
  55. package/dist/chunk-4UWOADYM.js.map +1 -0
  56. package/dist/chunk-4VCU3GFI.js +23 -0
  57. package/dist/chunk-4VCU3GFI.js.map +1 -0
  58. package/dist/chunk-4W3MVVKN.js +66 -0
  59. package/dist/chunk-4W3MVVKN.js.map +1 -0
  60. package/dist/chunk-4YOFSGHD.js +2 -0
  61. package/dist/chunk-4YOFSGHD.js.map +1 -0
  62. package/dist/chunk-545HI223.js +2 -0
  63. package/dist/chunk-545HI223.js.map +1 -0
  64. package/dist/chunk-55BM2IU2.js +186 -0
  65. package/dist/chunk-55BM2IU2.js.map +1 -0
  66. package/dist/chunk-5C5W52O2.js +27 -0
  67. package/dist/chunk-5C5W52O2.js.map +1 -0
  68. package/dist/chunk-5G2DDMHR.js +2 -0
  69. package/dist/chunk-5G2DDMHR.js.map +1 -0
  70. package/dist/chunk-5LCN5Q2L.js +23 -0
  71. package/dist/chunk-5LCN5Q2L.js.map +1 -0
  72. package/dist/chunk-5MXQ5CP7.js +93 -0
  73. package/dist/chunk-5MXQ5CP7.js.map +1 -0
  74. package/dist/chunk-5P4BSHIG.js +2 -0
  75. package/dist/chunk-5P4BSHIG.js.map +1 -0
  76. package/dist/chunk-5SHHIQVA.js +22 -0
  77. package/dist/chunk-5SHHIQVA.js.map +1 -0
  78. package/dist/chunk-5YZLOAKR.js +2 -0
  79. package/dist/chunk-5YZLOAKR.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-6HTZBBTC.js +35 -0
  85. package/dist/chunk-6HTZBBTC.js.map +1 -0
  86. package/dist/chunk-6ROQKB4U.js +2 -0
  87. package/dist/chunk-6ROQKB4U.js.map +1 -0
  88. package/dist/chunk-6S43VAN7.js +2 -0
  89. package/dist/chunk-6S43VAN7.js.map +1 -0
  90. package/dist/chunk-6TJVJPNU.js +1321 -0
  91. package/dist/chunk-6TJVJPNU.js.map +1 -0
  92. package/dist/chunk-6VLJL7Q4.js +2 -0
  93. package/dist/chunk-6VLJL7Q4.js.map +1 -0
  94. package/dist/chunk-72H7HUTH.js +161 -0
  95. package/dist/chunk-72H7HUTH.js.map +1 -0
  96. package/dist/chunk-7KV7H2TW.js +323 -0
  97. package/dist/chunk-7KV7H2TW.js.map +1 -0
  98. package/dist/chunk-7WIHVGYL.js +2 -0
  99. package/dist/chunk-7WIHVGYL.js.map +1 -0
  100. package/dist/chunk-7Z2RAGOA.js +90 -0
  101. package/dist/chunk-7Z2RAGOA.js.map +1 -0
  102. package/dist/chunk-AA3SPDJU.js +2 -0
  103. package/dist/chunk-AA3SPDJU.js.map +1 -0
  104. package/dist/chunk-AC7X3D2M.js +2 -0
  105. package/dist/chunk-AC7X3D2M.js.map +1 -0
  106. package/dist/chunk-AE6LFFME.js +201 -0
  107. package/dist/chunk-AE6LFFME.js.map +1 -0
  108. package/dist/chunk-AE6UDP36.js +2 -0
  109. package/dist/chunk-AE6UDP36.js.map +1 -0
  110. package/dist/chunk-AFEFAGPW.js +2 -0
  111. package/dist/chunk-AFEFAGPW.js.map +1 -0
  112. package/dist/chunk-AFJCS2WV.js +95 -0
  113. package/dist/chunk-AFJCS2WV.js.map +1 -0
  114. package/dist/chunk-ALNJV4XB.js +218 -0
  115. package/dist/chunk-ALNJV4XB.js.map +1 -0
  116. package/dist/chunk-AQNLEP5F.js +2 -0
  117. package/dist/chunk-AQNLEP5F.js.map +1 -0
  118. package/dist/chunk-AUQVJ7KO.js +2 -0
  119. package/dist/chunk-AUQVJ7KO.js.map +1 -0
  120. package/dist/chunk-AXHMQOIZ.js +116 -0
  121. package/dist/chunk-AXHMQOIZ.js.map +1 -0
  122. package/dist/chunk-AZEABCK4.js +30 -0
  123. package/dist/chunk-AZEABCK4.js.map +1 -0
  124. package/dist/chunk-B23VW24W.js +2 -0
  125. package/dist/chunk-B23VW24W.js.map +1 -0
  126. package/dist/chunk-B2RSOLLO.js +2 -0
  127. package/dist/chunk-B2RSOLLO.js.map +1 -0
  128. package/dist/chunk-B3DANITU.js +85 -0
  129. package/dist/chunk-B3DANITU.js.map +1 -0
  130. package/dist/chunk-B7FAQKHH.js +87 -0
  131. package/dist/chunk-B7FAQKHH.js.map +1 -0
  132. package/dist/chunk-BDOG4YSM.js +989 -0
  133. package/dist/chunk-BDOG4YSM.js.map +1 -0
  134. package/dist/chunk-BRL2HMZJ.js +110 -0
  135. package/dist/chunk-BRL2HMZJ.js.map +1 -0
  136. package/dist/chunk-BTBYNKT4.js +2 -0
  137. package/dist/chunk-BTBYNKT4.js.map +1 -0
  138. package/dist/chunk-BWL7HWEF.js +325 -0
  139. package/dist/chunk-BWL7HWEF.js.map +1 -0
  140. package/dist/chunk-BYFRDLDL.js +246 -0
  141. package/dist/chunk-BYFRDLDL.js.map +1 -0
  142. package/dist/chunk-BZQF5QCN.js +18 -0
  143. package/dist/chunk-BZQF5QCN.js.map +1 -0
  144. package/dist/chunk-C2AQEEFB.js +2 -0
  145. package/dist/chunk-C2AQEEFB.js.map +1 -0
  146. package/dist/chunk-C2ICCCP5.js +400 -0
  147. package/dist/chunk-C2ICCCP5.js.map +1 -0
  148. package/dist/chunk-C5QBV5RE.js +77 -0
  149. package/dist/chunk-C5QBV5RE.js.map +1 -0
  150. package/dist/chunk-C753P3VJ.js +2 -0
  151. package/dist/chunk-C753P3VJ.js.map +1 -0
  152. package/dist/chunk-CDE74W6O.js +2 -0
  153. package/dist/chunk-CDE74W6O.js.map +1 -0
  154. package/dist/chunk-CDMJSXCB.js +62 -0
  155. package/dist/chunk-CDMJSXCB.js.map +1 -0
  156. package/dist/chunk-CEDK5GM2.js +68 -0
  157. package/dist/chunk-CEDK5GM2.js.map +1 -0
  158. package/dist/chunk-CEHCVDYR.js +476 -0
  159. package/dist/chunk-CEHCVDYR.js.map +1 -0
  160. package/dist/chunk-CEQ3YKHR.js +35 -0
  161. package/dist/chunk-CEQ3YKHR.js.map +1 -0
  162. package/dist/chunk-CEQER4CV.js +2 -0
  163. package/dist/chunk-CEQER4CV.js.map +1 -0
  164. package/dist/chunk-CMP4F537.js +190 -0
  165. package/dist/chunk-CMP4F537.js.map +1 -0
  166. package/dist/chunk-CRGGGHAM.js +2 -0
  167. package/dist/chunk-CRGGGHAM.js.map +1 -0
  168. package/dist/chunk-CRVB4SLG.js +2 -0
  169. package/dist/chunk-CRVB4SLG.js.map +1 -0
  170. package/dist/chunk-CT6XJIPY.js +2 -0
  171. package/dist/chunk-CT6XJIPY.js.map +1 -0
  172. package/dist/chunk-CY5ISPFB.js +235 -0
  173. package/dist/chunk-CY5ISPFB.js.map +1 -0
  174. package/dist/chunk-CY624JOL.js +2 -0
  175. package/dist/chunk-CY624JOL.js.map +1 -0
  176. package/dist/chunk-D53EN4Q6.js +2 -0
  177. package/dist/chunk-D53EN4Q6.js.map +1 -0
  178. package/dist/chunk-D5INX2EF.js +50 -0
  179. package/dist/chunk-D5INX2EF.js.map +1 -0
  180. package/dist/chunk-DCHYNTHI.js +11 -0
  181. package/dist/chunk-DCHYNTHI.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-DU6ITAJL.js +2 -0
  187. package/dist/chunk-DU6ITAJL.js.map +1 -0
  188. package/dist/chunk-DXC3DTCV.js +256 -0
  189. package/dist/chunk-DXC3DTCV.js.map +1 -0
  190. package/dist/chunk-DXDLTYTT.js +2 -0
  191. package/dist/chunk-DXDLTYTT.js.map +1 -0
  192. package/dist/chunk-E3GNYOLS.js +26 -0
  193. package/dist/chunk-E3GNYOLS.js.map +1 -0
  194. package/dist/chunk-EAFPUZ46.js +2 -0
  195. package/dist/chunk-EAFPUZ46.js.map +1 -0
  196. package/dist/chunk-EBDOKU5K.js +2 -0
  197. package/dist/chunk-EBDOKU5K.js.map +1 -0
  198. package/dist/chunk-EBNPVPR7.js +266 -0
  199. package/dist/chunk-EBNPVPR7.js.map +1 -0
  200. package/dist/chunk-EDE73Q6Z.js +2 -0
  201. package/dist/chunk-EDE73Q6Z.js.map +1 -0
  202. package/dist/chunk-EJ3XWNY3.js +52 -0
  203. package/dist/chunk-EJ3XWNY3.js.map +1 -0
  204. package/dist/chunk-EJQYE4MY.js +100 -0
  205. package/dist/chunk-EJQYE4MY.js.map +1 -0
  206. package/dist/chunk-ENL3CCZB.js +385 -0
  207. package/dist/chunk-ENL3CCZB.js.map +1 -0
  208. package/dist/chunk-EP3U7OQ3.js +18 -0
  209. package/dist/chunk-EP3U7OQ3.js.map +1 -0
  210. package/dist/chunk-ERTYAID6.js +101 -0
  211. package/dist/chunk-ERTYAID6.js.map +1 -0
  212. package/dist/chunk-FAOX6A5D.js +2 -0
  213. package/dist/chunk-FAOX6A5D.js.map +1 -0
  214. package/dist/chunk-FBJ2JSRA.js +47 -0
  215. package/dist/chunk-FBJ2JSRA.js.map +1 -0
  216. package/dist/chunk-FDJ77DTR.js +2 -0
  217. package/dist/chunk-FDJ77DTR.js.map +1 -0
  218. package/dist/chunk-FG3PDWE3.js +31 -0
  219. package/dist/chunk-FG3PDWE3.js.map +1 -0
  220. package/dist/chunk-FHDJKH2A.js +2 -0
  221. package/dist/chunk-FHDJKH2A.js.map +1 -0
  222. package/dist/chunk-FLCQKC64.js +97 -0
  223. package/dist/chunk-FLCQKC64.js.map +1 -0
  224. package/dist/chunk-FPLZ24MK.js +2 -0
  225. package/dist/chunk-FPLZ24MK.js.map +1 -0
  226. package/dist/chunk-FRFSDZIN.js +2 -0
  227. package/dist/chunk-FRFSDZIN.js.map +1 -0
  228. package/dist/chunk-FXC64HLD.js +137 -0
  229. package/dist/chunk-FXC64HLD.js.map +1 -0
  230. package/dist/chunk-FXWWDMMP.js +55 -0
  231. package/dist/chunk-FXWWDMMP.js.map +1 -0
  232. package/dist/chunk-FZEG2R3E.js +30 -0
  233. package/dist/chunk-FZEG2R3E.js.map +1 -0
  234. package/dist/chunk-G3OTDYCD.js +53 -0
  235. package/dist/chunk-G3OTDYCD.js.map +1 -0
  236. package/dist/chunk-G72UOVKS.js +2 -0
  237. package/dist/chunk-G72UOVKS.js.map +1 -0
  238. package/dist/chunk-GAI4NEPU.js +151 -0
  239. package/dist/chunk-GAI4NEPU.js.map +1 -0
  240. package/dist/chunk-GMXSCEYN.js +24 -0
  241. package/dist/chunk-GMXSCEYN.js.map +1 -0
  242. package/dist/chunk-GTBVTLZJ.js +54 -0
  243. package/dist/chunk-GTBVTLZJ.js.map +1 -0
  244. package/dist/chunk-GTDCC4YX.js +197 -0
  245. package/dist/chunk-GTDCC4YX.js.map +1 -0
  246. package/dist/chunk-GV6GQXKX.js +176 -0
  247. package/dist/chunk-GV6GQXKX.js.map +1 -0
  248. package/dist/chunk-GWHO5ACE.js +637 -0
  249. package/dist/chunk-GWHO5ACE.js.map +1 -0
  250. package/dist/chunk-H5XSI63P.js +2 -0
  251. package/dist/chunk-H5XSI63P.js.map +1 -0
  252. package/dist/chunk-HANBQNW3.js +1498 -0
  253. package/dist/chunk-HANBQNW3.js.map +1 -0
  254. package/dist/chunk-HCU2JHPH.js +169 -0
  255. package/dist/chunk-HCU2JHPH.js.map +1 -0
  256. package/dist/chunk-HDDXP2J7.js +2 -0
  257. package/dist/chunk-HDDXP2J7.js.map +1 -0
  258. package/dist/chunk-HDS64Z5L.js +54 -0
  259. package/dist/chunk-HDS64Z5L.js.map +1 -0
  260. package/dist/chunk-HF6BGFUV.js +78 -0
  261. package/dist/chunk-HF6BGFUV.js.map +1 -0
  262. package/dist/chunk-HHVULJGX.js +2 -0
  263. package/dist/chunk-HHVULJGX.js.map +1 -0
  264. package/dist/chunk-HHZJALGA.js +163 -0
  265. package/dist/chunk-HHZJALGA.js.map +1 -0
  266. package/dist/chunk-HLMFRCFE.js +2 -0
  267. package/dist/chunk-HLMFRCFE.js.map +1 -0
  268. package/dist/chunk-HND6FAMX.js +75 -0
  269. package/dist/chunk-HND6FAMX.js.map +1 -0
  270. package/dist/chunk-HNLYRHAU.js +74 -0
  271. package/dist/chunk-HNLYRHAU.js.map +1 -0
  272. package/dist/chunk-HPUPDT4Q.js +2 -0
  273. package/dist/chunk-HPUPDT4Q.js.map +1 -0
  274. package/dist/chunk-HUIYDDDL.js +189 -0
  275. package/dist/chunk-HUIYDDDL.js.map +1 -0
  276. package/dist/chunk-HWVU636Q.js +787 -0
  277. package/dist/chunk-HWVU636Q.js.map +1 -0
  278. package/dist/chunk-HXQ4MDCH.js +296 -0
  279. package/dist/chunk-HXQ4MDCH.js.map +1 -0
  280. package/dist/chunk-HZPNST7D.js +2 -0
  281. package/dist/chunk-HZPNST7D.js.map +1 -0
  282. package/dist/chunk-I3U52BDH.js +36 -0
  283. package/dist/chunk-I3U52BDH.js.map +1 -0
  284. package/dist/chunk-I6O6ACCH.js +2 -0
  285. package/dist/chunk-I6O6ACCH.js.map +1 -0
  286. package/dist/chunk-IE5GWE72.js +177 -0
  287. package/dist/chunk-IE5GWE72.js.map +1 -0
  288. package/dist/chunk-IIY5JRNW.js +93 -0
  289. package/dist/chunk-IIY5JRNW.js.map +1 -0
  290. package/dist/chunk-IM5VJP6T.js +2 -0
  291. package/dist/chunk-IM5VJP6T.js.map +1 -0
  292. package/dist/chunk-IRUZDWJ3.js +218 -0
  293. package/dist/chunk-IRUZDWJ3.js.map +1 -0
  294. package/dist/chunk-ISWUCXEZ.js +2 -0
  295. package/dist/chunk-ISWUCXEZ.js.map +1 -0
  296. package/dist/chunk-IUQ474IC.js +2 -0
  297. package/dist/chunk-IUQ474IC.js.map +1 -0
  298. package/dist/chunk-IVEDMK5U.js +61 -0
  299. package/dist/chunk-IVEDMK5U.js.map +1 -0
  300. package/dist/chunk-IY23F2Y5.js +2 -0
  301. package/dist/chunk-IY23F2Y5.js.map +1 -0
  302. package/dist/chunk-JCRBDA66.js +2 -0
  303. package/dist/chunk-JCRBDA66.js.map +1 -0
  304. package/dist/chunk-JTY3REOB.js +76 -0
  305. package/dist/chunk-JTY3REOB.js.map +1 -0
  306. package/dist/chunk-JVCIAEFT.js +68 -0
  307. package/dist/chunk-JVCIAEFT.js.map +1 -0
  308. package/dist/chunk-JWWJ2Z5C.js +2 -0
  309. package/dist/chunk-JWWJ2Z5C.js.map +1 -0
  310. package/dist/chunk-K2GLXCTG.js +2 -0
  311. package/dist/chunk-K2GLXCTG.js.map +1 -0
  312. package/dist/chunk-K4V2ELUZ.js +36 -0
  313. package/dist/chunk-K4V2ELUZ.js.map +1 -0
  314. package/dist/chunk-KAAJL2HA.js +327 -0
  315. package/dist/chunk-KAAJL2HA.js.map +1 -0
  316. package/dist/chunk-KBWHHAI3.js +246 -0
  317. package/dist/chunk-KBWHHAI3.js.map +1 -0
  318. package/dist/chunk-KK2TIWTF.js +54 -0
  319. package/dist/chunk-KK2TIWTF.js.map +1 -0
  320. package/dist/chunk-KPZFLTZ2.js +61 -0
  321. package/dist/chunk-KPZFLTZ2.js.map +1 -0
  322. package/dist/chunk-KRVSD4OK.js +2 -0
  323. package/dist/chunk-KRVSD4OK.js.map +1 -0
  324. package/dist/chunk-KXYL3CUS.js +74 -0
  325. package/dist/chunk-KXYL3CUS.js.map +1 -0
  326. package/dist/chunk-L37QZALU.js +17 -0
  327. package/dist/chunk-L37QZALU.js.map +1 -0
  328. package/dist/chunk-L3SHPHLK.js +35 -0
  329. package/dist/chunk-L3SHPHLK.js.map +1 -0
  330. package/dist/chunk-L5O2O67Y.js +164 -0
  331. package/dist/chunk-L5O2O67Y.js.map +1 -0
  332. package/dist/chunk-L66VJIRD.js +2 -0
  333. package/dist/chunk-L66VJIRD.js.map +1 -0
  334. package/dist/chunk-L6A3RXCU.js +140 -0
  335. package/dist/chunk-L6A3RXCU.js.map +1 -0
  336. package/dist/chunk-LDOCY4SU.js +68 -0
  337. package/dist/chunk-LDOCY4SU.js.map +1 -0
  338. package/dist/chunk-LG33MONJ.js +74 -0
  339. package/dist/chunk-LG33MONJ.js.map +1 -0
  340. package/dist/chunk-LJGWA2XL.js +2 -0
  341. package/dist/chunk-LJGWA2XL.js.map +1 -0
  342. package/dist/chunk-LLQWLZ75.js +2 -0
  343. package/dist/chunk-LLQWLZ75.js.map +1 -0
  344. package/dist/chunk-LLYLDZXC.js +54 -0
  345. package/dist/chunk-LLYLDZXC.js.map +1 -0
  346. package/dist/chunk-LMV225AS.js +39 -0
  347. package/dist/chunk-LMV225AS.js.map +1 -0
  348. package/dist/chunk-LSYVAOSH.js +2 -0
  349. package/dist/chunk-LSYVAOSH.js.map +1 -0
  350. package/dist/chunk-LYVBDMDQ.js +2 -0
  351. package/dist/chunk-LYVBDMDQ.js.map +1 -0
  352. package/dist/chunk-M2KNQZUL.js +73 -0
  353. package/dist/chunk-M2KNQZUL.js.map +1 -0
  354. package/dist/chunk-M3WSUFD4.js +2 -0
  355. package/dist/chunk-M3WSUFD4.js.map +1 -0
  356. package/dist/chunk-M5WPZXBA.js +118 -0
  357. package/dist/chunk-M5WPZXBA.js.map +1 -0
  358. package/dist/chunk-MDQYRES4.js +796 -0
  359. package/dist/chunk-MDQYRES4.js.map +1 -0
  360. package/dist/chunk-MIXCXZWT.js +2 -0
  361. package/dist/chunk-MIXCXZWT.js.map +1 -0
  362. package/dist/chunk-MJAIURHO.js +56 -0
  363. package/dist/chunk-MJAIURHO.js.map +1 -0
  364. package/dist/chunk-MLGBLKUH.js +2 -0
  365. package/dist/chunk-MLGBLKUH.js.map +1 -0
  366. package/dist/chunk-MNS2VWHD.js +2 -0
  367. package/dist/chunk-MNS2VWHD.js.map +1 -0
  368. package/dist/chunk-MPMMU3QI.js +2 -0
  369. package/dist/chunk-MPMMU3QI.js.map +1 -0
  370. package/dist/chunk-MRBDJASL.js +97 -0
  371. package/dist/chunk-MRBDJASL.js.map +1 -0
  372. package/dist/chunk-MRWOHWEH.js +2 -0
  373. package/dist/chunk-MRWOHWEH.js.map +1 -0
  374. package/dist/chunk-MY5H6D5Y.js +245 -0
  375. package/dist/chunk-MY5H6D5Y.js.map +1 -0
  376. package/dist/chunk-MZDL7N52.js +2 -0
  377. package/dist/chunk-MZDL7N52.js.map +1 -0
  378. package/dist/chunk-N7PJTMRL.js +2 -0
  379. package/dist/chunk-N7PJTMRL.js.map +1 -0
  380. package/dist/chunk-NMGNXW3J.js +98 -0
  381. package/dist/chunk-NMGNXW3J.js.map +1 -0
  382. package/dist/chunk-NRNIUM75.js +2 -0
  383. package/dist/chunk-NRNIUM75.js.map +1 -0
  384. package/dist/chunk-NRPZ3BH4.js +85 -0
  385. package/dist/chunk-NRPZ3BH4.js.map +1 -0
  386. package/dist/chunk-NXCOVGDU.js +100 -0
  387. package/dist/chunk-NXCOVGDU.js.map +1 -0
  388. package/dist/chunk-NZUKZRT7.js +201 -0
  389. package/dist/chunk-NZUKZRT7.js.map +1 -0
  390. package/dist/chunk-O3JWMB6O.js +20 -0
  391. package/dist/chunk-O3JWMB6O.js.map +1 -0
  392. package/dist/chunk-O6V65J5J.js +81 -0
  393. package/dist/chunk-O6V65J5J.js.map +1 -0
  394. package/dist/chunk-OEPN373X.js +2 -0
  395. package/dist/chunk-OEPN373X.js.map +1 -0
  396. package/dist/chunk-OGTILHKP.js +355 -0
  397. package/dist/chunk-OGTILHKP.js.map +1 -0
  398. package/dist/chunk-OITCRC5D.js +2 -0
  399. package/dist/chunk-OITCRC5D.js.map +1 -0
  400. package/dist/chunk-OKV3N7QK.js +2 -0
  401. package/dist/chunk-OKV3N7QK.js.map +1 -0
  402. package/dist/chunk-OKY7ACZK.js +31 -0
  403. package/dist/chunk-OKY7ACZK.js.map +1 -0
  404. package/dist/chunk-ON2E7XHD.js +51 -0
  405. package/dist/chunk-ON2E7XHD.js.map +1 -0
  406. package/dist/chunk-OPBSVEMX.js +192 -0
  407. package/dist/chunk-OPBSVEMX.js.map +1 -0
  408. package/dist/chunk-OR4NVFPH.js +2 -0
  409. package/dist/chunk-OR4NVFPH.js.map +1 -0
  410. package/dist/chunk-OYKS7YHE.js +2 -0
  411. package/dist/chunk-OYKS7YHE.js.map +1 -0
  412. package/dist/chunk-PGKQZBLZ.js +55 -0
  413. package/dist/chunk-PGKQZBLZ.js.map +1 -0
  414. package/dist/chunk-PHAENHGL.js +19 -0
  415. package/dist/chunk-PHAENHGL.js.map +1 -0
  416. package/dist/chunk-PLCQZBZS.js +63 -0
  417. package/dist/chunk-PLCQZBZS.js.map +1 -0
  418. package/dist/chunk-PQZD5W3E.js +170 -0
  419. package/dist/chunk-PQZD5W3E.js.map +1 -0
  420. package/dist/chunk-PSBNQZB4.js +2 -0
  421. package/dist/chunk-PSBNQZB4.js.map +1 -0
  422. package/dist/chunk-PSXUEWUS.js +87 -0
  423. package/dist/chunk-PSXUEWUS.js.map +1 -0
  424. package/dist/chunk-PT5P4AAU.js +128 -0
  425. package/dist/chunk-PT5P4AAU.js.map +1 -0
  426. package/dist/chunk-PUACHQRH.js +31 -0
  427. package/dist/chunk-PUACHQRH.js.map +1 -0
  428. package/dist/chunk-QDJHUNBQ.js +2 -0
  429. package/dist/chunk-QDJHUNBQ.js.map +1 -0
  430. package/dist/chunk-QF6UWWDY.js +125 -0
  431. package/dist/chunk-QF6UWWDY.js.map +1 -0
  432. package/dist/chunk-QKZX5HDY.js +209 -0
  433. package/dist/chunk-QKZX5HDY.js.map +1 -0
  434. package/dist/chunk-QLM3KTAQ.js +100 -0
  435. package/dist/chunk-QLM3KTAQ.js.map +1 -0
  436. package/dist/chunk-QODOFLHL.js +2 -0
  437. package/dist/chunk-QODOFLHL.js.map +1 -0
  438. package/dist/chunk-QRGYKV4J.js +2 -0
  439. package/dist/chunk-QRGYKV4J.js.map +1 -0
  440. package/dist/chunk-R27VUCWR.js +140 -0
  441. package/dist/chunk-R27VUCWR.js.map +1 -0
  442. package/dist/chunk-R5JYMCEA.js +2 -0
  443. package/dist/chunk-R5JYMCEA.js.map +1 -0
  444. package/dist/chunk-RB5AWLDJ.js +26 -0
  445. package/dist/chunk-RB5AWLDJ.js.map +1 -0
  446. package/dist/chunk-RF7JSNXJ.js +2 -0
  447. package/dist/chunk-RF7JSNXJ.js.map +1 -0
  448. package/dist/chunk-RFTC5UVB.js +126 -0
  449. package/dist/chunk-RFTC5UVB.js.map +1 -0
  450. package/dist/chunk-RHVYRQN4.js +201 -0
  451. package/dist/chunk-RHVYRQN4.js.map +1 -0
  452. package/dist/chunk-RHXVQZOW.js +2 -0
  453. package/dist/chunk-RHXVQZOW.js.map +1 -0
  454. package/dist/chunk-RIYDAMSQ.js +25 -0
  455. package/dist/chunk-RIYDAMSQ.js.map +1 -0
  456. package/dist/chunk-RMSMTLXH.js +2 -0
  457. package/dist/chunk-RMSMTLXH.js.map +1 -0
  458. package/dist/chunk-RRYWMYGI.js +14 -0
  459. package/dist/chunk-RRYWMYGI.js.map +1 -0
  460. package/dist/chunk-RTHCX2TG.js +59 -0
  461. package/dist/chunk-RTHCX2TG.js.map +1 -0
  462. package/dist/chunk-RYPK72YP.js +395 -0
  463. package/dist/chunk-RYPK72YP.js.map +1 -0
  464. package/dist/chunk-SCCBEFVK.js +187 -0
  465. package/dist/chunk-SCCBEFVK.js.map +1 -0
  466. package/dist/chunk-SEGTBIR4.js +110 -0
  467. package/dist/chunk-SEGTBIR4.js.map +1 -0
  468. package/dist/chunk-SGBCLZQF.js +38 -0
  469. package/dist/chunk-SGBCLZQF.js.map +1 -0
  470. package/dist/chunk-SLDJYJEG.js +133 -0
  471. package/dist/chunk-SLDJYJEG.js.map +1 -0
  472. package/dist/chunk-SMTAPQEQ.js +2 -0
  473. package/dist/chunk-SMTAPQEQ.js.map +1 -0
  474. package/dist/chunk-SS6EOZKZ.js +2 -0
  475. package/dist/chunk-SS6EOZKZ.js.map +1 -0
  476. package/dist/chunk-SSQG36MH.js +226 -0
  477. package/dist/chunk-SSQG36MH.js.map +1 -0
  478. package/dist/chunk-SWQCCR6Q.js +140 -0
  479. package/dist/chunk-SWQCCR6Q.js.map +1 -0
  480. package/dist/chunk-T2XEMEN2.js +2 -0
  481. package/dist/chunk-T2XEMEN2.js.map +1 -0
  482. package/dist/chunk-T7JOWG2A.js +10 -0
  483. package/dist/chunk-T7JOWG2A.js.map +1 -0
  484. package/dist/chunk-TAQI4JTE.js +12 -0
  485. package/dist/chunk-TAQI4JTE.js.map +1 -0
  486. package/dist/chunk-TNOANK34.js +4483 -0
  487. package/dist/chunk-TNOANK34.js.map +1 -0
  488. package/dist/chunk-U5BZXNHW.js +80 -0
  489. package/dist/chunk-U5BZXNHW.js.map +1 -0
  490. package/dist/chunk-U756JCDK.js +27 -0
  491. package/dist/chunk-U756JCDK.js.map +1 -0
  492. package/dist/chunk-U7QYCYHC.js +2 -0
  493. package/dist/chunk-U7QYCYHC.js.map +1 -0
  494. package/dist/chunk-UANAVLMS.js +2 -0
  495. package/dist/chunk-UANAVLMS.js.map +1 -0
  496. package/dist/chunk-UCEVPLR5.js +2 -0
  497. package/dist/chunk-UCEVPLR5.js.map +1 -0
  498. package/dist/chunk-UCQDLRHR.js +31 -0
  499. package/dist/chunk-UCQDLRHR.js.map +1 -0
  500. package/dist/chunk-UFF7LLGU.js +2 -0
  501. package/dist/chunk-UFF7LLGU.js.map +1 -0
  502. package/dist/chunk-UG2T7LMX.js +198 -0
  503. package/dist/chunk-UG2T7LMX.js.map +1 -0
  504. package/dist/chunk-UG5TKXTK.js +2 -0
  505. package/dist/chunk-UG5TKXTK.js.map +1 -0
  506. package/dist/chunk-UPGIQXUY.js +24 -0
  507. package/dist/chunk-UPGIQXUY.js.map +1 -0
  508. package/dist/chunk-UQPW7INX.js +91 -0
  509. package/dist/chunk-UQPW7INX.js.map +1 -0
  510. package/dist/chunk-UQRYTMR7.js +2 -0
  511. package/dist/chunk-UQRYTMR7.js.map +1 -0
  512. package/dist/chunk-USI4LB3N.js +2 -0
  513. package/dist/chunk-USI4LB3N.js.map +1 -0
  514. package/dist/chunk-UUSOIPM2.js +69 -0
  515. package/dist/chunk-UUSOIPM2.js.map +1 -0
  516. package/dist/chunk-V2S5DINS.js +2 -0
  517. package/dist/chunk-V2S5DINS.js.map +1 -0
  518. package/dist/chunk-V3EQ6ACC.js +2 -0
  519. package/dist/chunk-V3EQ6ACC.js.map +1 -0
  520. package/dist/chunk-V5QCJHDA.js +173 -0
  521. package/dist/chunk-V5QCJHDA.js.map +1 -0
  522. package/dist/chunk-V6U75PIG.js +147 -0
  523. package/dist/chunk-V6U75PIG.js.map +1 -0
  524. package/dist/chunk-VC4GKLZL.js +111 -0
  525. package/dist/chunk-VC4GKLZL.js.map +1 -0
  526. package/dist/chunk-VFS52GGI.js +2 -0
  527. package/dist/chunk-VFS52GGI.js.map +1 -0
  528. package/dist/chunk-VH7GG77B.js +2 -0
  529. package/dist/chunk-VH7GG77B.js.map +1 -0
  530. package/dist/chunk-VHLPJ4XW.js +2 -0
  531. package/dist/chunk-VHLPJ4XW.js.map +1 -0
  532. package/dist/chunk-VLE5THFD.js +2 -0
  533. package/dist/chunk-VLE5THFD.js.map +1 -0
  534. package/dist/chunk-VORFRWM5.js +2 -0
  535. package/dist/chunk-VORFRWM5.js.map +1 -0
  536. package/dist/chunk-VQ2T3OEC.js +27 -0
  537. package/dist/chunk-VQ2T3OEC.js.map +1 -0
  538. package/dist/chunk-W26KFY35.js +32 -0
  539. package/dist/chunk-W26KFY35.js.map +1 -0
  540. package/dist/chunk-W35X6J5P.js +232 -0
  541. package/dist/chunk-W35X6J5P.js.map +1 -0
  542. package/dist/chunk-W7I2X6VI.js +2 -0
  543. package/dist/chunk-W7I2X6VI.js.map +1 -0
  544. package/dist/chunk-W7OIVERI.js +31 -0
  545. package/dist/chunk-W7OIVERI.js.map +1 -0
  546. package/dist/chunk-WEEVXQIM.js +45 -0
  547. package/dist/chunk-WEEVXQIM.js.map +1 -0
  548. package/dist/chunk-WEM6XJ7Z.js +75 -0
  549. package/dist/chunk-WEM6XJ7Z.js.map +1 -0
  550. package/dist/chunk-WKNOKJA3.js +42 -0
  551. package/dist/chunk-WKNOKJA3.js.map +1 -0
  552. package/dist/chunk-WNIVCHDP.js +2 -0
  553. package/dist/chunk-WNIVCHDP.js.map +1 -0
  554. package/dist/chunk-WOMO5CZ7.js +2 -0
  555. package/dist/chunk-WOMO5CZ7.js.map +1 -0
  556. package/dist/chunk-WYENWW3Y.js +2 -0
  557. package/dist/chunk-WYENWW3Y.js.map +1 -0
  558. package/dist/chunk-X4FE7UKP.js +2 -0
  559. package/dist/chunk-X4FE7UKP.js.map +1 -0
  560. package/dist/chunk-XGX3UFLD.js +2 -0
  561. package/dist/chunk-XGX3UFLD.js.map +1 -0
  562. package/dist/chunk-XGXCMA5M.js +2 -0
  563. package/dist/chunk-XGXCMA5M.js.map +1 -0
  564. package/dist/chunk-XJQADN6S.js +41 -0
  565. package/dist/chunk-XJQADN6S.js.map +1 -0
  566. package/dist/chunk-XYFEQHEM.js +2 -0
  567. package/dist/chunk-XYFEQHEM.js.map +1 -0
  568. package/dist/chunk-Y33ZFTMR.js +163 -0
  569. package/dist/chunk-Y33ZFTMR.js.map +1 -0
  570. package/dist/chunk-YA2QGLUL.js +32 -0
  571. package/dist/chunk-YA2QGLUL.js.map +1 -0
  572. package/dist/chunk-YCFOFNQF.js +28 -0
  573. package/dist/chunk-YCFOFNQF.js.map +1 -0
  574. package/dist/chunk-YFGFNFVW.js +59 -0
  575. package/dist/chunk-YFGFNFVW.js.map +1 -0
  576. package/dist/chunk-YFKKMDJL.js +35 -0
  577. package/dist/chunk-YFKKMDJL.js.map +1 -0
  578. package/dist/chunk-YHVXYOL6.js +80 -0
  579. package/dist/chunk-YHVXYOL6.js.map +1 -0
  580. package/dist/chunk-YIFB24WW.js +37 -0
  581. package/dist/chunk-YIFB24WW.js.map +1 -0
  582. package/dist/chunk-YK4H7VWM.js +2 -0
  583. package/dist/chunk-YK4H7VWM.js.map +1 -0
  584. package/dist/chunk-YMFEBGTU.js +2 -0
  585. package/dist/chunk-YMFEBGTU.js.map +1 -0
  586. package/dist/chunk-YUFDC6RW.js +55 -0
  587. package/dist/chunk-YUFDC6RW.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-ZALGMUSW.js +236 -0
  595. package/dist/chunk-ZALGMUSW.js.map +1 -0
  596. package/dist/chunk-ZE2H4J3P.js +2 -0
  597. package/dist/chunk-ZE2H4J3P.js.map +1 -0
  598. package/dist/chunk-ZEMTALKO.js +2 -0
  599. package/dist/chunk-ZEMTALKO.js.map +1 -0
  600. package/dist/chunk-ZFMM2NLA.js +169 -0
  601. package/dist/chunk-ZFMM2NLA.js.map +1 -0
  602. package/dist/chunk-ZI2OXD6L.js +244 -0
  603. package/dist/chunk-ZI2OXD6L.js.map +1 -0
  604. package/dist/chunk-ZRMF4YAS.js +158 -0
  605. package/dist/chunk-ZRMF4YAS.js.map +1 -0
  606. package/dist/chunk-ZSYT5H6U.js +178 -0
  607. package/dist/chunk-ZSYT5H6U.js.map +1 -0
  608. package/dist/chunk-ZXVPEQM5.js +2 -0
  609. package/dist/chunk-ZXVPEQM5.js.map +1 -0
  610. package/dist/components/accordion/accordion.js +16 -0
  611. package/dist/components/accordion/accordion.js.map +1 -0
  612. package/dist/components/accordion/index.js +17 -0
  613. package/dist/components/accordion/index.js.map +1 -0
  614. package/dist/components/advanced-group/advanced-group.js +18 -0
  615. package/dist/components/advanced-group/advanced-group.js.map +1 -0
  616. package/dist/components/advanced-group/index.js +18 -0
  617. package/dist/components/advanced-group/index.js.map +1 -0
  618. package/dist/components/alert/alert.js +16 -0
  619. package/dist/components/alert/alert.js.map +1 -0
  620. package/dist/components/alert/index.js +17 -0
  621. package/dist/components/alert/index.js.map +1 -0
  622. package/dist/components/alert-dialog/alert-dialog.js +30 -0
  623. package/dist/components/alert-dialog/alert-dialog.js.map +1 -0
  624. package/dist/components/alert-dialog/index.js +31 -0
  625. package/dist/components/alert-dialog/index.js.map +1 -0
  626. package/dist/components/ambient-field/ambient-field.css +59 -0
  627. package/dist/components/ambient-field/ambient-field.css.map +1 -0
  628. package/dist/components/ambient-field/ambient-field.js +15 -0
  629. package/dist/components/ambient-field/ambient-field.js.map +1 -0
  630. package/dist/components/ambient-field/index.css +59 -0
  631. package/dist/components/ambient-field/index.css.map +1 -0
  632. package/dist/components/ambient-field/index.js +16 -0
  633. package/dist/components/ambient-field/index.js.map +1 -0
  634. package/dist/components/app-shell/app-shell.js +14 -0
  635. package/dist/components/app-shell/app-shell.js.map +1 -0
  636. package/dist/components/app-shell/index.js +15 -0
  637. package/dist/components/app-shell/index.js.map +1 -0
  638. package/dist/components/app-sidebar/app-sidebar.js +31 -0
  639. package/dist/components/app-sidebar/app-sidebar.js.map +1 -0
  640. package/dist/components/app-sidebar/index.js +31 -0
  641. package/dist/components/app-sidebar/index.js.map +1 -0
  642. package/dist/components/aspect-ratio/aspect-ratio.js +9 -0
  643. package/dist/components/aspect-ratio/aspect-ratio.js.map +1 -0
  644. package/dist/components/aspect-ratio/index.js +10 -0
  645. package/dist/components/aspect-ratio/index.js.map +1 -0
  646. package/dist/components/attribution-panel/attribution-panel.js +24 -0
  647. package/dist/components/attribution-panel/attribution-panel.js.map +1 -0
  648. package/dist/components/attribution-panel/attribution-types.js +2 -0
  649. package/dist/components/attribution-panel/attribution-types.js.map +1 -0
  650. package/dist/components/attribution-panel/attributions.generated.js +9 -0
  651. package/dist/components/attribution-panel/attributions.generated.js.map +1 -0
  652. package/dist/components/attribution-panel/index.js +24 -0
  653. package/dist/components/attribution-panel/index.js.map +1 -0
  654. package/dist/components/avatar/avatar.js +14 -0
  655. package/dist/components/avatar/avatar.js.map +1 -0
  656. package/dist/components/avatar/index.js +15 -0
  657. package/dist/components/avatar/index.js.map +1 -0
  658. package/dist/components/badge/badge.js +16 -0
  659. package/dist/components/badge/badge.js.map +1 -0
  660. package/dist/components/badge/index.js +13 -0
  661. package/dist/components/badge/index.js.map +1 -0
  662. package/dist/components/bento-grid/bento-grid.js +16 -0
  663. package/dist/components/bento-grid/bento-grid.js.map +1 -0
  664. package/dist/components/bento-grid/index.js +16 -0
  665. package/dist/components/bento-grid/index.js.map +1 -0
  666. package/dist/components/bounded-number/bounded-number.js +24 -0
  667. package/dist/components/bounded-number/bounded-number.js.map +1 -0
  668. package/dist/components/bounded-number/index.js +24 -0
  669. package/dist/components/bounded-number/index.js.map +1 -0
  670. package/dist/components/breadcrumb/breadcrumb.js +28 -0
  671. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  672. package/dist/components/breadcrumb/index.js +26 -0
  673. package/dist/components/breadcrumb/index.js.map +1 -0
  674. package/dist/components/button/button.js +12 -0
  675. package/dist/components/button/button.js.map +1 -0
  676. package/dist/components/button/index.js +13 -0
  677. package/dist/components/button/index.js.map +1 -0
  678. package/dist/components/button-group/button-group.js +18 -0
  679. package/dist/components/button-group/button-group.js.map +1 -0
  680. package/dist/components/button-group/index.js +19 -0
  681. package/dist/components/button-group/index.js.map +1 -0
  682. package/dist/components/calendar/calendar.js +12 -0
  683. package/dist/components/calendar/calendar.js.map +1 -0
  684. package/dist/components/calendar/index.js +13 -0
  685. package/dist/components/calendar/index.js.map +1 -0
  686. package/dist/components/card/card.js +27 -0
  687. package/dist/components/card/card.js.map +1 -0
  688. package/dist/components/card/index.js +27 -0
  689. package/dist/components/card/index.js.map +1 -0
  690. package/dist/components/carousel/carousel.js +24 -0
  691. package/dist/components/carousel/carousel.js.map +1 -0
  692. package/dist/components/carousel/index.js +24 -0
  693. package/dist/components/carousel/index.js.map +1 -0
  694. package/dist/components/change-review/change-review.js +34 -0
  695. package/dist/components/change-review/change-review.js.map +1 -0
  696. package/dist/components/change-review/index.js +34 -0
  697. package/dist/components/change-review/index.js.map +1 -0
  698. package/dist/components/checkbox/checkbox.js +10 -0
  699. package/dist/components/checkbox/checkbox.js.map +1 -0
  700. package/dist/components/checkbox/index.js +11 -0
  701. package/dist/components/checkbox/index.js.map +1 -0
  702. package/dist/components/collapsible/collapsible.js +14 -0
  703. package/dist/components/collapsible/collapsible.js.map +1 -0
  704. package/dist/components/collapsible/index.js +15 -0
  705. package/dist/components/collapsible/index.js.map +1 -0
  706. package/dist/components/collapsible-panel/index.js +11 -0
  707. package/dist/components/collapsible-panel/index.js.map +1 -0
  708. package/dist/components/collapsible-panel/use-collapsible-panel.js +11 -0
  709. package/dist/components/collapsible-panel/use-collapsible-panel.js.map +1 -0
  710. package/dist/components/color-picker/color-picker.js +18 -0
  711. package/dist/components/color-picker/color-picker.js.map +1 -0
  712. package/dist/components/color-picker/index.js +18 -0
  713. package/dist/components/color-picker/index.js.map +1 -0
  714. package/dist/components/combobox/combobox.js +28 -0
  715. package/dist/components/combobox/combobox.js.map +1 -0
  716. package/dist/components/combobox/index.js +28 -0
  717. package/dist/components/combobox/index.js.map +1 -0
  718. package/dist/components/command/command.js +39 -0
  719. package/dist/components/command/command.js.map +1 -0
  720. package/dist/components/command/index.js +39 -0
  721. package/dist/components/command/index.js.map +1 -0
  722. package/dist/components/command-chip/command-chip.js +17 -0
  723. package/dist/components/command-chip/command-chip.js.map +1 -0
  724. package/dist/components/command-chip/index.js +17 -0
  725. package/dist/components/command-chip/index.js.map +1 -0
  726. package/dist/components/command-trigger/command-trigger.js +12 -0
  727. package/dist/components/command-trigger/command-trigger.js.map +1 -0
  728. package/dist/components/command-trigger/index.js +13 -0
  729. package/dist/components/command-trigger/index.js.map +1 -0
  730. package/dist/components/confirm-dialog/confirm-dialog.js +20 -0
  731. package/dist/components/confirm-dialog/confirm-dialog.js.map +1 -0
  732. package/dist/components/confirm-dialog/index.js +20 -0
  733. package/dist/components/confirm-dialog/index.js.map +1 -0
  734. package/dist/components/context-menu/context-menu.js +36 -0
  735. package/dist/components/context-menu/context-menu.js.map +1 -0
  736. package/dist/components/context-menu/index.js +37 -0
  737. package/dist/components/context-menu/index.js.map +1 -0
  738. package/dist/components/context-rail/context-rail.js +35 -0
  739. package/dist/components/context-rail/context-rail.js.map +1 -0
  740. package/dist/components/context-rail/index.js +35 -0
  741. package/dist/components/context-rail/index.js.map +1 -0
  742. package/dist/components/copyable-value/copyable-value.js +19 -0
  743. package/dist/components/copyable-value/copyable-value.js.map +1 -0
  744. package/dist/components/copyable-value/index.js +17 -0
  745. package/dist/components/copyable-value/index.js.map +1 -0
  746. package/dist/components/date-picker/date-picker.js +21 -0
  747. package/dist/components/date-picker/date-picker.js.map +1 -0
  748. package/dist/components/date-picker/index.js +21 -0
  749. package/dist/components/date-picker/index.js.map +1 -0
  750. package/dist/components/date-range-picker/date-range-picker.js +22 -0
  751. package/dist/components/date-range-picker/date-range-picker.js.map +1 -0
  752. package/dist/components/date-range-picker/index.js +22 -0
  753. package/dist/components/date-range-picker/index.js.map +1 -0
  754. package/dist/components/descriptions/descriptions.js +12 -0
  755. package/dist/components/descriptions/descriptions.js.map +1 -0
  756. package/dist/components/descriptions/index.js +13 -0
  757. package/dist/components/descriptions/index.js.map +1 -0
  758. package/dist/components/dialog/dialog.js +41 -0
  759. package/dist/components/dialog/dialog.js.map +1 -0
  760. package/dist/components/dialog/index.js +45 -0
  761. package/dist/components/dialog/index.js.map +1 -0
  762. package/dist/components/dialog/use-dialog-dismiss-guard.js +10 -0
  763. package/dist/components/dialog/use-dialog-dismiss-guard.js.map +1 -0
  764. package/dist/components/drafting-marks/drafting-marks.js +14 -0
  765. package/dist/components/drafting-marks/drafting-marks.js.map +1 -0
  766. package/dist/components/drafting-marks/index.js +15 -0
  767. package/dist/components/drafting-marks/index.js.map +1 -0
  768. package/dist/components/drawer/drawer.js +26 -0
  769. package/dist/components/drawer/drawer.js.map +1 -0
  770. package/dist/components/drawer/index.js +27 -0
  771. package/dist/components/drawer/index.js.map +1 -0
  772. package/dist/components/dropdown-menu/dropdown-menu.js +38 -0
  773. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -0
  774. package/dist/components/dropdown-menu/index.js +39 -0
  775. package/dist/components/dropdown-menu/index.js.map +1 -0
  776. package/dist/components/empty-state/empty-state.js +15 -0
  777. package/dist/components/empty-state/empty-state.js.map +1 -0
  778. package/dist/components/empty-state/index.js +16 -0
  779. package/dist/components/empty-state/index.js.map +1 -0
  780. package/dist/components/error-state/error-state.js +15 -0
  781. package/dist/components/error-state/error-state.js.map +1 -0
  782. package/dist/components/error-state/index.js +16 -0
  783. package/dist/components/error-state/index.js.map +1 -0
  784. package/dist/components/expand-dialog/expand-dialog.js +28 -0
  785. package/dist/components/expand-dialog/expand-dialog.js.map +1 -0
  786. package/dist/components/expand-dialog/index.js +28 -0
  787. package/dist/components/expand-dialog/index.js.map +1 -0
  788. package/dist/components/field/field-context.js +11 -0
  789. package/dist/components/field/field-context.js.map +1 -0
  790. package/dist/components/field/field.js +23 -0
  791. package/dist/components/field/field.js.map +1 -0
  792. package/dist/components/field/index.js +23 -0
  793. package/dist/components/field/index.js.map +1 -0
  794. package/dist/components/field-row/field-row.js +14 -0
  795. package/dist/components/field-row/field-row.js.map +1 -0
  796. package/dist/components/field-row/index.js +14 -0
  797. package/dist/components/field-row/index.js.map +1 -0
  798. package/dist/components/file-upload/file-upload.js +28 -0
  799. package/dist/components/file-upload/file-upload.js.map +1 -0
  800. package/dist/components/file-upload/index.js +26 -0
  801. package/dist/components/file-upload/index.js.map +1 -0
  802. package/dist/components/form/form.js +27 -0
  803. package/dist/components/form/form.js.map +1 -0
  804. package/dist/components/hover-card/hover-card.js +14 -0
  805. package/dist/components/hover-card/hover-card.js.map +1 -0
  806. package/dist/components/hover-card/index.js +15 -0
  807. package/dist/components/hover-card/index.js.map +1 -0
  808. package/dist/components/icon-button/icon-button.js +14 -0
  809. package/dist/components/icon-button/icon-button.js.map +1 -0
  810. package/dist/components/icon-button/index.js +15 -0
  811. package/dist/components/icon-button/index.js.map +1 -0
  812. package/dist/components/input/index.js +11 -0
  813. package/dist/components/input/index.js.map +1 -0
  814. package/dist/components/input/input.js +10 -0
  815. package/dist/components/input/input.js.map +1 -0
  816. package/dist/components/input-group/index.js +31 -0
  817. package/dist/components/input-group/index.js.map +1 -0
  818. package/dist/components/input-group/input-group.js +30 -0
  819. package/dist/components/input-group/input-group.js.map +1 -0
  820. package/dist/components/input-otp/index.js +17 -0
  821. package/dist/components/input-otp/index.js.map +1 -0
  822. package/dist/components/input-otp/input-otp.js +17 -0
  823. package/dist/components/input-otp/input-otp.js.map +1 -0
  824. package/dist/components/install-tabs/index.js +28 -0
  825. package/dist/components/install-tabs/index.js.map +1 -0
  826. package/dist/components/install-tabs/install-tabs.js +28 -0
  827. package/dist/components/install-tabs/install-tabs.js.map +1 -0
  828. package/dist/components/integration-matrix/index.js +26 -0
  829. package/dist/components/integration-matrix/index.js.map +1 -0
  830. package/dist/components/integration-matrix/integration-matrix.js +26 -0
  831. package/dist/components/integration-matrix/integration-matrix.js.map +1 -0
  832. package/dist/components/kbd/index.js +11 -0
  833. package/dist/components/kbd/index.js.map +1 -0
  834. package/dist/components/kbd/kbd.js +10 -0
  835. package/dist/components/kbd/kbd.js.map +1 -0
  836. package/dist/components/key-value-editor/index.js +18 -0
  837. package/dist/components/key-value-editor/index.js.map +1 -0
  838. package/dist/components/key-value-editor/key-value-editor.js +18 -0
  839. package/dist/components/key-value-editor/key-value-editor.js.map +1 -0
  840. package/dist/components/keyboard-shortcuts/index.js +25 -0
  841. package/dist/components/keyboard-shortcuts/index.js.map +1 -0
  842. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.js +25 -0
  843. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.js.map +1 -0
  844. package/dist/components/label/index.js +11 -0
  845. package/dist/components/label/index.js.map +1 -0
  846. package/dist/components/label/label.js +10 -0
  847. package/dist/components/label/label.js.map +1 -0
  848. package/dist/components/link-preview/index.js +14 -0
  849. package/dist/components/link-preview/index.js.map +1 -0
  850. package/dist/components/link-preview/link-preview.js +14 -0
  851. package/dist/components/link-preview/link-preview.js.map +1 -0
  852. package/dist/components/list-editor/index.js +18 -0
  853. package/dist/components/list-editor/index.js.map +1 -0
  854. package/dist/components/list-editor/list-editor.js +18 -0
  855. package/dist/components/list-editor/list-editor.js.map +1 -0
  856. package/dist/components/loading-state/index.js +16 -0
  857. package/dist/components/loading-state/index.js.map +1 -0
  858. package/dist/components/loading-state/loading-state.js +15 -0
  859. package/dist/components/loading-state/loading-state.js.map +1 -0
  860. package/dist/components/locale-provider/index.js +16 -0
  861. package/dist/components/locale-provider/index.js.map +1 -0
  862. package/dist/components/locale-provider/locale-provider.js +13 -0
  863. package/dist/components/locale-provider/locale-provider.js.map +1 -0
  864. package/dist/components/locale-provider/messages.js +10 -0
  865. package/dist/components/locale-provider/messages.js.map +1 -0
  866. package/dist/components/match-highlight/index.js +15 -0
  867. package/dist/components/match-highlight/index.js.map +1 -0
  868. package/dist/components/match-highlight/match-highlight.js +14 -0
  869. package/dist/components/match-highlight/match-highlight.js.map +1 -0
  870. package/dist/components/mention-input/index.js +46 -0
  871. package/dist/components/mention-input/index.js.map +1 -0
  872. package/dist/components/mention-input/mention-input.js +33 -0
  873. package/dist/components/mention-input/mention-input.js.map +1 -0
  874. package/dist/components/mention-input/mention-value.js +20 -0
  875. package/dist/components/mention-input/mention-value.js.map +1 -0
  876. package/dist/components/menubar/index.js +39 -0
  877. package/dist/components/menubar/index.js.map +1 -0
  878. package/dist/components/menubar/menubar.js +38 -0
  879. package/dist/components/menubar/menubar.js.map +1 -0
  880. package/dist/components/meter/index.js +15 -0
  881. package/dist/components/meter/index.js.map +1 -0
  882. package/dist/components/meter/meter.js +15 -0
  883. package/dist/components/meter/meter.js.map +1 -0
  884. package/dist/components/metric-card/index.js +24 -0
  885. package/dist/components/metric-card/index.js.map +1 -0
  886. package/dist/components/metric-card/metric-card.js +24 -0
  887. package/dist/components/metric-card/metric-card.js.map +1 -0
  888. package/dist/components/model-picker/index.js +37 -0
  889. package/dist/components/model-picker/index.js.map +1 -0
  890. package/dist/components/model-picker/model-picker-state.js +13 -0
  891. package/dist/components/model-picker/model-picker-state.js.map +1 -0
  892. package/dist/components/model-picker/model-picker.js +37 -0
  893. package/dist/components/model-picker/model-picker.js.map +1 -0
  894. package/dist/components/nav-main/index.js +33 -0
  895. package/dist/components/nav-main/index.js.map +1 -0
  896. package/dist/components/nav-main/nav-main.js +33 -0
  897. package/dist/components/nav-main/nav-main.js.map +1 -0
  898. package/dist/components/nav-notifications/index.js +20 -0
  899. package/dist/components/nav-notifications/index.js.map +1 -0
  900. package/dist/components/nav-notifications/nav-notifications.js +20 -0
  901. package/dist/components/nav-notifications/nav-notifications.js.map +1 -0
  902. package/dist/components/nav-user/index.js +35 -0
  903. package/dist/components/nav-user/index.js.map +1 -0
  904. package/dist/components/nav-user/nav-user.js +35 -0
  905. package/dist/components/nav-user/nav-user.js.map +1 -0
  906. package/dist/components/navigation-menu/index.js +25 -0
  907. package/dist/components/navigation-menu/index.js.map +1 -0
  908. package/dist/components/navigation-menu/navigation-menu.js +25 -0
  909. package/dist/components/navigation-menu/navigation-menu.js.map +1 -0
  910. package/dist/components/number-input/index.js +22 -0
  911. package/dist/components/number-input/index.js.map +1 -0
  912. package/dist/components/number-input/number-input.js +22 -0
  913. package/dist/components/number-input/number-input.js.map +1 -0
  914. package/dist/components/page-shell/index.js +11 -0
  915. package/dist/components/page-shell/index.js.map +1 -0
  916. package/dist/components/page-shell/page-shell.js +10 -0
  917. package/dist/components/page-shell/page-shell.js.map +1 -0
  918. package/dist/components/pagination/index.js +28 -0
  919. package/dist/components/pagination/index.js.map +1 -0
  920. package/dist/components/pagination/pagination.js +28 -0
  921. package/dist/components/pagination/pagination.js.map +1 -0
  922. package/dist/components/parallax-plane/index.css +17 -0
  923. package/dist/components/parallax-plane/index.css.map +1 -0
  924. package/dist/components/parallax-plane/index.js +18 -0
  925. package/dist/components/parallax-plane/index.js.map +1 -0
  926. package/dist/components/parallax-plane/parallax-plane.css +17 -0
  927. package/dist/components/parallax-plane/parallax-plane.css.map +1 -0
  928. package/dist/components/parallax-plane/parallax-plane.js +18 -0
  929. package/dist/components/parallax-plane/parallax-plane.js.map +1 -0
  930. package/dist/components/popover/index.js +17 -0
  931. package/dist/components/popover/index.js.map +1 -0
  932. package/dist/components/popover/popover.js +16 -0
  933. package/dist/components/popover/popover.js.map +1 -0
  934. package/dist/components/progress/index.js +13 -0
  935. package/dist/components/progress/index.js.map +1 -0
  936. package/dist/components/progress/progress.js +12 -0
  937. package/dist/components/progress/progress.js.map +1 -0
  938. package/dist/components/radio-group/index.js +13 -0
  939. package/dist/components/radio-group/index.js.map +1 -0
  940. package/dist/components/radio-group/radio-group.js +12 -0
  941. package/dist/components/radio-group/radio-group.js.map +1 -0
  942. package/dist/components/rating/index.js +11 -0
  943. package/dist/components/rating/index.js.map +1 -0
  944. package/dist/components/rating/rating.js +11 -0
  945. package/dist/components/rating/rating.js.map +1 -0
  946. package/dist/components/resizable/index.js +15 -0
  947. package/dist/components/resizable/index.js.map +1 -0
  948. package/dist/components/resizable/resizable.js +14 -0
  949. package/dist/components/resizable/resizable.js.map +1 -0
  950. package/dist/components/reveal/index.js +15 -0
  951. package/dist/components/reveal/index.js.map +1 -0
  952. package/dist/components/reveal/reveal.js +14 -0
  953. package/dist/components/reveal/reveal.js.map +1 -0
  954. package/dist/components/reveal-on-enter/index.css +21 -0
  955. package/dist/components/reveal-on-enter/index.css.map +1 -0
  956. package/dist/components/reveal-on-enter/index.js +12 -0
  957. package/dist/components/reveal-on-enter/index.js.map +1 -0
  958. package/dist/components/reveal-on-enter/reveal-on-enter.css +21 -0
  959. package/dist/components/reveal-on-enter/reveal-on-enter.css.map +1 -0
  960. package/dist/components/reveal-on-enter/reveal-on-enter.js +12 -0
  961. package/dist/components/reveal-on-enter/reveal-on-enter.js.map +1 -0
  962. package/dist/components/revision-timeline/index.js +18 -0
  963. package/dist/components/revision-timeline/index.js.map +1 -0
  964. package/dist/components/revision-timeline/revision-timeline.js +18 -0
  965. package/dist/components/revision-timeline/revision-timeline.js.map +1 -0
  966. package/dist/components/schema-form/from-json-schema.js +13 -0
  967. package/dist/components/schema-form/from-json-schema.js.map +1 -0
  968. package/dist/components/schema-form/index.js +140 -0
  969. package/dist/components/schema-form/index.js.map +1 -0
  970. package/dist/components/schema-form/schema-form-spec.js +63 -0
  971. package/dist/components/schema-form/schema-form-spec.js.map +1 -0
  972. package/dist/components/schema-form/schema-form-store.js +21 -0
  973. package/dist/components/schema-form/schema-form-store.js.map +1 -0
  974. package/dist/components/schema-form/schema-form.js +77 -0
  975. package/dist/components/schema-form/schema-form.js.map +1 -0
  976. package/dist/components/scroll-area/index.js +13 -0
  977. package/dist/components/scroll-area/index.js.map +1 -0
  978. package/dist/components/scroll-area/scroll-area.js +12 -0
  979. package/dist/components/scroll-area/scroll-area.js.map +1 -0
  980. package/dist/components/section-header/index.js +11 -0
  981. package/dist/components/section-header/index.js.map +1 -0
  982. package/dist/components/section-header/section-header.js +10 -0
  983. package/dist/components/section-header/section-header.js.map +1 -0
  984. package/dist/components/segmented-field/index.js +17 -0
  985. package/dist/components/segmented-field/index.js.map +1 -0
  986. package/dist/components/segmented-field/segmented-field.js +17 -0
  987. package/dist/components/segmented-field/segmented-field.js.map +1 -0
  988. package/dist/components/select/index.js +26 -0
  989. package/dist/components/select/index.js.map +1 -0
  990. package/dist/components/select/select.js +26 -0
  991. package/dist/components/select/select.js.map +1 -0
  992. package/dist/components/separator/index.js +11 -0
  993. package/dist/components/separator/index.js.map +1 -0
  994. package/dist/components/separator/separator.js +10 -0
  995. package/dist/components/separator/separator.js.map +1 -0
  996. package/dist/components/sheet/index.js +30 -0
  997. package/dist/components/sheet/index.js.map +1 -0
  998. package/dist/components/sheet/sheet.js +30 -0
  999. package/dist/components/sheet/sheet.js.map +1 -0
  1000. package/dist/components/side-dock/index.js +20 -0
  1001. package/dist/components/side-dock/index.js.map +1 -0
  1002. package/dist/components/side-dock/side-dock.js +20 -0
  1003. package/dist/components/side-dock/side-dock.js.map +1 -0
  1004. package/dist/components/sidebar/index.js +77 -0
  1005. package/dist/components/sidebar/index.js.map +1 -0
  1006. package/dist/components/sidebar/sidebar.js +77 -0
  1007. package/dist/components/sidebar/sidebar.js.map +1 -0
  1008. package/dist/components/skeleton/index.js +11 -0
  1009. package/dist/components/skeleton/index.js.map +1 -0
  1010. package/dist/components/skeleton/skeleton.js +10 -0
  1011. package/dist/components/skeleton/skeleton.js.map +1 -0
  1012. package/dist/components/skip-link/index.js +11 -0
  1013. package/dist/components/skip-link/index.js.map +1 -0
  1014. package/dist/components/skip-link/skip-link.js +10 -0
  1015. package/dist/components/skip-link/skip-link.js.map +1 -0
  1016. package/dist/components/slider/index.js +11 -0
  1017. package/dist/components/slider/index.js.map +1 -0
  1018. package/dist/components/slider/slider.js +10 -0
  1019. package/dist/components/slider/slider.js.map +1 -0
  1020. package/dist/components/slider-number/index.js +26 -0
  1021. package/dist/components/slider-number/index.js.map +1 -0
  1022. package/dist/components/slider-number/slider-number.js +26 -0
  1023. package/dist/components/slider-number/slider-number.js.map +1 -0
  1024. package/dist/components/sonner/index.js +13 -0
  1025. package/dist/components/sonner/index.js.map +1 -0
  1026. package/dist/components/sonner/sonner.js +13 -0
  1027. package/dist/components/sonner/sonner.js.map +1 -0
  1028. package/dist/components/spec-playground/index.js +23 -0
  1029. package/dist/components/spec-playground/index.js.map +1 -0
  1030. package/dist/components/spec-playground/locate-json-path.js +17 -0
  1031. package/dist/components/spec-playground/locate-json-path.js.map +1 -0
  1032. package/dist/components/spec-playground/spec-playground.js +23 -0
  1033. package/dist/components/spec-playground/spec-playground.js.map +1 -0
  1034. package/dist/components/spinner/index.js +14 -0
  1035. package/dist/components/spinner/index.js.map +1 -0
  1036. package/dist/components/spinner/spinner.js +14 -0
  1037. package/dist/components/spinner/spinner.js.map +1 -0
  1038. package/dist/components/split-panel/index.js +13 -0
  1039. package/dist/components/split-panel/index.js.map +1 -0
  1040. package/dist/components/split-panel/split-panel.js +12 -0
  1041. package/dist/components/split-panel/split-panel.js.map +1 -0
  1042. package/dist/components/state-panel/index.js +17 -0
  1043. package/dist/components/state-panel/index.js.map +1 -0
  1044. package/dist/components/state-panel/state-panel.js +17 -0
  1045. package/dist/components/state-panel/state-panel.js.map +1 -0
  1046. package/dist/components/status-badge/index.js +30 -0
  1047. package/dist/components/status-badge/index.js.map +1 -0
  1048. package/dist/components/status-badge/status-badge.js +29 -0
  1049. package/dist/components/status-badge/status-badge.js.map +1 -0
  1050. package/dist/components/surface-tour/index.css +21 -0
  1051. package/dist/components/surface-tour/index.css.map +1 -0
  1052. package/dist/components/surface-tour/index.js +36 -0
  1053. package/dist/components/surface-tour/index.js.map +1 -0
  1054. package/dist/components/surface-tour/surface-tour.css +21 -0
  1055. package/dist/components/surface-tour/surface-tour.css.map +1 -0
  1056. package/dist/components/surface-tour/surface-tour.js +36 -0
  1057. package/dist/components/surface-tour/surface-tour.js.map +1 -0
  1058. package/dist/components/switch/index.js +11 -0
  1059. package/dist/components/switch/index.js.map +1 -0
  1060. package/dist/components/switch/switch.js +10 -0
  1061. package/dist/components/switch/switch.js.map +1 -0
  1062. package/dist/components/table/index.js +28 -0
  1063. package/dist/components/table/index.js.map +1 -0
  1064. package/dist/components/table/table.js +28 -0
  1065. package/dist/components/table/table.js.map +1 -0
  1066. package/dist/components/tabs/index.js +22 -0
  1067. package/dist/components/tabs/index.js.map +1 -0
  1068. package/dist/components/tabs/tabs.js +22 -0
  1069. package/dist/components/tabs/tabs.js.map +1 -0
  1070. package/dist/components/tag-input/index.js +21 -0
  1071. package/dist/components/tag-input/index.js.map +1 -0
  1072. package/dist/components/tag-input/tag-input.js +21 -0
  1073. package/dist/components/tag-input/tag-input.js.map +1 -0
  1074. package/dist/components/team-switcher/index.js +33 -0
  1075. package/dist/components/team-switcher/index.js.map +1 -0
  1076. package/dist/components/team-switcher/team-switcher.js +33 -0
  1077. package/dist/components/team-switcher/team-switcher.js.map +1 -0
  1078. package/dist/components/textarea/index.js +11 -0
  1079. package/dist/components/textarea/index.js.map +1 -0
  1080. package/dist/components/textarea/textarea.js +10 -0
  1081. package/dist/components/textarea/textarea.js.map +1 -0
  1082. package/dist/components/theme-family-switch/index.js +19 -0
  1083. package/dist/components/theme-family-switch/index.js.map +1 -0
  1084. package/dist/components/theme-family-switch/theme-family-switch.js +19 -0
  1085. package/dist/components/theme-family-switch/theme-family-switch.js.map +1 -0
  1086. package/dist/components/theme-switcher/index.js +24 -0
  1087. package/dist/components/theme-switcher/index.js.map +1 -0
  1088. package/dist/components/theme-switcher/theme-switcher.js +21 -0
  1089. package/dist/components/theme-switcher/theme-switcher.js.map +1 -0
  1090. package/dist/components/theme-switcher/use-theme-transition.js +10 -0
  1091. package/dist/components/theme-switcher/use-theme-transition.js.map +1 -0
  1092. package/dist/components/timeline/index.js +18 -0
  1093. package/dist/components/timeline/index.js.map +1 -0
  1094. package/dist/components/timeline/timeline.js +19 -0
  1095. package/dist/components/timeline/timeline.js.map +1 -0
  1096. package/dist/components/toggle/index.js +13 -0
  1097. package/dist/components/toggle/index.js.map +1 -0
  1098. package/dist/components/toggle/toggle.js +12 -0
  1099. package/dist/components/toggle/toggle.js.map +1 -0
  1100. package/dist/components/toggle-group/index.js +15 -0
  1101. package/dist/components/toggle-group/index.js.map +1 -0
  1102. package/dist/components/toggle-group/toggle-group.js +15 -0
  1103. package/dist/components/toggle-group/toggle-group.js.map +1 -0
  1104. package/dist/components/token-spotlight/index.css +25 -0
  1105. package/dist/components/token-spotlight/index.css.map +1 -0
  1106. package/dist/components/token-spotlight/index.js +23 -0
  1107. package/dist/components/token-spotlight/index.js.map +1 -0
  1108. package/dist/components/token-spotlight/token-spotlight.css +25 -0
  1109. package/dist/components/token-spotlight/token-spotlight.css.map +1 -0
  1110. package/dist/components/token-spotlight/token-spotlight.js +23 -0
  1111. package/dist/components/token-spotlight/token-spotlight.js.map +1 -0
  1112. package/dist/components/token-spotlight/token-value-format.js +11 -0
  1113. package/dist/components/token-spotlight/token-value-format.js.map +1 -0
  1114. package/dist/components/toolbar/index.js +27 -0
  1115. package/dist/components/toolbar/index.js.map +1 -0
  1116. package/dist/components/toolbar/toolbar.js +27 -0
  1117. package/dist/components/toolbar/toolbar.js.map +1 -0
  1118. package/dist/components/tooltip/index.js +17 -0
  1119. package/dist/components/tooltip/index.js.map +1 -0
  1120. package/dist/components/tooltip/tooltip.js +16 -0
  1121. package/dist/components/tooltip/tooltip.js.map +1 -0
  1122. package/dist/components/top-nav/index.js +11 -0
  1123. package/dist/components/top-nav/index.js.map +1 -0
  1124. package/dist/components/top-nav/top-nav.js +10 -0
  1125. package/dist/components/top-nav/top-nav.js.map +1 -0
  1126. package/dist/components/transfer/index.js +26 -0
  1127. package/dist/components/transfer/index.js.map +1 -0
  1128. package/dist/components/transfer/transfer.js +26 -0
  1129. package/dist/components/transfer/transfer.js.map +1 -0
  1130. package/dist/components/tree/index.js +21 -0
  1131. package/dist/components/tree/index.js.map +1 -0
  1132. package/dist/components/tree/tree.js +18 -0
  1133. package/dist/components/tree/tree.js.map +1 -0
  1134. package/dist/components/tree/use-tree-keyboard.js +14 -0
  1135. package/dist/components/tree/use-tree-keyboard.js.map +1 -0
  1136. package/dist/components/tree-select/index.js +26 -0
  1137. package/dist/components/tree-select/index.js.map +1 -0
  1138. package/dist/components/tree-select/tree-select.js +26 -0
  1139. package/dist/components/tree-select/tree-select.js.map +1 -0
  1140. package/dist/components/typography/index.js +41 -0
  1141. package/dist/components/typography/index.js.map +1 -0
  1142. package/dist/components/typography/prose.js +29 -0
  1143. package/dist/components/typography/prose.js.map +1 -0
  1144. package/dist/components/typography/typography.js +18 -0
  1145. package/dist/components/typography/typography.js.map +1 -0
  1146. package/dist/components/view-toolbar/index.js +27 -0
  1147. package/dist/components/view-toolbar/index.js.map +1 -0
  1148. package/dist/components/view-toolbar/view-toolbar.js +27 -0
  1149. package/dist/components/view-toolbar/view-toolbar.js.map +1 -0
  1150. package/dist/components/virtual-select/index.js +26 -0
  1151. package/dist/components/virtual-select/index.js.map +1 -0
  1152. package/dist/components/virtual-select/use-virtual-listbox.js +10 -0
  1153. package/dist/components/virtual-select/use-virtual-listbox.js.map +1 -0
  1154. package/dist/components/virtual-select/virtual-select.js +23 -0
  1155. package/dist/components/virtual-select/virtual-select.js.map +1 -0
  1156. package/dist/components/wizard/index.js +19 -0
  1157. package/dist/components/wizard/index.js.map +1 -0
  1158. package/dist/components/wizard/wizard.js +19 -0
  1159. package/dist/components/wizard/wizard.js.map +1 -0
  1160. package/dist/components/workspace-picker/index.js +38 -0
  1161. package/dist/components/workspace-picker/index.js.map +1 -0
  1162. package/dist/components/workspace-picker/workspace-picker-state.js +9 -0
  1163. package/dist/components/workspace-picker/workspace-picker-state.js.map +1 -0
  1164. package/dist/components/workspace-picker/workspace-picker.js +35 -0
  1165. package/dist/components/workspace-picker/workspace-picker.js.map +1 -0
  1166. package/dist/form.js +13 -110
  1167. package/dist/form.js.map +1 -1
  1168. package/dist/illustrations/empty-list-illustration.js +11 -0
  1169. package/dist/illustrations/empty-list-illustration.js.map +1 -0
  1170. package/dist/illustrations/error-illustration.js +11 -0
  1171. package/dist/illustrations/error-illustration.js.map +1 -0
  1172. package/dist/illustrations/first-run-illustration.js +11 -0
  1173. package/dist/illustrations/first-run-illustration.js.map +1 -0
  1174. package/dist/illustrations/illustration-base.js +16 -0
  1175. package/dist/illustrations/illustration-base.js.map +1 -0
  1176. package/dist/illustrations/index.js +41 -0
  1177. package/dist/illustrations/index.js.map +1 -0
  1178. package/dist/illustrations/no-access-illustration.js +11 -0
  1179. package/dist/illustrations/no-access-illustration.js.map +1 -0
  1180. package/dist/illustrations/no-results-illustration.js +11 -0
  1181. package/dist/illustrations/no-results-illustration.js.map +1 -0
  1182. package/dist/illustrations/offline-illustration.js +11 -0
  1183. package/dist/illustrations/offline-illustration.js.map +1 -0
  1184. package/dist/illustrations/success-illustration.js +11 -0
  1185. package/dist/illustrations/success-illustration.js.map +1 -0
  1186. package/dist/index.css +122 -0
  1187. package/dist/index.css.map +1 -0
  1188. package/dist/index.d.ts +1312 -119
  1189. package/dist/index.js +1002 -23939
  1190. package/dist/index.js.map +1 -1
  1191. package/dist/lib/agent-event-model.js +9 -0
  1192. package/dist/lib/agent-event-model.js.map +1 -0
  1193. package/dist/lib/approval-option.js +9 -0
  1194. package/dist/lib/approval-option.js.map +1 -0
  1195. package/dist/lib/check-result.js +3 -0
  1196. package/dist/lib/check-result.js.map +1 -0
  1197. package/dist/lib/cn.js +30 -7
  1198. package/dist/lib/cn.js.map +1 -1
  1199. package/dist/lib/color-scale.js +11 -0
  1200. package/dist/lib/color-scale.js.map +1 -0
  1201. package/dist/lib/compact-number.js +21 -0
  1202. package/dist/lib/compact-number.js.map +1 -0
  1203. package/dist/lib/csv.js +11 -0
  1204. package/dist/lib/csv.js.map +1 -0
  1205. package/dist/lib/diff-line.js +11 -0
  1206. package/dist/lib/diff-line.js.map +1 -0
  1207. package/dist/lib/diff-rows.js +12 -0
  1208. package/dist/lib/diff-rows.js.map +1 -0
  1209. package/dist/lib/document-address.js +13 -0
  1210. package/dist/lib/document-address.js.map +1 -0
  1211. package/dist/lib/download.js +11 -0
  1212. package/dist/lib/download.js.map +1 -0
  1213. package/dist/lib/file-icon.js +12 -0
  1214. package/dist/lib/file-icon.js.map +1 -0
  1215. package/dist/lib/file-kind.js +13 -0
  1216. package/dist/lib/file-kind.js.map +1 -0
  1217. package/dist/lib/file-source.js +10 -0
  1218. package/dist/lib/file-source.js.map +1 -0
  1219. package/dist/lib/format-duration.js +9 -0
  1220. package/dist/lib/format-duration.js.map +1 -0
  1221. package/dist/lib/has-renderable-content.js +9 -0
  1222. package/dist/lib/has-renderable-content.js.map +1 -0
  1223. package/dist/lib/merge-refs.js +10 -0
  1224. package/dist/lib/merge-refs.js.map +1 -0
  1225. package/dist/lib/operating-mode.js +9 -0
  1226. package/dist/lib/operating-mode.js.map +1 -0
  1227. package/dist/lib/optional-peer.js +11 -0
  1228. package/dist/lib/optional-peer.js.map +1 -0
  1229. package/dist/lib/session-launch.js +3 -0
  1230. package/dist/lib/session-launch.js.map +1 -0
  1231. package/dist/lib/slash-command.js +11 -0
  1232. package/dist/lib/slash-command.js.map +1 -0
  1233. package/dist/lib/streamdown-translations.js +15 -0
  1234. package/dist/lib/streamdown-translations.js.map +1 -0
  1235. package/dist/lib/trigger-query.js +11 -0
  1236. package/dist/lib/trigger-query.js.map +1 -0
  1237. package/dist/lib/use-controllable-state.js +10 -0
  1238. package/dist/lib/use-controllable-state.js.map +1 -0
  1239. package/dist/lib/use-copy-to-clipboard.js +12 -0
  1240. package/dist/lib/use-copy-to-clipboard.js.map +1 -0
  1241. package/dist/lib/use-mobile.js +10 -0
  1242. package/dist/lib/use-mobile.js.map +1 -0
  1243. package/dist/lib/use-scroll-progress.js +18 -0
  1244. package/dist/lib/use-scroll-progress.js.map +1 -0
  1245. package/package.json +13 -6
  1246. package/src/__contract__/ambient-field.contract.test.tsx +49 -0
  1247. package/src/__contract__/command-chip.contract.test.tsx +49 -0
  1248. package/src/__contract__/install-tabs.contract.test.tsx +49 -0
  1249. package/src/__contract__/integration-matrix.contract.test.tsx +49 -0
  1250. package/src/__contract__/meter.contract.test.tsx +49 -0
  1251. package/src/__contract__/parallax-plane.contract.test.tsx +49 -0
  1252. package/src/__contract__/reveal-on-enter.contract.test.tsx +49 -0
  1253. package/src/__contract__/spec-playground.contract.test.tsx +49 -0
  1254. package/src/__contract__/surface-tour.contract.test.tsx +49 -0
  1255. package/src/__contract__/theme-family-switch.contract.test.tsx +49 -0
  1256. package/src/__contract__/token-spotlight.contract.test.tsx +49 -0
  1257. package/src/blocks-comparison-table.stories.tsx +1 -1
  1258. package/src/components/accordion/accordion.tsx +31 -15
  1259. package/src/components/advanced-group/advanced-group.stories.tsx +2 -0
  1260. package/src/components/alert/alert.tsx +13 -5
  1261. package/src/components/alert-dialog/alert-dialog.tsx +1 -1
  1262. package/src/components/ambient-field/ambient-field.css +98 -0
  1263. package/src/components/ambient-field/ambient-field.stories.tsx +75 -0
  1264. package/src/components/ambient-field/ambient-field.test.tsx +28 -0
  1265. package/src/components/ambient-field/ambient-field.tsx +69 -0
  1266. package/src/components/ambient-field/index.ts +7 -0
  1267. package/src/components/app-shell/app-shell.stories.tsx +344 -1
  1268. package/src/components/app-shell/app-shell.test.tsx +167 -0
  1269. package/src/components/app-shell/app-shell.tsx +119 -5
  1270. package/src/components/app-shell/index.ts +1 -1
  1271. package/src/components/attribution-panel/attributions.generated.ts +77 -4
  1272. package/src/components/badge/badge.stories.tsx +62 -0
  1273. package/src/components/badge/badge.test.tsx +21 -0
  1274. package/src/components/badge/badge.tsx +88 -8
  1275. package/src/components/breadcrumb/breadcrumb.stories.tsx +1 -1
  1276. package/src/components/breadcrumb/breadcrumb.tsx +2 -0
  1277. package/src/components/button/button.stories.tsx +5 -1
  1278. package/src/components/button/button.tsx +19 -8
  1279. package/src/components/calendar/calendar.tsx +6 -1
  1280. package/src/components/card/card.stories.tsx +73 -1
  1281. package/src/components/card/card.test.tsx +29 -2
  1282. package/src/components/card/card.tsx +77 -13
  1283. package/src/components/card/index.ts +2 -0
  1284. package/src/components/change-review/change-review.tsx +1 -1
  1285. package/src/components/collapsible-panel/index.ts +1 -0
  1286. package/src/components/collapsible-panel/use-collapsible-panel.ts +21 -2
  1287. package/src/components/color-picker/color-picker.tsx +3 -3
  1288. package/src/components/command/command.stories.tsx +64 -1
  1289. package/src/components/command/command.test.tsx +73 -0
  1290. package/src/components/command/command.tsx +73 -2
  1291. package/src/components/command-chip/command-chip.stories.tsx +78 -0
  1292. package/src/components/command-chip/command-chip.test.tsx +57 -0
  1293. package/src/components/command-chip/command-chip.tsx +168 -0
  1294. package/src/components/command-chip/index.ts +7 -0
  1295. package/src/components/command-trigger/command-trigger.tsx +1 -1
  1296. package/src/components/confirm-dialog/confirm-dialog.stories.tsx +2 -0
  1297. package/src/components/context-menu/context-menu.stories.tsx +26 -0
  1298. package/src/components/context-menu/context-menu.tsx +6 -6
  1299. package/src/components/context-rail/context-rail.tsx +22 -4
  1300. package/src/components/date-picker/date-picker.tsx +2 -0
  1301. package/src/components/descriptions/descriptions.stories.tsx +6 -0
  1302. package/src/components/descriptions/descriptions.test.tsx +18 -0
  1303. package/src/components/descriptions/descriptions.tsx +33 -5
  1304. package/src/components/descriptions/index.ts +1 -0
  1305. package/src/components/dialog/dialog.stories.tsx +5 -0
  1306. package/src/components/dialog/dialog.tsx +1 -1
  1307. package/src/components/drafting-marks/drafting-marks.stories.tsx +88 -0
  1308. package/src/components/drafting-marks/drafting-marks.test.tsx +55 -0
  1309. package/src/components/drafting-marks/drafting-marks.tsx +120 -0
  1310. package/src/components/drafting-marks/index.ts +7 -0
  1311. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +37 -0
  1312. package/src/components/dropdown-menu/dropdown-menu.tsx +14 -6
  1313. package/src/components/expand-dialog/expand-dialog.test.tsx +47 -0
  1314. package/src/components/expand-dialog/expand-dialog.tsx +20 -5
  1315. package/src/components/hover-card/hover-card.tsx +1 -1
  1316. package/src/components/input/input.stories.tsx +17 -0
  1317. package/src/components/input/input.tsx +1 -1
  1318. package/src/components/input-group/input-group.stories.tsx +43 -6
  1319. package/src/components/input-group/input-group.tsx +5 -2
  1320. package/src/components/input-otp/input-otp.tsx +4 -2
  1321. package/src/components/install-tabs/index.ts +8 -0
  1322. package/src/components/install-tabs/install-tabs.stories.tsx +147 -0
  1323. package/src/components/install-tabs/install-tabs.test.tsx +120 -0
  1324. package/src/components/install-tabs/install-tabs.tsx +238 -0
  1325. package/src/components/integration-matrix/index.ts +10 -0
  1326. package/src/components/integration-matrix/integration-matrix.stories.tsx +171 -0
  1327. package/src/components/integration-matrix/integration-matrix.test.tsx +89 -0
  1328. package/src/components/integration-matrix/integration-matrix.tsx +237 -0
  1329. package/src/components/locale-provider/messages.ts +252 -0
  1330. package/src/components/mention-input/mention-input.tsx +1 -1
  1331. package/src/components/menubar/menubar.stories.tsx +25 -0
  1332. package/src/components/menubar/menubar.tsx +7 -7
  1333. package/src/components/meter/index.ts +1 -0
  1334. package/src/components/meter/meter.stories.tsx +102 -0
  1335. package/src/components/meter/meter.test.tsx +61 -0
  1336. package/src/components/meter/meter.tsx +173 -0
  1337. package/src/components/metric-card/index.ts +6 -1
  1338. package/src/components/metric-card/metric-card.stories.tsx +63 -0
  1339. package/src/components/metric-card/metric-card.test.tsx +83 -0
  1340. package/src/components/metric-card/metric-card.tsx +97 -14
  1341. package/src/components/nav-user/nav-user.test.tsx +23 -1
  1342. package/src/components/nav-user/nav-user.tsx +68 -53
  1343. package/src/components/navigation-menu/navigation-menu.stories.tsx +42 -0
  1344. package/src/components/navigation-menu/navigation-menu.tsx +1 -1
  1345. package/src/components/page-shell/page-shell.stories.tsx +1 -1
  1346. package/src/components/page-shell/page-shell.tsx +3 -2
  1347. package/src/components/pagination/pagination.tsx +2 -0
  1348. package/src/components/parallax-plane/index.ts +8 -0
  1349. package/src/components/parallax-plane/parallax-plane.css +26 -0
  1350. package/src/components/parallax-plane/parallax-plane.stories.tsx +88 -0
  1351. package/src/components/parallax-plane/parallax-plane.test.tsx +57 -0
  1352. package/src/components/parallax-plane/parallax-plane.tsx +80 -0
  1353. package/src/components/popover/popover.tsx +1 -1
  1354. package/src/components/progress/progress.stories.tsx +85 -0
  1355. package/src/components/progress/progress.test.tsx +47 -0
  1356. package/src/components/progress/progress.tsx +57 -3
  1357. package/src/components/reveal-on-enter/index.ts +5 -0
  1358. package/src/components/reveal-on-enter/reveal-on-enter.css +32 -0
  1359. package/src/components/reveal-on-enter/reveal-on-enter.stories.tsx +100 -0
  1360. package/src/components/reveal-on-enter/reveal-on-enter.test.tsx +87 -0
  1361. package/src/components/reveal-on-enter/reveal-on-enter.tsx +75 -0
  1362. package/src/components/revision-timeline/revision-timeline.tsx +1 -3
  1363. package/src/components/schema-form/index.ts +2 -0
  1364. package/src/components/schema-form/schema-form-spec.ts +36 -0
  1365. package/src/components/schema-form/schema-form.stories.tsx +33 -0
  1366. package/src/components/schema-form/schema-form.test.tsx +43 -0
  1367. package/src/components/schema-form/schema-form.tsx +111 -4
  1368. package/src/components/scroll-area/index.ts +1 -1
  1369. package/src/components/scroll-area/scroll-area.tsx +47 -18
  1370. package/src/components/section-header/section-header.stories.tsx +23 -0
  1371. package/src/components/section-header/section-header.tsx +27 -9
  1372. package/src/components/select/select.stories.tsx +17 -0
  1373. package/src/components/select/select.test.tsx +28 -1
  1374. package/src/components/select/select.tsx +3 -3
  1375. package/src/components/sheet/sheet.tsx +1 -1
  1376. package/src/components/side-dock/side-dock.stories.tsx +83 -0
  1377. package/src/components/side-dock/side-dock.tsx +50 -16
  1378. package/src/components/sidebar/sidebar.stories.tsx +3 -3
  1379. package/src/components/sidebar/sidebar.test.tsx +31 -1
  1380. package/src/components/sidebar/sidebar.tsx +40 -8
  1381. package/src/components/skip-link/skip-link.stories.tsx +1 -0
  1382. package/src/components/slider/slider.stories.tsx +13 -77
  1383. package/src/components/spec-playground/index.ts +10 -0
  1384. package/src/components/spec-playground/locate-json-path.ts +144 -0
  1385. package/src/components/spec-playground/spec-playground.stories.tsx +156 -0
  1386. package/src/components/spec-playground/spec-playground.test.tsx +106 -0
  1387. package/src/components/spec-playground/spec-playground.tsx +351 -0
  1388. package/src/components/state-panel/state-panel.stories.tsx +4 -2
  1389. package/src/components/state-panel/state-panel.tsx +1 -1
  1390. package/src/components/status-badge/status-badge.stories.tsx +53 -0
  1391. package/src/components/status-badge/status-badge.test.tsx +37 -0
  1392. package/src/components/status-badge/status-badge.tsx +75 -13
  1393. package/src/components/surface-tour/index.ts +11 -0
  1394. package/src/components/surface-tour/surface-tour.stories.tsx +150 -0
  1395. package/src/components/surface-tour/surface-tour.test.tsx +117 -0
  1396. package/src/components/surface-tour/surface-tour.tsx +456 -0
  1397. package/src/components/table/table.tsx +5 -2
  1398. package/src/components/tabs/tabs.stories.tsx +47 -1
  1399. package/src/components/tabs/tabs.test.tsx +26 -0
  1400. package/src/components/tabs/tabs.tsx +51 -11
  1401. package/src/components/textarea/textarea.tsx +1 -1
  1402. package/src/components/theme-family-switch/index.ts +10 -0
  1403. package/src/components/theme-family-switch/theme-family-switch.stories.tsx +97 -0
  1404. package/src/components/theme-family-switch/theme-family-switch.test.tsx +85 -0
  1405. package/src/components/theme-family-switch/theme-family-switch.tsx +166 -0
  1406. package/src/components/theme-switcher/theme-switcher.tsx +11 -4
  1407. package/src/components/token-spotlight/index.ts +11 -0
  1408. package/src/components/token-spotlight/token-spotlight.css +32 -0
  1409. package/src/components/token-spotlight/token-spotlight.stories.tsx +161 -0
  1410. package/src/components/token-spotlight/token-spotlight.test.tsx +323 -0
  1411. package/src/components/token-spotlight/token-spotlight.tsx +379 -0
  1412. package/src/components/token-spotlight/token-value-format.ts +205 -0
  1413. package/src/components/top-nav/top-nav.test.tsx +59 -0
  1414. package/src/components/top-nav/top-nav.tsx +36 -6
  1415. package/src/components/tree/tree.stories.tsx +1 -1
  1416. package/src/components/tree/tree.test.tsx +4 -4
  1417. package/src/components/tree/tree.tsx +4 -4
  1418. package/src/components/typography/typography.stories.tsx +7 -2
  1419. package/src/components/typography/typography.tsx +8 -0
  1420. package/src/components/view-toolbar/view-toolbar.stories.tsx +2 -1
  1421. package/src/components/view-toolbar/view-toolbar.tsx +2 -2
  1422. package/src/decoration.stories.tsx +243 -2
  1423. package/src/index.ts +47 -0
  1424. package/src/lib/cn.test.ts +49 -0
  1425. package/src/lib/cn.ts +39 -7
  1426. package/src/lib/color-scale.test.ts +386 -0
  1427. package/src/lib/color-scale.ts +628 -0
  1428. package/src/lib/compact-number.ts +118 -28
  1429. package/src/lib/use-scroll-progress.ts +103 -0
  1430. package/src/motion.stories.tsx +1 -0
  1431. package/src/templates-object-detail-hub.stories.tsx +8 -8
  1432. package/src/templates-screen-states.stories.tsx +1 -1
  1433. package/src/templates-settings.stories.tsx +8 -3
  1434. package/dist/chunk-FCH4ZN6G.js +0 -57
  1435. package/dist/chunk-FCH4ZN6G.js.map +0 -1
@@ -0,0 +1,209 @@
1
+ "use client";
2
+ import {
3
+ mergeRefs
4
+ } from "./chunk-L37QZALU.js";
5
+ import {
6
+ cn
7
+ } from "./chunk-FXWWDMMP.js";
8
+
9
+ // src/components/tabs/tabs.tsx
10
+ import {
11
+ createContext,
12
+ forwardRef,
13
+ use,
14
+ useEffect,
15
+ useMemo,
16
+ useRef
17
+ } from "react";
18
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
19
+ import { cva } from "class-variance-authority";
20
+ import { useReducedMotion } from "@elabs-ai/components-tokens";
21
+ import { jsx } from "react/jsx-runtime";
22
+ var Tabs = TabsPrimitive.Root;
23
+ function scrollTriggerIntoStrip(trigger, behavior) {
24
+ const strip = trigger.closest('[role="tablist"]');
25
+ if (!strip) return;
26
+ if (strip.scrollWidth <= strip.clientWidth) return;
27
+ const { paddingLeft, paddingRight } = getComputedStyle(strip);
28
+ const triggerRect = trigger.getBoundingClientRect();
29
+ const stripRect = strip.getBoundingClientRect();
30
+ const visibleLeft = stripRect.left + (parseFloat(paddingLeft) || 0);
31
+ const visibleRight = stripRect.right - (parseFloat(paddingRight) || 0);
32
+ const delta = triggerRect.left < visibleLeft ? triggerRect.left - visibleLeft : triggerRect.right > visibleRight ? triggerRect.right - visibleRight : 0;
33
+ if (delta === 0) return;
34
+ const left = strip.scrollLeft + delta;
35
+ if (typeof strip.scrollTo === "function") strip.scrollTo({ left, behavior });
36
+ else strip.scrollLeft = left;
37
+ }
38
+ var TABS_UNDERLINE_LIST_OVERRIDE = "tabs-underline:flex tabs-underline:h-auto tabs-underline:w-full tabs-underline:justify-start tabs-underline:rounded-none tabs-underline:bg-transparent tabs-underline:p-0 tabs-underline:border-b tabs-underline:border-rule";
39
+ var TABS_UNDERLINE_TRIGGER_OVERRIDE = "tabs-underline:h-12 tabs-underline:rounded-none tabs-underline:border-b-(length:--tabs-indicator-width) tabs-underline:border-transparent tabs-underline:px-4 tabs-underline:py-0 tabs-underline:hover:text-foreground tabs-underline:focus-ring-inset tabs-underline:focus-visible:ring-offset-0 tabs-underline:data-[state=active]:bg-transparent tabs-underline:data-[state=active]:shadow-none tabs-underline:data-[state=active]:border-primary";
40
+ var tabsListVariants = cva(
41
+ "max-w-full items-center overflow-x-auto text-muted-foreground",
42
+ {
43
+ variants: {
44
+ variant: {
45
+ // Recessed pill track with a raised active segment. Also the
46
+ // TOKEN-DRIVEN DEFAULT's base — see `TABS_UNDERLINE_LIST_OVERRIDE`.
47
+ segmented: cn(
48
+ "inline-flex h-9 justify-center-safe rounded-lg bg-muted p-1",
49
+ TABS_UNDERLINE_LIST_OVERRIDE
50
+ ),
51
+ // Line tabs: a transparent start-aligned row over a 1px rule; the active
52
+ // tab's underline sits on top of it (see `tabsTriggerVariants`).
53
+ underline: "flex w-full justify-start border-b border-rule"
54
+ }
55
+ },
56
+ defaultVariants: { variant: "segmented" }
57
+ }
58
+ );
59
+ var tabsTriggerVariants = cva(
60
+ "inline-flex items-center justify-center whitespace-nowrap text-body font-control transition-colors duration-fast disabled:pointer-events-none disabled:opacity-50",
61
+ {
62
+ variants: {
63
+ variant: {
64
+ // Also the TOKEN-DRIVEN DEFAULT's base — see `TABS_UNDERLINE_TRIGGER_OVERRIDE`.
65
+ segmented: cn(
66
+ "rounded-control px-3 py-1",
67
+ // `ring-offset-1`, not `-2`: the compound indicator's reach is
68
+ // `ring-offset` + 2px ring + 1px contour, and `TabsList` is an
69
+ // `overflow-x-auto` strip with `p-1` (4px). At offset 2 the reach is 5px
70
+ // and the scroll box clips the contour on three sides (#67 fix round 2,
71
+ // measured on `patterns-templates-starters-object-detail-hub--default` tab stop
72
+ // 9); at offset 1 it is exactly 4px and the loop closes.
73
+ "focus-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background",
74
+ "data-[state=active]:bg-surface-elevated data-[state=active]:text-foreground data-[state=active]:shadow-sm",
75
+ "data-[state=active]:font-tabs-active",
76
+ TABS_UNDERLINE_TRIGGER_OVERRIDE
77
+ ),
78
+ underline: cn(
79
+ // The underline is a bottom BORDER inside the fixed height, transparent
80
+ // at rest, so activation never shifts layout. No negative margin to
81
+ // overlap the list's rule: the list scrolls (`overflow-x-auto`), which
82
+ // would clip anything hanging past its padding box. The strip has no
83
+ // padding for an outer ring either, so the indicator is drawn inset.
84
+ "h-12 rounded-none border-b-(length:--tabs-indicator-width) border-transparent px-4 hover:text-foreground",
85
+ "focus-ring-inset",
86
+ "data-[state=active]:border-primary data-[state=active]:text-foreground",
87
+ "data-[state=active]:font-tabs-active"
88
+ )
89
+ }
90
+ },
91
+ defaultVariants: { variant: "segmented" }
92
+ }
93
+ );
94
+ var TabsVariantContext = createContext(void 0);
95
+ var TabsList = forwardRef(
96
+ function TabsList2({ className, variant, ...props }, ref) {
97
+ const explicitVariant = variant ?? void 0;
98
+ const resolved = explicitVariant ?? "segmented";
99
+ const innerRef = useRef(null);
100
+ const mergedRef = useMemo(() => mergeRefs(ref, innerRef), [ref]);
101
+ const reducedMotion = useReducedMotion();
102
+ useEffect(() => {
103
+ const node = innerRef.current;
104
+ if (!node) return;
105
+ const scrollActiveIntoView = () => {
106
+ const active = node.querySelector(
107
+ '[data-slot="tabs-trigger"][data-state="active"]'
108
+ );
109
+ if (active) scrollTriggerIntoStrip(active, reducedMotion ? "auto" : "smooth");
110
+ };
111
+ const activationObserver = new MutationObserver((mutations) => {
112
+ for (const mutation of mutations) {
113
+ const el = mutation.target;
114
+ if (el.getAttribute("data-state") === "active") {
115
+ scrollTriggerIntoStrip(el, reducedMotion ? "auto" : "smooth");
116
+ break;
117
+ }
118
+ }
119
+ });
120
+ activationObserver.observe(node, {
121
+ subtree: true,
122
+ attributes: true,
123
+ attributeFilter: ["data-state"]
124
+ });
125
+ let resizeObserver;
126
+ if (typeof ResizeObserver === "function") {
127
+ resizeObserver = new ResizeObserver(scrollActiveIntoView);
128
+ resizeObserver.observe(node);
129
+ for (const trigger of node.querySelectorAll('[data-slot="tabs-trigger"]')) {
130
+ resizeObserver.observe(trigger);
131
+ }
132
+ }
133
+ const childListObserver = new MutationObserver((mutations) => {
134
+ if (!resizeObserver) return;
135
+ for (const mutation of mutations) {
136
+ mutation.addedNodes.forEach((added) => {
137
+ if (added instanceof HTMLElement && added.matches('[data-slot="tabs-trigger"]')) {
138
+ resizeObserver.observe(added);
139
+ }
140
+ });
141
+ mutation.removedNodes.forEach((removed) => {
142
+ if (removed instanceof HTMLElement && removed.matches('[data-slot="tabs-trigger"]')) {
143
+ resizeObserver.unobserve(removed);
144
+ }
145
+ });
146
+ }
147
+ });
148
+ childListObserver.observe(node, { childList: true, subtree: true });
149
+ return () => {
150
+ activationObserver.disconnect();
151
+ resizeObserver?.disconnect();
152
+ childListObserver.disconnect();
153
+ };
154
+ }, [reducedMotion]);
155
+ return (
156
+ // The normalized `explicitVariant` (undefined when unset), not
157
+ // `resolved` — an undefined Provider value is what lets a
158
+ // variant-less `TabsTrigger` also omit its own `data-variant` below.
159
+ /* @__PURE__ */ jsx(TabsVariantContext.Provider, { value: explicitVariant, children: /* @__PURE__ */ jsx(
160
+ TabsPrimitive.List,
161
+ {
162
+ ref: mergedRef,
163
+ "data-slot": "tabs-list",
164
+ "data-variant": explicitVariant,
165
+ className: cn(tabsListVariants({ variant: resolved }), className),
166
+ ...props
167
+ }
168
+ ) })
169
+ );
170
+ }
171
+ );
172
+ var TabsTrigger = forwardRef(function TabsTrigger2({ className, ...props }, ref) {
173
+ const variant = use(TabsVariantContext);
174
+ const resolved = variant ?? "segmented";
175
+ return /* @__PURE__ */ jsx(
176
+ TabsPrimitive.Trigger,
177
+ {
178
+ ref,
179
+ "data-slot": "tabs-trigger",
180
+ "data-variant": variant,
181
+ className: cn(tabsTriggerVariants({ variant: resolved }), className),
182
+ ...props
183
+ }
184
+ );
185
+ });
186
+ var TabsContent = forwardRef(function TabsContent2({ className, ...props }, ref) {
187
+ return /* @__PURE__ */ jsx(
188
+ TabsPrimitive.Content,
189
+ {
190
+ ref,
191
+ className: cn(
192
+ "mt-2 focus-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
193
+ "data-[state=active]:animate-in data-[state=active]:fade-in-0 data-[state=active]:slide-in-from-bottom-1 data-[state=active]:[--tw-ease:var(--ease-entrance)]",
194
+ className
195
+ ),
196
+ ...props
197
+ }
198
+ );
199
+ });
200
+
201
+ export {
202
+ Tabs,
203
+ tabsListVariants,
204
+ tabsTriggerVariants,
205
+ TabsList,
206
+ TabsTrigger,
207
+ TabsContent
208
+ };
209
+ //# sourceMappingURL=chunk-QKZX5HDY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/tabs/tabs.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n createContext,\n forwardRef,\n use,\n useEffect,\n useMemo,\n useRef,\n type ComponentPropsWithoutRef,\n type ElementRef,\n} from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { useReducedMotion } from \"@elabs-ai/components-tokens\";\nimport { cn } from \"../../lib/cn\";\nimport { mergeRefs } from \"../../lib/merge-refs\";\n\nexport const Tabs = TabsPrimitive.Root;\n\n/**\n * Bring `trigger` inside the visible bounds of ITS OWN tab strip.\n *\n * Deliberately NOT `Element.scrollIntoView()`: that walks every scrollable\n * ancestor up to the document, so a Tabs sitting below the fold yanks the\n * whole PAGE (measured: `window.scrollY` 0 → 900 on a non-overflowing strip\n * under a 3000px spacer). Scrolling the strip itself is the only movement\n * this feature is entitled to make. It is also why nothing here throws under\n * jsdom, where `scrollIntoView` does not exist: the overflow gate below\n * returns first (`scrollWidth === clientWidth === 0`) and the scroll call is\n * feature-detected.\n */\nfunction scrollTriggerIntoStrip(trigger: HTMLElement, behavior: ScrollBehavior) {\n const strip = trigger.closest<HTMLElement>('[role=\"tablist\"]');\n if (!strip) return;\n // A strip that fits has nothing to scroll — keep it byte-for-byte inert.\n if (strip.scrollWidth <= strip.clientWidth) return;\n\n // Keep the strip's own padding as a gutter, so the tab lands inset (with its\n // focus ring / active shadow visible) rather than flush against the edge.\n const { paddingLeft, paddingRight } = getComputedStyle(strip);\n const triggerRect = trigger.getBoundingClientRect();\n const stripRect = strip.getBoundingClientRect();\n const visibleLeft = stripRect.left + (parseFloat(paddingLeft) || 0);\n const visibleRight = stripRect.right - (parseFloat(paddingRight) || 0);\n const delta =\n triggerRect.left < visibleLeft\n ? triggerRect.left - visibleLeft\n : triggerRect.right > visibleRight\n ? triggerRect.right - visibleRight\n : 0;\n // Nothing to do: the tab is already fully visible — typically because the\n // browser's own focus-scroll got there first on a keyboard/pointer\n // activation. That check is what keeps this from fighting the browser.\n if (delta === 0) return;\n\n // An ABSOLUTE target, not `scrollBy(delta)`: a relative scroll issued while\n // an earlier smooth scroll is still in flight accumulates against a moving\n // offset and lands short. `scrollLeft + delta` is read in the same instant\n // as the rects, so it is exact whatever the animation is doing.\n const left = strip.scrollLeft + delta;\n if (typeof strip.scrollTo === \"function\") strip.scrollTo({ left, behavior });\n else strip.scrollLeft = left;\n}\n\n/**\n * `overflow-x-auto` + `max-w-full` turn an overflowing tab strip into a\n * scroll container instead of silently clipping it — a bare `inline-flex`\n * has no bound on this element's own width, so without `max-w-full` it would\n * just grow past its parent instead of scrolling. `justify-center-safe`\n * (not `justify-center`) is required too: plain `justify-center` strands the\n * first tab off the left edge once the set overflows; `safe` falls back to\n * start-alignment on overflow while staying visually identical when the\n * strip fits (see #344).\n *\n * Token-driven default (`--tabs-variant`, default `segmented`): when the\n * caller passes NO `variant`, `TabsList`/`TabsTrigger` render with no\n * `data-variant` attribute at all — the `segmented` cva branch below, plus\n * these `tabs-underline:`-prefixed overrides, which the `tabs-underline`\n * custom variant (`themes.css`) only activates via a container style query\n * on an ancestor's `--tabs-variant`. An explicit `variant` prop always\n * renders `data-variant`, which the same custom variant's `:not([data-variant])`\n * guard excludes — so these overrides are inert on an explicit strip and its\n * own `underline` branch (below) renders unchanged. Literal strings, not\n * built via interpolation — see `badge.tsx`'s note on the same rule.\n */\nconst TABS_UNDERLINE_LIST_OVERRIDE =\n \"tabs-underline:flex tabs-underline:h-auto tabs-underline:w-full tabs-underline:justify-start tabs-underline:rounded-none tabs-underline:bg-transparent tabs-underline:p-0 tabs-underline:border-b tabs-underline:border-rule\";\n\nconst TABS_UNDERLINE_TRIGGER_OVERRIDE =\n \"tabs-underline:h-12 tabs-underline:rounded-none tabs-underline:border-b-(length:--tabs-indicator-width) tabs-underline:border-transparent tabs-underline:px-4 tabs-underline:py-0 tabs-underline:hover:text-foreground tabs-underline:focus-ring-inset tabs-underline:focus-visible:ring-offset-0 tabs-underline:data-[state=active]:bg-transparent tabs-underline:data-[state=active]:shadow-none tabs-underline:data-[state=active]:border-primary\";\n\nexport const tabsListVariants = cva(\n \"max-w-full items-center overflow-x-auto text-muted-foreground\",\n {\n variants: {\n variant: {\n // Recessed pill track with a raised active segment. Also the\n // TOKEN-DRIVEN DEFAULT's base — see `TABS_UNDERLINE_LIST_OVERRIDE`.\n segmented: cn(\n \"inline-flex h-9 justify-center-safe rounded-lg bg-muted p-1\",\n TABS_UNDERLINE_LIST_OVERRIDE,\n ),\n // Line tabs: a transparent start-aligned row over a 1px rule; the active\n // tab's underline sits on top of it (see `tabsTriggerVariants`).\n underline: \"flex w-full justify-start border-b border-rule\",\n },\n },\n defaultVariants: { variant: \"segmented\" },\n },\n);\n\nexport const tabsTriggerVariants = cva(\n \"inline-flex items-center justify-center whitespace-nowrap text-body font-control transition-colors duration-fast disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n // Also the TOKEN-DRIVEN DEFAULT's base — see `TABS_UNDERLINE_TRIGGER_OVERRIDE`.\n segmented: cn(\n \"rounded-control px-3 py-1\",\n // `ring-offset-1`, not `-2`: the compound indicator's reach is\n // `ring-offset` + 2px ring + 1px contour, and `TabsList` is an\n // `overflow-x-auto` strip with `p-1` (4px). At offset 2 the reach is 5px\n // and the scroll box clips the contour on three sides (#67 fix round 2,\n // measured on `patterns-templates-starters-object-detail-hub--default` tab stop\n // 9); at offset 1 it is exactly 4px and the loop closes.\n \"focus-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background\",\n \"data-[state=active]:bg-surface-elevated data-[state=active]:text-foreground data-[state=active]:shadow-sm\",\n \"data-[state=active]:font-tabs-active\",\n TABS_UNDERLINE_TRIGGER_OVERRIDE,\n ),\n underline: cn(\n // The underline is a bottom BORDER inside the fixed height, transparent\n // at rest, so activation never shifts layout. No negative margin to\n // overlap the list's rule: the list scrolls (`overflow-x-auto`), which\n // would clip anything hanging past its padding box. The strip has no\n // padding for an outer ring either, so the indicator is drawn inset.\n \"h-12 rounded-none border-b-(length:--tabs-indicator-width) border-transparent px-4 hover:text-foreground\",\n \"focus-ring-inset\",\n \"data-[state=active]:border-primary data-[state=active]:text-foreground\",\n \"data-[state=active]:font-tabs-active\",\n ),\n },\n },\n defaultVariants: { variant: \"segmented\" },\n },\n);\n\nexport type TabsVariant = NonNullable<VariantProps<typeof tabsListVariants>[\"variant\"]>;\n\n/**\n * The list owns the variant; its triggers read it, so a strip never mixes\n * two. `undefined` = the caller passed no `variant` on `TabsList` — the\n * token-driven default (`--tabs-variant`): neither the list nor its triggers\n * render a `data-variant` attribute, so the `tabs-underline:` custom\n * variant's container style query decides the look.\n */\nconst TabsVariantContext = createContext<TabsVariant | undefined>(undefined);\n\nexport interface TabsListProps\n extends\n ComponentPropsWithoutRef<typeof TabsPrimitive.List>,\n VariantProps<typeof tabsListVariants> {}\n\nexport const TabsList = forwardRef<ElementRef<typeof TabsPrimitive.List>, TabsListProps>(\n function TabsList({ className, variant, ...props }, ref) {\n // cva's `VariantProps` types `variant` as possibly `null` (an explicit\n // opt-out); normalize it to `undefined` so it matches `TabsVariant |\n // undefined` — same DOM/CSS effect either way (no `data-variant`).\n const explicitVariant = variant ?? undefined;\n const resolved = explicitVariant ?? \"segmented\";\n const innerRef = useRef<HTMLDivElement | null>(null);\n const mergedRef = useMemo(() => mergeRefs(ref, innerRef), [ref]);\n // Honours the in-app tri-state motion preference on `ThemeProvider` as well\n // as the OS setting, and degrades to OS-only outside a provider.\n const reducedMotion = useReducedMotion();\n\n // Keep the tab that BECOMES active inside the strip's visible bounds.\n //\n // ONE set of observers per LIST, not one per trigger (#387 perf finding:\n // N triggers used to mean N independent `MutationObserver`s (each\n // watching only its own node) plus N independent `ResizeObserver`s (each\n // ALSO watching this same shared strip) — a resize of a 20-tab strip fired\n // 20 redundant callbacks. Watching the list's subtree in one callback\n // gets the same behaviour for the cost of one.\n //\n // Watching attributes rather than reacting to a render is still\n // load-bearing: Radix flips `data-state` on the trigger it renders, and\n // only ITS OWN context consumer re-renders — this component does not, so\n // a render-driven effect would never observe an activation at all\n // (measured: 8 effect runs for 8 triggers at mount, zero on any later\n // activation). A MutationObserver fires on a genuine inactive → active\n // TRANSITION and never at mount, which is what stops a freshly-mounted\n // Tabs from scrolling anything (#344 shipped a version that scrolled the\n // page 900px on every mount).\n useEffect(() => {\n const node = innerRef.current;\n if (!node) return;\n\n const scrollActiveIntoView = () => {\n const active = node.querySelector<HTMLElement>(\n '[data-slot=\"tabs-trigger\"][data-state=\"active\"]',\n );\n if (active) scrollTriggerIntoStrip(active, reducedMotion ? \"auto\" : \"smooth\");\n };\n\n const activationObserver = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n const el = mutation.target as HTMLElement;\n if (el.getAttribute(\"data-state\") === \"active\") {\n scrollTriggerIntoStrip(el, reducedMotion ? \"auto\" : \"smooth\");\n break;\n }\n }\n });\n activationObserver.observe(node, {\n subtree: true,\n attributes: true,\n attributeFilter: [\"data-state\"],\n });\n\n // A relayout AFTER the scroll invalidates the target it was computed\n // from: a webfont swapping in on a cold load (measured — a\n // mono-everything theme's wider mono face left the last tab 45px\n // outside the strip), or the strip itself being resized. One\n // `ResizeObserver` instance covers both — it watches the strip AND\n // every trigger inside it, not a second instance per trigger.\n let resizeObserver: ResizeObserver | undefined;\n if (typeof ResizeObserver === \"function\") {\n resizeObserver = new ResizeObserver(scrollActiveIntoView);\n resizeObserver.observe(node);\n for (const trigger of node.querySelectorAll<HTMLElement>('[data-slot=\"tabs-trigger\"]')) {\n resizeObserver.observe(trigger);\n }\n }\n\n // A dynamic tab list can add/remove triggers later — keep the single\n // `ResizeObserver`'s target set in sync instead of spinning up a new\n // observer per trigger mount.\n const childListObserver = new MutationObserver((mutations) => {\n if (!resizeObserver) return;\n for (const mutation of mutations) {\n mutation.addedNodes.forEach((added) => {\n if (added instanceof HTMLElement && added.matches('[data-slot=\"tabs-trigger\"]')) {\n resizeObserver!.observe(added);\n }\n });\n mutation.removedNodes.forEach((removed) => {\n if (removed instanceof HTMLElement && removed.matches('[data-slot=\"tabs-trigger\"]')) {\n resizeObserver!.unobserve(removed);\n }\n });\n }\n });\n childListObserver.observe(node, { childList: true, subtree: true });\n\n return () => {\n activationObserver.disconnect();\n resizeObserver?.disconnect();\n childListObserver.disconnect();\n };\n }, [reducedMotion]);\n\n return (\n // The normalized `explicitVariant` (undefined when unset), not\n // `resolved` — an undefined Provider value is what lets a\n // variant-less `TabsTrigger` also omit its own `data-variant` below.\n <TabsVariantContext.Provider value={explicitVariant}>\n <TabsPrimitive.List\n ref={mergedRef}\n data-slot=\"tabs-list\"\n data-variant={explicitVariant}\n className={cn(tabsListVariants({ variant: resolved }), className)}\n {...props}\n />\n </TabsVariantContext.Provider>\n );\n },\n);\n\nexport const TabsTrigger = forwardRef<\n ElementRef<typeof TabsPrimitive.Trigger>,\n ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(function TabsTrigger({ className, ...props }, ref) {\n const variant = use(TabsVariantContext);\n const resolved = variant ?? \"segmented\";\n\n return (\n <TabsPrimitive.Trigger\n ref={ref}\n data-slot=\"tabs-trigger\"\n data-variant={variant}\n className={cn(tabsTriggerVariants({ variant: resolved }), className)}\n {...props}\n />\n );\n});\n\nexport const TabsContent = forwardRef<\n ElementRef<typeof TabsPrimitive.Content>,\n ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(function TabsContent({ className, ...props }, ref) {\n return (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-2 focus-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n \"data-[state=active]:animate-in data-[state=active]:fade-in-0 data-[state=active]:slide-in-from-bottom-1 data-[state=active]:[--tw-ease:var(--ease-entrance)]\",\n className,\n )}\n {...props}\n />\n );\n});\n"],"mappings":"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","names":["TabsList","TabsTrigger","TabsContent"]}
@@ -0,0 +1,100 @@
1
+ "use client";
2
+ import {
3
+ DropdownMenu,
4
+ DropdownMenuContent,
5
+ DropdownMenuItem,
6
+ DropdownMenuLabel,
7
+ DropdownMenuSeparator,
8
+ DropdownMenuShortcut,
9
+ DropdownMenuTrigger
10
+ } from "./chunk-ZSYT5H6U.js";
11
+ import {
12
+ SidebarMenu,
13
+ SidebarMenuButton,
14
+ SidebarMenuItem,
15
+ useSidebar
16
+ } from "./chunk-HWVU636Q.js";
17
+ import {
18
+ useLocale
19
+ } from "./chunk-EJQYE4MY.js";
20
+ import {
21
+ cn
22
+ } from "./chunk-FXWWDMMP.js";
23
+
24
+ // src/components/team-switcher/team-switcher.tsx
25
+ import * as React from "react";
26
+ import { ChevronsUpDown, Plus } from "lucide-react";
27
+ import { jsx, jsxs } from "react/jsx-runtime";
28
+ function TeamSwitcher({ teams, logoClassName, className }) {
29
+ const { isMobile } = useSidebar();
30
+ const { t } = useLocale();
31
+ const [activeTeam, setActiveTeam] = React.useState(teams[0]);
32
+ if (!activeTeam) return null;
33
+ const Logo = activeTeam.logo;
34
+ return /* @__PURE__ */ jsx(SidebarMenu, { className, children: /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxs(DropdownMenu, { children: [
35
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
36
+ SidebarMenuButton,
37
+ {
38
+ size: "lg",
39
+ "aria-label": `${activeTeam.name} ${activeTeam.plan}`,
40
+ className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
41
+ children: [
42
+ /* @__PURE__ */ jsx(
43
+ "div",
44
+ {
45
+ className: cn(
46
+ "flex aspect-square size-8 shrink-0 items-center justify-center rounded-lg",
47
+ logoClassName ?? "bg-sidebar-accent text-sidebar-accent-foreground",
48
+ "group-data-[collapsible=icon]:size-4 group-data-[collapsible=icon]:rounded-none group-data-[collapsible=icon]:bg-transparent group-data-[collapsible=icon]:text-sidebar-foreground"
49
+ ),
50
+ children: /* @__PURE__ */ jsx(Logo, { className: "size-4" })
51
+ }
52
+ ),
53
+ /* @__PURE__ */ jsxs("div", { className: "grid flex-1 text-start text-body leading-tight group-data-[collapsible=icon]:hidden", children: [
54
+ /* @__PURE__ */ jsx("span", { className: "truncate font-semibold", children: activeTeam.name }),
55
+ /* @__PURE__ */ jsx("span", { className: "truncate text-meta", children: activeTeam.plan })
56
+ ] }),
57
+ /* @__PURE__ */ jsx(ChevronsUpDown, { className: "ms-auto group-data-[collapsible=icon]:hidden" })
58
+ ]
59
+ }
60
+ ) }),
61
+ /* @__PURE__ */ jsxs(
62
+ DropdownMenuContent,
63
+ {
64
+ className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg",
65
+ align: "start",
66
+ side: isMobile ? "bottom" : "right",
67
+ sideOffset: 4,
68
+ children: [
69
+ /* @__PURE__ */ jsx(DropdownMenuLabel, { className: "text-meta text-muted-foreground", children: t("ui.teamSwitcher.label") }),
70
+ teams.map((team, index) => /* @__PURE__ */ jsxs(
71
+ DropdownMenuItem,
72
+ {
73
+ onClick: () => setActiveTeam(team),
74
+ className: "gap-2 p-2",
75
+ children: [
76
+ /* @__PURE__ */ jsx("div", { className: "flex size-6 items-center justify-center rounded-md border", children: /* @__PURE__ */ jsx(team.logo, { className: "size-4 shrink-0" }) }),
77
+ team.name,
78
+ /* @__PURE__ */ jsxs(DropdownMenuShortcut, { children: [
79
+ "\u2318",
80
+ index + 1
81
+ ] })
82
+ ]
83
+ },
84
+ team.name
85
+ )),
86
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
87
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { className: "gap-2 p-2", children: [
88
+ /* @__PURE__ */ jsx("div", { className: "flex size-6 items-center justify-center rounded-md border bg-transparent", children: /* @__PURE__ */ jsx(Plus, { className: "size-4" }) }),
89
+ /* @__PURE__ */ jsx("div", { className: "font-medium text-muted-foreground", children: t("ui.teamSwitcher.addTeam") })
90
+ ] })
91
+ ]
92
+ }
93
+ )
94
+ ] }) }) });
95
+ }
96
+
97
+ export {
98
+ TeamSwitcher
99
+ };
100
+ //# sourceMappingURL=chunk-QLM3KTAQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/team-switcher/team-switcher.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { ChevronsUpDown, Plus } from \"lucide-react\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuTrigger,\n} from \"../dropdown-menu\";\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from \"../sidebar\";\nimport { useLocale } from \"../locale-provider\";\nimport { cn } from \"../../lib/cn\";\n\nexport type TeamSwitcherTeam = {\n name: string;\n logo: React.ElementType;\n plan: string;\n};\n\nexport interface TeamSwitcherProps {\n teams: TeamSwitcherTeam[];\n /**\n * Tailwind class for the active-team logo container background.\n * @default \"bg-sidebar-accent text-sidebar-accent-foreground\"\n */\n logoClassName?: string;\n className?: string;\n}\n\n/**\n * Sidebar team/workspace switcher. Shared primitive reconciled from sidebar-02\n * and sidebar-05 blocks (issue #99). Copy-owned blocks should import this\n * instead of maintaining local duplicates.\n */\nexport function TeamSwitcher({ teams, logoClassName, className }: TeamSwitcherProps) {\n const { isMobile } = useSidebar();\n const { t } = useLocale();\n const [activeTeam, setActiveTeam] = React.useState(teams[0]);\n if (!activeTeam) return null;\n const Logo = activeTeam.logo;\n\n return (\n <SidebarMenu className={className}>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n // The name is written out rather than left to the button's own\n // contents, because the contents cannot carry it in every state:\n // collapsed to the 48px rail the trigger is one glyph, and the\n // label beside it is either gone or clipped out of view by the\n // button's `overflow-hidden` — either way axe reads a nameless\n // button (`button-name`, critical). The string is exactly the\n // visible label, in reading order, so WCAG 2.5.3 (label in name)\n // holds expanded, where that label IS on screen. Verified by\n // deleting this line and watching three dashboard stories fail\n // `button-name` (critical).\n aria-label={`${activeTeam.name} ${activeTeam.plan}`}\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n {/* Collapsed, this row is ONE ICON in a 48px rail and has to sit\n on the same centre line as every nav entry above and below it.\n Measured before this fix: the 32px plate did not fit the\n button's 16px content box, so it overflowed (clipped by the\n button's own `overflow-hidden`) and its glyph landed 8px to the\n trailing side of every other icon in the rail. So the plate\n becomes the glyph's own 16px box — no fill, no radius, nothing\n to overflow — and the label and chevron stand down: at 48px\n there is no room to read them, and they are what crowds the\n plate. Expanded, all three come back unchanged. */}\n <div\n className={cn(\n \"flex aspect-square size-8 shrink-0 items-center justify-center rounded-lg\",\n logoClassName ?? \"bg-sidebar-accent text-sidebar-accent-foreground\",\n \"group-data-[collapsible=icon]:size-4 group-data-[collapsible=icon]:rounded-none group-data-[collapsible=icon]:bg-transparent group-data-[collapsible=icon]:text-sidebar-foreground\",\n )}\n >\n <Logo className=\"size-4\" />\n </div>\n <div className=\"grid flex-1 text-start text-body leading-tight group-data-[collapsible=icon]:hidden\">\n <span className=\"truncate font-semibold\">{activeTeam.name}</span>\n <span className=\"truncate text-meta\">{activeTeam.plan}</span>\n </div>\n {/* Decorative, so it simply goes. */}\n <ChevronsUpDown className=\"ms-auto group-data-[collapsible=icon]:hidden\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg\"\n align=\"start\"\n side={isMobile ? \"bottom\" : \"right\"}\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"text-meta text-muted-foreground\">\n {t(\"ui.teamSwitcher.label\")}\n </DropdownMenuLabel>\n {teams.map((team, index) => (\n <DropdownMenuItem\n key={team.name}\n onClick={() => setActiveTeam(team)}\n className=\"gap-2 p-2\"\n >\n <div className=\"flex size-6 items-center justify-center rounded-md border\">\n <team.logo className=\"size-4 shrink-0\" />\n </div>\n {team.name}\n <DropdownMenuShortcut>⌘{index + 1}</DropdownMenuShortcut>\n </DropdownMenuItem>\n ))}\n <DropdownMenuSeparator />\n <DropdownMenuItem className=\"gap-2 p-2\">\n <div className=\"flex size-6 items-center justify-center rounded-md border bg-transparent\">\n <Plus className=\"size-4\" />\n </div>\n <div className=\"font-medium text-muted-foreground\">\n {t(\"ui.teamSwitcher.addTeam\")}\n </div>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,gBAAgB,YAAY;AA+ErB,cAEF,YAFE;AA5CT,SAAS,aAAa,EAAE,OAAO,eAAe,UAAU,GAAsB;AACnF,QAAM,EAAE,SAAS,IAAI,WAAW;AAChC,QAAM,EAAE,EAAE,IAAI,UAAU;AACxB,QAAM,CAAC,YAAY,aAAa,IAAU,eAAS,MAAM,CAAC,CAAC;AAC3D,MAAI,CAAC,WAAY,QAAO;AACxB,QAAM,OAAO,WAAW;AAExB,SACE,oBAAC,eAAY,WACX,8BAAC,mBACC,+BAAC,gBACC;AAAA,wBAAC,uBAAoB,SAAO,MAC1B;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QAWL,cAAY,GAAG,WAAW,IAAI,IAAI,WAAW,IAAI;AAAA,QACjD,WAAU;AAAA,QAYV;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT;AAAA,gBACA,iBAAiB;AAAA,gBACjB;AAAA,cACF;AAAA,cAEA,8BAAC,QAAK,WAAU,UAAS;AAAA;AAAA,UAC3B;AAAA,UACA,qBAAC,SAAI,WAAU,uFACb;AAAA,gCAAC,UAAK,WAAU,0BAA0B,qBAAW,MAAK;AAAA,YAC1D,oBAAC,UAAK,WAAU,sBAAsB,qBAAW,MAAK;AAAA,aACxD;AAAA,UAEA,oBAAC,kBAAe,WAAU,gDAA+C;AAAA;AAAA;AAAA,IAC3E,GACF;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAM;AAAA,QACN,MAAM,WAAW,WAAW;AAAA,QAC5B,YAAY;AAAA,QAEZ;AAAA,8BAAC,qBAAkB,WAAU,mCAC1B,YAAE,uBAAuB,GAC5B;AAAA,UACC,MAAM,IAAI,CAAC,MAAM,UAChB;AAAA,YAAC;AAAA;AAAA,cAEC,SAAS,MAAM,cAAc,IAAI;AAAA,cACjC,WAAU;AAAA,cAEV;AAAA,oCAAC,SAAI,WAAU,6DACb,8BAAC,KAAK,MAAL,EAAU,WAAU,mBAAkB,GACzC;AAAA,gBACC,KAAK;AAAA,gBACN,qBAAC,wBAAqB;AAAA;AAAA,kBAAE,QAAQ;AAAA,mBAAE;AAAA;AAAA;AAAA,YAR7B,KAAK;AAAA,UASZ,CACD;AAAA,UACD,oBAAC,yBAAsB;AAAA,UACvB,qBAAC,oBAAiB,WAAU,aAC1B;AAAA,gCAAC,SAAI,WAAU,4EACb,8BAAC,QAAK,WAAU,UAAS,GAC3B;AAAA,YACA,oBAAC,SAAI,WAAU,qCACZ,YAAE,yBAAyB,GAC9B;AAAA,aACF;AAAA;AAAA;AAAA,IACF;AAAA,KACF,GACF,GACF;AAEJ;","names":[]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-QODOFLHL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-QRGYKV4J.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,140 @@
1
+ "use client";
2
+ import {
3
+ ToggleGroup,
4
+ ToggleGroupItem
5
+ } from "./chunk-YFGFNFVW.js";
6
+ import {
7
+ Label
8
+ } from "./chunk-U756JCDK.js";
9
+ import {
10
+ cn
11
+ } from "./chunk-FXWWDMMP.js";
12
+
13
+ // src/components/segmented-field/segmented-field.tsx
14
+ import {
15
+ forwardRef,
16
+ useCallback,
17
+ useId,
18
+ useRef,
19
+ useState
20
+ } from "react";
21
+ import { jsx, jsxs } from "react/jsx-runtime";
22
+ var NAV_KEYS = /* @__PURE__ */ new Set(["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "Home", "End"]);
23
+ var SegmentedField = forwardRef(
24
+ function SegmentedField2({
25
+ label,
26
+ options,
27
+ value: valueProp,
28
+ defaultValue,
29
+ onValueChange,
30
+ size = "sm",
31
+ disabled,
32
+ id,
33
+ className,
34
+ children,
35
+ ...props
36
+ }, ref) {
37
+ const generatedId = useId();
38
+ const labelId = `${id ?? generatedId}-label`;
39
+ const groupRef = useRef(null);
40
+ const isControlled = valueProp !== void 0;
41
+ const [internalValue, setInternalValue] = useState(defaultValue);
42
+ const currentValue = isControlled ? valueProp : internalValue;
43
+ const lastCommittedRef = useRef(currentValue);
44
+ lastCommittedRef.current = currentValue;
45
+ const commit = useCallback(
46
+ (next) => {
47
+ if (next === "" || next === lastCommittedRef.current) return;
48
+ lastCommittedRef.current = next;
49
+ if (!isControlled) setInternalValue(next);
50
+ onValueChange?.(next);
51
+ },
52
+ [isControlled, onValueChange]
53
+ );
54
+ const keyboardNavRef = useRef(false);
55
+ const handleKeyDownCapture = useCallback(
56
+ (event) => {
57
+ keyboardNavRef.current = NAV_KEYS.has(event.key);
58
+ props.onKeyDownCapture?.(event);
59
+ },
60
+ [props]
61
+ );
62
+ const handlePointerDownCapture = useCallback(
63
+ (event) => {
64
+ keyboardNavRef.current = false;
65
+ props.onPointerDownCapture?.(event);
66
+ },
67
+ [props]
68
+ );
69
+ const handleBlurCapture = useCallback(
70
+ (event) => {
71
+ if (!event.currentTarget.contains(event.relatedTarget)) {
72
+ keyboardNavRef.current = false;
73
+ }
74
+ props.onBlurCapture?.(event);
75
+ },
76
+ [props]
77
+ );
78
+ const handleItemFocus = useCallback(
79
+ (next) => {
80
+ if (!keyboardNavRef.current) return;
81
+ keyboardNavRef.current = false;
82
+ commit(next);
83
+ },
84
+ [commit]
85
+ );
86
+ const handleLabelClick = useCallback(() => {
87
+ const group = groupRef.current;
88
+ if (!group) return;
89
+ const selected = group.querySelector(
90
+ '[aria-checked="true"]:not(:disabled),[data-state="on"]:not(:disabled)'
91
+ );
92
+ (selected ?? group.querySelector("button:not(:disabled)"))?.focus();
93
+ }, []);
94
+ return /* @__PURE__ */ jsxs(
95
+ "div",
96
+ {
97
+ ref,
98
+ "data-slot": "segmented-field",
99
+ className: cn("flex flex-col items-start gap-1.5", className),
100
+ ...props,
101
+ onKeyDownCapture: handleKeyDownCapture,
102
+ onPointerDownCapture: handlePointerDownCapture,
103
+ onBlurCapture: handleBlurCapture,
104
+ children: [
105
+ /* @__PURE__ */ jsx(Label, { id: labelId, "data-slot": "segmented-field-label", onClick: handleLabelClick, children: label }),
106
+ /* @__PURE__ */ jsx(
107
+ ToggleGroup,
108
+ {
109
+ ref: groupRef,
110
+ type: "single",
111
+ variant: "segmented",
112
+ size,
113
+ value: currentValue ?? "",
114
+ onValueChange: commit,
115
+ disabled,
116
+ "aria-labelledby": labelId,
117
+ "data-slot": "segmented-field-options",
118
+ children: options ? options.map((option) => /* @__PURE__ */ jsx(
119
+ ToggleGroupItem,
120
+ {
121
+ "data-slot": "segmented-field-segment",
122
+ value: option.value,
123
+ disabled: option.disabled,
124
+ onFocus: () => handleItemFocus(option.value),
125
+ children: option.label
126
+ },
127
+ option.value
128
+ )) : children
129
+ }
130
+ )
131
+ ]
132
+ }
133
+ );
134
+ }
135
+ );
136
+
137
+ export {
138
+ SegmentedField
139
+ };
140
+ //# sourceMappingURL=chunk-R27VUCWR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/segmented-field/segmented-field.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n forwardRef,\n useCallback,\n useId,\n useRef,\n useState,\n type FocusEvent as ReactFocusEvent,\n type HTMLAttributes,\n type KeyboardEvent as ReactKeyboardEvent,\n type PointerEvent as ReactPointerEvent,\n type ReactNode,\n} from \"react\";\nimport { cn } from \"../../lib/cn\";\nimport { Label } from \"../label\";\nimport { ToggleGroup, ToggleGroupItem } from \"../toggle-group\";\n\n/** Keys whose focus move must also move the selection (WAI-ARIA radiogroup). */\nconst NAV_KEYS = new Set([\"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"]);\n\nexport interface SegmentedFieldOption {\n /** The option's value, reported to `onValueChange`. */\n value: string;\n /** Visible content for the segment. */\n label: ReactNode;\n /** Disables just this segment. */\n disabled?: boolean;\n}\n\nexport interface SegmentedFieldProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n \"onChange\" | \"defaultValue\"\n> {\n /** Visible label describing the field. */\n label: ReactNode;\n /**\n * Segment options. Omit and render `ToggleGroupItem` children directly for\n * the compound-component escape hatch (component-api.md) when a plain\n * `{ value, label }` shape isn't expressive enough.\n */\n options?: SegmentedFieldOption[];\n /** Controlled selected value. */\n value?: string;\n /** Uncontrolled initial selected value. */\n defaultValue?: string;\n /**\n * Called when the selected value changes. Never called with `\"\"` —\n * re-clicking the active segment (Radix `ToggleGroup`'s `type=\"single\"`\n * empty-emission on re-click) is swallowed as a no-op instead of clearing\n * the field.\n */\n onValueChange?: (value: string) => void;\n /** Size applied to every segment. Defaults to \"sm\", matching the compact segmented look. */\n size?: \"default\" | \"sm\" | \"lg\";\n /** Disables every segment. */\n disabled?: boolean;\n /** `ToggleGroupItem` children — the compound escape hatch (used instead of `options`). */\n children?: ReactNode;\n}\n\n/**\n * SegmentedField — a labelled segmented control with STICKY selection.\n *\n * Composes the existing `Label` + `ToggleGroup`/`ToggleGroupItem`\n * (`variant=\"segmented\"`) — no new visual style. The whole reason this\n * component exists: Radix's `ToggleGroup` in `type=\"single\"` mode emits `\"\"`\n * when the already-active segment is re-clicked, silently clearing a field\n * that must always hold exactly one value. `SegmentedField` swallows that\n * emission so re-clicking the active segment is a true no-op.\n *\n * Per the WAI-ARIA radiogroup pattern (each segment renders `role=\"radio\"`\n * for `type=\"single\"`), ARROW-KEY navigation also SELECTS the newly focused\n * segment (selection follows focus), matching native radio-button behavior —\n * Radix's roving-tabindex only moves focus, so this component adds that\n * activation on top of it.\n *\n * Selection follows focus ONLY for arrow/Home/End keys, never for arbitrary\n * focus. A bare `onFocus` commit would make three non-navigation paths mutate\n * the field: clicking the `<Label>` (which moves focus into the group),\n * tabbing into a group with nothing selected yet, and any programmatic\n * `.focus()` a consumer performs. The keyboard intent is recorded on the\n * wrapper in the CAPTURE phase (it must land before Radix's own roving-focus\n * keydown handler runs) and is cleared by the focus it explains, by a pointer\n * press, by any non-navigation key, or by focus leaving the field — so it can\n * never leak into a later, unrelated focus.\n */\nexport const SegmentedField = forwardRef<HTMLDivElement, SegmentedFieldProps>(\n function SegmentedField(\n {\n label,\n options,\n value: valueProp,\n defaultValue,\n onValueChange,\n size = \"sm\",\n disabled,\n id,\n className,\n children,\n ...props\n },\n ref,\n ) {\n const generatedId = useId();\n const labelId = `${id ?? generatedId}-label`;\n const groupRef = useRef<HTMLDivElement>(null);\n\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = useState(defaultValue);\n const currentValue = isControlled ? valueProp : internalValue;\n\n // Synced every render (mirrors the ref-during-render idiom in\n // NumberInput) so a same-event double-dispatch (focus-follows-selection\n // AND the click's own onPressedChange) commits at most once.\n const lastCommittedRef = useRef(currentValue);\n lastCommittedRef.current = currentValue;\n\n const commit = useCallback(\n (next: string) => {\n // Radix emits \"\" when the active segment is re-clicked — swallow it.\n if (next === \"\" || next === lastCommittedRef.current) return;\n lastCommittedRef.current = next;\n if (!isControlled) setInternalValue(next);\n onValueChange?.(next);\n },\n [isControlled, onValueChange],\n );\n\n // Armed by an arrow/Home/End key, DISARMED by anything else — a pointer\n // press, any other key, or focus leaving the field. It is deliberately not\n // a timer: `@radix-ui/react-roving-focus` moves focus in a\n // `setTimeout(() => focusFirst(...))`, so a microtask/`setTimeout` reset\n // queued from the capture phase would always fire first and the arm would\n // be gone before the focus it exists to classify.\n const keyboardNavRef = useRef(false);\n\n const handleKeyDownCapture = useCallback(\n (event: ReactKeyboardEvent<HTMLDivElement>) => {\n keyboardNavRef.current = NAV_KEYS.has(event.key);\n props.onKeyDownCapture?.(event);\n },\n [props],\n );\n\n const handlePointerDownCapture = useCallback(\n (event: ReactPointerEvent<HTMLDivElement>) => {\n keyboardNavRef.current = false;\n props.onPointerDownCapture?.(event);\n },\n [props],\n );\n\n const handleBlurCapture = useCallback(\n (event: ReactFocusEvent<HTMLDivElement>) => {\n // Focus moving between segments keeps the arm; leaving the field drops\n // it, so a stale arm can never fire on a later tab-in.\n if (!event.currentTarget.contains(event.relatedTarget as Node | null)) {\n keyboardNavRef.current = false;\n }\n props.onBlurCapture?.(event);\n },\n [props],\n );\n\n const handleItemFocus = useCallback(\n (next: string) => {\n if (!keyboardNavRef.current) return;\n keyboardNavRef.current = false;\n commit(next);\n },\n [commit],\n );\n\n // Match a native `<label>`: move focus into the field without changing it.\n // Focusing the SELECTED segment (not blindly the first) keeps the visible\n // selection and the focus ring in agreement.\n const handleLabelClick = useCallback(() => {\n const group = groupRef.current;\n if (!group) return;\n const selected = group.querySelector<HTMLButtonElement>(\n '[aria-checked=\"true\"]:not(:disabled),[data-state=\"on\"]:not(:disabled)',\n );\n (selected ?? group.querySelector<HTMLButtonElement>(\"button:not(:disabled)\"))?.focus();\n }, []);\n\n return (\n <div\n ref={ref}\n data-slot=\"segmented-field\"\n className={cn(\"flex flex-col items-start gap-1.5\", className)}\n {...props}\n // After the spread: these three are load-bearing (they classify a\n // focus as arrow-navigation or not) and each re-invokes the consumer's\n // handler, so composing beats being silently replaced.\n onKeyDownCapture={handleKeyDownCapture}\n onPointerDownCapture={handlePointerDownCapture}\n onBlurCapture={handleBlurCapture}\n >\n <Label id={labelId} data-slot=\"segmented-field-label\" onClick={handleLabelClick}>\n {label}\n </Label>\n <ToggleGroup\n ref={groupRef}\n type=\"single\"\n variant=\"segmented\"\n size={size}\n // Always a string, never `undefined` — an unselected field would\n // otherwise start UNcontrolled and flip to controlled on the first\n // selection (React/Radix warn, and the mode flip is exactly what\n // component-api.md forbids). `\"\"` is Radix's \"nothing selected\".\n value={currentValue ?? \"\"}\n onValueChange={commit}\n disabled={disabled}\n aria-labelledby={labelId}\n data-slot=\"segmented-field-options\"\n >\n {options\n ? options.map((option) => (\n <ToggleGroupItem\n key={option.value}\n data-slot=\"segmented-field-segment\"\n value={option.value}\n disabled={option.disabled}\n onFocus={() => handleItemFocus(option.value)}\n >\n {option.label}\n </ToggleGroupItem>\n ))\n : children}\n </ToggleGroup>\n </div>\n );\n },\n);\n"],"mappings":"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","names":["SegmentedField"]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-R5JYMCEA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,26 @@
1
+ "use client";
2
+
3
+ // src/lib/diff-line.ts
4
+ function diffLineMarker(type) {
5
+ switch (type) {
6
+ case "add":
7
+ return "+";
8
+ case "del":
9
+ return "\u2212";
10
+ case "context":
11
+ return "\xA0";
12
+ default:
13
+ return "";
14
+ }
15
+ }
16
+ function diffLineAccessibleLabel(type) {
17
+ if (type === "add") return "ai.diffView.addedLine";
18
+ if (type === "del") return "ai.diffView.removedLine";
19
+ return void 0;
20
+ }
21
+
22
+ export {
23
+ diffLineMarker,
24
+ diffLineAccessibleLabel
25
+ };
26
+ //# sourceMappingURL=chunk-RB5AWLDJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/diff-line.ts"],"sourcesContent":["/**\n * The unified-diff line model behind `DiffView` (`@elabs-ai/components-ai`,\n * #102) and the terminal CLI look-alike family's own diff hunk (issue #117).\n *\n * Promoted here (not duplicated) because `@elabs-ai/components-ai` and\n * `@elabs-ai/components-terminal` are layer-2 DAG SIBLINGS and may not import\n * each other — `ui` is upstream of both\n * (docs/decisions/2026-09-01-brainless-adoption-architecture.md § 4). This\n * module is the shiki-free half: the line shape, the marker glyph and the\n * screen-reader polarity label. Intra-line syntax highlighting (Shiki) and\n * the diff's presentational chrome stay in `@elabs-ai/components-ai`'s\n * `diff-view.tsx` — `ui` does not depend on Shiki and never will for one\n * component (see the decision doc § 3).\n *\n * The `DiffLine` model and the polarity-prefix technique are adapted from\n * `theswerd/brainless` (MIT) — see `ATTRIBUTION.md`.\n */\n\n/** What role a line plays in the diff. */\nexport type DiffLineType = \"add\" | \"del\" | \"context\" | \"hunk\" | \"meta\";\n\n/** One line of a unified diff. Absent gutter numbers are load-bearing (see below). */\nexport interface DiffLine {\n type: DiffLineType;\n /** Line number in the original file. Absent on `add` — there is no old line. */\n oldNumber?: number;\n /** Line number in the new file. Absent on `del` — there is no new line. */\n newNumber?: number;\n /** The line's text, without its leading `+` / `-` / ` ` marker. */\n text: string;\n}\n\n/**\n * The single-character marker glyph for a real source line (`add`/`del`/\n * `context`). `hunk`/`meta` lines are diff headers, not source, and render\n * through a full-width row instead — this returns `\"\"` for them.\n */\nexport function diffLineMarker(type: DiffLineType): string {\n switch (type) {\n case \"add\":\n return \"+\";\n case \"del\":\n return \"−\";\n case \"context\":\n return \" \";\n default:\n return \"\";\n }\n}\n\n/**\n * The `ui` locale-message KEY (not the translated text) for the `sr-only`\n * screen-reader polarity word an `add`/`del` row carries ALONGSIDE its marker\n * glyph and its fill tint — colour is never the only channel (WCAG 1.4.1).\n * `undefined` for `context`/`hunk`/`meta`, which carry no polarity.\n */\nexport function diffLineAccessibleLabel(\n type: DiffLineType,\n): \"ai.diffView.addedLine\" | \"ai.diffView.removedLine\" | undefined {\n if (type === \"add\") return \"ai.diffView.addedLine\";\n if (type === \"del\") return \"ai.diffView.removedLine\";\n return undefined;\n}\n"],"mappings":";;;AAqCO,SAAS,eAAe,MAA4B;AACzD,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAQO,SAAS,wBACd,MACiE;AACjE,MAAI,SAAS,MAAO,QAAO;AAC3B,MAAI,SAAS,MAAO,QAAO;AAC3B,SAAO;AACT;","names":[]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-RF7JSNXJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}