@vuer-ai/vuer-uikit 0.0.119 → 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 (494) hide show
  1. package/dist/SyncScroll/SyncScroll.cjs +11 -11
  2. package/dist/SyncScroll/SyncScroll.mjs +4 -4
  3. package/dist/SyncScroll/index.cjs +11 -11
  4. package/dist/SyncScroll/index.mjs +4 -4
  5. package/dist/auth/components/index.cjs +84 -83
  6. package/dist/auth/components/index.mjs +83 -82
  7. package/dist/auth/components/user-avatar/index.cjs +84 -83
  8. package/dist/auth/components/user-avatar/index.mjs +83 -82
  9. package/dist/auth/index.cjs +84 -83
  10. package/dist/auth/index.mjs +83 -82
  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-MJOD2WOC.mjs → chunk-3P2OP4KO.mjs} +24 -46
  17. package/dist/{chunk-ARAMXRUE.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-UUV46MDU.cjs → chunk-4G2LN6XU.cjs} +139 -108
  21. package/dist/chunk-4NABYVCK.mjs +31 -0
  22. package/dist/{chunk-MNCBTS63.cjs → chunk-4TRHQ7MJ.cjs} +5 -5
  23. package/dist/{chunk-F2LEYFWW.cjs → chunk-4WKFVKFF.cjs} +5 -5
  24. package/dist/{chunk-EEGQLTSQ.cjs → chunk-4WWGBRQV.cjs} +77 -0
  25. package/dist/chunk-4Y5IF7R5.mjs +322 -0
  26. package/dist/{chunk-24SOZV7S.mjs → chunk-4YVKJKWV.mjs} +4 -15
  27. package/dist/{chunk-X6WOCNBX.cjs → chunk-57NITJN5.cjs} +2 -2
  28. package/dist/{chunk-QWBMDS3S.cjs → chunk-5HT74RHB.cjs} +5 -5
  29. package/dist/{chunk-4ODJAEOM.mjs → chunk-5JYH7TXY.mjs} +1 -1
  30. package/dist/{chunk-OJOWMXXY.mjs → chunk-67H3OSM3.mjs} +3 -3
  31. package/dist/{chunk-2CD4D2BR.cjs → chunk-6CJWNYHL.cjs} +3 -3
  32. package/dist/{chunk-CRX2ZCM2.cjs → chunk-6LTCLQH3.cjs} +6 -1
  33. package/dist/{chunk-TQKX345P.mjs → chunk-6NSLYQ35.mjs} +2 -2
  34. package/dist/{chunk-WKK5UX2W.mjs → chunk-6U6LRS37.mjs} +2 -2
  35. package/dist/{chunk-4OUQ6NSX.cjs → chunk-6VIKDPCD.cjs} +2 -2
  36. package/dist/{chunk-LMYA5IOK.mjs → chunk-6ZLK2RYS.mjs} +3 -3
  37. package/dist/{chunk-LYGYXV7S.cjs → chunk-7ICRKPIO.cjs} +16 -16
  38. package/dist/{chunk-ZCSJGDX7.mjs → chunk-7MR3M2HW.mjs} +1 -1
  39. package/dist/{chunk-Q37KC3CL.mjs → chunk-7RRQ2HHL.mjs} +114 -17
  40. package/dist/{chunk-FMKD5JBL.mjs → chunk-7TD77VF4.mjs} +10 -6
  41. package/dist/{chunk-42ZXL3KZ.cjs → chunk-7TXGEIV3.cjs} +12 -12
  42. package/dist/{chunk-SLXM4F24.cjs → chunk-7YFUNCKT.cjs} +9 -9
  43. package/dist/{chunk-LGFWHV23.cjs → chunk-ACGXE2IO.cjs} +2 -2
  44. package/dist/{chunk-EGIIZWP3.mjs → chunk-AFR23IX6.mjs} +1 -1
  45. package/dist/{chunk-XS5IUI62.cjs → chunk-B6CIRZI4.cjs} +2 -2
  46. package/dist/{chunk-REZAPK6Z.mjs → chunk-BDFUHPX2.mjs} +1 -1
  47. package/dist/{chunk-CXPF274N.mjs → chunk-BK77KKIM.mjs} +1 -1
  48. package/dist/{chunk-ZJSL6HSL.mjs → chunk-BLG4IPRR.mjs} +1 -1
  49. package/dist/{chunk-JQYMF2FW.cjs → chunk-BSDIS4KS.cjs} +4 -4
  50. package/dist/{chunk-4DSJ62TT.mjs → chunk-BYZ7HIIK.mjs} +2 -2
  51. package/dist/{chunk-6C53NKMF.mjs → chunk-C4U5BMQH.mjs} +1 -1
  52. package/dist/{chunk-BQA24G2A.mjs → chunk-CENP2PIB.mjs} +2 -2
  53. package/dist/{chunk-NJWKR5WR.mjs → chunk-CEYNTMQP.mjs} +1 -1
  54. package/dist/{chunk-CIOLL5LX.mjs → chunk-CN6SZKJZ.mjs} +1 -1
  55. package/dist/{chunk-WDSOII5A.cjs → chunk-COJRGW3A.cjs} +2 -2
  56. package/dist/{chunk-DYLDZJQC.cjs → chunk-COL2MXGC.cjs} +4 -4
  57. package/dist/chunk-CRY23RMB.mjs +30 -0
  58. package/dist/{chunk-CKGEV2JL.cjs → chunk-CV2EDA3W.cjs} +2 -2
  59. package/dist/{chunk-7AAMQGY2.cjs → chunk-CYWVJ3HF.cjs} +7 -7
  60. package/dist/{chunk-EEYL7PDI.cjs → chunk-D5WTSBUX.cjs} +7 -7
  61. package/dist/{chunk-ASZIBFA6.cjs → chunk-DG2EVWIW.cjs} +10 -10
  62. package/dist/chunk-DGJ7E77I.mjs +23 -0
  63. package/dist/{chunk-B7PLWNPX.mjs → chunk-DSQPFXYL.mjs} +22 -24
  64. package/dist/chunk-DVUN6GQI.cjs +21 -0
  65. package/dist/chunk-E7ACJ3NX.cjs +45 -0
  66. package/dist/{chunk-T4U3BG2V.mjs → chunk-EGJLY5VZ.mjs} +1 -1
  67. package/dist/{chunk-IPMQ63BJ.cjs → chunk-EMZEL54F.cjs} +27 -49
  68. package/dist/{chunk-7AEOJFD4.cjs → chunk-EOTGD64D.cjs} +2 -2
  69. package/dist/{chunk-K2ZYSKRU.mjs → chunk-EZ536NLQ.mjs} +1 -1
  70. package/dist/chunk-FB3M2JJV.cjs +21 -0
  71. package/dist/{chunk-DDU3SPCC.mjs → chunk-FUMJBAQI.mjs} +57 -4
  72. package/dist/{chunk-4TYIH6V3.mjs → chunk-G45SP3DA.mjs} +91 -61
  73. package/dist/{chunk-HB65PF7F.cjs → chunk-GBRIW266.cjs} +2 -2
  74. package/dist/{chunk-RPTRTGC2.cjs → chunk-GEGPGQVH.cjs} +15 -15
  75. package/dist/chunk-GHQA7PER.mjs +107 -0
  76. package/dist/{chunk-XQ3MWA3D.mjs → chunk-GJKFQHUX.mjs} +3 -3
  77. package/dist/{chunk-ND3WJ63Z.cjs → chunk-GVRVRBDU.cjs} +2 -2
  78. package/dist/chunk-GZ2BG42R.mjs +34 -0
  79. package/dist/chunk-H3JRYX2U.mjs +19 -0
  80. package/dist/{chunk-T66ETI7E.mjs → chunk-HBEU2PU2.mjs} +6 -1
  81. package/dist/{chunk-EVBYVJTW.mjs → chunk-HGN7J4CP.mjs} +2 -2
  82. package/dist/{chunk-SMXN2KOV.mjs → chunk-HGTL7DFT.mjs} +1 -1
  83. package/dist/{chunk-QO2AM6MF.mjs → chunk-HIDTQ4Z2.mjs} +1 -1
  84. package/dist/{chunk-3NIMV5PH.mjs → chunk-HUPECWNG.mjs} +1 -1
  85. package/dist/{chunk-6WH6PWTJ.cjs → chunk-HVACIZB5.cjs} +7 -19
  86. package/dist/{chunk-R4HT3SYR.cjs → chunk-HZBP6QTE.cjs} +2 -2
  87. package/dist/{chunk-2GXIGEKC.mjs → chunk-IKSER6BF.mjs} +2 -2
  88. package/dist/{chunk-UQQBUPGF.mjs → chunk-IPMWGCAI.mjs} +5 -21
  89. package/dist/{chunk-Q7WCKEXG.cjs → chunk-JF43YF6J.cjs} +3 -3
  90. package/dist/{chunk-MXGPFCLN.cjs → chunk-JVZ6J2UX.cjs} +2 -2
  91. package/dist/{chunk-EY6PKK4X.cjs → chunk-KKGDRIR2.cjs} +2 -2
  92. package/dist/{chunk-SAXISARG.cjs → chunk-KWSH253U.cjs} +2 -2
  93. package/dist/{chunk-K2BQNNEX.cjs → chunk-L6W77P4B.cjs} +8 -8
  94. package/dist/{chunk-N4Y5CBOI.cjs → chunk-LGUQR5AR.cjs} +4 -4
  95. package/dist/{chunk-MYZHDWBF.mjs → chunk-LJYIEOGQ.mjs} +11 -11
  96. package/dist/{chunk-332A4MHC.mjs → chunk-LNYUFL3Q.mjs} +1 -1
  97. package/dist/{chunk-JFPIUDGT.mjs → chunk-LOMLR5AA.mjs} +1 -1
  98. package/dist/{chunk-6D7FGGSX.cjs → chunk-MMQR4IEY.cjs} +27 -27
  99. package/dist/{chunk-BUAWPPXA.cjs → chunk-MQ5DGLVE.cjs} +11 -11
  100. package/dist/{chunk-EXY6WRH4.mjs → chunk-N6KP2HIC.mjs} +2 -2
  101. package/dist/{chunk-NKGUQZTD.cjs → chunk-NC2U7QTW.cjs} +2 -2
  102. package/dist/{chunk-V75PKBIV.cjs → chunk-NEJKCSS5.cjs} +9 -9
  103. package/dist/{chunk-R5UREEMP.cjs → chunk-NHFIDL5X.cjs} +8 -8
  104. package/dist/{chunk-JNV3UBBP.cjs → chunk-NIACIZWY.cjs} +6 -22
  105. package/dist/{chunk-PC5DHSC4.mjs → chunk-NKUK73WB.mjs} +71 -1
  106. package/dist/{chunk-5OZS5UJX.cjs → chunk-NSPAT6XV.cjs} +7 -7
  107. package/dist/{chunk-4BQPIY5Z.mjs → chunk-O2NGB7YP.mjs} +1 -1
  108. package/dist/{chunk-7H7U2X45.cjs → chunk-O3DFVRON.cjs} +17 -13
  109. package/dist/{chunk-IAFCABPY.mjs → chunk-O5YP3JQ4.mjs} +1 -1
  110. package/dist/chunk-OBWKFURE.cjs +2 -0
  111. package/dist/{chunk-S37MJNNP.cjs → chunk-OCADGDGL.cjs} +2 -2
  112. package/dist/{chunk-UMGNAR3W.cjs → chunk-OON7LFBQ.cjs} +8 -8
  113. package/dist/{chunk-ZSAPBZ36.mjs → chunk-OW653F7T.mjs} +1 -1
  114. package/dist/{chunk-GQYUSBSO.mjs → chunk-P3FBRYWH.mjs} +3 -10
  115. package/dist/{chunk-P3YSHGT5.mjs → chunk-P55DAW6H.mjs} +1 -1
  116. package/dist/{chunk-JOOURIX7.cjs → chunk-P6E4WLMD.cjs} +4 -4
  117. package/dist/{chunk-SCUMWMIN.mjs → chunk-PC42NEBI.mjs} +1 -1
  118. package/dist/{chunk-F3HOBNGR.cjs → chunk-PMG3NZF5.cjs} +4 -4
  119. package/dist/{chunk-PV6CEMTT.cjs → chunk-PWZ4F3WY.cjs} +4 -4
  120. package/dist/{chunk-MK2CWAFC.mjs → chunk-PZDC5ZKG.mjs} +5 -5
  121. package/dist/{chunk-LVIZRMYN.cjs → chunk-QF3JWGWX.cjs} +2 -2
  122. package/dist/{chunk-BXZSWY4N.mjs → chunk-QYJZ5KA6.mjs} +1 -1
  123. package/dist/{chunk-AE5YDMFT.mjs → chunk-QYYMLZFE.mjs} +3 -3
  124. package/dist/{chunk-JYYAGDLZ.cjs → chunk-R22VW3EK.cjs} +2 -2
  125. package/dist/{chunk-U22YVR7M.mjs → chunk-RLY4A3IY.mjs} +15 -6
  126. package/dist/{chunk-OLYHHP67.mjs → chunk-RS4T6S3Z.mjs} +1 -1
  127. package/dist/{chunk-L2XJ5Q7T.cjs → chunk-RTZNHV43.cjs} +21 -21
  128. package/dist/{chunk-D562KO2I.mjs → chunk-RWHVZM2B.mjs} +2 -2
  129. package/dist/{chunk-PR3BCKLJ.mjs → chunk-S4BL7C3Y.mjs} +1 -1
  130. package/dist/chunk-S4C7HO32.cjs +36 -0
  131. package/dist/{chunk-DAVMLI3P.cjs → chunk-SNUQOJLK.cjs} +4 -4
  132. package/dist/{chunk-KY2PYKDZ.mjs → chunk-SO5KFX2C.mjs} +1 -1
  133. package/dist/{chunk-WDS3VL7E.mjs → chunk-SQJL67BU.mjs} +3 -3
  134. package/dist/{chunk-RW4T7UBU.cjs → chunk-STJMH4NX.cjs} +3 -3
  135. package/dist/{chunk-KIZ7WH7H.cjs → chunk-SUWJDU3Y.cjs} +59 -61
  136. package/dist/chunk-T2BDPMCF.cjs +358 -0
  137. package/dist/{chunk-U5W4ZALG.cjs → chunk-T2OAWYOU.cjs} +6 -6
  138. package/dist/{chunk-RGOZPSTI.mjs → chunk-TMBHKVKH.mjs} +1 -1
  139. package/dist/{chunk-VTW2DF63.mjs → chunk-TWDDNHRP.mjs} +1 -1
  140. package/dist/chunk-U4AANBRZ.mjs +1 -0
  141. package/dist/{chunk-DDIB73SZ.mjs → chunk-UB3ELCFR.mjs} +4 -4
  142. package/dist/chunk-UCAIVC2B.cjs +32 -0
  143. package/dist/{chunk-EK3BTKZP.cjs → chunk-UFYHIDMC.cjs} +123 -26
  144. package/dist/{chunk-KQW3YARN.cjs → chunk-UTHAZV2T.cjs} +62 -9
  145. package/dist/{chunk-G5VBLDAM.mjs → chunk-VBEVJE7Q.mjs} +1 -1
  146. package/dist/{chunk-66NKH2SV.cjs → chunk-VW2NEQHK.cjs} +6 -6
  147. package/dist/{chunk-VWVYCQWF.mjs → chunk-WBM7ATPT.mjs} +1 -1
  148. package/dist/{chunk-QBAZ6TKZ.cjs → chunk-WQT7JQN4.cjs} +2 -2
  149. package/dist/{chunk-DAA2GQAS.cjs → chunk-WRJAYU2L.cjs} +27 -27
  150. package/dist/{chunk-GTBXRWCK.cjs → chunk-WYD3KNAT.cjs} +3 -3
  151. package/dist/{chunk-EBFPZBUQ.cjs → chunk-WYUJM72T.cjs} +7 -7
  152. package/dist/{chunk-XTLGNJIO.mjs → chunk-XC25ZQ7H.mjs} +1 -1
  153. package/dist/{chunk-4PMXRQXC.cjs → chunk-XDIHVSZ5.cjs} +6 -6
  154. package/dist/{chunk-7ACZU3BT.mjs → chunk-XHNM6XE3.mjs} +1 -1
  155. package/dist/{chunk-WHV6Z7YX.mjs → chunk-XIESS6HW.mjs} +1 -1
  156. package/dist/{chunk-IU65XB2K.cjs → chunk-XMVARRN6.cjs} +2 -2
  157. package/dist/{chunk-UIJEAY6H.mjs → chunk-XTZURZIR.mjs} +1 -1
  158. package/dist/{chunk-7AZ3PLUC.mjs → chunk-XZLQHASB.mjs} +1 -1
  159. package/dist/{chunk-SRZ56OJH.mjs → chunk-XZTEU7ME.mjs} +3 -3
  160. package/dist/{chunk-RLTLA7VS.mjs → chunk-Y2IIKDRY.mjs} +1 -1
  161. package/dist/{chunk-5AKVDZMA.cjs → chunk-YAFKQ5ZV.cjs} +12 -12
  162. package/dist/{chunk-3DIFS7CO.mjs → chunk-YBUMQX6M.mjs} +1 -1
  163. package/dist/{chunk-CR6JOOO3.cjs → chunk-YGZHBIZP.cjs} +3 -10
  164. package/dist/{chunk-TWQONYWC.mjs → chunk-YMMSHGYC.mjs} +1 -1
  165. package/dist/{chunk-ZS7ESTKH.cjs → chunk-Z42BBOSG.cjs} +8 -12
  166. package/dist/{chunk-ZA7WOIIB.mjs → chunk-Z7PWETGZ.mjs} +1 -1
  167. package/dist/{chunk-3ZEQVODC.cjs → chunk-ZAK7AFVY.cjs} +2 -2
  168. package/dist/{chunk-W3IHFG4B.cjs → chunk-ZG33TW5I.cjs} +8 -8
  169. package/dist/chunk-ZQ2DPA2M.mjs +43 -0
  170. package/dist/{chunk-AHD46BFN.mjs → chunk-ZQOQB6GF.mjs} +1 -1
  171. package/dist/dial/DialPanel.cjs +89 -87
  172. package/dist/dial/DialPanel.d.cts +2 -3
  173. package/dist/dial/DialPanel.d.ts +2 -3
  174. package/dist/dial/DialPanel.mjs +88 -86
  175. package/dist/dial/DialProvider.d.cts +16 -51
  176. package/dist/dial/DialProvider.d.ts +16 -51
  177. package/dist/dial/index.cjs +105 -103
  178. package/dist/dial/index.d.cts +2 -1
  179. package/dist/dial/index.d.ts +2 -1
  180. package/dist/dial/index.mjs +88 -86
  181. package/dist/dial/types.cjs +4 -0
  182. package/dist/dial/types.d.cts +110 -0
  183. package/dist/dial/types.d.ts +110 -0
  184. package/dist/dial/types.mjs +1 -0
  185. package/dist/dial/wrapped-inputs/ControlledInputs.cjs +93 -91
  186. package/dist/dial/wrapped-inputs/ControlledInputs.d.cts +1 -2
  187. package/dist/dial/wrapped-inputs/ControlledInputs.d.ts +1 -2
  188. package/dist/dial/wrapped-inputs/ControlledInputs.mjs +88 -86
  189. package/dist/dial/wrapped-inputs/DialInputs.cjs +102 -100
  190. package/dist/dial/wrapped-inputs/DialInputs.d.cts +1 -2
  191. package/dist/dial/wrapped-inputs/DialInputs.d.ts +1 -2
  192. package/dist/dial/wrapped-inputs/DialInputs.mjs +88 -86
  193. package/dist/dial/wrapped-inputs/DialInterfaceInput.cjs +129 -0
  194. package/dist/dial/wrapped-inputs/DialInterfaceInput.d.cts +8 -0
  195. package/dist/dial/wrapped-inputs/DialInterfaceInput.d.ts +8 -0
  196. package/dist/dial/wrapped-inputs/DialInterfaceInput.mjs +120 -0
  197. package/dist/dial/wrapped-inputs/DialPresetsInput.cjs +84 -83
  198. package/dist/dial/wrapped-inputs/DialPresetsInput.d.cts +1 -2
  199. package/dist/dial/wrapped-inputs/DialPresetsInput.d.ts +1 -2
  200. package/dist/dial/wrapped-inputs/DialPresetsInput.mjs +83 -82
  201. package/dist/dial/wrapped-inputs/DialVectorInput.cjs +89 -87
  202. package/dist/dial/wrapped-inputs/DialVectorInput.mjs +88 -86
  203. package/dist/dial/wrapped-inputs/index.cjs +109 -107
  204. package/dist/dial/wrapped-inputs/index.d.cts +1 -2
  205. package/dist/dial/wrapped-inputs/index.d.ts +1 -2
  206. package/dist/dial/wrapped-inputs/index.mjs +88 -86
  207. package/dist/highlight-cursor/cursor-provider.cjs +3 -3
  208. package/dist/highlight-cursor/cursor-provider.mjs +2 -2
  209. package/dist/highlight-cursor/enhanced-components.cjs +14 -14
  210. package/dist/highlight-cursor/enhanced-components.d.cts +1 -1
  211. package/dist/highlight-cursor/enhanced-components.d.ts +1 -1
  212. package/dist/highlight-cursor/enhanced-components.mjs +9 -9
  213. package/dist/highlight-cursor/index.cjs +19 -19
  214. package/dist/highlight-cursor/index.mjs +10 -10
  215. package/dist/hooks/clientOnly.cjs +4 -12
  216. package/dist/hooks/clientOnly.d.cts +9 -15
  217. package/dist/hooks/clientOnly.d.ts +9 -15
  218. package/dist/hooks/clientOnly.mjs +1 -1
  219. package/dist/hooks/cn.cjs +2 -2
  220. package/dist/hooks/cn.mjs +1 -1
  221. package/dist/hooks/index.cjs +8 -16
  222. package/dist/hooks/index.d.cts +2 -1
  223. package/dist/hooks/index.d.ts +2 -1
  224. package/dist/hooks/index.mjs +3 -3
  225. package/dist/hooks/useIsMobile.cjs +2 -2
  226. package/dist/hooks/useIsMobile.mjs +1 -1
  227. package/dist/index.cjs +466 -384
  228. package/dist/index.css +0 -63
  229. package/dist/index.d.cts +9 -6
  230. package/dist/index.d.ts +9 -6
  231. package/dist/index.mjs +88 -86
  232. package/dist/ui/DialBadge.cjs +8 -8
  233. package/dist/ui/DialBadge.mjs +4 -4
  234. package/dist/ui/UIKitBadge.cjs +8 -8
  235. package/dist/ui/UIKitBadge.mjs +4 -4
  236. package/dist/ui/avatar.cjs +8 -8
  237. package/dist/ui/avatar.mjs +4 -4
  238. package/dist/ui/badge.cjs +6 -6
  239. package/dist/ui/badge.d.cts +2 -2
  240. package/dist/ui/badge.d.ts +2 -2
  241. package/dist/ui/badge.mjs +4 -4
  242. package/dist/ui/button.cjs +6 -6
  243. package/dist/ui/button.d.cts +1 -1
  244. package/dist/ui/button.d.ts +1 -1
  245. package/dist/ui/button.mjs +4 -4
  246. package/dist/ui/card.cjs +12 -11
  247. package/dist/ui/card.d.cts +14 -2
  248. package/dist/ui/card.d.ts +14 -2
  249. package/dist/ui/card.mjs +5 -4
  250. package/dist/ui/checkbox.cjs +5 -5
  251. package/dist/ui/checkbox.mjs +4 -4
  252. package/dist/ui/collapsible.cjs +7 -7
  253. package/dist/ui/collapsible.mjs +4 -4
  254. package/dist/ui/context-menu.cjs +76 -0
  255. package/dist/ui/context-menu.d.cts +28 -0
  256. package/dist/ui/context-menu.d.ts +28 -0
  257. package/dist/ui/context-menu.mjs +11 -0
  258. package/dist/ui/drawer.cjs +14 -14
  259. package/dist/ui/drawer.mjs +4 -4
  260. package/dist/ui/dropdown.cjs +19 -19
  261. package/dist/ui/dropdown.mjs +4 -4
  262. package/dist/ui/icons/index.cjs +9 -9
  263. package/dist/ui/icons/index.mjs +1 -1
  264. package/dist/ui/index.cjs +423 -334
  265. package/dist/ui/index.d.cts +6 -4
  266. package/dist/ui/index.d.ts +6 -4
  267. package/dist/ui/index.mjs +82 -81
  268. package/dist/ui/inputs/color-input.cjs +6 -6
  269. package/dist/ui/inputs/color-input.mjs +5 -5
  270. package/dist/ui/inputs/index.cjs +53 -53
  271. package/dist/ui/inputs/index.mjs +23 -23
  272. package/dist/ui/inputs/input-numbers.cjs +6 -6
  273. package/dist/ui/inputs/input-numbers.mjs +5 -5
  274. package/dist/ui/inputs/input.cjs +7 -7
  275. package/dist/ui/inputs/input.d.cts +1 -1
  276. package/dist/ui/inputs/input.d.ts +1 -1
  277. package/dist/ui/inputs/input.mjs +4 -4
  278. package/dist/ui/inputs/number-inputs/CmInput.cjs +7 -7
  279. package/dist/ui/inputs/number-inputs/CmInput.mjs +6 -6
  280. package/dist/ui/inputs/number-inputs/DegInput.cjs +7 -7
  281. package/dist/ui/inputs/number-inputs/DegInput.mjs +6 -6
  282. package/dist/ui/inputs/number-inputs/EulerDegInput.cjs +9 -9
  283. package/dist/ui/inputs/number-inputs/EulerDegInput.mjs +8 -8
  284. package/dist/ui/inputs/number-inputs/EulerInput.cjs +8 -8
  285. package/dist/ui/inputs/number-inputs/EulerInput.mjs +7 -7
  286. package/dist/ui/inputs/number-inputs/EulerRadInput.cjs +8 -8
  287. package/dist/ui/inputs/number-inputs/EulerRadInput.mjs +7 -7
  288. package/dist/ui/inputs/number-inputs/InchInput.cjs +7 -7
  289. package/dist/ui/inputs/number-inputs/InchInput.mjs +6 -6
  290. package/dist/ui/inputs/number-inputs/IntInput.cjs +7 -7
  291. package/dist/ui/inputs/number-inputs/IntInput.mjs +6 -6
  292. package/dist/ui/inputs/number-inputs/KVectorInput.cjs +8 -8
  293. package/dist/ui/inputs/number-inputs/KVectorInput.mjs +7 -7
  294. package/dist/ui/inputs/number-inputs/QuaternionInput.cjs +8 -8
  295. package/dist/ui/inputs/number-inputs/QuaternionInput.mjs +7 -7
  296. package/dist/ui/inputs/number-inputs/RadInput.cjs +7 -7
  297. package/dist/ui/inputs/number-inputs/RadInput.mjs +6 -6
  298. package/dist/ui/inputs/number-inputs/TimeInput.cjs +7 -7
  299. package/dist/ui/inputs/number-inputs/TimeInput.mjs +6 -6
  300. package/dist/ui/inputs/number-inputs/Vec3Input.cjs +8 -8
  301. package/dist/ui/inputs/number-inputs/Vec3Input.mjs +7 -7
  302. package/dist/ui/inputs/number-inputs/VectorInput.cjs +7 -7
  303. package/dist/ui/inputs/number-inputs/VectorInput.mjs +6 -6
  304. package/dist/ui/inputs/number-inputs/index.cjs +34 -34
  305. package/dist/ui/inputs/number-inputs/index.mjs +18 -18
  306. package/dist/ui/inputs/presets-input.cjs +8 -8
  307. package/dist/ui/inputs/presets-input.mjs +7 -7
  308. package/dist/ui/inputs/presets-rad-input.cjs +9 -9
  309. package/dist/ui/inputs/presets-rad-input.mjs +8 -8
  310. package/dist/ui/inputs/text-input.cjs +6 -6
  311. package/dist/ui/inputs/text-input.mjs +5 -5
  312. package/dist/ui/label.cjs +5 -5
  313. package/dist/ui/label.mjs +4 -4
  314. package/dist/ui/layout.cjs +5 -5
  315. package/dist/ui/layout.mjs +4 -4
  316. package/dist/ui/layouts/dock-layout/DockLayoutView.cjs +6 -6
  317. package/dist/ui/layouts/dock-layout/DockLayoutView.d.cts +2 -1
  318. package/dist/ui/layouts/dock-layout/DockLayoutView.d.ts +2 -1
  319. package/dist/ui/layouts/dock-layout/DockLayoutView.mjs +5 -5
  320. package/dist/ui/layouts/dock-layout/LayoutSlots.cjs +10 -10
  321. package/dist/ui/layouts/dock-layout/LayoutSlots.mjs +4 -4
  322. package/dist/ui/layouts/dock-layout/index.cjs +12 -12
  323. package/dist/ui/layouts/dock-layout/index.mjs +5 -5
  324. package/dist/ui/layouts/index.cjs +19 -19
  325. package/dist/ui/layouts/index.mjs +8 -8
  326. package/dist/ui/layouts/liquid-layout/LayoutSlots.cjs +10 -10
  327. package/dist/ui/layouts/liquid-layout/LayoutSlots.mjs +4 -4
  328. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.cjs +6 -6
  329. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.d.cts +13 -1
  330. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.d.ts +13 -1
  331. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.mjs +5 -5
  332. package/dist/ui/layouts/liquid-layout/index.cjs +6 -6
  333. package/dist/ui/layouts/liquid-layout/index.mjs +5 -5
  334. package/dist/ui/modal.cjs +14 -14
  335. package/dist/ui/modal.mjs +4 -4
  336. package/dist/ui/navigation.cjs +6 -6
  337. package/dist/ui/navigation.mjs +5 -5
  338. package/dist/ui/pagination.cjs +12 -12
  339. package/dist/ui/pagination.mjs +5 -5
  340. package/dist/ui/popover.cjs +8 -8
  341. package/dist/ui/popover.mjs +4 -4
  342. package/dist/ui/progress.cjs +5 -5
  343. package/dist/ui/progress.d.cts +1 -1
  344. package/dist/ui/progress.d.ts +1 -1
  345. package/dist/ui/progress.mjs +4 -4
  346. package/dist/ui/radio-group.cjs +6 -6
  347. package/dist/ui/radio-group.mjs +4 -4
  348. package/dist/ui/resizable.cjs +7 -7
  349. package/dist/ui/resizable.mjs +4 -4
  350. package/dist/ui/select.cjs +15 -15
  351. package/dist/ui/select.d.cts +1 -1
  352. package/dist/ui/select.d.ts +1 -1
  353. package/dist/ui/select.mjs +4 -4
  354. package/dist/ui/separator.cjs +5 -5
  355. package/dist/ui/separator.mjs +4 -4
  356. package/dist/ui/sheet.cjs +12 -12
  357. package/dist/ui/sheet.d.cts +26 -13
  358. package/dist/ui/sheet.d.ts +26 -13
  359. package/dist/ui/sheet.mjs +4 -4
  360. package/dist/ui/sidebar.cjs +34 -34
  361. package/dist/ui/sidebar.mjs +10 -10
  362. package/dist/ui/simple-tree-view.cjs +5 -5
  363. package/dist/ui/simple-tree-view.mjs +4 -4
  364. package/dist/ui/skeleton.cjs +5 -5
  365. package/dist/ui/skeleton.mjs +4 -4
  366. package/dist/ui/slider.cjs +5 -5
  367. package/dist/ui/slider.mjs +4 -4
  368. package/dist/ui/switch.cjs +5 -5
  369. package/dist/ui/switch.mjs +4 -4
  370. package/dist/ui/table.cjs +12 -12
  371. package/dist/ui/table.mjs +4 -4
  372. package/dist/ui/tabs.cjs +8 -8
  373. package/dist/ui/tabs.d.cts +21 -6
  374. package/dist/ui/tabs.d.ts +21 -6
  375. package/dist/ui/tabs.mjs +4 -4
  376. package/dist/ui/textarea.cjs +5 -5
  377. package/dist/ui/textarea.d.cts +1 -1
  378. package/dist/ui/textarea.d.ts +1 -1
  379. package/dist/ui/textarea.mjs +4 -4
  380. package/dist/ui/theme/ThemeProvider.d.cts +1 -1
  381. package/dist/ui/theme/ThemeProvider.d.ts +1 -1
  382. package/dist/ui/theme/ThemeToggles.cjs +8 -12
  383. package/dist/ui/theme/ThemeToggles.d.cts +1 -7
  384. package/dist/ui/theme/ThemeToggles.d.ts +1 -7
  385. package/dist/ui/theme/ThemeToggles.mjs +6 -6
  386. package/dist/ui/theme/index.cjs +8 -12
  387. package/dist/ui/theme/index.d.cts +1 -1
  388. package/dist/ui/theme/index.d.ts +1 -1
  389. package/dist/ui/theme/index.mjs +6 -6
  390. package/dist/ui/toast.cjs +19 -3
  391. package/dist/ui/toast.d.cts +1 -1
  392. package/dist/ui/toast.d.ts +1 -1
  393. package/dist/ui/toast.mjs +17 -1
  394. package/dist/ui/toggle-buttons.cjs +9 -9
  395. package/dist/ui/toggle-buttons.mjs +4 -4
  396. package/dist/ui/toggle-group.cjs +7 -7
  397. package/dist/ui/toggle-group.mjs +4 -4
  398. package/dist/ui/toggle.cjs +6 -6
  399. package/dist/ui/toggle.mjs +4 -4
  400. package/dist/ui/toolbar.cjs +7 -7
  401. package/dist/ui/toolbar.mjs +4 -4
  402. package/dist/ui/tooltip.cjs +8 -8
  403. package/dist/ui/tooltip.d.cts +2 -2
  404. package/dist/ui/tooltip.d.ts +2 -2
  405. package/dist/ui/tooltip.mjs +4 -4
  406. package/dist/ui/tree-view/TreeSearchBar.cjs +7 -7
  407. package/dist/ui/tree-view/TreeSearchBar.mjs +6 -6
  408. package/dist/ui/tree-view/TreeView.cjs +8 -6
  409. package/dist/ui/tree-view/TreeView.d.cts +12 -6
  410. package/dist/ui/tree-view/TreeView.d.ts +12 -6
  411. package/dist/ui/tree-view/TreeView.mjs +6 -4
  412. package/dist/ui/tree-view/hooks.cjs +31 -3
  413. package/dist/ui/tree-view/hooks.d.cts +33 -1
  414. package/dist/ui/tree-view/hooks.d.ts +33 -1
  415. package/dist/ui/tree-view/hooks.mjs +1 -1
  416. package/dist/ui/tree-view/index.cjs +47 -18
  417. package/dist/ui/tree-view/index.d.cts +1 -1
  418. package/dist/ui/tree-view/index.d.ts +1 -1
  419. package/dist/ui/tree-view/index.mjs +9 -8
  420. package/dist/ui/tree-view-legacy.cjs +11 -11
  421. package/dist/ui/tree-view-legacy.mjs +7 -7
  422. package/dist/ui/waterfall/CursorOverlay.cjs +5 -5
  423. package/dist/ui/waterfall/CursorOverlay.mjs +4 -4
  424. package/dist/ui/waterfall/TimelineEvent.cjs +5 -5
  425. package/dist/ui/waterfall/TimelineEvent.mjs +4 -4
  426. package/dist/ui/waterfall/TimelineProcessBar.cjs +5 -5
  427. package/dist/ui/waterfall/TimelineProcessBar.mjs +4 -4
  428. package/dist/ui/waterfall/Wedges.cjs +6 -6
  429. package/dist/ui/waterfall/Wedges.mjs +4 -4
  430. package/dist/ui/waterfall/index.cjs +17 -16
  431. package/dist/ui/waterfall/index.mjs +16 -15
  432. package/package.json +2 -1
  433. package/src/auth/components/index.ts +1 -1
  434. package/src/dial/DialPanel.tsx +53 -28
  435. package/src/dial/DialProvider.tsx +20 -68
  436. package/src/dial/index.ts +7 -5
  437. package/src/dial/types.ts +40 -0
  438. package/src/dial/wrapped-inputs/ControlledInputs.tsx +6 -5
  439. package/src/dial/wrapped-inputs/DialInputs.tsx +2 -1
  440. package/src/dial/wrapped-inputs/DialInterfaceInput.tsx +44 -0
  441. package/src/dial/wrapped-inputs/DialPresetsInput.tsx +3 -2
  442. package/src/dial/wrapped-inputs/DialVectorInput.tsx +3 -18
  443. package/src/hooks/clientOnly.tsx +20 -23
  444. package/src/hooks/cn.ts +5 -0
  445. package/src/hooks/useIsMobile.ts +14 -30
  446. package/src/index.css +0 -1
  447. package/src/ui/DialBadge.tsx +7 -5
  448. package/src/ui/card.tsx +76 -4
  449. package/src/ui/context-menu.tsx +358 -0
  450. package/src/ui/index.ts +2 -0
  451. package/src/ui/inputs/number-inputs/EulerRadInput.tsx +43 -42
  452. package/src/ui/inputs/number-inputs/VectorInput.tsx +0 -1
  453. package/src/ui/inputs/presets-rad-input.tsx +5 -2
  454. package/src/ui/inputs/text-input.tsx +1 -1
  455. package/src/ui/layouts/dock-layout/DockLayoutView.tsx +15 -4
  456. package/src/ui/layouts/dock-layout/LayoutSlots.tsx +14 -5
  457. package/src/ui/layouts/liquid-layout/LiquidLayoutView.tsx +44 -5
  458. package/src/ui/progress.tsx +7 -14
  459. package/src/ui/separator.tsx +1 -1
  460. package/src/ui/sheet.tsx +14 -116
  461. package/src/ui/sidebar.tsx +18 -19
  462. package/src/ui/tabs.tsx +27 -57
  463. package/src/ui/theme/ThemeToggles.tsx +1 -21
  464. package/src/ui/theme/index.ts +1 -1
  465. package/src/ui/toast.tsx +15 -16
  466. package/src/ui/tooltip.tsx +3 -30
  467. package/src/ui/tree-view/TreeView.tsx +147 -18
  468. package/src/ui/tree-view/hooks.tsx +148 -0
  469. package/src/ui/tree-view/types.ts +1 -1
  470. package/src/ui/waterfall/TimelineProcessBar.tsx +10 -4
  471. package/dist/chunk-4F2GSF2T.mjs +0 -29
  472. package/dist/chunk-A6EASR27.mjs +0 -193
  473. package/dist/chunk-EOSYXHEH.mjs +0 -27
  474. package/dist/chunk-EXXV3BXT.cjs +0 -23
  475. package/dist/chunk-FZAGJSW2.cjs +0 -47
  476. package/dist/chunk-IPQU5CJD.mjs +0 -21
  477. package/dist/chunk-JR4TVE43.cjs +0 -31
  478. package/dist/chunk-MFYDZKQF.mjs +0 -28
  479. package/dist/chunk-RTYZO2AC.cjs +0 -30
  480. package/dist/chunk-UK3UBVT4.cjs +0 -222
  481. package/dist/chunk-XHJDRQD7.mjs +0 -29
  482. package/dist/chunk-Y2XVZEXM.mjs +0 -45
  483. package/dist/chunk-ZF435JZL.cjs +0 -21
  484. package/dist/dial/DialProvider.example.cjs +0 -72
  485. package/dist/dial/DialProvider.example.d.cts +0 -7
  486. package/dist/dial/DialProvider.example.d.ts +0 -7
  487. package/dist/dial/DialProvider.example.mjs +0 -68
  488. package/dist/styles/toast.css +0 -64
  489. package/dist/styles/toast.d.cts +0 -2
  490. package/dist/styles/toast.d.ts +0 -2
  491. package/src/dial/DialProvider.example.tsx +0 -80
  492. package/src/styles/toast.css +0 -67
  493. /package/dist/{chunk-YYLBP356.mjs → chunk-6THKQIF7.mjs} +0 -0
  494. /package/dist/{chunk-YWECB5GR.cjs → chunk-F4NQLN5E.cjs} +0 -0
@@ -14,8 +14,9 @@ import {
14
14
  Slider,
15
15
  Switch,
16
16
  } from "../../index"; // Base input component that connects to the dial store
17
- import { LabelPositionT, useDialSchema } from "../DialProvider";
17
+ import { useDialSchema } from "../DialProvider";
18
18
  import { IconRenderer } from "../IconRenderer";
19
+ import type { LabelPositionT } from "../types";
19
20
 
20
21
  // Helper component for wrapping inputs with labels
21
22
  const DialInputWrapper: React.FC<{
@@ -108,7 +109,7 @@ export const DialBooleanInput: React.FC<DialNumInputProps> = ({
108
109
  const { getValue, setValue } = useDialSchema();
109
110
  const value = (getValue(name) ?? false) as boolean;
110
111
 
111
- const handleChange = useCallback((checked: boolean) => setValue(name, checked), [name]);
112
+ const handleChange = useCallback((checked: boolean) => setValue(name, checked), [name, setValue]);
112
113
 
113
114
  const switchProps = {
114
115
  checked: value,
@@ -133,7 +134,7 @@ export const DialColorInput: React.FC<DialNumInputProps> = ({ name, label, icon,
133
134
 
134
135
  const handleChange = useCallback(
135
136
  (e: React.ChangeEvent<HTMLInputElement>) => setValue(name, e.target.value),
136
- [name],
137
+ [name, setValue],
137
138
  );
138
139
 
139
140
  const inputComp = <ColorInput value={value} onChange={handleChange} prefix={label} />;
@@ -162,7 +163,7 @@ export const DialSelectInput: React.FC<DialNumInputProps> = ({
162
163
  const parsed = !isNaN(Number(val)) ? Number(val) : val;
163
164
  setValue(name, parsed);
164
165
  },
165
- [name],
166
+ [name, setValue],
166
167
  );
167
168
 
168
169
  const selectComponent = (
@@ -199,7 +200,7 @@ export const DialSliderInput: React.FC<DialNumInputProps> = ({
199
200
  const { getValue, setValue } = useDialSchema();
200
201
  const value = (getValue(name) ?? min) as number;
201
202
 
202
- const handleValueChange = useCallback(([val]: number[]) => setValue(name, val), [name]);
203
+ const handleValueChange = useCallback(([val]: number[]) => setValue(name, val), [name, setValue]);
203
204
 
204
205
  const sliderProps = {
205
206
  value: [value],
@@ -18,8 +18,9 @@ import {
18
18
  Vec3Input,
19
19
  VectorInput,
20
20
  } from "../../index";
21
- import { LabelPositionT, useDialSchema } from "../DialProvider";
21
+ import { useDialSchema } from "../DialProvider";
22
22
  import { IconRenderer } from "../IconRenderer";
23
+ import type { LabelPositionT } from "../types";
23
24
 
24
25
  // Base props for all dial-wrapped inputs
25
26
  interface DialWrapperProps {
@@ -0,0 +1,44 @@
1
+ import React, { useCallback } from "react";
2
+
3
+ import { DialPanel } from "../DialPanel";
4
+ import { DialProvider, useDialSchema } from "../DialProvider";
5
+ import { LabelPositionT } from "../types";
6
+
7
+ interface DialInterfaceInputProps {
8
+ name: string;
9
+ }
10
+
11
+ export const DialInterfaceInput: React.FC<DialInterfaceInputProps> = ({ name }) => {
12
+ const { getValue, setValue, schemas } = useDialSchema();
13
+
14
+ const values: Record<string, unknown> = getValue(name) as Record<string, unknown>;
15
+
16
+ const handlePropertyChange = useCallback(
17
+ (propName: string, value: unknown) => {
18
+ const newValues = { ...values };
19
+ newValues[propName] = value;
20
+ setValue(name, newValues);
21
+ },
22
+ [name, setValue, values],
23
+ );
24
+
25
+ const schema = schemas.find((s) => s.name === name);
26
+
27
+ if (!schema || !schema.typeDefinition?.schemas) {
28
+ return null;
29
+ }
30
+
31
+ return (
32
+ <DialProvider
33
+ schemas={schema.typeDefinition.schemas}
34
+ values={values}
35
+ onValueChange={handlePropertyChange}
36
+ >
37
+ <DialPanel
38
+ schemas={schema.typeDefinition.schemas}
39
+ groups={schema.typeDefinition.groups}
40
+ labelLayout={schema.labelPosition as LabelPositionT}
41
+ />
42
+ </DialProvider>
43
+ );
44
+ };
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
2
 
3
3
  import { FormLayout, Label, type LayoutType } from "../../ui";
4
- import { PresetsInput } from "../../ui/inputs/presets-input";
5
- import { LabelPositionT, useDialSchema } from "../DialProvider";
4
+ import { PresetsInput } from "../../ui";
5
+ import { useDialSchema } from "../DialProvider";
6
6
  import { IconRenderer } from "../IconRenderer";
7
+ import { LabelPositionT } from "../types";
7
8
 
8
9
  const DialInputWrapper: React.FC<{
9
10
  label?: string;
@@ -65,7 +65,6 @@ export const DialVectorInput: React.FC<DialVectorInputProps> = ({
65
65
  const steps = schema.steps || [];
66
66
  const mins = schema.mins || [];
67
67
  const maxs = schema.maxs || [];
68
- const tags = schema.tags || {};
69
68
 
70
69
  // Ensure value is an array with correct dimensions
71
70
  const vectorValue = Array.isArray(value)
@@ -76,23 +75,9 @@ export const DialVectorInput: React.FC<DialVectorInputProps> = ({
76
75
  const hasMixedTypes = dtypes.some((dtype) => dtype === "boolean");
77
76
 
78
77
  // Determine layout from tags
79
- let gridAutoFlow: "column" | "row";
80
- let gridColumns: number | undefined;
81
- let gridRows: number | undefined;
82
-
83
- if (typeof tags.col === "number") {
84
- gridAutoFlow = "column";
85
- gridRows = tags.col;
86
- gridColumns = undefined;
87
- } else if (typeof tags.row === "number") {
88
- gridAutoFlow = "row";
89
- gridColumns = tags.row;
90
- gridRows = undefined;
91
- } else {
92
- gridAutoFlow = "row";
93
- gridColumns = undefined;
94
- gridRows = undefined;
95
- }
78
+ const gridAutoFlow = schema.vectorFlow === "column" ? "column" : "row";
79
+ const gridColumns = typeof schema.vectorCols === "number" ? schema.vectorCols : undefined;
80
+ const gridRows = typeof schema.vectorRows === "number" ? schema.vectorRows : undefined;
96
81
 
97
82
  if (hasMixedTypes) {
98
83
  // Separate number and boolean indices and values
@@ -1,15 +1,28 @@
1
1
  import React from "react";
2
2
 
3
3
  /**
4
- * Executes a function only on the client side (when window is defined)
5
- * @param fn - Function to execute on client side
6
- * @returns Result of the function or undefined if on server side
4
+ * Component that only renders its children on the client side
5
+ * @param children - React children to render client-side
6
+ * @param fallback - Optional fallback to render during SSR
7
7
  */
8
- export function clientOnly<T>(fn: () => T): T | undefined {
9
- if (typeof window !== "undefined") {
10
- return fn();
8
+ export function ClientOnly({
9
+ children,
10
+ fallback = null,
11
+ }: {
12
+ children: React.ReactNode;
13
+ fallback?: React.ReactNode;
14
+ }) {
15
+ const [hasMounted, setHasMounted] = React.useState(false);
16
+
17
+ React.useEffect(() => {
18
+ setHasMounted(true);
19
+ }, []);
20
+
21
+ if (!hasMounted) {
22
+ return <>{fallback}</>;
11
23
  }
12
- return undefined;
24
+
25
+ return <>{children}</>;
13
26
  }
14
27
 
15
28
  /**
@@ -36,19 +49,3 @@ export function createClientOnlyComponent<P extends object = Record<string, unkn
36
49
  return React.createElement(Component, props);
37
50
  } as React.ComponentType<P>;
38
51
  }
39
-
40
- /**
41
- * Checks if code is running on the client side
42
- * @returns true if running on client, false if on server
43
- */
44
- export function isClient(): boolean {
45
- return typeof window !== "undefined";
46
- }
47
-
48
- /**
49
- * Checks if code is running on the server side
50
- * @returns true if running on server, false if on client
51
- */
52
- export function isServer(): boolean {
53
- return typeof window === "undefined";
54
- }
package/src/hooks/cn.ts CHANGED
@@ -14,6 +14,10 @@ const twMerge = extendTailwindMerge({
14
14
  p: ["p-xxs", "p-xs", "p-sm", "p-md", "p-lg", "p-xl"],
15
15
  py: ["py-xxs", "py-xs", "py-sm", "py-md", "py-lg", "py-xl"],
16
16
  px: ["px-xxs", "px-xs", "px-sm", "px-md", "px-lg", "px-xl"],
17
+ pt: ["pt-xxs", "pt-xs", "pt-sm", "pt-md", "pt-lg", "pt-xl"],
18
+ pb: ["pb-xxs", "pb-xs", "pb-sm", "pb-md", "pb-lg", "pb-xl"],
19
+ pl: ["pl-xxs", "pl-xs", "pl-sm", "pl-md", "pl-lg", "pl-xl"],
20
+ pr: ["pr-xxs", "pr-xs", "pr-sm", "pr-md", "pr-lg", "pr-xl"],
17
21
  "font-size": [
18
22
  "text-uk-xs",
19
23
  "text-uk-sm",
@@ -22,6 +26,7 @@ const twMerge = extendTailwindMerge({
22
26
  "text-uk-xl",
23
27
  "text-uk-xxl",
24
28
  ],
29
+ "text-color": ["text-text-primary", "text-text-highlight"],
25
30
  },
26
31
  },
27
32
  });
@@ -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
  /**