@vuer-ai/vuer-uikit 0.0.120 → 0.0.121

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 (472) hide show
  1. package/dist/SyncScroll/SyncScroll.cjs +10 -10
  2. package/dist/SyncScroll/SyncScroll.mjs +3 -3
  3. package/dist/SyncScroll/index.cjs +10 -10
  4. package/dist/SyncScroll/index.mjs +3 -3
  5. package/dist/auth/components/index.cjs +83 -82
  6. package/dist/auth/components/index.mjs +82 -81
  7. package/dist/auth/components/user-avatar/index.cjs +83 -82
  8. package/dist/auth/components/user-avatar/index.mjs +82 -81
  9. package/dist/auth/index.cjs +83 -82
  10. package/dist/auth/index.mjs +82 -81
  11. package/dist/{chunk-42WQWP6X.cjs → chunk-22T2AL3G.cjs} +8 -8
  12. package/dist/{chunk-H6JGIEAU.mjs → chunk-2KQXKQNU.mjs} +1 -1
  13. package/dist/{chunk-S7CCCMMU.cjs → chunk-34NDAZS6.cjs} +18 -9
  14. package/dist/{chunk-DM43KZU7.cjs → chunk-3F3LBOQJ.cjs} +2 -2
  15. package/dist/chunk-3JMUI4R2.cjs +136 -0
  16. package/dist/{chunk-EOLUDKZ3.mjs → chunk-3P2OP4KO.mjs} +24 -46
  17. package/dist/{chunk-NMRFBO43.mjs → chunk-3SUV56TH.mjs} +3 -3
  18. package/dist/{chunk-CH3BSVL4.cjs → chunk-42DBXENE.cjs} +2 -2
  19. package/dist/{chunk-JW456O5K.mjs → chunk-4FB6B2ES.mjs} +1 -1
  20. package/dist/{chunk-TB5L3GBP.cjs → chunk-4G2LN6XU.cjs} +138 -107
  21. package/dist/{chunk-MNCBTS63.cjs → chunk-4TRHQ7MJ.cjs} +5 -5
  22. package/dist/{chunk-F2LEYFWW.cjs → chunk-4WKFVKFF.cjs} +5 -5
  23. package/dist/{chunk-EEGQLTSQ.cjs → chunk-4WWGBRQV.cjs} +77 -0
  24. package/dist/chunk-4Y5IF7R5.mjs +322 -0
  25. package/dist/{chunk-Q7VP2WSX.mjs → chunk-4YVKJKWV.mjs} +2 -2
  26. package/dist/{chunk-X6WOCNBX.cjs → chunk-57NITJN5.cjs} +2 -2
  27. package/dist/{chunk-QWBMDS3S.cjs → chunk-5HT74RHB.cjs} +5 -5
  28. package/dist/{chunk-4ODJAEOM.mjs → chunk-5JYH7TXY.mjs} +1 -1
  29. package/dist/{chunk-OJOWMXXY.mjs → chunk-67H3OSM3.mjs} +3 -3
  30. package/dist/{chunk-2CD4D2BR.cjs → chunk-6CJWNYHL.cjs} +3 -3
  31. package/dist/{chunk-CRX2ZCM2.cjs → chunk-6LTCLQH3.cjs} +6 -1
  32. package/dist/{chunk-64VVW5YR.mjs → chunk-6NSLYQ35.mjs} +1 -1
  33. package/dist/{chunk-WKK5UX2W.mjs → chunk-6U6LRS37.mjs} +2 -2
  34. package/dist/{chunk-4OUQ6NSX.cjs → chunk-6VIKDPCD.cjs} +2 -2
  35. package/dist/{chunk-LMYA5IOK.mjs → chunk-6ZLK2RYS.mjs} +3 -3
  36. package/dist/{chunk-LYGYXV7S.cjs → chunk-7ICRKPIO.cjs} +16 -16
  37. package/dist/{chunk-ZCSJGDX7.mjs → chunk-7MR3M2HW.mjs} +1 -1
  38. package/dist/{chunk-Q37KC3CL.mjs → chunk-7RRQ2HHL.mjs} +114 -17
  39. package/dist/{chunk-FMKD5JBL.mjs → chunk-7TD77VF4.mjs} +10 -6
  40. package/dist/{chunk-5ARBIWXX.cjs → chunk-7TXGEIV3.cjs} +10 -10
  41. package/dist/{chunk-SLXM4F24.cjs → chunk-7YFUNCKT.cjs} +9 -9
  42. package/dist/{chunk-LGFWHV23.cjs → chunk-ACGXE2IO.cjs} +2 -2
  43. package/dist/{chunk-EGIIZWP3.mjs → chunk-AFR23IX6.mjs} +1 -1
  44. package/dist/{chunk-XS5IUI62.cjs → chunk-B6CIRZI4.cjs} +2 -2
  45. package/dist/{chunk-REZAPK6Z.mjs → chunk-BDFUHPX2.mjs} +1 -1
  46. package/dist/{chunk-CXPF274N.mjs → chunk-BK77KKIM.mjs} +1 -1
  47. package/dist/{chunk-ZJSL6HSL.mjs → chunk-BLG4IPRR.mjs} +1 -1
  48. package/dist/{chunk-JQYMF2FW.cjs → chunk-BSDIS4KS.cjs} +4 -4
  49. package/dist/{chunk-35ZN6IW7.mjs → chunk-BYZ7HIIK.mjs} +1 -1
  50. package/dist/{chunk-6C53NKMF.mjs → chunk-C4U5BMQH.mjs} +1 -1
  51. package/dist/{chunk-2IS7TXTN.mjs → chunk-CENP2PIB.mjs} +1 -1
  52. package/dist/{chunk-NJWKR5WR.mjs → chunk-CEYNTMQP.mjs} +1 -1
  53. package/dist/{chunk-CIOLL5LX.mjs → chunk-CN6SZKJZ.mjs} +1 -1
  54. package/dist/{chunk-WDSOII5A.cjs → chunk-COJRGW3A.cjs} +2 -2
  55. package/dist/{chunk-GRXUYMZJ.cjs → chunk-COL2MXGC.cjs} +4 -4
  56. package/dist/chunk-CRY23RMB.mjs +30 -0
  57. package/dist/{chunk-CKGEV2JL.cjs → chunk-CV2EDA3W.cjs} +2 -2
  58. package/dist/{chunk-7AAMQGY2.cjs → chunk-CYWVJ3HF.cjs} +7 -7
  59. package/dist/{chunk-CWS5PF67.cjs → chunk-D5WTSBUX.cjs} +3 -3
  60. package/dist/{chunk-ASZIBFA6.cjs → chunk-DG2EVWIW.cjs} +10 -10
  61. package/dist/chunk-DGJ7E77I.mjs +23 -0
  62. package/dist/{chunk-SR3M2R3S.mjs → chunk-DSQPFXYL.mjs} +22 -24
  63. package/dist/chunk-DVUN6GQI.cjs +21 -0
  64. package/dist/chunk-E7ACJ3NX.cjs +45 -0
  65. package/dist/{chunk-T4U3BG2V.mjs → chunk-EGJLY5VZ.mjs} +1 -1
  66. package/dist/{chunk-PRNBDGOF.cjs → chunk-EMZEL54F.cjs} +27 -49
  67. package/dist/{chunk-7AEOJFD4.cjs → chunk-EOTGD64D.cjs} +2 -2
  68. package/dist/{chunk-K2ZYSKRU.mjs → chunk-EZ536NLQ.mjs} +1 -1
  69. package/dist/chunk-FB3M2JJV.cjs +21 -0
  70. package/dist/{chunk-DDU3SPCC.mjs → chunk-FUMJBAQI.mjs} +57 -4
  71. package/dist/{chunk-QXFFRQ7E.mjs → chunk-G45SP3DA.mjs} +90 -60
  72. package/dist/{chunk-HB65PF7F.cjs → chunk-GBRIW266.cjs} +2 -2
  73. package/dist/chunk-GHQA7PER.mjs +107 -0
  74. package/dist/{chunk-XQ3MWA3D.mjs → chunk-GJKFQHUX.mjs} +3 -3
  75. package/dist/{chunk-ND3WJ63Z.cjs → chunk-GVRVRBDU.cjs} +2 -2
  76. package/dist/chunk-GZ2BG42R.mjs +34 -0
  77. package/dist/chunk-H3JRYX2U.mjs +19 -0
  78. package/dist/{chunk-T66ETI7E.mjs → chunk-HBEU2PU2.mjs} +6 -1
  79. package/dist/{chunk-EVBYVJTW.mjs → chunk-HGN7J4CP.mjs} +2 -2
  80. package/dist/{chunk-SMXN2KOV.mjs → chunk-HGTL7DFT.mjs} +1 -1
  81. package/dist/{chunk-QO2AM6MF.mjs → chunk-HIDTQ4Z2.mjs} +1 -1
  82. package/dist/{chunk-3NIMV5PH.mjs → chunk-HUPECWNG.mjs} +1 -1
  83. package/dist/{chunk-H7RH4CZ7.cjs → chunk-HVACIZB5.cjs} +7 -7
  84. package/dist/{chunk-R4HT3SYR.cjs → chunk-HZBP6QTE.cjs} +2 -2
  85. package/dist/{chunk-2GXIGEKC.mjs → chunk-IKSER6BF.mjs} +2 -2
  86. package/dist/{chunk-UQQBUPGF.mjs → chunk-IPMWGCAI.mjs} +5 -21
  87. package/dist/{chunk-Q7WCKEXG.cjs → chunk-JF43YF6J.cjs} +3 -3
  88. package/dist/{chunk-MXGPFCLN.cjs → chunk-JVZ6J2UX.cjs} +2 -2
  89. package/dist/{chunk-EY6PKK4X.cjs → chunk-KKGDRIR2.cjs} +2 -2
  90. package/dist/{chunk-SAXISARG.cjs → chunk-KWSH253U.cjs} +2 -2
  91. package/dist/{chunk-K2BQNNEX.cjs → chunk-L6W77P4B.cjs} +8 -8
  92. package/dist/{chunk-N4Y5CBOI.cjs → chunk-LGUQR5AR.cjs} +4 -4
  93. package/dist/{chunk-MYZHDWBF.mjs → chunk-LJYIEOGQ.mjs} +11 -11
  94. package/dist/{chunk-332A4MHC.mjs → chunk-LNYUFL3Q.mjs} +1 -1
  95. package/dist/{chunk-JFPIUDGT.mjs → chunk-LOMLR5AA.mjs} +1 -1
  96. package/dist/{chunk-6D7FGGSX.cjs → chunk-MMQR4IEY.cjs} +27 -27
  97. package/dist/{chunk-BUAWPPXA.cjs → chunk-MQ5DGLVE.cjs} +11 -11
  98. package/dist/{chunk-EXY6WRH4.mjs → chunk-N6KP2HIC.mjs} +2 -2
  99. package/dist/{chunk-NKGUQZTD.cjs → chunk-NC2U7QTW.cjs} +2 -2
  100. package/dist/{chunk-V75PKBIV.cjs → chunk-NEJKCSS5.cjs} +9 -9
  101. package/dist/{chunk-KPGZOX2A.cjs → chunk-NHFIDL5X.cjs} +5 -5
  102. package/dist/{chunk-JNV3UBBP.cjs → chunk-NIACIZWY.cjs} +6 -22
  103. package/dist/{chunk-PC5DHSC4.mjs → chunk-NKUK73WB.mjs} +71 -1
  104. package/dist/{chunk-5OZS5UJX.cjs → chunk-NSPAT6XV.cjs} +7 -7
  105. package/dist/{chunk-4BQPIY5Z.mjs → chunk-O2NGB7YP.mjs} +1 -1
  106. package/dist/{chunk-7H7U2X45.cjs → chunk-O3DFVRON.cjs} +17 -13
  107. package/dist/{chunk-IAFCABPY.mjs → chunk-O5YP3JQ4.mjs} +1 -1
  108. package/dist/chunk-OBWKFURE.cjs +2 -0
  109. package/dist/{chunk-S37MJNNP.cjs → chunk-OCADGDGL.cjs} +2 -2
  110. package/dist/{chunk-UMGNAR3W.cjs → chunk-OON7LFBQ.cjs} +8 -8
  111. package/dist/{chunk-ZSAPBZ36.mjs → chunk-OW653F7T.mjs} +1 -1
  112. package/dist/{chunk-GQYUSBSO.mjs → chunk-P3FBRYWH.mjs} +3 -10
  113. package/dist/{chunk-P3YSHGT5.mjs → chunk-P55DAW6H.mjs} +1 -1
  114. package/dist/{chunk-JOOURIX7.cjs → chunk-P6E4WLMD.cjs} +4 -4
  115. package/dist/{chunk-SCUMWMIN.mjs → chunk-PC42NEBI.mjs} +1 -1
  116. package/dist/{chunk-F3HOBNGR.cjs → chunk-PMG3NZF5.cjs} +4 -4
  117. package/dist/{chunk-PV6CEMTT.cjs → chunk-PWZ4F3WY.cjs} +4 -4
  118. package/dist/{chunk-7A5EMDZH.mjs → chunk-PZDC5ZKG.mjs} +5 -5
  119. package/dist/{chunk-LVIZRMYN.cjs → chunk-QF3JWGWX.cjs} +2 -2
  120. package/dist/{chunk-BXZSWY4N.mjs → chunk-QYJZ5KA6.mjs} +1 -1
  121. package/dist/{chunk-AE5YDMFT.mjs → chunk-QYYMLZFE.mjs} +3 -3
  122. package/dist/{chunk-JYYAGDLZ.cjs → chunk-R22VW3EK.cjs} +2 -2
  123. package/dist/{chunk-U22YVR7M.mjs → chunk-RLY4A3IY.mjs} +15 -6
  124. package/dist/{chunk-OLYHHP67.mjs → chunk-RS4T6S3Z.mjs} +1 -1
  125. package/dist/{chunk-L2XJ5Q7T.cjs → chunk-RTZNHV43.cjs} +21 -21
  126. package/dist/{chunk-D562KO2I.mjs → chunk-RWHVZM2B.mjs} +2 -2
  127. package/dist/{chunk-PR3BCKLJ.mjs → chunk-S4BL7C3Y.mjs} +1 -1
  128. package/dist/chunk-S4C7HO32.cjs +36 -0
  129. package/dist/{chunk-DAVMLI3P.cjs → chunk-SNUQOJLK.cjs} +4 -4
  130. package/dist/{chunk-KY2PYKDZ.mjs → chunk-SO5KFX2C.mjs} +1 -1
  131. package/dist/{chunk-WDS3VL7E.mjs → chunk-SQJL67BU.mjs} +3 -3
  132. package/dist/{chunk-RW4T7UBU.cjs → chunk-STJMH4NX.cjs} +3 -3
  133. package/dist/{chunk-VYINXXYX.cjs → chunk-SUWJDU3Y.cjs} +59 -61
  134. package/dist/chunk-T2BDPMCF.cjs +358 -0
  135. package/dist/{chunk-U5W4ZALG.cjs → chunk-T2OAWYOU.cjs} +6 -6
  136. package/dist/{chunk-RGOZPSTI.mjs → chunk-TMBHKVKH.mjs} +1 -1
  137. package/dist/{chunk-VTW2DF63.mjs → chunk-TWDDNHRP.mjs} +1 -1
  138. package/dist/chunk-U4AANBRZ.mjs +1 -0
  139. package/dist/{chunk-DDIB73SZ.mjs → chunk-UB3ELCFR.mjs} +4 -4
  140. package/dist/chunk-UCAIVC2B.cjs +32 -0
  141. package/dist/{chunk-EK3BTKZP.cjs → chunk-UFYHIDMC.cjs} +123 -26
  142. package/dist/{chunk-KQW3YARN.cjs → chunk-UTHAZV2T.cjs} +62 -9
  143. package/dist/{chunk-G5VBLDAM.mjs → chunk-VBEVJE7Q.mjs} +1 -1
  144. package/dist/{chunk-66NKH2SV.cjs → chunk-VW2NEQHK.cjs} +6 -6
  145. package/dist/{chunk-VWVYCQWF.mjs → chunk-WBM7ATPT.mjs} +1 -1
  146. package/dist/{chunk-QBAZ6TKZ.cjs → chunk-WQT7JQN4.cjs} +2 -2
  147. package/dist/{chunk-DAA2GQAS.cjs → chunk-WRJAYU2L.cjs} +27 -27
  148. package/dist/{chunk-GTBXRWCK.cjs → chunk-WYD3KNAT.cjs} +3 -3
  149. package/dist/{chunk-EBFPZBUQ.cjs → chunk-WYUJM72T.cjs} +7 -7
  150. package/dist/{chunk-XTLGNJIO.mjs → chunk-XC25ZQ7H.mjs} +1 -1
  151. package/dist/{chunk-4PMXRQXC.cjs → chunk-XDIHVSZ5.cjs} +6 -6
  152. package/dist/{chunk-7ACZU3BT.mjs → chunk-XHNM6XE3.mjs} +1 -1
  153. package/dist/{chunk-WHV6Z7YX.mjs → chunk-XIESS6HW.mjs} +1 -1
  154. package/dist/{chunk-IU65XB2K.cjs → chunk-XMVARRN6.cjs} +2 -2
  155. package/dist/{chunk-UIJEAY6H.mjs → chunk-XTZURZIR.mjs} +1 -1
  156. package/dist/{chunk-7AZ3PLUC.mjs → chunk-XZLQHASB.mjs} +1 -1
  157. package/dist/{chunk-SRZ56OJH.mjs → chunk-XZTEU7ME.mjs} +3 -3
  158. package/dist/{chunk-RLTLA7VS.mjs → chunk-Y2IIKDRY.mjs} +1 -1
  159. package/dist/{chunk-5AKVDZMA.cjs → chunk-YAFKQ5ZV.cjs} +12 -12
  160. package/dist/{chunk-3DIFS7CO.mjs → chunk-YBUMQX6M.mjs} +1 -1
  161. package/dist/{chunk-CR6JOOO3.cjs → chunk-YGZHBIZP.cjs} +3 -10
  162. package/dist/{chunk-TWQONYWC.mjs → chunk-YMMSHGYC.mjs} +1 -1
  163. package/dist/{chunk-ZS7ESTKH.cjs → chunk-Z42BBOSG.cjs} +8 -12
  164. package/dist/{chunk-ZA7WOIIB.mjs → chunk-Z7PWETGZ.mjs} +1 -1
  165. package/dist/{chunk-3ZEQVODC.cjs → chunk-ZAK7AFVY.cjs} +2 -2
  166. package/dist/{chunk-W3IHFG4B.cjs → chunk-ZG33TW5I.cjs} +8 -8
  167. package/dist/chunk-ZQ2DPA2M.mjs +43 -0
  168. package/dist/{chunk-AHD46BFN.mjs → chunk-ZQOQB6GF.mjs} +1 -1
  169. package/dist/dial/DialPanel.cjs +88 -86
  170. package/dist/dial/DialPanel.d.cts +2 -3
  171. package/dist/dial/DialPanel.d.ts +2 -3
  172. package/dist/dial/DialPanel.mjs +87 -85
  173. package/dist/dial/DialProvider.d.cts +16 -51
  174. package/dist/dial/DialProvider.d.ts +16 -51
  175. package/dist/dial/index.cjs +104 -102
  176. package/dist/dial/index.d.cts +2 -1
  177. package/dist/dial/index.d.ts +2 -1
  178. package/dist/dial/index.mjs +87 -85
  179. package/dist/dial/types.cjs +4 -0
  180. package/dist/dial/types.d.cts +110 -0
  181. package/dist/dial/types.d.ts +110 -0
  182. package/dist/dial/types.mjs +1 -0
  183. package/dist/dial/wrapped-inputs/ControlledInputs.cjs +92 -90
  184. package/dist/dial/wrapped-inputs/ControlledInputs.d.cts +1 -2
  185. package/dist/dial/wrapped-inputs/ControlledInputs.d.ts +1 -2
  186. package/dist/dial/wrapped-inputs/ControlledInputs.mjs +87 -85
  187. package/dist/dial/wrapped-inputs/DialInputs.cjs +101 -99
  188. package/dist/dial/wrapped-inputs/DialInputs.d.cts +1 -2
  189. package/dist/dial/wrapped-inputs/DialInputs.d.ts +1 -2
  190. package/dist/dial/wrapped-inputs/DialInputs.mjs +87 -85
  191. package/dist/dial/wrapped-inputs/DialInterfaceInput.cjs +129 -0
  192. package/dist/dial/wrapped-inputs/DialInterfaceInput.d.cts +8 -0
  193. package/dist/dial/wrapped-inputs/DialInterfaceInput.d.ts +8 -0
  194. package/dist/dial/wrapped-inputs/DialInterfaceInput.mjs +120 -0
  195. package/dist/dial/wrapped-inputs/DialPresetsInput.cjs +83 -82
  196. package/dist/dial/wrapped-inputs/DialPresetsInput.d.cts +1 -2
  197. package/dist/dial/wrapped-inputs/DialPresetsInput.d.ts +1 -2
  198. package/dist/dial/wrapped-inputs/DialPresetsInput.mjs +82 -81
  199. package/dist/dial/wrapped-inputs/DialVectorInput.cjs +88 -86
  200. package/dist/dial/wrapped-inputs/DialVectorInput.mjs +87 -85
  201. package/dist/dial/wrapped-inputs/index.cjs +108 -106
  202. package/dist/dial/wrapped-inputs/index.d.cts +1 -2
  203. package/dist/dial/wrapped-inputs/index.d.ts +1 -2
  204. package/dist/dial/wrapped-inputs/index.mjs +87 -85
  205. package/dist/highlight-cursor/cursor-provider.cjs +3 -3
  206. package/dist/highlight-cursor/cursor-provider.mjs +2 -2
  207. package/dist/highlight-cursor/enhanced-components.cjs +13 -13
  208. package/dist/highlight-cursor/enhanced-components.d.cts +1 -1
  209. package/dist/highlight-cursor/enhanced-components.d.ts +1 -1
  210. package/dist/highlight-cursor/enhanced-components.mjs +8 -8
  211. package/dist/highlight-cursor/index.cjs +18 -18
  212. package/dist/highlight-cursor/index.mjs +9 -9
  213. package/dist/hooks/cn.cjs +2 -2
  214. package/dist/hooks/cn.mjs +1 -1
  215. package/dist/hooks/index.cjs +4 -4
  216. package/dist/hooks/index.mjs +2 -2
  217. package/dist/hooks/useIsMobile.cjs +2 -2
  218. package/dist/hooks/useIsMobile.mjs +1 -1
  219. package/dist/index.cjs +463 -369
  220. package/dist/index.css +0 -63
  221. package/dist/index.d.cts +7 -4
  222. package/dist/index.d.ts +7 -4
  223. package/dist/index.mjs +87 -85
  224. package/dist/ui/DialBadge.cjs +7 -7
  225. package/dist/ui/DialBadge.mjs +3 -3
  226. package/dist/ui/UIKitBadge.cjs +7 -7
  227. package/dist/ui/UIKitBadge.mjs +3 -3
  228. package/dist/ui/avatar.cjs +7 -7
  229. package/dist/ui/avatar.mjs +3 -3
  230. package/dist/ui/badge.cjs +5 -5
  231. package/dist/ui/badge.d.cts +1 -1
  232. package/dist/ui/badge.d.ts +1 -1
  233. package/dist/ui/badge.mjs +3 -3
  234. package/dist/ui/button.cjs +5 -5
  235. package/dist/ui/button.d.cts +1 -1
  236. package/dist/ui/button.d.ts +1 -1
  237. package/dist/ui/button.mjs +3 -3
  238. package/dist/ui/card.cjs +11 -10
  239. package/dist/ui/card.d.cts +14 -2
  240. package/dist/ui/card.d.ts +14 -2
  241. package/dist/ui/card.mjs +4 -3
  242. package/dist/ui/checkbox.cjs +4 -4
  243. package/dist/ui/checkbox.mjs +3 -3
  244. package/dist/ui/collapsible.cjs +6 -6
  245. package/dist/ui/collapsible.mjs +3 -3
  246. package/dist/ui/context-menu.cjs +76 -0
  247. package/dist/ui/context-menu.d.cts +28 -0
  248. package/dist/ui/context-menu.d.ts +28 -0
  249. package/dist/ui/context-menu.mjs +11 -0
  250. package/dist/ui/drawer.cjs +13 -13
  251. package/dist/ui/drawer.mjs +3 -3
  252. package/dist/ui/dropdown.cjs +18 -18
  253. package/dist/ui/dropdown.mjs +3 -3
  254. package/dist/ui/icons/index.cjs +9 -9
  255. package/dist/ui/icons/index.mjs +1 -1
  256. package/dist/ui/index.cjs +423 -330
  257. package/dist/ui/index.d.cts +5 -3
  258. package/dist/ui/index.d.ts +5 -3
  259. package/dist/ui/index.mjs +81 -80
  260. package/dist/ui/inputs/color-input.cjs +5 -5
  261. package/dist/ui/inputs/color-input.mjs +4 -4
  262. package/dist/ui/inputs/index.cjs +61 -61
  263. package/dist/ui/inputs/index.mjs +22 -22
  264. package/dist/ui/inputs/input-numbers.cjs +5 -5
  265. package/dist/ui/inputs/input-numbers.mjs +4 -4
  266. package/dist/ui/inputs/input.cjs +6 -6
  267. package/dist/ui/inputs/input.mjs +3 -3
  268. package/dist/ui/inputs/number-inputs/CmInput.cjs +6 -6
  269. package/dist/ui/inputs/number-inputs/CmInput.mjs +5 -5
  270. package/dist/ui/inputs/number-inputs/DegInput.cjs +6 -6
  271. package/dist/ui/inputs/number-inputs/DegInput.mjs +5 -5
  272. package/dist/ui/inputs/number-inputs/EulerDegInput.cjs +8 -8
  273. package/dist/ui/inputs/number-inputs/EulerDegInput.mjs +7 -7
  274. package/dist/ui/inputs/number-inputs/EulerInput.cjs +7 -7
  275. package/dist/ui/inputs/number-inputs/EulerInput.mjs +6 -6
  276. package/dist/ui/inputs/number-inputs/EulerRadInput.cjs +7 -7
  277. package/dist/ui/inputs/number-inputs/EulerRadInput.mjs +6 -6
  278. package/dist/ui/inputs/number-inputs/InchInput.cjs +6 -6
  279. package/dist/ui/inputs/number-inputs/InchInput.mjs +5 -5
  280. package/dist/ui/inputs/number-inputs/IntInput.cjs +6 -6
  281. package/dist/ui/inputs/number-inputs/IntInput.mjs +5 -5
  282. package/dist/ui/inputs/number-inputs/KVectorInput.cjs +7 -7
  283. package/dist/ui/inputs/number-inputs/KVectorInput.mjs +6 -6
  284. package/dist/ui/inputs/number-inputs/QuaternionInput.cjs +7 -7
  285. package/dist/ui/inputs/number-inputs/QuaternionInput.mjs +6 -6
  286. package/dist/ui/inputs/number-inputs/RadInput.cjs +6 -6
  287. package/dist/ui/inputs/number-inputs/RadInput.mjs +5 -5
  288. package/dist/ui/inputs/number-inputs/TimeInput.cjs +6 -6
  289. package/dist/ui/inputs/number-inputs/TimeInput.mjs +5 -5
  290. package/dist/ui/inputs/number-inputs/Vec3Input.cjs +7 -7
  291. package/dist/ui/inputs/number-inputs/Vec3Input.mjs +6 -6
  292. package/dist/ui/inputs/number-inputs/VectorInput.cjs +6 -6
  293. package/dist/ui/inputs/number-inputs/VectorInput.mjs +5 -5
  294. package/dist/ui/inputs/number-inputs/index.cjs +42 -42
  295. package/dist/ui/inputs/number-inputs/index.mjs +17 -17
  296. package/dist/ui/inputs/presets-input.cjs +7 -7
  297. package/dist/ui/inputs/presets-input.mjs +6 -6
  298. package/dist/ui/inputs/presets-rad-input.cjs +8 -8
  299. package/dist/ui/inputs/presets-rad-input.mjs +7 -7
  300. package/dist/ui/inputs/text-input.cjs +5 -5
  301. package/dist/ui/inputs/text-input.mjs +4 -4
  302. package/dist/ui/label.cjs +4 -4
  303. package/dist/ui/label.mjs +3 -3
  304. package/dist/ui/layout.cjs +4 -4
  305. package/dist/ui/layout.mjs +3 -3
  306. package/dist/ui/layouts/dock-layout/DockLayoutView.cjs +5 -5
  307. package/dist/ui/layouts/dock-layout/DockLayoutView.d.cts +2 -1
  308. package/dist/ui/layouts/dock-layout/DockLayoutView.d.ts +2 -1
  309. package/dist/ui/layouts/dock-layout/DockLayoutView.mjs +4 -4
  310. package/dist/ui/layouts/dock-layout/LayoutSlots.cjs +9 -9
  311. package/dist/ui/layouts/dock-layout/LayoutSlots.mjs +3 -3
  312. package/dist/ui/layouts/dock-layout/index.cjs +11 -11
  313. package/dist/ui/layouts/dock-layout/index.mjs +4 -4
  314. package/dist/ui/layouts/index.cjs +18 -18
  315. package/dist/ui/layouts/index.mjs +7 -7
  316. package/dist/ui/layouts/liquid-layout/LayoutSlots.cjs +9 -9
  317. package/dist/ui/layouts/liquid-layout/LayoutSlots.mjs +3 -3
  318. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.cjs +5 -5
  319. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.d.cts +13 -1
  320. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.d.ts +13 -1
  321. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.mjs +4 -4
  322. package/dist/ui/layouts/liquid-layout/index.cjs +5 -5
  323. package/dist/ui/layouts/liquid-layout/index.mjs +4 -4
  324. package/dist/ui/modal.cjs +13 -13
  325. package/dist/ui/modal.mjs +3 -3
  326. package/dist/ui/navigation.cjs +5 -5
  327. package/dist/ui/navigation.mjs +4 -4
  328. package/dist/ui/pagination.cjs +11 -11
  329. package/dist/ui/pagination.mjs +4 -4
  330. package/dist/ui/popover.cjs +7 -7
  331. package/dist/ui/popover.mjs +3 -3
  332. package/dist/ui/progress.cjs +4 -4
  333. package/dist/ui/progress.d.cts +1 -1
  334. package/dist/ui/progress.d.ts +1 -1
  335. package/dist/ui/progress.mjs +3 -3
  336. package/dist/ui/radio-group.cjs +5 -5
  337. package/dist/ui/radio-group.mjs +3 -3
  338. package/dist/ui/resizable.cjs +6 -6
  339. package/dist/ui/resizable.mjs +3 -3
  340. package/dist/ui/select.cjs +14 -14
  341. package/dist/ui/select.mjs +3 -3
  342. package/dist/ui/separator.cjs +4 -4
  343. package/dist/ui/separator.mjs +3 -3
  344. package/dist/ui/sheet.cjs +11 -11
  345. package/dist/ui/sheet.d.cts +26 -13
  346. package/dist/ui/sheet.d.ts +26 -13
  347. package/dist/ui/sheet.mjs +3 -3
  348. package/dist/ui/sidebar.cjs +33 -33
  349. package/dist/ui/sidebar.mjs +9 -9
  350. package/dist/ui/simple-tree-view.cjs +4 -4
  351. package/dist/ui/simple-tree-view.mjs +3 -3
  352. package/dist/ui/skeleton.cjs +4 -4
  353. package/dist/ui/skeleton.mjs +3 -3
  354. package/dist/ui/slider.cjs +4 -4
  355. package/dist/ui/slider.mjs +3 -3
  356. package/dist/ui/switch.cjs +4 -4
  357. package/dist/ui/switch.mjs +3 -3
  358. package/dist/ui/table.cjs +11 -11
  359. package/dist/ui/table.mjs +3 -3
  360. package/dist/ui/tabs.cjs +7 -7
  361. package/dist/ui/tabs.d.cts +21 -6
  362. package/dist/ui/tabs.d.ts +21 -6
  363. package/dist/ui/tabs.mjs +3 -3
  364. package/dist/ui/textarea.cjs +4 -4
  365. package/dist/ui/textarea.mjs +3 -3
  366. package/dist/ui/theme/ThemeProvider.d.cts +1 -1
  367. package/dist/ui/theme/ThemeProvider.d.ts +1 -1
  368. package/dist/ui/theme/ThemeToggles.cjs +7 -7
  369. package/dist/ui/theme/ThemeToggles.mjs +5 -5
  370. package/dist/ui/theme/index.cjs +7 -7
  371. package/dist/ui/theme/index.mjs +5 -5
  372. package/dist/ui/toast.cjs +19 -3
  373. package/dist/ui/toast.d.cts +1 -1
  374. package/dist/ui/toast.d.ts +1 -1
  375. package/dist/ui/toast.mjs +17 -1
  376. package/dist/ui/toggle-buttons.cjs +8 -8
  377. package/dist/ui/toggle-buttons.mjs +3 -3
  378. package/dist/ui/toggle-group.cjs +6 -6
  379. package/dist/ui/toggle-group.mjs +3 -3
  380. package/dist/ui/toggle.cjs +5 -5
  381. package/dist/ui/toggle.mjs +3 -3
  382. package/dist/ui/toolbar.cjs +6 -6
  383. package/dist/ui/toolbar.mjs +3 -3
  384. package/dist/ui/tooltip.cjs +7 -7
  385. package/dist/ui/tooltip.d.cts +2 -2
  386. package/dist/ui/tooltip.d.ts +2 -2
  387. package/dist/ui/tooltip.mjs +3 -3
  388. package/dist/ui/tree-view/TreeSearchBar.cjs +6 -6
  389. package/dist/ui/tree-view/TreeSearchBar.mjs +5 -5
  390. package/dist/ui/tree-view/TreeView.cjs +7 -5
  391. package/dist/ui/tree-view/TreeView.d.cts +12 -6
  392. package/dist/ui/tree-view/TreeView.d.ts +12 -6
  393. package/dist/ui/tree-view/TreeView.mjs +5 -3
  394. package/dist/ui/tree-view/hooks.cjs +31 -3
  395. package/dist/ui/tree-view/hooks.d.cts +33 -1
  396. package/dist/ui/tree-view/hooks.d.ts +33 -1
  397. package/dist/ui/tree-view/hooks.mjs +1 -1
  398. package/dist/ui/tree-view/index.cjs +46 -17
  399. package/dist/ui/tree-view/index.d.cts +1 -1
  400. package/dist/ui/tree-view/index.d.ts +1 -1
  401. package/dist/ui/tree-view/index.mjs +8 -7
  402. package/dist/ui/tree-view-legacy.cjs +10 -10
  403. package/dist/ui/tree-view-legacy.mjs +6 -6
  404. package/dist/ui/waterfall/CursorOverlay.cjs +4 -4
  405. package/dist/ui/waterfall/CursorOverlay.mjs +3 -3
  406. package/dist/ui/waterfall/TimelineEvent.cjs +4 -4
  407. package/dist/ui/waterfall/TimelineEvent.mjs +3 -3
  408. package/dist/ui/waterfall/TimelineProcessBar.cjs +4 -4
  409. package/dist/ui/waterfall/TimelineProcessBar.mjs +3 -3
  410. package/dist/ui/waterfall/Wedges.cjs +5 -5
  411. package/dist/ui/waterfall/Wedges.mjs +3 -3
  412. package/dist/ui/waterfall/index.cjs +16 -15
  413. package/dist/ui/waterfall/index.mjs +15 -14
  414. package/package.json +2 -1
  415. package/src/auth/components/index.ts +1 -1
  416. package/src/dial/DialPanel.tsx +52 -27
  417. package/src/dial/DialProvider.tsx +20 -68
  418. package/src/dial/index.ts +7 -5
  419. package/src/dial/types.ts +40 -0
  420. package/src/dial/wrapped-inputs/ControlledInputs.tsx +6 -5
  421. package/src/dial/wrapped-inputs/DialInputs.tsx +2 -1
  422. package/src/dial/wrapped-inputs/DialInterfaceInput.tsx +44 -0
  423. package/src/dial/wrapped-inputs/DialPresetsInput.tsx +3 -2
  424. package/src/dial/wrapped-inputs/DialVectorInput.tsx +3 -18
  425. package/src/hooks/cn.ts +5 -0
  426. package/src/hooks/useIsMobile.ts +14 -30
  427. package/src/index.css +0 -1
  428. package/src/ui/DialBadge.tsx +7 -5
  429. package/src/ui/card.tsx +76 -4
  430. package/src/ui/context-menu.tsx +358 -0
  431. package/src/ui/index.ts +2 -0
  432. package/src/ui/inputs/number-inputs/EulerRadInput.tsx +43 -42
  433. package/src/ui/inputs/number-inputs/VectorInput.tsx +0 -1
  434. package/src/ui/inputs/presets-rad-input.tsx +5 -2
  435. package/src/ui/inputs/text-input.tsx +1 -1
  436. package/src/ui/layouts/dock-layout/DockLayoutView.tsx +15 -4
  437. package/src/ui/layouts/dock-layout/LayoutSlots.tsx +14 -5
  438. package/src/ui/layouts/liquid-layout/LiquidLayoutView.tsx +44 -5
  439. package/src/ui/progress.tsx +7 -14
  440. package/src/ui/separator.tsx +1 -1
  441. package/src/ui/sheet.tsx +14 -116
  442. package/src/ui/sidebar.tsx +18 -19
  443. package/src/ui/tabs.tsx +27 -57
  444. package/src/ui/toast.tsx +15 -16
  445. package/src/ui/tooltip.tsx +3 -30
  446. package/src/ui/tree-view/TreeView.tsx +147 -18
  447. package/src/ui/tree-view/hooks.tsx +148 -0
  448. package/src/ui/tree-view/types.ts +1 -1
  449. package/src/ui/waterfall/TimelineProcessBar.tsx +10 -4
  450. package/dist/chunk-EOSYXHEH.mjs +0 -27
  451. package/dist/chunk-EXXV3BXT.cjs +0 -23
  452. package/dist/chunk-FZAGJSW2.cjs +0 -47
  453. package/dist/chunk-IPQU5CJD.mjs +0 -21
  454. package/dist/chunk-JR4TVE43.cjs +0 -31
  455. package/dist/chunk-LAPOK2L4.mjs +0 -193
  456. package/dist/chunk-MFYDZKQF.mjs +0 -28
  457. package/dist/chunk-Q3CJUGX3.cjs +0 -21
  458. package/dist/chunk-RTYZO2AC.cjs +0 -30
  459. package/dist/chunk-V5T6XOSB.cjs +0 -222
  460. package/dist/chunk-XHJDRQD7.mjs +0 -29
  461. package/dist/chunk-Y2XVZEXM.mjs +0 -45
  462. package/dist/dial/DialProvider.example.cjs +0 -72
  463. package/dist/dial/DialProvider.example.d.cts +0 -7
  464. package/dist/dial/DialProvider.example.d.ts +0 -7
  465. package/dist/dial/DialProvider.example.mjs +0 -68
  466. package/dist/styles/toast.css +0 -64
  467. package/dist/styles/toast.d.cts +0 -2
  468. package/dist/styles/toast.d.ts +0 -2
  469. package/src/dial/DialProvider.example.tsx +0 -80
  470. package/src/styles/toast.css +0 -67
  471. /package/dist/{chunk-YYLBP356.mjs → chunk-6THKQIF7.mjs} +0 -0
  472. /package/dist/{chunk-YWECB5GR.cjs → chunk-F4NQLN5E.cjs} +0 -0
@@ -1,35 +1,19 @@
1
- import { useSyncExternalStore } from "react";
1
+ import { useEffect, useState } from "react";
2
2
 
3
3
  const MOBILE_BREAKPOINT = 768;
4
4
 
5
- function subscribe(callback: () => void) {
6
- if (typeof window === "undefined") {
7
- return () => {};
8
- }
9
-
10
- const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
11
-
12
- // Modern browsers
13
- if (mql.addEventListener) {
14
- mql.addEventListener("change", callback);
15
- return () => mql.removeEventListener("change", callback);
16
- }
17
-
18
- // Fallback for older browsers
19
- mql.addListener(callback);
20
- return () => mql.removeListener(callback);
21
- }
22
-
23
- function getSnapshot() {
24
- if (typeof window === "undefined") return false;
25
- return window.innerWidth < MOBILE_BREAKPOINT;
26
- }
27
-
28
- function getServerSnapshot() {
29
- // Return false on server - most users are on desktop
30
- return false;
31
- }
32
-
33
5
  export function useIsMobile() {
34
- return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
6
+ const [isMobile, setIsMobile] = useState<boolean | undefined>(undefined);
7
+
8
+ useEffect(() => {
9
+ const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
10
+ const onChange = () => {
11
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
12
+ };
13
+ mql.addEventListener("change", onChange);
14
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
15
+ return () => mql.removeEventListener("change", onChange);
16
+ }, []);
17
+
18
+ return !!isMobile;
35
19
  }
package/src/index.css CHANGED
@@ -2,4 +2,3 @@
2
2
 
3
3
  @import "./styles/variables.css";
4
4
  @import "./styles/theme.css";
5
- @import "./styles/toast.css";
@@ -1,5 +1,5 @@
1
- import { GitBranch } from "lucide-react";
2
1
  import React from "react";
2
+
3
3
  import { cn } from "../hooks";
4
4
 
5
5
  // Version info for dial-cli package (injected at build time)
@@ -7,7 +7,8 @@ declare const __DIAL_VERSION__: string;
7
7
  declare const __DIAL_PACKAGE_NAME__: string;
8
8
  declare const __DIAL_GIT_HASH__: string;
9
9
 
10
- const DIAL_PACKAGE_NAME = typeof __DIAL_PACKAGE_NAME__ !== "undefined" ? __DIAL_PACKAGE_NAME__ : "@vuer-ai/dial-cli";
10
+ const DIAL_PACKAGE_NAME =
11
+ typeof __DIAL_PACKAGE_NAME__ !== "undefined" ? __DIAL_PACKAGE_NAME__ : "@vuer-ai/dial-cli";
11
12
  const DIAL_PACKAGE_VERSION = typeof __DIAL_VERSION__ !== "undefined" ? __DIAL_VERSION__ : "dev";
12
13
  const DIAL_GIT_HASH = typeof __DIAL_GIT_HASH__ !== "undefined" ? __DIAL_GIT_HASH__ : "unknown";
13
14
 
@@ -52,14 +53,15 @@ function DialBadge({
52
53
  }: DialBadgeProps) {
53
54
  const packageShortName = "dial-cli";
54
55
  const displayValue = hash ? DIAL_GIT_HASH : DIAL_PACKAGE_VERSION;
55
- const versionText = version || hash ? (prefix && !hash ? `v${displayValue}` : displayValue) : undefined;
56
+ const versionText =
57
+ version || hash ? (prefix && !hash ? `v${displayValue}` : displayValue) : undefined;
56
58
  const npmUrl = `https://www.npmjs.com/package/${DIAL_PACKAGE_NAME}/v/${DIAL_PACKAGE_VERSION}`;
57
59
 
58
60
  return (
59
61
  <div
60
62
  className={cn(
61
63
  "rounded-uk-xs rounded-r-uk-xs text-uk-sm bg-icon-withbg inline-flex items-center",
62
- className
64
+ className,
63
65
  )}
64
66
  style={linkable ? { cursor: "pointer" } : undefined}
65
67
  >
@@ -105,4 +107,4 @@ function DialBadge({
105
107
  }
106
108
 
107
109
  export { DialBadge, DIAL_PACKAGE_VERSION, DIAL_PACKAGE_NAME, DIAL_GIT_HASH };
108
- export type { DialBadgeProps };
110
+ export type { DialBadgeProps };
package/src/ui/card.tsx CHANGED
@@ -1,13 +1,16 @@
1
1
  import { cva, type VariantProps } from "class-variance-authority";
2
- import { type ComponentProps } from "react";
2
+ import { ChevronDown, ChevronUp } from "lucide-react";
3
+ import { type ComponentProps, type ReactNode, useState } from "react";
3
4
 
4
5
  import { cn } from "../hooks";
6
+ import { Button } from "./button";
5
7
 
6
8
  /**
7
9
  * Variants for the card component.
8
10
  */
9
11
  const cardVariants = cva(
10
12
  [
13
+ "relative",
11
14
  "flex",
12
15
  "flex-col",
13
16
  "rounded-uk-xl",
@@ -34,13 +37,82 @@ const cardVariants = cva(
34
37
  },
35
38
  );
36
39
 
37
- export interface CardProps extends ComponentProps<"div">, VariantProps<typeof cardVariants> {}
40
+ export interface CardProps extends ComponentProps<"div">, VariantProps<typeof cardVariants> {
41
+ /**
42
+ * Enable collapse/expand functionality
43
+ */
44
+ collapsible?: boolean;
45
+ /**
46
+ * Content to display when card is collapsed (typically a label or title)
47
+ */
48
+ collapsedContent?: ReactNode;
49
+ /**
50
+ * Initially collapsed state (only used when collapsible is true)
51
+ */
52
+ defaultCollapsed?: boolean;
53
+ }
38
54
 
39
55
  /**
40
56
  * Container card with default padding, radius and shadow.
41
57
  */
42
- function Card({ className, size, ...props }: CardProps) {
43
- return <div data-slot="card" className={cn(cardVariants({ size, className }))} {...props} />;
58
+ function Card({
59
+ className,
60
+ size,
61
+ collapsible,
62
+ collapsedContent,
63
+ defaultCollapsed = false,
64
+ children,
65
+ ...props
66
+ }: CardProps) {
67
+ const [isCollapsed, setIsCollapsed] = useState(defaultCollapsed);
68
+
69
+ if (collapsible) {
70
+ if (isCollapsed) {
71
+ return (
72
+ <div
73
+ data-slot="card"
74
+ className={cn(cardVariants({ size }), "flex-row justify-between", className)}
75
+ {...props}
76
+ >
77
+ {collapsedContent}
78
+ <div className="right-lg absolute top-1/2 -translate-y-1/2">
79
+ <Button
80
+ variant="ghost"
81
+ size="sm"
82
+ icon
83
+ onClick={() => setIsCollapsed(false)}
84
+ className="hover:bg-shadow-secondary"
85
+ >
86
+ <ChevronDown strokeWidth={1.5} className="text-icon-primary size-4" />
87
+ </Button>
88
+ </div>
89
+ </div>
90
+ );
91
+ }
92
+
93
+ return (
94
+ <div data-slot="card" className={cn(cardVariants({ size, className }))} {...props}>
95
+ <div className="right-lg top-lg absolute">
96
+ <Button
97
+ variant="ghost"
98
+ size="sm"
99
+ icon
100
+ onClick={() => setIsCollapsed(true)}
101
+ className="hover:bg-shadow-secondary"
102
+ >
103
+ <ChevronUp strokeWidth={1.5} className="text-icon-primary size-4" />
104
+ </Button>
105
+ </div>
106
+ {children}
107
+ </div>
108
+ );
109
+ }
110
+
111
+ return (
112
+ <div data-slot="card" className={cn(cardVariants({ size, className }))} {...props}>
113
+ {children}
114
+ </div>
115
+ );
44
116
  }
45
117
 
46
118
  /**
@@ -0,0 +1,358 @@
1
+ import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
2
+ import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
3
+ import { ComponentProps } from "react";
4
+
5
+ import { cn } from "../hooks";
6
+
7
+ function ContextMenu({ ...props }: ComponentProps<typeof ContextMenuPrimitive.Root>) {
8
+ return <ContextMenuPrimitive.Root data-slot="context-menu" {...props} />;
9
+ }
10
+
11
+ function ContextMenuTrigger({ ...props }: ComponentProps<typeof ContextMenuPrimitive.Trigger>) {
12
+ return <ContextMenuPrimitive.Trigger data-slot="context-menu-trigger" {...props} />;
13
+ }
14
+
15
+ function ContextMenuPortal({ ...props }: ComponentProps<typeof ContextMenuPrimitive.Portal>) {
16
+ return <ContextMenuPrimitive.Portal data-slot="context-menu-portal" {...props} />;
17
+ }
18
+
19
+ function ContextMenuContent({
20
+ className,
21
+ ...props
22
+ }: ComponentProps<typeof ContextMenuPrimitive.Content>) {
23
+ return (
24
+ <ContextMenuPrimitive.Portal>
25
+ <ContextMenuPrimitive.Content
26
+ data-slot="context-menu-content"
27
+ className={cn(
28
+ [
29
+ "bg-bg-primary",
30
+ "p-md",
31
+ "data-[state=open]:animate-in",
32
+ "data-[state=closed]:animate-out",
33
+ "data-[state=closed]:fade-out-0",
34
+ "data-[state=open]:fade-in-0",
35
+ "data-[state=closed]:zoom-out-95",
36
+ "data-[state=open]:zoom-in-95",
37
+ "data-[side=bottom]:slide-in-from-top-2",
38
+ "data-[side=left]:slide-in-from-right-2",
39
+ "data-[side=right]:slide-in-from-left-2",
40
+ "data-[side=top]:slide-in-from-bottom-2",
41
+ "relative",
42
+ "z-50",
43
+ "max-h-(--radix-context-menu-content-available-height)",
44
+ "origin-(--radix-context-menu-content-transform-origin)",
45
+ "overflow-x-hidden",
46
+ "overflow-y-auto",
47
+ "rounded-uk-md",
48
+ "shadow-[0_4px_16px_0_var(--color-shadow-secondary)]",
49
+ "liquid-dark:liquid-dark-bg",
50
+ "liquid-light:liquid-light-bg",
51
+ ],
52
+ className,
53
+ )}
54
+ {...props}
55
+ />
56
+ </ContextMenuPrimitive.Portal>
57
+ );
58
+ }
59
+
60
+ function ContextMenuGroup({
61
+ className,
62
+ ...props
63
+ }: ComponentProps<typeof ContextMenuPrimitive.Group>) {
64
+ return (
65
+ <ContextMenuPrimitive.Group
66
+ data-slot="context-menu-group"
67
+ className={cn("space-y-xs", className)}
68
+ {...props}
69
+ />
70
+ );
71
+ }
72
+
73
+ function ContextMenuItem({
74
+ className,
75
+ inset,
76
+ variant = "default",
77
+ ...props
78
+ }: ComponentProps<typeof ContextMenuPrimitive.Item> & {
79
+ inset?: boolean;
80
+ variant?: "default" | "destructive";
81
+ }) {
82
+ return (
83
+ <ContextMenuPrimitive.Item
84
+ data-slot="context-menu-item"
85
+ data-inset={inset}
86
+ data-variant={variant}
87
+ className={cn(
88
+ [
89
+ "w-full",
90
+ "flex",
91
+ "gap-md",
92
+ "items-center",
93
+ "px-sm",
94
+ "py-xs",
95
+ "relative",
96
+ "cursor-default",
97
+ "rounded-uk-xs",
98
+ "text-uk-sm",
99
+ "leading-uk-sm",
100
+ "outline-hidden",
101
+ "select-none",
102
+ "hover:bg-bg-tertiary",
103
+ "data-[disabled]:pointer-events-none",
104
+ "data-[disabled]:text-bg-quaternary",
105
+ "[&_svg]:pointer-events-none",
106
+ "[&_svg]:shrink-0",
107
+ "[&_svg:not([class*='size-'])]:size-4",
108
+ "[&_svg:not([class*='text-'])]:text-muted-foreground",
109
+ variant === "destructive" && "text-text-danger",
110
+ ],
111
+ className,
112
+ )}
113
+ {...props}
114
+ />
115
+ );
116
+ }
117
+
118
+ function ContextMenuCheckboxItem({
119
+ className,
120
+ children,
121
+ checked,
122
+ ...props
123
+ }: ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>) {
124
+ return (
125
+ <ContextMenuPrimitive.CheckboxItem
126
+ data-slot="context-menu-checkbox-item"
127
+ className={cn(
128
+ [
129
+ "w-full",
130
+ "flex",
131
+ "gap-md",
132
+ "items-center",
133
+ "pr-md",
134
+ "pl-[calc(var(--spacing-xl)*1.8)]",
135
+ "py-xs",
136
+ "relative",
137
+ "cursor-default",
138
+ "rounded-uk-xs",
139
+ "text-uk-sm",
140
+ "leading-uk-sm",
141
+ "outline-hidden",
142
+ "select-none",
143
+ "hover:bg-bg-tertiary",
144
+ "data-[disabled]:pointer-events-none",
145
+ "data-[disabled]:text-bg-quaternary",
146
+ "[&_svg:not([class*='size-'])]:size-4",
147
+ "[&_svg]:pointer-events-none",
148
+ "[&_svg]:shrink-0",
149
+ ],
150
+ className,
151
+ )}
152
+ checked={checked}
153
+ {...props}
154
+ >
155
+ <span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
156
+ <ContextMenuPrimitive.ItemIndicator>
157
+ <CheckIcon className="size-4" />
158
+ </ContextMenuPrimitive.ItemIndicator>
159
+ </span>
160
+ {children}
161
+ </ContextMenuPrimitive.CheckboxItem>
162
+ );
163
+ }
164
+
165
+ function ContextMenuRadioGroup({
166
+ ...props
167
+ }: ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {
168
+ return <ContextMenuPrimitive.RadioGroup data-slot="context-menu-radio-group" {...props} />;
169
+ }
170
+
171
+ function ContextMenuRadioItem({
172
+ className,
173
+ children,
174
+ ...props
175
+ }: ComponentProps<typeof ContextMenuPrimitive.RadioItem>) {
176
+ return (
177
+ <ContextMenuPrimitive.RadioItem
178
+ data-slot="context-menu-radio-item"
179
+ className={cn(
180
+ [
181
+ "w-full",
182
+ "hover:bg-bg-tertiary",
183
+ "outline-hidden",
184
+ "relative",
185
+ "flex",
186
+ "cursor-default",
187
+ "select-none",
188
+ "items-center",
189
+ "gap-md",
190
+ "rounded-uk-xs",
191
+ "py-xs",
192
+ "pl-[calc(var(--spacing-xl)*1.8)]",
193
+ "pr-md",
194
+ "text-uk-sm",
195
+ "leading-uk-sm",
196
+ "data-[disabled]:pointer-events-none",
197
+ "data-[disabled]:text-bg-quaternary",
198
+ "[&_svg:not([class*='size-'])]:size-4",
199
+ "[&_svg]:pointer-events-none",
200
+ "[&_svg]:shrink-0",
201
+ ],
202
+ className,
203
+ )}
204
+ {...props}
205
+ >
206
+ <span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
207
+ <ContextMenuPrimitive.ItemIndicator>
208
+ <CircleIcon className="size-2 fill-current" />
209
+ </ContextMenuPrimitive.ItemIndicator>
210
+ </span>
211
+ {children}
212
+ </ContextMenuPrimitive.RadioItem>
213
+ );
214
+ }
215
+
216
+ function ContextMenuLabel({
217
+ className,
218
+ inset,
219
+ ...props
220
+ }: ComponentProps<typeof ContextMenuPrimitive.Label> & {
221
+ inset?: boolean;
222
+ }) {
223
+ return (
224
+ <ContextMenuPrimitive.Label
225
+ data-slot="context-menu-label"
226
+ data-inset={inset}
227
+ className={cn("text-text-secondary text-uk-sm leading-uk-sm pb-lg pt-xs px-sm", className)}
228
+ {...props}
229
+ />
230
+ );
231
+ }
232
+
233
+ function ContextMenuSeparator({
234
+ className,
235
+ ...props
236
+ }: ComponentProps<typeof ContextMenuPrimitive.Separator>) {
237
+ return (
238
+ <ContextMenuPrimitive.Separator
239
+ data-slot="context-menu-separator"
240
+ className={cn("bg-line-primary my-lg pointer-events-none h-px", className)}
241
+ {...props}
242
+ />
243
+ );
244
+ }
245
+
246
+ function ContextMenuShortcut({ className, ...props }: ComponentProps<"span">) {
247
+ return (
248
+ <span
249
+ data-slot="context-menu-shortcut"
250
+ className={cn("text-text-tertiary text-uk-sm leading-uk-sm ml-auto", className)}
251
+ {...props}
252
+ />
253
+ );
254
+ }
255
+
256
+ function ContextMenuSub({ ...props }: ComponentProps<typeof ContextMenuPrimitive.Sub>) {
257
+ return <ContextMenuPrimitive.Sub data-slot="context-menu-sub" {...props} />;
258
+ }
259
+
260
+ function ContextMenuSubTrigger({
261
+ className,
262
+ inset,
263
+ children,
264
+ ...props
265
+ }: ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {
266
+ inset?: boolean;
267
+ }) {
268
+ return (
269
+ <ContextMenuPrimitive.SubTrigger
270
+ data-slot="context-menu-sub-trigger"
271
+ data-inset={inset}
272
+ className={cn(
273
+ "w-full",
274
+ "flex",
275
+ "gap-md",
276
+ "items-center",
277
+ "px-sm",
278
+ "py-xs",
279
+ "relative",
280
+ "cursor-default",
281
+ "rounded-uk-xs",
282
+ "text-uk-sm",
283
+ "leading-uk-sm",
284
+ "outline-hidden",
285
+ "select-none",
286
+ "hover:bg-bg-tertiary",
287
+ "data-[state=open]:bg-bg-tertiary",
288
+ "data-[disabled]:pointer-events-none",
289
+ "data-[disabled]:text-bg-quaternary",
290
+ "[&_svg]:pointer-events-none",
291
+ "[&_svg]:shrink-0",
292
+ "[&_svg:not([class*='size-'])]:size-4",
293
+ "[&_svg:not([class*='text-'])]:text-muted-foreground",
294
+ className,
295
+ )}
296
+ {...props}
297
+ >
298
+ {children}
299
+ <ChevronRightIcon className="ml-auto size-4" />
300
+ </ContextMenuPrimitive.SubTrigger>
301
+ );
302
+ }
303
+
304
+ function ContextMenuSubContent({
305
+ className,
306
+ ...props
307
+ }: ComponentProps<typeof ContextMenuPrimitive.SubContent>) {
308
+ return (
309
+ <ContextMenuPrimitive.SubContent
310
+ data-slot="context-menu-sub-content"
311
+ className={cn(
312
+ "bg-bg-primary",
313
+ "p-md",
314
+ "data-[state=open]:animate-in",
315
+ "data-[state=closed]:animate-out",
316
+ "data-[state=closed]:fade-out-0",
317
+ "data-[state=open]:fade-in-0",
318
+ "data-[state=closed]:zoom-out-95",
319
+ "data-[state=open]:zoom-in-95",
320
+ "data-[side=bottom]:slide-in-from-top-2",
321
+ "data-[side=left]:slide-in-from-right-2",
322
+ "data-[side=right]:slide-in-from-left-2",
323
+ "data-[side=top]:slide-in-from-bottom-2",
324
+ "relative",
325
+ "z-50",
326
+ "max-h-(--radix-context-menu-content-available-height)",
327
+ "origin-(--radix-context-menu-content-transform-origin)",
328
+ "overflow-x-hidden",
329
+ "overflow-y-auto",
330
+ "rounded-uk-md",
331
+ "shadow-[0_4px_16px_0_var(--color-shadow-secondary)]",
332
+ "liquid-dark:liquid-dark-bg",
333
+ "liquid-light:liquid-light-bg",
334
+ className,
335
+ )}
336
+ {...props}
337
+ />
338
+ );
339
+ }
340
+
341
+ export {
342
+ ContextMenu,
343
+ ContextMenuPortal,
344
+ ContextMenuTrigger,
345
+ ContextMenuContent,
346
+ ContextMenuGroup,
347
+ ContextMenuLabel,
348
+ ContextMenuItem,
349
+ ContextMenuCheckboxItem,
350
+ ContextMenuRadioGroup,
351
+ ContextMenuRadioItem,
352
+ ContextMenuSeparator,
353
+ ContextMenuShortcut,
354
+ ContextMenuSub,
355
+ ContextMenuSubTrigger,
356
+ ContextMenuSubContent,
357
+ };
358
+
package/src/ui/index.ts CHANGED
@@ -11,9 +11,11 @@ export * from "./sheet";
11
11
  export * from "./popover";
12
12
  export * from "./avatar";
13
13
  export * from "./tooltip";
14
+ export * from "./separator";
14
15
  export * from "./toast";
15
16
  export * from "./textarea";
16
17
  export * from "./dropdown";
18
+ export * from "./context-menu";
17
19
  export * from "./toggle";
18
20
  export * from "./toggle-buttons";
19
21
  export * from "./toggle-group";
@@ -8,48 +8,49 @@ interface EulerRadInputProps extends Omit<VectorInputProps, "value" | "labels" |
8
8
  display?: "deg" | "pi" | "rad";
9
9
  }
10
10
 
11
- const EulerRadInput = forwardRef<HTMLDivElement, EulerRadInputProps>(
12
- function EulerRadInput({ value, onValuesChange, display = "rad", ...props }, ref) {
13
- const displayValues = useMemo(() => {
14
- if (display === "deg") {
15
- return value.map((v) => (v * 180) / Math.PI) as [number, number, number];
16
- } else if (display === "pi") {
17
- return value.map((v) => v / Math.PI) as [number, number, number];
18
- }
19
- return value;
20
- }, [value, display]);
21
-
22
- const handleChange = (displayVals: number[]) => {
23
- let radValues: [number, number, number];
24
- if (display === "deg") {
25
- radValues = displayVals.map((v) => (v * Math.PI) / 180) as [number, number, number];
26
- } else if (display === "pi") {
27
- radValues = displayVals.map((v) => v * Math.PI) as [number, number, number];
28
- } else {
29
- radValues = displayVals as [number, number, number];
30
- }
31
- onValuesChange?.(radValues);
32
- };
33
-
34
- const unitSymbol = useMemo(() => {
35
- if (display === "deg") return "°";
36
- if (display === "pi") return "π";
37
- return "rad";
38
- }, [display]);
39
-
40
- const labels = [`x${unitSymbol}`, `y${unitSymbol}`, `z${unitSymbol}`];
41
-
42
- return (
43
- <VectorInput
44
- ref={ref}
45
- value={displayValues}
46
- onValuesChange={handleChange}
47
- labels={labels}
48
- {...props}
49
- />
50
- );
51
- },
52
- );
11
+ const EulerRadInput = forwardRef<HTMLDivElement, EulerRadInputProps>(function EulerRadInput(
12
+ { value, onValuesChange, display = "rad", ...props },
13
+ ref,
14
+ ) {
15
+ const displayValues = useMemo(() => {
16
+ if (display === "deg") {
17
+ return value.map((v) => (v * 180) / Math.PI) as [number, number, number];
18
+ } else if (display === "pi") {
19
+ return value.map((v) => v / Math.PI) as [number, number, number];
20
+ }
21
+ return value;
22
+ }, [value, display]);
23
+
24
+ const handleChange = (displayVals: number[]) => {
25
+ let radValues: [number, number, number];
26
+ if (display === "deg") {
27
+ radValues = displayVals.map((v) => (v * Math.PI) / 180) as [number, number, number];
28
+ } else if (display === "pi") {
29
+ radValues = displayVals.map((v) => v * Math.PI) as [number, number, number];
30
+ } else {
31
+ radValues = displayVals as [number, number, number];
32
+ }
33
+ onValuesChange?.(radValues);
34
+ };
35
+
36
+ const unitSymbol = useMemo(() => {
37
+ if (display === "deg") return "°";
38
+ if (display === "pi") return "π";
39
+ return "rad";
40
+ }, [display]);
41
+
42
+ const labels = [`x${unitSymbol}`, `y${unitSymbol}`, `z${unitSymbol}`];
43
+
44
+ return (
45
+ <VectorInput
46
+ ref={ref}
47
+ value={displayValues}
48
+ onValuesChange={handleChange}
49
+ labels={labels}
50
+ {...props}
51
+ />
52
+ );
53
+ });
53
54
 
54
55
  export { EulerRadInput };
55
56
  export type { EulerRadInputProps };
@@ -2,7 +2,6 @@ import React, { forwardRef, ReactNode } from "react";
2
2
 
3
3
  import { InputNumbers, InputNumbersProps } from "../input-numbers";
4
4
 
5
-
6
5
  interface VectorInputProps
7
6
  extends Omit<InputNumbersProps, "value" | "onValuesChange" | "onChange"> {
8
7
  value: number[];
@@ -13,7 +13,10 @@ interface PresetsRadInputProps extends Omit<RadInputProps, "value" | "onChange">
13
13
  }
14
14
 
15
15
  export const PresetsRadInput = forwardRef<HTMLDivElement, PresetsRadInputProps>(
16
- function PresetsRadInput({ presets, value = 0, onChange, display = "rad", size, className, ...props }, ref) {
16
+ function PresetsRadInput(
17
+ { presets, value = 0, onChange, display = "rad", size, className, ...props },
18
+ ref,
19
+ ) {
17
20
  const [preset, setPreset] = useState(value);
18
21
 
19
22
  const handleValueChange = (newValue: number) => {
@@ -74,4 +77,4 @@ export const PresetsRadInput = forwardRef<HTMLDivElement, PresetsRadInputProps>(
74
77
  </div>
75
78
  );
76
79
  },
77
- );
80
+ );