@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,44 +1,45 @@
1
1
  'use strict';
2
2
 
3
- var chunk6D7FGGSX_cjs = require('../../chunk-6D7FGGSX.cjs');
3
+ var chunkMMQR4IEY_cjs = require('../../chunk-MMQR4IEY.cjs');
4
4
  require('../../chunk-WJL5HMO6.cjs');
5
5
  require('../../chunk-RJ7I6ZQK.cjs');
6
- require('../../chunk-7H7U2X45.cjs');
7
- require('../../chunk-QWBMDS3S.cjs');
6
+ require('../../chunk-STJMH4NX.cjs');
7
+ require('../../chunk-O3DFVRON.cjs');
8
+ require('../../chunk-5HT74RHB.cjs');
8
9
  require('../../chunk-Z6UDRPC2.cjs');
9
10
  require('../../chunk-YJ6X6T5K.cjs');
10
11
  require('../../chunk-G5NT42YF.cjs');
11
- require('../../chunk-EEGQLTSQ.cjs');
12
+ require('../../chunk-UFYHIDMC.cjs');
13
+ require('../../chunk-4WWGBRQV.cjs');
12
14
  require('../../chunk-VOTZLQ6J.cjs');
13
- require('../../chunk-S37MJNNP.cjs');
15
+ require('../../chunk-OCADGDGL.cjs');
14
16
  require('../../chunk-UTS56UA5.cjs');
17
+ var chunkG2ZYONQO_cjs = require('../../chunk-G2ZYONQO.cjs');
15
18
  require('../../chunk-JWVH6R35.cjs');
16
19
  require('../../chunk-MVAFOQ67.cjs');
17
- require('../../chunk-RW4T7UBU.cjs');
18
- var chunkG2ZYONQO_cjs = require('../../chunk-G2ZYONQO.cjs');
19
- require('../../chunk-LYGYXV7S.cjs');
20
- require('../../chunk-EK3BTKZP.cjs');
21
- require('../../chunk-JNV3UBBP.cjs');
22
- require('../../chunk-F3HOBNGR.cjs');
20
+ require('../../chunk-7ICRKPIO.cjs');
21
+ require('../../chunk-NIACIZWY.cjs');
22
+ require('../../chunk-T2BDPMCF.cjs');
23
+ require('../../chunk-PMG3NZF5.cjs');
23
24
  require('../../chunk-JMCH2AFN.cjs');
24
- require('../../chunk-W3IHFG4B.cjs');
25
+ require('../../chunk-ZG33TW5I.cjs');
25
26
  require('../../chunk-QN4N4I3Z.cjs');
26
27
  require('../../chunk-LBWMTA5T.cjs');
27
28
  require('../../chunk-Q7E73DVJ.cjs');
28
- require('../../chunk-JR4TVE43.cjs');
29
+ require('../../chunk-DVUN6GQI.cjs');
29
30
  require('../../chunk-VXZURKMQ.cjs');
30
31
  require('../../chunk-Q4XH2Z5M.cjs');
31
32
  require('../../chunk-6BOWMGFG.cjs');
32
33
  require('../../chunk-YZIR6LIY.cjs');
33
34
  require('../../chunk-GEGPGQVH.cjs');
34
- require('../../chunk-CRX2ZCM2.cjs');
35
+ require('../../chunk-6LTCLQH3.cjs');
35
36
  require('../../chunk-G4FJGNY5.cjs');
36
37
 
37
38
 
38
39
 
39
40
  Object.defineProperty(exports, "Waterfall", {
40
41
  enumerable: true,
41
- get: function () { return chunk6D7FGGSX_cjs.Waterfall; }
42
+ get: function () { return chunkMMQR4IEY_cjs.Waterfall; }
42
43
  });
43
44
  Object.defineProperty(exports, "TOTAL_DURATION", {
44
45
  enumerable: true,
@@ -1,33 +1,34 @@
1
- export { Waterfall } from '../../chunk-MYZHDWBF.mjs';
1
+ export { Waterfall } from '../../chunk-LJYIEOGQ.mjs';
2
2
  import '../../chunk-JWKOW2OV.mjs';
3
3
  import '../../chunk-VPQ5SSY3.mjs';
4
- import '../../chunk-FMKD5JBL.mjs';
5
- import '../../chunk-ZSAPBZ36.mjs';
4
+ import '../../chunk-EZ536NLQ.mjs';
5
+ import '../../chunk-7TD77VF4.mjs';
6
+ import '../../chunk-OW653F7T.mjs';
6
7
  import '../../chunk-CIPI2V54.mjs';
7
8
  import '../../chunk-WPDU2YYR.mjs';
8
9
  import '../../chunk-HVVT3D2T.mjs';
9
- import '../../chunk-PC5DHSC4.mjs';
10
+ import '../../chunk-7RRQ2HHL.mjs';
11
+ import '../../chunk-NKUK73WB.mjs';
10
12
  import '../../chunk-HTAFERCZ.mjs';
11
- import '../../chunk-AHD46BFN.mjs';
13
+ import '../../chunk-ZQOQB6GF.mjs';
12
14
  import '../../chunk-D5H4XX6Q.mjs';
15
+ export { TOTAL_DURATION, borderColorClasses, colorClasses, formatDuration, leftWedgeClasses, rightWedgeClasses } from '../../chunk-4U232QAX.mjs';
13
16
  import '../../chunk-JVV7W3TP.mjs';
14
17
  import '../../chunk-OC4HRPZU.mjs';
15
- import '../../chunk-K2ZYSKRU.mjs';
16
- export { TOTAL_DURATION, borderColorClasses, colorClasses, formatDuration, leftWedgeClasses, rightWedgeClasses } from '../../chunk-4U232QAX.mjs';
17
- import '../../chunk-SRZ56OJH.mjs';
18
- import '../../chunk-Q37KC3CL.mjs';
19
- import '../../chunk-UQQBUPGF.mjs';
20
- import '../../chunk-SMXN2KOV.mjs';
18
+ import '../../chunk-XZTEU7ME.mjs';
19
+ import '../../chunk-IPMWGCAI.mjs';
20
+ import '../../chunk-4Y5IF7R5.mjs';
21
+ import '../../chunk-HGTL7DFT.mjs';
21
22
  import '../../chunk-BNDRHLLZ.mjs';
22
- import '../../chunk-T4U3BG2V.mjs';
23
+ import '../../chunk-EGJLY5VZ.mjs';
23
24
  import '../../chunk-F7ZHPSLA.mjs';
24
25
  import '../../chunk-IDUVYPN7.mjs';
25
26
  import '../../chunk-3QT5VABC.mjs';
26
- import '../../chunk-XHJDRQD7.mjs';
27
+ import '../../chunk-H3JRYX2U.mjs';
27
28
  import '../../chunk-LQOPO4KU.mjs';
28
29
  import '../../chunk-U3LN5NB6.mjs';
29
30
  import '../../chunk-IZARTVYN.mjs';
30
31
  import '../../chunk-VA4LUFKD.mjs';
31
32
  import '../../chunk-4NABYVCK.mjs';
32
- import '../../chunk-T66ETI7E.mjs';
33
+ import '../../chunk-HBEU2PU2.mjs';
33
34
  import '../../chunk-SAGQV2YZ.mjs';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vuer-ai/vuer-uikit",
3
3
  "author": "Ge Yang",
4
- "version": "0.0.120",
4
+ "version": "0.0.121",
5
5
  "files": [
6
6
  "/dist",
7
7
  "/src"
@@ -67,6 +67,7 @@
67
67
  "@radix-ui/react-checkbox": "^1.3.2",
68
68
  "@radix-ui/react-collapsible": "^1.1.11",
69
69
  "@radix-ui/react-compose-refs": "^1.1.2",
70
+ "@radix-ui/react-context-menu": "^2.2.16",
70
71
  "@radix-ui/react-dialog": "^1.1.4",
71
72
  "@radix-ui/react-dropdown-menu": "^2.1.5",
72
73
  "@radix-ui/react-label": "^2.1.7",
@@ -1 +1 @@
1
- export * from "./user-avatar"
1
+ export * from "./user-avatar";
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
 
3
- import { DialGroupConfig, DialSchema, LabelPositionT } from "./DialProvider";
3
+ import type { GroupSchema, DialSchema, LabelPositionT } from "./types";
4
4
  import {
5
5
  DialBooleanInput,
6
6
  DialColorInput,
@@ -16,20 +16,55 @@ import {
16
16
  DialVec3Input,
17
17
  DialVectorInput,
18
18
  } from "./wrapped-inputs";
19
+ import { DialInterfaceInput } from "./wrapped-inputs/DialInterfaceInput";
19
20
 
20
21
  interface DialSchemaRendererProps {
21
22
  schemas: DialSchema[];
22
- groups?: DialGroupConfig[];
23
+ groups?: GroupSchema[];
23
24
  labelLayout?: LabelPositionT;
24
25
  }
25
26
 
27
+ /**
28
+ * Generate dynamic styles based on GroupSchema
29
+ * Default layout: grid with 1 column
30
+ */
31
+ const generateGroupStyle = (config?: GroupSchema): React.CSSProperties => {
32
+ const layout = config?.layout ?? "grid";
33
+
34
+ if (layout === "grid") {
35
+ return {
36
+ display: "grid",
37
+ gap: "0.5rem",
38
+ gridAutoFlow: config?.gridFlow,
39
+ gridTemplateColumns: config?.gridColTemplate
40
+ ? config.gridColTemplate
41
+ : config?.gridCols
42
+ ? `repeat(${config.gridCols}, 1fr)`
43
+ : "1fr",
44
+ gridTemplateRows: config?.gridRowTemplate
45
+ ? config.gridRowTemplate
46
+ : config?.gridRows
47
+ ? `repeat(${config.gridRows}, 1fr)`
48
+ : undefined,
49
+ };
50
+ }
51
+
52
+ // Flex layout
53
+ return {
54
+ display: "flex",
55
+ gap: "0.5rem",
56
+ flexWrap: config?.flexWrap ?? "wrap",
57
+ justifyContent: config?.flexJustifyContent,
58
+ };
59
+ };
60
+
26
61
  export const DialPanel: React.FC<DialSchemaRendererProps> = ({
27
62
  schemas,
28
63
  groups: groupConfigs,
29
64
  labelLayout,
30
65
  }) => {
31
66
  // Create a map of group configurations for easy lookup
32
- const groupConfigMap: Record<string, DialGroupConfig> = {};
67
+ const groupConfigMap: Record<string, GroupSchema> = {};
33
68
 
34
69
  // First, populate from explicit groups prop if provided
35
70
  if (groupConfigs) {
@@ -38,25 +73,12 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
38
73
  });
39
74
  }
40
75
 
41
- // Then, analyze schemas to build group configs from tags if not already defined
42
- schemas.forEach((schema) => {
43
- const grouping = schema.tags?.grouping;
44
- if (grouping && !groupConfigMap[grouping]) {
45
- // Initialize group config if it doesn't exist
46
- groupConfigMap[grouping] = { name: grouping };
47
- }
48
- // Check if this schema has noWrap tag and apply it to the group
49
- if (grouping && schema.tags?.noWrap && groupConfigMap[grouping]) {
50
- groupConfigMap[grouping].noWrap = true;
51
- }
52
- });
53
-
54
76
  // Group schemas by their grouping tag
55
77
  const groupedSchemas: Record<string, DialSchema[]> = {};
56
78
  const ungrouped: DialSchema[] = [];
57
79
 
58
80
  schemas.forEach((schema) => {
59
- const grouping = schema.tags?.grouping;
81
+ const grouping = schema?.grouping;
60
82
  if (grouping) {
61
83
  if (!groupedSchemas[grouping]) {
62
84
  groupedSchemas[grouping] = [];
@@ -69,13 +91,17 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
69
91
 
70
92
  // Render a single schema item as an input component
71
93
  const renderSchemaInput = (schema: DialSchema) => {
72
- const { name, dtype, icon, min, max, step, options, tags } = schema;
94
+ const { name, dtype, icon, min, max, step, options } = schema;
73
95
  // Use schema's label position if specified, otherwise fall back to panel's labelLayout prop
74
- const effectiveLabelPosition = (tags?.labelPosition as LabelPositionT) || labelLayout;
96
+ const effectiveLabelPosition = (schema?.labelPosition as LabelPositionT) || labelLayout;
75
97
  const label = schema.label || name.charAt(0).toUpperCase() + name.slice(1);
76
98
 
77
99
  // Choose the right input component based on dtype
78
100
  switch (dtype) {
101
+ case "interface":
102
+ case "object":
103
+ return <DialInterfaceInput name={name} />;
104
+
79
105
  case "vector3":
80
106
  return (
81
107
  <DialVec3Input
@@ -198,7 +224,7 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
198
224
  key={name}
199
225
  name={name}
200
226
  label={label}
201
- options={options}
227
+ options={options as string[]}
202
228
  labelPosition={effectiveLabelPosition}
203
229
  icon={icon}
204
230
  />
@@ -224,6 +250,7 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
224
250
 
225
251
  case "string":
226
252
  case "text":
253
+ case "select":
227
254
  // If options are provided, use select
228
255
  if (options && options.length > 0) {
229
256
  return (
@@ -260,16 +287,14 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
260
287
  {Object.entries(groupedSchemas).map(([name, schemaList]) => {
261
288
  // Use group configuration
262
289
  const groupConfig = groupConfigMap[name];
263
- const hasNoWrap = groupConfig?.noWrap;
264
-
265
- // Determine grid columns - default to 3 columns
266
- // If noWrap is true, use single row flex layout for backward compatibility
267
- const layoutClass = hasNoWrap ? "flex flex-row flex-no-wrap gap-2" : "flex flex-row gap-2";
290
+ const groupStyle = generateGroupStyle(groupConfig);
268
291
 
269
292
  return (
270
293
  <div key={name} className="dial-group">
271
- <div className="text-text-primary mb-2 font-medium">{name}</div>
272
- <div className={`dial-row ${layoutClass}`}>{schemaList.map(renderSchemaInput)}</div>
294
+ <div className="text-text-primary mb-2 font-medium capitalize">{name}</div>
295
+ <div className="dial-row" style={groupStyle}>
296
+ {schemaList.map(renderSchemaInput)}
297
+ </div>
273
298
  </div>
274
299
  );
275
300
  })}
@@ -1,68 +1,17 @@
1
- import React, { createContext, ReactNode, useCallback, useContext, useMemo, useState } from "react";
1
+ import React, { createContext, useCallback, useContext, useMemo, useState } from "react";
2
+
3
+ import type { DialValue, DialSchema } from "./types";
2
4
 
3
5
  // Utility to check if an object is empty or nullish
4
6
  function isEmptyObject(obj: unknown): boolean {
5
7
  return obj == null || (typeof obj === "object" && Object.keys(obj).length === 0);
6
8
  }
7
9
 
8
- export type LabelPositionT = "left" | "top" | "inline" | undefined;
9
-
10
- // Define specific value types for dial values
11
- export type DialValue =
12
- | string
13
- | number
14
- | boolean
15
- | number[]
16
- | string[]
17
- | (boolean | number | string)[]
18
- | null
19
- | undefined;
20
-
21
- // Types for the dial schema
22
- export interface DialSchema {
23
- name: string;
24
- dtype: string;
25
- value?: DialValue;
26
- min?: number;
27
- max?: number;
28
- step?: number;
29
- options?: Array<string | number | { label: string; value: string | number }>;
30
- dimensions?: number;
31
- placeholders?: string[];
32
- tooltips?: string[];
33
- dtypes?: string[];
34
- mins?: number[];
35
- maxs?: number[];
36
- steps?: number[];
37
- helpText?: string;
38
- icon?: string;
39
- label?: string;
40
- tags?: {
41
- grouping?: string;
42
- col?: boolean | number;
43
- row?: number;
44
- layout?: string;
45
- labelPosition?: LabelPositionT;
46
- noWrap?: boolean;
47
- };
48
- }
49
-
50
- // Group configuration interface
51
- export interface DialGroupConfig {
52
- name: string;
53
- noWrap?: boolean;
54
- [key: string]: unknown;
55
- }
56
-
57
- export interface DialSchemaGroup {
58
- component: string;
59
- schemas: DialSchema[];
60
- groups?: DialGroupConfig[];
61
- }
62
-
63
- // Context type
64
- interface DialContextValue {
65
- values: Record<string, DialValue>;
10
+ /**
11
+ * Context value for dial schema provider
12
+ */
13
+ export interface DialContextValue {
14
+ values: Record<string, unknown>;
66
15
  schemas: DialSchema[];
67
16
  getValue: (name: string) => DialValue;
68
17
  setValue: (name: string, value: DialValue) => void;
@@ -81,12 +30,15 @@ export const useDialSchema = () => {
81
30
  return context;
82
31
  };
83
32
 
84
- interface DialSchemaProviderProps {
85
- children: ReactNode;
33
+ /**
34
+ * Props for DialProvider component
35
+ */
36
+ export interface DialProviderProps {
37
+ children: React.ReactNode;
86
38
  schemas: DialSchema[];
87
- initialValues?: Record<string, DialValue>;
88
- values?: Record<string, DialValue>; // For controlled mode
89
- onValueChange?: (name: string, value: DialValue) => void;
39
+ initialValues?: Record<string, unknown>;
40
+ values?: Record<string, unknown>; // For controlled mode
41
+ onValueChange?: (name: string, value: unknown) => void;
90
42
  }
91
43
 
92
44
  // Provider component
@@ -96,12 +48,12 @@ export const DialProvider = ({
96
48
  initialValues = {},
97
49
  values: controlledValues,
98
50
  onValueChange,
99
- }: DialSchemaProviderProps) => {
51
+ }: DialProviderProps) => {
100
52
  // Determine if component is controlled
101
53
  const isControlled = !isEmptyObject(controlledValues);
102
54
 
103
55
  // Initialize state with default values from schemas or provided initial values
104
- const [internalValues, setInternalValues] = useState<Record<string, DialValue>>(() =>
56
+ const [internalValues, setInternalValues] = useState<Record<string, unknown>>(() =>
105
57
  Object.fromEntries(
106
58
  schemas.map((schema) => [schema.name, initialValues[schema.name] ?? schema.value]),
107
59
  ),
@@ -109,7 +61,7 @@ export const DialProvider = ({
109
61
 
110
62
  // Helper function to merge controlled values with schema defaults
111
63
  const mergeWithSchemaDefaults = useCallback(
112
- (inputValues: Record<string, DialValue>) => {
64
+ (inputValues: Record<string, unknown>) => {
113
65
  const result = { ...inputValues };
114
66
 
115
67
  schemas.forEach((schema) => {
@@ -139,7 +91,7 @@ export const DialProvider = ({
139
91
 
140
92
  // Helper function to format values based on their type
141
93
  const formatValue = useCallback(
142
- (value: DialValue): DialValue => {
94
+ (value: unknown): DialValue => {
143
95
  if (value === null || value === undefined) {
144
96
  return value;
145
97
  }
package/src/dial/index.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  // Core dial components
2
- export { DialProvider, useDialSchema } from './DialProvider';
3
- export type { DialSchema, DialSchemaGroup, DialGroupConfig, DialValue, LabelPositionT } from './DialProvider';
4
- export { DialPanel } from './DialPanel';
5
- export { IconRenderer } from './IconRenderer';
2
+ export { DialProvider, useDialSchema } from "./DialProvider";
3
+
4
+ // Export types from the types file
5
+ export * from "./types";
6
+ export { DialPanel } from "./DialPanel";
7
+ export { IconRenderer } from "./IconRenderer";
6
8
 
7
9
  // All wrapped input components
8
10
  export {
@@ -24,4 +26,4 @@ export {
24
26
  DialCmInput,
25
27
  DialInchInput,
26
28
  DialTimeInput,
27
- } from './wrapped-inputs';
29
+ } from "./wrapped-inputs";
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Dial Provider Types
3
+ * Runtime types for the Dial UI system, extending base types from dial-cli
4
+ */
5
+
6
+ import type { DialSchema, GroupSchema } from "../../dial-cli/src/types";
7
+
8
+ // ============= Label Position =============
9
+
10
+ export type LabelPositionT = "left" | "top" | "inline" | undefined;
11
+
12
+ // Define specific value types for dial values
13
+ export type DialValue =
14
+ | string
15
+ | number
16
+ | boolean
17
+ | number[]
18
+ | string[]
19
+ | (boolean | number | string)[]
20
+ | object
21
+ | null
22
+ | undefined;
23
+
24
+ /**
25
+ * Runtime schema group - extends ComponentSchema with DialSchema
26
+ */
27
+ export interface DialSchemaGroup {
28
+ component: string;
29
+ description?: string;
30
+ schemas: DialSchema[];
31
+ groups?: GroupSchema[];
32
+ }
33
+
34
+ // Re-export base types for convenience
35
+ export type {
36
+ // Schema types (final output)
37
+ DialSchema,
38
+ NestedTypeDefinition,
39
+ GroupSchema,
40
+ } from "../../dial-cli/src/types";
@@ -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
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
  });