@vuer-ai/vuer-uikit 0.0.120 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (790) hide show
  1. package/README.md +28 -0
  2. package/dist/SyncScroll/SyncScroll.cjs +13 -13
  3. package/dist/SyncScroll/SyncScroll.mjs +6 -6
  4. package/dist/SyncScroll/index.cjs +13 -13
  5. package/dist/SyncScroll/index.mjs +6 -6
  6. package/dist/SyncScroll/useSyncScroll.d.cts +5 -5
  7. package/dist/SyncScroll/useSyncScroll.d.ts +5 -5
  8. package/dist/{chunk-42WQWP6X.cjs → chunk-22T2AL3G.cjs} +8 -8
  9. package/dist/{chunk-NMRFBO43.mjs → chunk-2IMCDH5J.mjs} +3 -3
  10. package/dist/{chunk-EOLUDKZ3.mjs → chunk-2J466BYZ.mjs} +26 -47
  11. package/dist/{chunk-LVIZRMYN.cjs → chunk-2KBNQ5PY.cjs} +2 -2
  12. package/dist/{chunk-S7CCCMMU.cjs → chunk-34NDAZS6.cjs} +18 -9
  13. package/dist/{chunk-DM43KZU7.cjs → chunk-3F3LBOQJ.cjs} +2 -2
  14. package/dist/chunk-3JMUI4R2.cjs +136 -0
  15. package/dist/{chunk-CWS5PF67.cjs → chunk-3UQ323EB.cjs} +8 -42
  16. package/dist/{chunk-QXFFRQ7E.mjs → chunk-44U6VC46.mjs} +543 -95
  17. package/dist/{chunk-JW456O5K.mjs → chunk-4FB6B2ES.mjs} +1 -1
  18. package/dist/{chunk-66NKH2SV.cjs → chunk-4FIP3EXW.cjs} +6 -6
  19. package/dist/chunk-4SI4QV5R.cjs +14 -0
  20. package/dist/{chunk-IAFCABPY.mjs → chunk-4W7JKZVN.mjs} +3 -2
  21. package/dist/{chunk-EEGQLTSQ.cjs → chunk-4WWGBRQV.cjs} +77 -0
  22. package/dist/chunk-4Y5IF7R5.mjs +322 -0
  23. package/dist/chunk-52GNIM6H.mjs +12 -0
  24. package/dist/{chunk-X6WOCNBX.cjs → chunk-57NITJN5.cjs} +2 -2
  25. package/dist/{chunk-LMYA5IOK.mjs → chunk-5GBMVMLS.mjs} +4 -4
  26. package/dist/{chunk-QWBMDS3S.cjs → chunk-5HT74RHB.cjs} +5 -5
  27. package/dist/{chunk-4ODJAEOM.mjs → chunk-5JYH7TXY.mjs} +1 -1
  28. package/dist/{chunk-2CD4D2BR.cjs → chunk-6CJWNYHL.cjs} +3 -3
  29. package/dist/{chunk-CRX2ZCM2.cjs → chunk-6LTCLQH3.cjs} +6 -1
  30. package/dist/{chunk-WKK5UX2W.mjs → chunk-6U6LRS37.mjs} +2 -2
  31. package/dist/{chunk-4OUQ6NSX.cjs → chunk-6VIKDPCD.cjs} +2 -2
  32. package/dist/{chunk-6D7FGGSX.cjs → chunk-753HUOAI.cjs} +26 -26
  33. package/dist/{chunk-LYGYXV7S.cjs → chunk-7ICRKPIO.cjs} +16 -16
  34. package/dist/chunk-7MKCWXNV.cjs +32 -0
  35. package/dist/{chunk-FMKD5JBL.mjs → chunk-7TD77VF4.mjs} +10 -6
  36. package/dist/{chunk-5ARBIWXX.cjs → chunk-7TXGEIV3.cjs} +10 -10
  37. package/dist/chunk-7WJ73FEI.mjs +43 -0
  38. package/dist/{chunk-SLXM4F24.cjs → chunk-7YFUNCKT.cjs} +9 -9
  39. package/dist/{chunk-LGFWHV23.cjs → chunk-ACGXE2IO.cjs} +2 -2
  40. package/dist/{chunk-IU65XB2K.cjs → chunk-AFALU3AK.cjs} +2 -2
  41. package/dist/{chunk-EGIIZWP3.mjs → chunk-AFR23IX6.mjs} +1 -1
  42. package/dist/{chunk-CXPF274N.mjs → chunk-BK77KKIM.mjs} +1 -1
  43. package/dist/{chunk-4PMXRQXC.cjs → chunk-BNXJ5VBE.cjs} +6 -6
  44. package/dist/{chunk-3DIFS7CO.mjs → chunk-BPCD4L7T.mjs} +1 -1
  45. package/dist/{chunk-JQYMF2FW.cjs → chunk-BSDIS4KS.cjs} +4 -4
  46. package/dist/{chunk-REZAPK6Z.mjs → chunk-BTGAKK3B.mjs} +1 -1
  47. package/dist/{chunk-TB5L3GBP.cjs → chunk-BXJTOIRR.cjs} +584 -133
  48. package/dist/{chunk-35ZN6IW7.mjs → chunk-BYZ7HIIK.mjs} +1 -1
  49. package/dist/{chunk-XS5IUI62.cjs → chunk-BZI74LKX.cjs} +3 -2
  50. package/dist/{chunk-2IS7TXTN.mjs → chunk-CENP2PIB.mjs} +1 -1
  51. package/dist/{chunk-SAXISARG.cjs → chunk-CMO3SLOU.cjs} +2 -2
  52. package/dist/{chunk-CIOLL5LX.mjs → chunk-CN6SZKJZ.mjs} +1 -1
  53. package/dist/chunk-CRY23RMB.mjs +30 -0
  54. package/dist/{chunk-7AAMQGY2.cjs → chunk-CYWVJ3HF.cjs} +7 -7
  55. package/dist/{chunk-EVBYVJTW.mjs → chunk-D2LUQKPM.mjs} +130 -91
  56. package/dist/chunk-DF7WIFZK.cjs +316 -0
  57. package/dist/chunk-DKLVWYTC.cjs +71 -0
  58. package/dist/chunk-DKWLF3KW.mjs +149 -0
  59. package/dist/{chunk-F2LEYFWW.cjs → chunk-DPJPOBUT.cjs} +5 -5
  60. package/dist/{chunk-SR3M2R3S.mjs → chunk-DSQPFXYL.mjs} +22 -24
  61. package/dist/chunk-DVUN6GQI.cjs +21 -0
  62. package/dist/{chunk-7ACZU3BT.mjs → chunk-EG6JETUN.mjs} +1 -1
  63. package/dist/{chunk-T4U3BG2V.mjs → chunk-EGJLY5VZ.mjs} +1 -1
  64. package/dist/{chunk-AE5YDMFT.mjs → chunk-EXM6QMNR.mjs} +3 -3
  65. package/dist/{chunk-H6JGIEAU.mjs → chunk-EYMZP5PL.mjs} +1 -1
  66. package/dist/{chunk-K2ZYSKRU.mjs → chunk-EZ536NLQ.mjs} +1 -1
  67. package/dist/chunk-FRM27RLN.cjs +264 -0
  68. package/dist/chunk-FTB337IJ.cjs +143 -0
  69. package/dist/{chunk-7A5EMDZH.mjs → chunk-G35PQKU5.mjs} +5 -5
  70. package/dist/{chunk-ZJSL6HSL.mjs → chunk-GAAP5JO4.mjs} +1 -1
  71. package/dist/chunk-GHQA7PER.mjs +107 -0
  72. package/dist/{chunk-ND3WJ63Z.cjs → chunk-GVRVRBDU.cjs} +2 -2
  73. package/dist/chunk-GZ2BG42R.mjs +34 -0
  74. package/dist/chunk-H3JRYX2U.mjs +19 -0
  75. package/dist/{chunk-T66ETI7E.mjs → chunk-HBEU2PU2.mjs} +6 -1
  76. package/dist/{chunk-SMXN2KOV.mjs → chunk-HGTL7DFT.mjs} +1 -1
  77. package/dist/{chunk-JFPIUDGT.mjs → chunk-HI4LO6IJ.mjs} +1 -1
  78. package/dist/{chunk-QO2AM6MF.mjs → chunk-HIDTQ4Z2.mjs} +1 -1
  79. package/dist/{chunk-DDU3SPCC.mjs → chunk-HNW2DRPV.mjs} +58 -9
  80. package/dist/{chunk-5AKVDZMA.cjs → chunk-HSUL5OUG.cjs} +14 -13
  81. package/dist/{chunk-EY6PKK4X.cjs → chunk-I2COLDHC.cjs} +2 -2
  82. package/dist/chunk-IAWMCOHS.cjs +45 -0
  83. package/dist/chunk-IM5QVMGO.cjs +2 -0
  84. package/dist/{chunk-UQQBUPGF.mjs → chunk-IPMWGCAI.mjs} +5 -21
  85. package/dist/{chunk-SCUMWMIN.mjs → chunk-ITOTSGSL.mjs} +1 -1
  86. package/dist/{chunk-NJWKR5WR.mjs → chunk-IYTGWOZY.mjs} +1 -1
  87. package/dist/chunk-J74A5LNZ.cjs +179 -0
  88. package/dist/{chunk-CKGEV2JL.cjs → chunk-JDEZ6NNG.cjs} +2 -2
  89. package/dist/chunk-JEWTYDLX.cjs +119 -0
  90. package/dist/{chunk-Q7WCKEXG.cjs → chunk-JF43YF6J.cjs} +3 -3
  91. package/dist/chunk-JTFQFULL.cjs +166 -0
  92. package/dist/{chunk-XQ3MWA3D.mjs → chunk-KXKUQSNY.mjs} +3 -3
  93. package/dist/chunk-L2AKG4VJ.mjs +258 -0
  94. package/dist/{chunk-ZCSJGDX7.mjs → chunk-L2DME42Q.mjs} +1 -1
  95. package/dist/{chunk-K2BQNNEX.cjs → chunk-L6W77P4B.cjs} +8 -8
  96. package/dist/{chunk-N4Y5CBOI.cjs → chunk-LGUQR5AR.cjs} +4 -4
  97. package/dist/{chunk-ZA7WOIIB.mjs → chunk-LHP7FLGK.mjs} +1 -1
  98. package/dist/{chunk-MYZHDWBF.mjs → chunk-LLFE3UHZ.mjs} +10 -10
  99. package/dist/{chunk-332A4MHC.mjs → chunk-LNYUFL3Q.mjs} +1 -1
  100. package/dist/{chunk-BUAWPPXA.cjs → chunk-MQ5DGLVE.cjs} +11 -11
  101. package/dist/{chunk-EXY6WRH4.mjs → chunk-N6KP2HIC.mjs} +2 -2
  102. package/dist/{chunk-V75PKBIV.cjs → chunk-NEJKCSS5.cjs} +9 -9
  103. package/dist/{chunk-KPGZOX2A.cjs → chunk-NHFIDL5X.cjs} +5 -5
  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-NUBFD3YP.mjs +117 -0
  108. package/dist/{chunk-4BQPIY5Z.mjs → chunk-O2NGB7YP.mjs} +1 -1
  109. package/dist/{chunk-7H7U2X45.cjs → chunk-O3DFVRON.cjs} +17 -13
  110. package/dist/chunk-O57DAVOQ.mjs +1 -0
  111. package/dist/{chunk-S37MJNNP.cjs → chunk-OCADGDGL.cjs} +2 -2
  112. package/dist/{chunk-ZSAPBZ36.mjs → chunk-OW653F7T.mjs} +1 -1
  113. package/dist/{chunk-GRXUYMZJ.cjs → chunk-OX5FXH6W.cjs} +4 -4
  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-WDSOII5A.cjs → chunk-P7J7XHDE.cjs} +2 -2
  118. package/dist/chunk-PHRZ5JE6.mjs +1 -0
  119. package/dist/{chunk-F3HOBNGR.cjs → chunk-PMG3NZF5.cjs} +4 -4
  120. package/dist/chunk-PMYOKSO3.mjs +30 -0
  121. package/dist/chunk-PTUZYCOY.mjs +314 -0
  122. package/dist/{chunk-PV6CEMTT.cjs → chunk-PWZ4F3WY.cjs} +4 -4
  123. package/dist/{chunk-QBAZ6TKZ.cjs → chunk-PZZW3E5D.cjs} +2 -2
  124. package/dist/chunk-Q3UN25WC.mjs +141 -0
  125. package/dist/{chunk-MXGPFCLN.cjs → chunk-QS6WNNLM.cjs} +2 -2
  126. package/dist/{chunk-PR3BCKLJ.mjs → chunk-QSDYNIZB.mjs} +2 -1
  127. package/dist/{chunk-GTBXRWCK.cjs → chunk-QTLUPDLH.cjs} +8 -7
  128. package/dist/{chunk-BXZSWY4N.mjs → chunk-QYJZ5KA6.mjs} +1 -1
  129. package/dist/{chunk-JYYAGDLZ.cjs → chunk-R22VW3EK.cjs} +2 -2
  130. package/dist/{chunk-NKGUQZTD.cjs → chunk-RHVKIZMQ.cjs} +2 -2
  131. package/dist/{chunk-U22YVR7M.mjs → chunk-RLY4A3IY.mjs} +15 -6
  132. package/dist/{chunk-OJOWMXXY.mjs → chunk-RR76Z6OK.mjs} +3 -3
  133. package/dist/{chunk-D562KO2I.mjs → chunk-RWHVZM2B.mjs} +2 -2
  134. package/dist/chunk-S4C7HO32.cjs +36 -0
  135. package/dist/chunk-SBAVMK7J.cjs +181 -0
  136. package/dist/{chunk-DAVMLI3P.cjs → chunk-SNUQOJLK.cjs} +4 -4
  137. package/dist/{chunk-KY2PYKDZ.mjs → chunk-SO5KFX2C.mjs} +1 -1
  138. package/dist/{chunk-HB65PF7F.cjs → chunk-SOHGIAGF.cjs} +2 -2
  139. package/dist/{chunk-RW4T7UBU.cjs → chunk-STJMH4NX.cjs} +3 -3
  140. package/dist/{chunk-VYINXXYX.cjs → chunk-SUWJDU3Y.cjs} +59 -61
  141. package/dist/chunk-T2BDPMCF.cjs +358 -0
  142. package/dist/{chunk-U5W4ZALG.cjs → chunk-T2OAWYOU.cjs} +6 -6
  143. package/dist/{chunk-Q7VP2WSX.mjs → chunk-TCCFFSXM.mjs} +29 -12
  144. package/dist/{chunk-PRNBDGOF.cjs → chunk-THE6FZKP.cjs} +29 -49
  145. package/dist/{chunk-RGOZPSTI.mjs → chunk-TMBHKVKH.mjs} +1 -1
  146. package/dist/chunk-TQOGGHSJ.mjs +23 -0
  147. package/dist/{chunk-VTW2DF63.mjs → chunk-TWDDNHRP.mjs} +1 -1
  148. package/dist/{chunk-DDIB73SZ.mjs → chunk-UB3ELCFR.mjs} +4 -4
  149. package/dist/{chunk-XTLGNJIO.mjs → chunk-UBGNADCN.mjs} +1 -1
  150. package/dist/chunk-UCAIVC2B.cjs +32 -0
  151. package/dist/chunk-UEHPZIQB.cjs +2 -0
  152. package/dist/{chunk-ASZIBFA6.cjs → chunk-UZTOUPJ7.cjs} +131 -92
  153. package/dist/{chunk-3NIMV5PH.mjs → chunk-V4THHKSO.mjs} +1 -1
  154. package/dist/{chunk-G5VBLDAM.mjs → chunk-VBEVJE7Q.mjs} +1 -1
  155. package/dist/chunk-VDYJAOMN.mjs +177 -0
  156. package/dist/{chunk-64VVW5YR.mjs → chunk-VLNU7Y2K.mjs} +8 -43
  157. package/dist/{chunk-ZS7ESTKH.cjs → chunk-VT6E2N6C.cjs} +8 -12
  158. package/dist/{chunk-OLYHHP67.mjs → chunk-VWLZKPDB.mjs} +6 -5
  159. package/dist/{chunk-UMGNAR3W.cjs → chunk-W22SQYEO.cjs} +8 -8
  160. package/dist/{chunk-VWVYCQWF.mjs → chunk-WBM7ATPT.mjs} +1 -1
  161. package/dist/{chunk-CH3BSVL4.cjs → chunk-WGY33IHV.cjs} +2 -2
  162. package/dist/{chunk-DAA2GQAS.cjs → chunk-WRJAYU2L.cjs} +27 -27
  163. package/dist/{chunk-7AEOJFD4.cjs → chunk-WX3VWVWD.cjs} +2 -2
  164. package/dist/{chunk-EBFPZBUQ.cjs → chunk-WYUJM72T.cjs} +7 -7
  165. package/dist/{chunk-EK3BTKZP.cjs → chunk-WZQ2BT3P.cjs} +142 -26
  166. package/dist/{chunk-KR7VBV3B.cjs → chunk-XIDCYS6G.cjs} +2 -1
  167. package/dist/{chunk-WHV6Z7YX.mjs → chunk-XIESS6HW.mjs} +1 -1
  168. package/dist/{chunk-UIJEAY6H.mjs → chunk-XTZURZIR.mjs} +1 -1
  169. package/dist/{chunk-7AZ3PLUC.mjs → chunk-XZLQHASB.mjs} +1 -1
  170. package/dist/{chunk-SRZ56OJH.mjs → chunk-XZTEU7ME.mjs} +3 -3
  171. package/dist/{chunk-RLTLA7VS.mjs → chunk-Y2IIKDRY.mjs} +1 -1
  172. package/dist/chunk-YDF6VWBW.cjs +151 -0
  173. package/dist/{chunk-CR6JOOO3.cjs → chunk-YGZHBIZP.cjs} +3 -10
  174. package/dist/{chunk-TWQONYWC.mjs → chunk-YMMSHGYC.mjs} +1 -1
  175. package/dist/chunk-YQL6JDVP.cjs +21 -0
  176. package/dist/{chunk-Q37KC3CL.mjs → chunk-YRNI7ZJ7.mjs} +134 -18
  177. package/dist/{chunk-3ZEQVODC.cjs → chunk-ZAK7AFVY.cjs} +2 -2
  178. package/dist/{chunk-W3IHFG4B.cjs → chunk-ZG33TW5I.cjs} +8 -8
  179. package/dist/{chunk-FK6ZROZE.mjs → chunk-ZJYPKTF4.mjs} +2 -1
  180. package/dist/chunk-ZMRODJ3I.mjs +149 -0
  181. package/dist/{chunk-AHD46BFN.mjs → chunk-ZQOQB6GF.mjs} +1 -1
  182. package/dist/dial/DialPanel.cjs +104 -92
  183. package/dist/dial/DialPanel.d.cts +5 -5
  184. package/dist/dial/DialPanel.d.ts +5 -5
  185. package/dist/dial/DialPanel.mjs +103 -91
  186. package/dist/dial/DialProvider.d.cts +16 -51
  187. package/dist/dial/DialProvider.d.ts +16 -51
  188. package/dist/dial/IconRenderer.d.cts +2 -2
  189. package/dist/dial/IconRenderer.d.ts +2 -2
  190. package/dist/dial/components/DialButton.cjs +22 -0
  191. package/dist/dial/components/DialButton.d.cts +28 -0
  192. package/dist/dial/components/DialButton.d.ts +28 -0
  193. package/dist/dial/components/DialButton.mjs +13 -0
  194. package/dist/dial/components/DialCustom.cjs +11 -0
  195. package/dist/dial/components/DialCustom.d.cts +34 -0
  196. package/dist/dial/components/DialCustom.d.ts +34 -0
  197. package/dist/dial/components/DialCustom.mjs +2 -0
  198. package/dist/dial/components/index.cjs +29 -0
  199. package/dist/dial/components/index.d.cts +4 -0
  200. package/dist/dial/components/index.d.ts +4 -0
  201. package/dist/dial/components/index.mjs +16 -0
  202. package/dist/dial/index.cjs +128 -108
  203. package/dist/dial/index.d.cts +5 -1
  204. package/dist/dial/index.d.ts +5 -1
  205. package/dist/dial/index.mjs +103 -91
  206. package/dist/dial/types.cjs +4 -0
  207. package/dist/dial/types.d.cts +21 -0
  208. package/dist/dial/types.d.ts +21 -0
  209. package/dist/dial/types.mjs +1 -0
  210. package/dist/dial/wrapped-inputs/ControlledInputs.cjs +108 -96
  211. package/dist/dial/wrapped-inputs/ControlledInputs.d.cts +8 -8
  212. package/dist/dial/wrapped-inputs/ControlledInputs.d.ts +8 -8
  213. package/dist/dial/wrapped-inputs/ControlledInputs.mjs +103 -91
  214. package/dist/dial/wrapped-inputs/DialArrayInput.cjs +139 -0
  215. package/dist/dial/wrapped-inputs/DialArrayInput.d.cts +20 -0
  216. package/dist/dial/wrapped-inputs/DialArrayInput.d.ts +20 -0
  217. package/dist/dial/wrapped-inputs/DialArrayInput.mjs +130 -0
  218. package/dist/dial/wrapped-inputs/DialInputs.cjs +117 -105
  219. package/dist/dial/wrapped-inputs/DialInputs.d.cts +19 -17
  220. package/dist/dial/wrapped-inputs/DialInputs.d.ts +19 -17
  221. package/dist/dial/wrapped-inputs/DialInputs.mjs +103 -91
  222. package/dist/dial/wrapped-inputs/DialInterfaceInput.cjs +139 -0
  223. package/dist/dial/wrapped-inputs/DialInterfaceInput.d.cts +13 -0
  224. package/dist/dial/wrapped-inputs/DialInterfaceInput.d.ts +13 -0
  225. package/dist/dial/wrapped-inputs/DialInterfaceInput.mjs +130 -0
  226. package/dist/dial/wrapped-inputs/DialPresetsInput.cjs +94 -86
  227. package/dist/dial/wrapped-inputs/DialPresetsInput.d.cts +4 -4
  228. package/dist/dial/wrapped-inputs/DialPresetsInput.d.ts +4 -4
  229. package/dist/dial/wrapped-inputs/DialPresetsInput.mjs +93 -85
  230. package/dist/dial/wrapped-inputs/DialTupleInput.cjs +139 -0
  231. package/dist/dial/wrapped-inputs/DialTupleInput.d.cts +18 -0
  232. package/dist/dial/wrapped-inputs/DialTupleInput.d.ts +18 -0
  233. package/dist/dial/wrapped-inputs/DialTupleInput.mjs +130 -0
  234. package/dist/dial/wrapped-inputs/DialVectorInput.cjs +104 -92
  235. package/dist/dial/wrapped-inputs/DialVectorInput.d.cts +2 -2
  236. package/dist/dial/wrapped-inputs/DialVectorInput.d.ts +2 -2
  237. package/dist/dial/wrapped-inputs/DialVectorInput.mjs +103 -91
  238. package/dist/dial/wrapped-inputs/index.cjs +132 -112
  239. package/dist/dial/wrapped-inputs/index.d.cts +4 -2
  240. package/dist/dial/wrapped-inputs/index.d.ts +4 -2
  241. package/dist/dial/wrapped-inputs/index.mjs +103 -91
  242. package/dist/highlight-cursor/cursor-context.d.cts +2 -2
  243. package/dist/highlight-cursor/cursor-context.d.ts +2 -2
  244. package/dist/highlight-cursor/cursor-provider.cjs +3 -3
  245. package/dist/highlight-cursor/cursor-provider.d.cts +1 -1
  246. package/dist/highlight-cursor/cursor-provider.d.ts +1 -1
  247. package/dist/highlight-cursor/cursor-provider.mjs +2 -2
  248. package/dist/highlight-cursor/enhanced-components.cjs +16 -16
  249. package/dist/highlight-cursor/enhanced-components.d.cts +4 -4
  250. package/dist/highlight-cursor/enhanced-components.d.ts +4 -4
  251. package/dist/highlight-cursor/enhanced-components.mjs +11 -11
  252. package/dist/highlight-cursor/index.cjs +21 -21
  253. package/dist/highlight-cursor/index.mjs +12 -12
  254. package/dist/highlight-cursor/types.d.cts +2 -1
  255. package/dist/highlight-cursor/types.d.ts +2 -1
  256. package/dist/highlight-cursor/with-cursor.d.cts +2 -2
  257. package/dist/highlight-cursor/with-cursor.d.ts +2 -2
  258. package/dist/hooks/clientOnly.d.cts +4 -4
  259. package/dist/hooks/clientOnly.d.ts +4 -4
  260. package/dist/hooks/cn.cjs +2 -2
  261. package/dist/hooks/cn.mjs +1 -1
  262. package/dist/hooks/index.cjs +22 -22
  263. package/dist/hooks/index.mjs +5 -5
  264. package/dist/hooks/useIsMobile.cjs +2 -2
  265. package/dist/hooks/useIsMobile.mjs +1 -1
  266. package/dist/index.cjs +587 -407
  267. package/dist/index.css +13 -76
  268. package/dist/index.d.cts +20 -6
  269. package/dist/index.d.ts +20 -6
  270. package/dist/index.mjs +103 -91
  271. package/dist/schema-types-D9b7Dc1G.d.cts +163 -0
  272. package/dist/schema-types-D9b7Dc1G.d.ts +163 -0
  273. package/dist/styles/theme.css +1 -1
  274. package/dist/ui/DialBadge.cjs +10 -10
  275. package/dist/ui/DialBadge.mjs +6 -6
  276. package/dist/ui/UIKitBadge.cjs +10 -10
  277. package/dist/ui/UIKitBadge.mjs +6 -6
  278. package/dist/ui/alert-dialog.cjs +60 -0
  279. package/dist/ui/alert-dialog.d.cts +17 -0
  280. package/dist/ui/alert-dialog.d.ts +17 -0
  281. package/dist/ui/alert-dialog.mjs +11 -0
  282. package/dist/ui/avatar.cjs +10 -10
  283. package/dist/ui/avatar.d.cts +2 -2
  284. package/dist/ui/avatar.d.ts +2 -2
  285. package/dist/ui/avatar.mjs +6 -6
  286. package/dist/ui/badge.cjs +8 -8
  287. package/dist/ui/badge.d.cts +2 -2
  288. package/dist/ui/badge.d.ts +2 -2
  289. package/dist/ui/badge.mjs +6 -6
  290. package/dist/ui/button.cjs +8 -8
  291. package/dist/ui/button.d.cts +3 -3
  292. package/dist/ui/button.d.ts +3 -3
  293. package/dist/ui/button.mjs +6 -6
  294. package/dist/ui/card.cjs +14 -13
  295. package/dist/ui/card.d.cts +14 -2
  296. package/dist/ui/card.d.ts +14 -2
  297. package/dist/ui/card.mjs +7 -6
  298. package/dist/ui/checkbox.cjs +7 -7
  299. package/dist/ui/checkbox.mjs +6 -6
  300. package/dist/ui/collapsible.cjs +9 -9
  301. package/dist/ui/collapsible.mjs +6 -6
  302. package/dist/ui/context-menu.cjs +76 -0
  303. package/dist/ui/context-menu.d.cts +28 -0
  304. package/dist/ui/context-menu.d.ts +28 -0
  305. package/dist/ui/context-menu.mjs +11 -0
  306. package/dist/ui/drag-selectable/createSelectable.d.cts +2 -2
  307. package/dist/ui/drag-selectable/createSelectable.d.ts +2 -2
  308. package/dist/ui/drawer.cjs +16 -16
  309. package/dist/ui/drawer.d.cts +11 -11
  310. package/dist/ui/drawer.d.ts +11 -11
  311. package/dist/ui/drawer.mjs +6 -6
  312. package/dist/ui/dropdown.cjs +21 -21
  313. package/dist/ui/dropdown.mjs +6 -6
  314. package/dist/ui/index.cjs +485 -317
  315. package/dist/ui/index.d.cts +15 -5
  316. package/dist/ui/index.d.ts +15 -5
  317. package/dist/ui/index.mjs +90 -82
  318. package/dist/ui/inputs/color-input.cjs +8 -8
  319. package/dist/ui/inputs/color-input.d.cts +7 -3
  320. package/dist/ui/inputs/color-input.d.ts +7 -3
  321. package/dist/ui/inputs/color-input.mjs +7 -7
  322. package/dist/ui/inputs/index.cjs +56 -56
  323. package/dist/ui/inputs/index.mjs +25 -25
  324. package/dist/ui/inputs/input-numbers.cjs +8 -8
  325. package/dist/ui/inputs/input-numbers.d.cts +7 -3
  326. package/dist/ui/inputs/input-numbers.d.ts +7 -3
  327. package/dist/ui/inputs/input-numbers.mjs +7 -7
  328. package/dist/ui/inputs/input.cjs +9 -9
  329. package/dist/ui/inputs/input.d.cts +4 -4
  330. package/dist/ui/inputs/input.d.ts +4 -4
  331. package/dist/ui/inputs/input.mjs +6 -6
  332. package/dist/ui/inputs/number-inputs/CmInput.cjs +9 -9
  333. package/dist/ui/inputs/number-inputs/CmInput.d.cts +2 -2
  334. package/dist/ui/inputs/number-inputs/CmInput.d.ts +2 -2
  335. package/dist/ui/inputs/number-inputs/CmInput.mjs +8 -8
  336. package/dist/ui/inputs/number-inputs/DegInput.cjs +9 -9
  337. package/dist/ui/inputs/number-inputs/DegInput.d.cts +2 -2
  338. package/dist/ui/inputs/number-inputs/DegInput.d.ts +2 -2
  339. package/dist/ui/inputs/number-inputs/DegInput.mjs +8 -8
  340. package/dist/ui/inputs/number-inputs/EulerDegInput.cjs +11 -11
  341. package/dist/ui/inputs/number-inputs/EulerDegInput.d.cts +2 -2
  342. package/dist/ui/inputs/number-inputs/EulerDegInput.d.ts +2 -2
  343. package/dist/ui/inputs/number-inputs/EulerDegInput.mjs +10 -10
  344. package/dist/ui/inputs/number-inputs/EulerInput.cjs +10 -10
  345. package/dist/ui/inputs/number-inputs/EulerInput.d.cts +2 -2
  346. package/dist/ui/inputs/number-inputs/EulerInput.d.ts +2 -2
  347. package/dist/ui/inputs/number-inputs/EulerInput.mjs +9 -9
  348. package/dist/ui/inputs/number-inputs/EulerRadInput.cjs +10 -10
  349. package/dist/ui/inputs/number-inputs/EulerRadInput.d.cts +2 -2
  350. package/dist/ui/inputs/number-inputs/EulerRadInput.d.ts +2 -2
  351. package/dist/ui/inputs/number-inputs/EulerRadInput.mjs +9 -9
  352. package/dist/ui/inputs/number-inputs/InchInput.cjs +9 -9
  353. package/dist/ui/inputs/number-inputs/InchInput.d.cts +2 -2
  354. package/dist/ui/inputs/number-inputs/InchInput.d.ts +2 -2
  355. package/dist/ui/inputs/number-inputs/InchInput.mjs +8 -8
  356. package/dist/ui/inputs/number-inputs/IntInput.cjs +9 -9
  357. package/dist/ui/inputs/number-inputs/IntInput.d.cts +2 -2
  358. package/dist/ui/inputs/number-inputs/IntInput.d.ts +2 -2
  359. package/dist/ui/inputs/number-inputs/IntInput.mjs +8 -8
  360. package/dist/ui/inputs/number-inputs/KVectorInput.cjs +10 -10
  361. package/dist/ui/inputs/number-inputs/KVectorInput.d.cts +2 -2
  362. package/dist/ui/inputs/number-inputs/KVectorInput.d.ts +2 -2
  363. package/dist/ui/inputs/number-inputs/KVectorInput.mjs +9 -9
  364. package/dist/ui/inputs/number-inputs/QuaternionInput.cjs +10 -10
  365. package/dist/ui/inputs/number-inputs/QuaternionInput.d.cts +2 -2
  366. package/dist/ui/inputs/number-inputs/QuaternionInput.d.ts +2 -2
  367. package/dist/ui/inputs/number-inputs/QuaternionInput.mjs +9 -9
  368. package/dist/ui/inputs/number-inputs/RadInput.cjs +9 -9
  369. package/dist/ui/inputs/number-inputs/RadInput.d.cts +2 -2
  370. package/dist/ui/inputs/number-inputs/RadInput.d.ts +2 -2
  371. package/dist/ui/inputs/number-inputs/RadInput.mjs +8 -8
  372. package/dist/ui/inputs/number-inputs/TimeInput.cjs +9 -9
  373. package/dist/ui/inputs/number-inputs/TimeInput.d.cts +2 -2
  374. package/dist/ui/inputs/number-inputs/TimeInput.d.ts +2 -2
  375. package/dist/ui/inputs/number-inputs/TimeInput.mjs +8 -8
  376. package/dist/ui/inputs/number-inputs/Vec3Input.cjs +10 -10
  377. package/dist/ui/inputs/number-inputs/Vec3Input.d.cts +2 -2
  378. package/dist/ui/inputs/number-inputs/Vec3Input.d.ts +2 -2
  379. package/dist/ui/inputs/number-inputs/Vec3Input.mjs +9 -9
  380. package/dist/ui/inputs/number-inputs/VectorInput.cjs +9 -9
  381. package/dist/ui/inputs/number-inputs/VectorInput.d.cts +4 -2
  382. package/dist/ui/inputs/number-inputs/VectorInput.d.ts +4 -2
  383. package/dist/ui/inputs/number-inputs/VectorInput.mjs +8 -8
  384. package/dist/ui/inputs/number-inputs/index.cjs +42 -42
  385. package/dist/ui/inputs/number-inputs/index.mjs +20 -20
  386. package/dist/ui/inputs/presets-input.cjs +10 -10
  387. package/dist/ui/inputs/presets-input.d.cts +2 -2
  388. package/dist/ui/inputs/presets-input.d.ts +2 -2
  389. package/dist/ui/inputs/presets-input.mjs +9 -9
  390. package/dist/ui/inputs/presets-rad-input.cjs +11 -11
  391. package/dist/ui/inputs/presets-rad-input.d.cts +2 -2
  392. package/dist/ui/inputs/presets-rad-input.d.ts +2 -2
  393. package/dist/ui/inputs/presets-rad-input.mjs +10 -10
  394. package/dist/ui/inputs/text-input.cjs +8 -8
  395. package/dist/ui/inputs/text-input.d.cts +2 -2
  396. package/dist/ui/inputs/text-input.d.ts +2 -2
  397. package/dist/ui/inputs/text-input.mjs +7 -7
  398. package/dist/ui/label.cjs +7 -7
  399. package/dist/ui/label.d.cts +4 -4
  400. package/dist/ui/label.d.ts +4 -4
  401. package/dist/ui/label.mjs +6 -6
  402. package/dist/ui/layout.cjs +7 -7
  403. package/dist/ui/layout.mjs +6 -6
  404. package/dist/ui/layouts/dock-layout/DockLayoutView.cjs +8 -8
  405. package/dist/ui/layouts/dock-layout/DockLayoutView.d.cts +2 -1
  406. package/dist/ui/layouts/dock-layout/DockLayoutView.d.ts +2 -1
  407. package/dist/ui/layouts/dock-layout/DockLayoutView.mjs +7 -7
  408. package/dist/ui/layouts/dock-layout/LayoutSlots.cjs +12 -12
  409. package/dist/ui/layouts/dock-layout/LayoutSlots.d.cts +3 -3
  410. package/dist/ui/layouts/dock-layout/LayoutSlots.d.ts +3 -3
  411. package/dist/ui/layouts/dock-layout/LayoutSlots.mjs +6 -6
  412. package/dist/ui/layouts/dock-layout/index.cjs +14 -14
  413. package/dist/ui/layouts/dock-layout/index.mjs +7 -7
  414. package/dist/ui/layouts/index.cjs +20 -20
  415. package/dist/ui/layouts/index.mjs +9 -9
  416. package/dist/ui/layouts/liquid-layout/LayoutSlots.cjs +12 -12
  417. package/dist/ui/layouts/liquid-layout/LayoutSlots.mjs +6 -6
  418. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.cjs +8 -8
  419. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.d.cts +13 -1
  420. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.d.ts +13 -1
  421. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.mjs +7 -7
  422. package/dist/ui/layouts/liquid-layout/index.cjs +8 -8
  423. package/dist/ui/layouts/liquid-layout/index.mjs +7 -7
  424. package/dist/ui/modal.cjs +16 -16
  425. package/dist/ui/modal.mjs +6 -6
  426. package/dist/ui/navigation.cjs +8 -8
  427. package/dist/ui/navigation.d.cts +2 -2
  428. package/dist/ui/navigation.d.ts +2 -2
  429. package/dist/ui/navigation.mjs +7 -7
  430. package/dist/ui/pagination.cjs +14 -14
  431. package/dist/ui/pagination.mjs +7 -7
  432. package/dist/ui/popover.cjs +14 -10
  433. package/dist/ui/popover.d.cts +18 -8
  434. package/dist/ui/popover.d.ts +18 -8
  435. package/dist/ui/popover.mjs +6 -6
  436. package/dist/ui/progress.cjs +7 -7
  437. package/dist/ui/progress.d.cts +1 -1
  438. package/dist/ui/progress.d.ts +1 -1
  439. package/dist/ui/progress.mjs +6 -6
  440. package/dist/ui/radio-group.cjs +8 -8
  441. package/dist/ui/radio-group.mjs +6 -6
  442. package/dist/ui/resizable.cjs +9 -9
  443. package/dist/ui/resizable.d.cts +2 -2
  444. package/dist/ui/resizable.d.ts +2 -2
  445. package/dist/ui/resizable.mjs +6 -6
  446. package/dist/ui/select.cjs +17 -17
  447. package/dist/ui/select.d.cts +3 -2
  448. package/dist/ui/select.d.ts +3 -2
  449. package/dist/ui/select.mjs +6 -6
  450. package/dist/ui/separator.cjs +7 -7
  451. package/dist/ui/separator.mjs +6 -6
  452. package/dist/ui/sheet.cjs +14 -14
  453. package/dist/ui/sheet.d.cts +26 -13
  454. package/dist/ui/sheet.d.ts +26 -13
  455. package/dist/ui/sheet.mjs +6 -6
  456. package/dist/ui/sidebar.cjs +36 -36
  457. package/dist/ui/sidebar.mjs +12 -12
  458. package/dist/ui/simple-tree-view.cjs +7 -7
  459. package/dist/ui/simple-tree-view.d.cts +2 -2
  460. package/dist/ui/simple-tree-view.d.ts +2 -2
  461. package/dist/ui/simple-tree-view.mjs +6 -6
  462. package/dist/ui/skeleton.cjs +7 -7
  463. package/dist/ui/skeleton.mjs +6 -6
  464. package/dist/ui/slider.cjs +7 -7
  465. package/dist/ui/slider.d.cts +2 -2
  466. package/dist/ui/slider.d.ts +2 -2
  467. package/dist/ui/slider.mjs +6 -6
  468. package/dist/ui/switch.cjs +7 -7
  469. package/dist/ui/switch.d.cts +4 -1
  470. package/dist/ui/switch.d.ts +4 -1
  471. package/dist/ui/switch.mjs +6 -6
  472. package/dist/ui/table.cjs +14 -14
  473. package/dist/ui/table.d.cts +9 -9
  474. package/dist/ui/table.d.ts +9 -9
  475. package/dist/ui/table.mjs +6 -6
  476. package/dist/ui/tabs.cjs +14 -10
  477. package/dist/ui/tabs.d.cts +25 -7
  478. package/dist/ui/tabs.d.ts +25 -7
  479. package/dist/ui/tabs.mjs +6 -6
  480. package/dist/ui/textarea.cjs +7 -7
  481. package/dist/ui/textarea.d.cts +1 -1
  482. package/dist/ui/textarea.d.ts +1 -1
  483. package/dist/ui/textarea.mjs +6 -6
  484. package/dist/ui/theme/ThemeProvider.cjs +15 -15
  485. package/dist/ui/theme/ThemeProvider.d.cts +3 -3
  486. package/dist/ui/theme/ThemeProvider.d.ts +3 -3
  487. package/dist/ui/theme/ThemeProvider.mjs +1 -1
  488. package/dist/ui/theme/ThemeToggles.cjs +11 -11
  489. package/dist/ui/theme/ThemeToggles.d.cts +18 -3
  490. package/dist/ui/theme/ThemeToggles.d.ts +18 -3
  491. package/dist/ui/theme/ThemeToggles.mjs +9 -9
  492. package/dist/ui/theme/index.cjs +15 -15
  493. package/dist/ui/theme/index.mjs +9 -9
  494. package/dist/ui/theme/themeScript.d.cts +2 -2
  495. package/dist/ui/theme/themeScript.d.ts +2 -2
  496. package/dist/ui/toast.cjs +19 -3
  497. package/dist/ui/toast.d.cts +1 -1
  498. package/dist/ui/toast.d.ts +1 -1
  499. package/dist/ui/toast.mjs +17 -1
  500. package/dist/ui/toggle-buttons.cjs +11 -11
  501. package/dist/ui/toggle-buttons.d.cts +7 -7
  502. package/dist/ui/toggle-buttons.d.ts +7 -7
  503. package/dist/ui/toggle-buttons.mjs +6 -6
  504. package/dist/ui/toggle-group.cjs +9 -9
  505. package/dist/ui/toggle-group.d.cts +3 -3
  506. package/dist/ui/toggle-group.d.ts +3 -3
  507. package/dist/ui/toggle-group.mjs +6 -6
  508. package/dist/ui/toggle.cjs +8 -8
  509. package/dist/ui/toggle.mjs +6 -6
  510. package/dist/ui/toolbar.cjs +9 -9
  511. package/dist/ui/toolbar.mjs +6 -6
  512. package/dist/ui/tooltip.cjs +10 -10
  513. package/dist/ui/tooltip.d.cts +2 -2
  514. package/dist/ui/tooltip.d.ts +2 -2
  515. package/dist/ui/tooltip.mjs +6 -6
  516. package/dist/ui/tree-view/TreeSearchBar.cjs +9 -9
  517. package/dist/ui/tree-view/TreeSearchBar.mjs +8 -8
  518. package/dist/ui/tree-view/TreeView.cjs +10 -8
  519. package/dist/ui/tree-view/TreeView.d.cts +12 -6
  520. package/dist/ui/tree-view/TreeView.d.ts +12 -6
  521. package/dist/ui/tree-view/TreeView.mjs +8 -6
  522. package/dist/ui/tree-view/hooks.cjs +31 -3
  523. package/dist/ui/tree-view/hooks.d.cts +33 -1
  524. package/dist/ui/tree-view/hooks.d.ts +33 -1
  525. package/dist/ui/tree-view/hooks.mjs +1 -1
  526. package/dist/ui/tree-view/index.cjs +49 -20
  527. package/dist/ui/tree-view/index.d.cts +1 -1
  528. package/dist/ui/tree-view/index.d.ts +1 -1
  529. package/dist/ui/tree-view/index.mjs +11 -10
  530. package/dist/ui/tree-view/types.d.cts +1 -0
  531. package/dist/ui/tree-view/types.d.ts +1 -0
  532. package/dist/ui/tree-view-legacy.cjs +13 -13
  533. package/dist/ui/tree-view-legacy.mjs +9 -9
  534. package/dist/ui/virtual-grid/VirtualGrid.cjs +21 -0
  535. package/dist/ui/virtual-grid/VirtualGrid.d.cts +10 -0
  536. package/dist/ui/virtual-grid/VirtualGrid.d.ts +10 -0
  537. package/dist/ui/virtual-grid/VirtualGrid.mjs +12 -0
  538. package/dist/ui/virtual-grid/index.cjs +26 -0
  539. package/dist/ui/virtual-grid/index.d.cts +4 -0
  540. package/dist/ui/virtual-grid/index.d.ts +4 -0
  541. package/dist/ui/virtual-grid/index.mjs +13 -0
  542. package/dist/ui/virtual-grid/types.cjs +2 -0
  543. package/dist/ui/virtual-grid/types.d.cts +70 -0
  544. package/dist/ui/virtual-grid/types.d.ts +70 -0
  545. package/dist/ui/virtual-grid/types.mjs +1 -0
  546. package/dist/ui/virtual-grid/useVirtualGrid.cjs +10 -0
  547. package/dist/ui/virtual-grid/useVirtualGrid.d.cts +9 -0
  548. package/dist/ui/virtual-grid/useVirtualGrid.d.ts +9 -0
  549. package/dist/ui/virtual-grid/useVirtualGrid.mjs +1 -0
  550. package/dist/ui/virtual-list/VirtualList.cjs +21 -0
  551. package/dist/ui/virtual-list/VirtualList.d.cts +10 -0
  552. package/dist/ui/virtual-list/VirtualList.d.ts +10 -0
  553. package/dist/ui/virtual-list/VirtualList.mjs +12 -0
  554. package/dist/ui/virtual-list/index.cjs +26 -0
  555. package/dist/ui/virtual-list/index.d.cts +4 -0
  556. package/dist/ui/virtual-list/index.d.ts +4 -0
  557. package/dist/ui/virtual-list/index.mjs +13 -0
  558. package/dist/ui/virtual-list/types.cjs +2 -0
  559. package/dist/ui/virtual-list/types.d.cts +54 -0
  560. package/dist/ui/virtual-list/types.d.ts +54 -0
  561. package/dist/ui/virtual-list/types.mjs +1 -0
  562. package/dist/ui/virtual-list/useVirtualList.cjs +10 -0
  563. package/dist/ui/virtual-list/useVirtualList.d.cts +9 -0
  564. package/dist/ui/virtual-list/useVirtualList.d.ts +9 -0
  565. package/dist/ui/virtual-list/useVirtualList.mjs +1 -0
  566. package/dist/ui/waterfall/CursorOverlay.cjs +7 -7
  567. package/dist/ui/waterfall/CursorOverlay.mjs +6 -6
  568. package/dist/ui/waterfall/NavigationControls.d.cts +2 -2
  569. package/dist/ui/waterfall/NavigationControls.d.ts +2 -2
  570. package/dist/ui/waterfall/TimelineEvent.cjs +7 -7
  571. package/dist/ui/waterfall/TimelineEvent.mjs +6 -6
  572. package/dist/ui/waterfall/TimelineProcessBar.cjs +7 -7
  573. package/dist/ui/waterfall/TimelineProcessBar.mjs +6 -6
  574. package/dist/ui/waterfall/Wedges.cjs +8 -8
  575. package/dist/ui/waterfall/Wedges.mjs +6 -6
  576. package/dist/ui/waterfall/WheelZoomContext.d.cts +2 -2
  577. package/dist/ui/waterfall/WheelZoomContext.d.ts +2 -2
  578. package/dist/ui/waterfall/hooks/useTimelineState.d.cts +4 -3
  579. package/dist/ui/waterfall/hooks/useTimelineState.d.ts +4 -3
  580. package/dist/ui/waterfall/hooks/useViewport.d.cts +4 -4
  581. package/dist/ui/waterfall/hooks/useViewport.d.ts +4 -4
  582. package/dist/ui/waterfall/index.cjs +20 -19
  583. package/dist/ui/waterfall/index.d.cts +2 -2
  584. package/dist/ui/waterfall/index.d.ts +2 -2
  585. package/dist/ui/waterfall/index.mjs +19 -18
  586. package/package.json +6 -9
  587. package/src/dial/DialPanel.tsx +167 -30
  588. package/src/dial/DialProvider.tsx +20 -68
  589. package/src/dial/components/DialButton.tsx +52 -0
  590. package/src/dial/components/DialCustom.tsx +45 -0
  591. package/src/dial/components/index.ts +3 -0
  592. package/src/dial/index.ts +11 -6
  593. package/src/dial/types.ts +32 -0
  594. package/src/dial/wrapped-inputs/ControlledInputs.tsx +22 -16
  595. package/src/dial/wrapped-inputs/DialArrayInput.tsx +175 -0
  596. package/src/dial/wrapped-inputs/DialInputs.tsx +119 -23
  597. package/src/dial/wrapped-inputs/DialInterfaceInput.tsx +80 -0
  598. package/src/dial/wrapped-inputs/DialPresetsInput.tsx +4 -3
  599. package/src/dial/wrapped-inputs/DialTupleInput.tsx +102 -0
  600. package/src/dial/wrapped-inputs/DialVectorInput.tsx +11 -21
  601. package/src/dial/wrapped-inputs/index.ts +6 -0
  602. package/src/highlight-cursor/cursor-provider.tsx +279 -131
  603. package/src/highlight-cursor/types.ts +2 -1
  604. package/src/hooks/cn.ts +5 -0
  605. package/src/hooks/useIsMobile.ts +14 -30
  606. package/src/index.css +0 -1
  607. package/src/styles/theme.css +2 -2
  608. package/src/ui/DialBadge.tsx +7 -5
  609. package/src/ui/alert-dialog.tsx +168 -0
  610. package/src/ui/badge.tsx +1 -0
  611. package/src/ui/card.tsx +76 -8
  612. package/src/ui/context-menu.tsx +358 -0
  613. package/src/ui/index.ts +6 -0
  614. package/src/ui/inputs/color-input.tsx +92 -8
  615. package/src/ui/inputs/input-numbers.tsx +148 -92
  616. package/src/ui/inputs/number-inputs/EulerRadInput.tsx +43 -42
  617. package/src/ui/inputs/number-inputs/VectorInput.tsx +2 -1
  618. package/src/ui/inputs/presets-rad-input.tsx +5 -2
  619. package/src/ui/inputs/text-input.tsx +1 -1
  620. package/src/ui/layouts/dock-layout/DockLayoutView.tsx +15 -4
  621. package/src/ui/layouts/dock-layout/LayoutSlots.tsx +14 -5
  622. package/src/ui/layouts/liquid-layout/LiquidLayoutView.tsx +44 -5
  623. package/src/ui/popover.tsx +10 -49
  624. package/src/ui/progress.tsx +7 -14
  625. package/src/ui/select.tsx +5 -2
  626. package/src/ui/separator.tsx +1 -1
  627. package/src/ui/sheet.tsx +14 -116
  628. package/src/ui/sidebar.tsx +18 -19
  629. package/src/ui/switch.tsx +7 -2
  630. package/src/ui/tabs.tsx +29 -58
  631. package/src/ui/theme/ThemeProvider.tsx +4 -3
  632. package/src/ui/theme/ThemeToggles.tsx +48 -12
  633. package/src/ui/toast.tsx +13 -16
  634. package/src/ui/tooltip.tsx +3 -30
  635. package/src/ui/tree-view/TreeView.tsx +179 -21
  636. package/src/ui/tree-view/hooks.tsx +148 -0
  637. package/src/ui/tree-view/types.ts +2 -1
  638. package/src/ui/virtual-grid/VirtualGrid.tsx +345 -0
  639. package/src/ui/virtual-grid/index.ts +10 -0
  640. package/src/ui/virtual-grid/types.ts +72 -0
  641. package/src/ui/virtual-grid/useVirtualGrid.ts +243 -0
  642. package/src/ui/virtual-list/VirtualList.tsx +207 -0
  643. package/src/ui/virtual-list/index.ts +8 -0
  644. package/src/ui/virtual-list/types.ts +54 -0
  645. package/src/ui/virtual-list/useVirtualList.ts +203 -0
  646. package/src/ui/waterfall/TimelineProcessBar.tsx +10 -4
  647. package/dist/auth/components/index.cjs +0 -128
  648. package/dist/auth/components/index.d.cts +0 -2
  649. package/dist/auth/components/index.d.ts +0 -2
  650. package/dist/auth/components/index.mjs +0 -119
  651. package/dist/auth/components/user-avatar/index.cjs +0 -127
  652. package/dist/auth/components/user-avatar/index.d.cts +0 -8
  653. package/dist/auth/components/user-avatar/index.d.ts +0 -8
  654. package/dist/auth/components/user-avatar/index.mjs +0 -118
  655. package/dist/auth/context/user-context.cjs +0 -10
  656. package/dist/auth/context/user-context.d.cts +0 -13
  657. package/dist/auth/context/user-context.d.ts +0 -13
  658. package/dist/auth/context/user-context.mjs +0 -1
  659. package/dist/auth/handler/fetch-auth.cjs +0 -11
  660. package/dist/auth/handler/fetch-auth.d.cts +0 -3
  661. package/dist/auth/handler/fetch-auth.d.ts +0 -3
  662. package/dist/auth/handler/fetch-auth.mjs +0 -2
  663. package/dist/auth/handler/fetch-server.cjs +0 -11
  664. package/dist/auth/handler/fetch-server.d.cts +0 -3
  665. package/dist/auth/handler/fetch-server.d.ts +0 -3
  666. package/dist/auth/handler/fetch-server.mjs +0 -2
  667. package/dist/auth/handler/get-session.cjs +0 -12
  668. package/dist/auth/handler/get-session.d.cts +0 -21
  669. package/dist/auth/handler/get-session.d.ts +0 -21
  670. package/dist/auth/handler/get-session.mjs +0 -3
  671. package/dist/auth/handler/get-sessions.cjs +0 -12
  672. package/dist/auth/handler/get-sessions.d.cts +0 -21
  673. package/dist/auth/handler/get-sessions.d.ts +0 -21
  674. package/dist/auth/handler/get-sessions.mjs +0 -3
  675. package/dist/auth/handler/sign-in-handler.cjs +0 -11
  676. package/dist/auth/handler/sign-in-handler.d.cts +0 -6
  677. package/dist/auth/handler/sign-in-handler.d.ts +0 -6
  678. package/dist/auth/handler/sign-in-handler.mjs +0 -2
  679. package/dist/auth/handler/sign-out-handler.cjs +0 -12
  680. package/dist/auth/handler/sign-out-handler.d.cts +0 -5
  681. package/dist/auth/handler/sign-out-handler.d.ts +0 -5
  682. package/dist/auth/handler/sign-out-handler.mjs +0 -3
  683. package/dist/auth/hooks/use-sign-in.cjs +0 -14
  684. package/dist/auth/hooks/use-sign-in.d.cts +0 -9
  685. package/dist/auth/hooks/use-sign-in.d.ts +0 -9
  686. package/dist/auth/hooks/use-sign-in.mjs +0 -5
  687. package/dist/auth/hooks/use-sign-out.cjs +0 -15
  688. package/dist/auth/hooks/use-sign-out.d.cts +0 -6
  689. package/dist/auth/hooks/use-sign-out.d.ts +0 -6
  690. package/dist/auth/hooks/use-sign-out.mjs +0 -6
  691. package/dist/auth/hooks/use-user.cjs +0 -11
  692. package/dist/auth/hooks/use-user.d.cts +0 -8
  693. package/dist/auth/hooks/use-user.d.ts +0 -8
  694. package/dist/auth/hooks/use-user.mjs +0 -2
  695. package/dist/auth/hooks/use-vuer-sessions.cjs +0 -15
  696. package/dist/auth/hooks/use-vuer-sessions.d.cts +0 -9
  697. package/dist/auth/hooks/use-vuer-sessions.d.ts +0 -9
  698. package/dist/auth/hooks/use-vuer-sessions.mjs +0 -6
  699. package/dist/auth/index.cjs +0 -165
  700. package/dist/auth/index.d.cts +0 -13
  701. package/dist/auth/index.d.ts +0 -13
  702. package/dist/auth/index.mjs +0 -124
  703. package/dist/auth/localstorage-key.cjs +0 -14
  704. package/dist/auth/localstorage-key.d.cts +0 -4
  705. package/dist/auth/localstorage-key.d.ts +0 -4
  706. package/dist/auth/localstorage-key.mjs +0 -1
  707. package/dist/auth/types.d.cts +0 -27
  708. package/dist/auth/types.d.ts +0 -27
  709. package/dist/auth/vuer-user-provider.cjs +0 -14
  710. package/dist/auth/vuer-user-provider.d.cts +0 -9
  711. package/dist/auth/vuer-user-provider.d.ts +0 -9
  712. package/dist/auth/vuer-user-provider.mjs +0 -5
  713. package/dist/chunk-2DXJJLJL.mjs +0 -51
  714. package/dist/chunk-2GXIGEKC.mjs +0 -66
  715. package/dist/chunk-3WMO5QJJ.cjs +0 -8
  716. package/dist/chunk-5OHAV55L.mjs +0 -24
  717. package/dist/chunk-6C53NKMF.mjs +0 -206
  718. package/dist/chunk-6GJM7TPE.cjs +0 -28
  719. package/dist/chunk-7E5Y224I.cjs +0 -14
  720. package/dist/chunk-7R5HY3IM.cjs +0 -12
  721. package/dist/chunk-EMVKGL5D.mjs +0 -28
  722. package/dist/chunk-EMXEFZEB.cjs +0 -30
  723. package/dist/chunk-EOSYXHEH.mjs +0 -27
  724. package/dist/chunk-EXXV3BXT.cjs +0 -23
  725. package/dist/chunk-F4Z5KATZ.cjs +0 -8
  726. package/dist/chunk-FROQ45MN.mjs +0 -6
  727. package/dist/chunk-FZAGJSW2.cjs +0 -47
  728. package/dist/chunk-H7RH4CZ7.cjs +0 -54
  729. package/dist/chunk-HOMAESTR.mjs +0 -12
  730. package/dist/chunk-IPQU5CJD.mjs +0 -21
  731. package/dist/chunk-JR4TVE43.cjs +0 -31
  732. package/dist/chunk-KIZEJMW4.cjs +0 -15
  733. package/dist/chunk-KQW3YARN.cjs +0 -117
  734. package/dist/chunk-L2XJ5Q7T.cjs +0 -58
  735. package/dist/chunk-LAPOK2L4.mjs +0 -193
  736. package/dist/chunk-MFYDZKQF.mjs +0 -28
  737. package/dist/chunk-MNCBTS63.cjs +0 -68
  738. package/dist/chunk-MO5V43Z3.mjs +0 -13
  739. package/dist/chunk-MRMSCW3P.cjs +0 -19
  740. package/dist/chunk-OOHCJIRV.cjs +0 -26
  741. package/dist/chunk-PX2H7Z4D.mjs +0 -26
  742. package/dist/chunk-PXDT5GFJ.mjs +0 -13
  743. package/dist/chunk-Q3CJUGX3.cjs +0 -21
  744. package/dist/chunk-Q76WU4DL.cjs +0 -17
  745. package/dist/chunk-R4HT3SYR.cjs +0 -208
  746. package/dist/chunk-RSBVQ7SJ.cjs +0 -54
  747. package/dist/chunk-RTYZO2AC.cjs +0 -30
  748. package/dist/chunk-SO2UTKSV.mjs +0 -17
  749. package/dist/chunk-UT7B4TLZ.mjs +0 -5
  750. package/dist/chunk-V4KDK3BN.mjs +0 -52
  751. package/dist/chunk-V5T6XOSB.cjs +0 -222
  752. package/dist/chunk-VSFPXAGN.mjs +0 -10
  753. package/dist/chunk-VSIOXWSI.cjs +0 -53
  754. package/dist/chunk-WDS3VL7E.mjs +0 -56
  755. package/dist/chunk-X3H6FYAM.cjs +0 -15
  756. package/dist/chunk-XHJDRQD7.mjs +0 -29
  757. package/dist/chunk-Y2XVZEXM.mjs +0 -45
  758. package/dist/chunk-Z7BZFZEV.mjs +0 -15
  759. package/dist/dial/DialProvider.example.cjs +0 -72
  760. package/dist/dial/DialProvider.example.d.cts +0 -7
  761. package/dist/dial/DialProvider.example.d.ts +0 -7
  762. package/dist/dial/DialProvider.example.mjs +0 -68
  763. package/dist/styles/toast.css +0 -64
  764. package/dist/styles/toast.d.cts +0 -2
  765. package/dist/styles/toast.d.ts +0 -2
  766. package/src/auth/components/index.ts +0 -1
  767. package/src/auth/components/user-avatar/index.tsx +0 -94
  768. package/src/auth/context/user-context.ts +0 -15
  769. package/src/auth/handler/fetch-auth.ts +0 -10
  770. package/src/auth/handler/fetch-server.ts +0 -10
  771. package/src/auth/handler/get-session.ts +0 -19
  772. package/src/auth/handler/get-sessions.ts +0 -16
  773. package/src/auth/handler/sign-in-handler.ts +0 -64
  774. package/src/auth/handler/sign-out-handler.ts +0 -9
  775. package/src/auth/hooks/use-sign-in.ts +0 -33
  776. package/src/auth/hooks/use-sign-out.ts +0 -30
  777. package/src/auth/hooks/use-user.ts +0 -10
  778. package/src/auth/hooks/use-vuer-sessions.ts +0 -29
  779. package/src/auth/index.ts +0 -12
  780. package/src/auth/localstorage-key.ts +0 -3
  781. package/src/auth/types.ts +0 -38
  782. package/src/auth/vuer-user-provider.tsx +0 -58
  783. package/src/dial/DialProvider.example.tsx +0 -80
  784. package/src/styles/toast.css +0 -67
  785. /package/dist/{auth/types.mjs → chunk-6NZ5VXK7.mjs} +0 -0
  786. /package/dist/{chunk-UXWS62ZO.mjs → chunk-6THKQIF7.mjs} +0 -0
  787. /package/dist/{auth/types.cjs → chunk-AS3GNGJN.cjs} +0 -0
  788. /package/dist/{chunk-NK7L5H2Y.cjs → chunk-DPILGC4Y.cjs} +0 -0
  789. /package/dist/{chunk-YWECB5GR.cjs → chunk-F4NQLN5E.cjs} +0 -0
  790. /package/dist/{chunk-YYLBP356.mjs → chunk-NU5W73NH.mjs} +0 -0
@@ -1,7 +1,9 @@
1
1
  import React from "react";
2
2
 
3
- import { DialGroupConfig, DialSchema, LabelPositionT } from "./DialProvider";
3
+ import { DialButton, DialCustom } from "./components";
4
+ import type { GroupSchema, DialSchema, LabelPositionT } from "./types";
4
5
  import {
6
+ DialArrayInput,
5
7
  DialBooleanInput,
6
8
  DialColorInput,
7
9
  DialEulerDegInput,
@@ -13,23 +15,59 @@ import {
13
15
  DialSelectInput,
14
16
  DialSliderInput,
15
17
  DialTextInput,
18
+ DialTupleInput,
16
19
  DialVec3Input,
17
20
  DialVectorInput,
18
21
  } from "./wrapped-inputs";
22
+ import { DialInterfaceInput } from "./wrapped-inputs/DialInterfaceInput";
19
23
 
20
24
  interface DialSchemaRendererProps {
21
25
  schemas: DialSchema[];
22
- groups?: DialGroupConfig[];
26
+ groups?: GroupSchema[];
23
27
  labelLayout?: LabelPositionT;
24
28
  }
25
29
 
30
+ /**
31
+ * Generate dynamic styles based on GroupSchema
32
+ * Default layout: grid with 1 column
33
+ */
34
+ const generateGroupStyle = (config?: GroupSchema): React.CSSProperties => {
35
+ const layout = config?.layout ?? "grid";
36
+
37
+ if (layout === "grid") {
38
+ return {
39
+ display: "grid",
40
+ gap: "0.5rem",
41
+ gridAutoFlow: config?.gridFlow,
42
+ gridTemplateColumns: config?.gridColTemplate
43
+ ? config.gridColTemplate
44
+ : config?.gridCols
45
+ ? `repeat(${config.gridCols}, 1fr)`
46
+ : "1fr",
47
+ gridTemplateRows: config?.gridRowTemplate
48
+ ? config.gridRowTemplate
49
+ : config?.gridRows
50
+ ? `repeat(${config.gridRows}, 1fr)`
51
+ : undefined,
52
+ };
53
+ }
54
+
55
+ // Flex layout
56
+ return {
57
+ display: "flex",
58
+ gap: "0.5rem",
59
+ flexWrap: config?.flexWrap ?? "wrap",
60
+ justifyContent: config?.flexJustifyContent,
61
+ };
62
+ };
63
+
26
64
  export const DialPanel: React.FC<DialSchemaRendererProps> = ({
27
65
  schemas,
28
66
  groups: groupConfigs,
29
67
  labelLayout,
30
68
  }) => {
31
69
  // Create a map of group configurations for easy lookup
32
- const groupConfigMap: Record<string, DialGroupConfig> = {};
70
+ const groupConfigMap: Record<string, GroupSchema> = {};
33
71
 
34
72
  // First, populate from explicit groups prop if provided
35
73
  if (groupConfigs) {
@@ -38,25 +76,12 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
38
76
  });
39
77
  }
40
78
 
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
79
  // Group schemas by their grouping tag
55
80
  const groupedSchemas: Record<string, DialSchema[]> = {};
56
81
  const ungrouped: DialSchema[] = [];
57
82
 
58
83
  schemas.forEach((schema) => {
59
- const grouping = schema.tags?.grouping;
84
+ const grouping = schema?.grouping;
60
85
  if (grouping) {
61
86
  if (!groupedSchemas[grouping]) {
62
87
  groupedSchemas[grouping] = [];
@@ -69,13 +94,49 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
69
94
 
70
95
  // Render a single schema item as an input component
71
96
  const renderSchemaInput = (schema: DialSchema) => {
72
- const { name, dtype, icon, min, max, step, options, tags } = schema;
97
+ const { name, dtype, icon, min, max, step, options } = schema;
73
98
  // Use schema's label position if specified, otherwise fall back to panel's labelLayout prop
74
- const effectiveLabelPosition = (tags?.labelPosition as LabelPositionT) || labelLayout;
99
+ const effectiveLabelPosition = (schema?.labelPosition as LabelPositionT) || labelLayout;
75
100
  const label = schema.label || name.charAt(0).toUpperCase() + name.slice(1);
76
101
 
77
102
  // Choose the right input component based on dtype
78
103
  switch (dtype) {
104
+ case "tuple":
105
+ // General tuple with mixed types
106
+ return (
107
+ <DialTupleInput
108
+ key={name}
109
+ name={name}
110
+ label={label}
111
+ labelPosition={effectiveLabelPosition}
112
+ icon={icon}
113
+ />
114
+ );
115
+
116
+ case "array":
117
+ // Array of primitive types
118
+ return (
119
+ <DialArrayInput
120
+ key={name}
121
+ name={name}
122
+ label={label}
123
+ labelPosition={effectiveLabelPosition}
124
+ icon={icon}
125
+ />
126
+ );
127
+
128
+ case "interface":
129
+ case "object":
130
+ return (
131
+ <DialInterfaceInput
132
+ key={name}
133
+ name={name}
134
+ label={label}
135
+ labelPosition={effectiveLabelPosition}
136
+ icon={icon}
137
+ />
138
+ );
139
+
79
140
  case "vector3":
80
141
  return (
81
142
  <DialVec3Input
@@ -91,6 +152,19 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
91
152
  );
92
153
 
93
154
  case "euler":
155
+ case "euler-rad": // Alias for euler (both default to radians)
156
+ return (
157
+ <DialEulerRadInput
158
+ key={name}
159
+ name={name}
160
+ label={label}
161
+ step={step || 0.001}
162
+ labelPosition={effectiveLabelPosition}
163
+ icon={icon}
164
+ />
165
+ );
166
+
167
+ case "euler-deg":
94
168
  return (
95
169
  <DialEulerDegInput
96
170
  key={name}
@@ -102,7 +176,7 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
102
176
  />
103
177
  );
104
178
 
105
- case "euler-rad":
179
+ case "euler-pi":
106
180
  return (
107
181
  <DialEulerRadInput
108
182
  key={name}
@@ -111,6 +185,7 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
111
185
  step={step || 0.001}
112
186
  labelPosition={effectiveLabelPosition}
113
187
  icon={icon}
188
+ format="pi"
114
189
  />
115
190
  );
116
191
 
@@ -198,7 +273,7 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
198
273
  key={name}
199
274
  name={name}
200
275
  label={label}
201
- options={options}
276
+ options={options as string[]}
202
277
  labelPosition={effectiveLabelPosition}
203
278
  icon={icon}
204
279
  />
@@ -224,6 +299,7 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
224
299
 
225
300
  case "string":
226
301
  case "text":
302
+ case "select":
227
303
  // If options are provided, use select
228
304
  if (options && options.length > 0) {
229
305
  return (
@@ -249,27 +325,86 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
249
325
  />
250
326
  );
251
327
 
328
+ case "button":
329
+ return (
330
+ <DialButton
331
+ key={name}
332
+ name={name}
333
+ label={label}
334
+ icon={icon}
335
+ onClick={schema.onClick}
336
+ variant={schema.variant}
337
+ disabled={schema.disabled}
338
+ />
339
+ );
340
+
341
+ case "custom":
342
+ // Either render function or children must be provided
343
+ if (!schema.render && !schema.children) {
344
+ console.warn(
345
+ `DialPanel: dtype="custom" requires either render or children for "${name}"`,
346
+ );
347
+ return null;
348
+ }
349
+ return (
350
+ <DialCustom
351
+ key={name}
352
+ schema={schema}
353
+ render={schema.render}
354
+ children={schema.children}
355
+ />
356
+ );
357
+
252
358
  default:
253
359
  return null;
254
360
  }
255
361
  };
256
362
 
363
+ // Wrapper function to apply span styles
364
+ const wrapWithStyle = (schema: DialSchema, component: React.ReactNode) => {
365
+ const spanStyle: React.CSSProperties = {};
366
+ if (schema.colSpan) {
367
+ spanStyle.gridColumn = `span ${schema.colSpan}`;
368
+ }
369
+ if (schema.rowSpan) {
370
+ spanStyle.gridRow = `span ${schema.rowSpan}`;
371
+ }
372
+
373
+ if (Object.keys(spanStyle).length > 0) {
374
+ return (
375
+ <div key={schema.name} style={spanStyle}>
376
+ {component}
377
+ </div>
378
+ );
379
+ }
380
+ return component;
381
+ };
382
+
383
+ // Sort groups: Transform first, then alphabetically
384
+ const sortedGroups = Object.entries(groupedSchemas).sort(([nameA], [nameB]) => {
385
+ const lowerA = nameA.toLowerCase();
386
+ const lowerB = nameB.toLowerCase();
387
+
388
+ if (lowerA === "transform") return -1;
389
+ if (lowerB === "transform") return 1;
390
+
391
+ return lowerA.localeCompare(lowerB);
392
+ });
393
+
257
394
  return (
258
395
  <div className="dial-schema-renderer space-y-4">
259
396
  {/* Render grouped schemas */}
260
- {Object.entries(groupedSchemas).map(([name, schemaList]) => {
397
+ {sortedGroups.map(([name, schemaList]) => {
261
398
  // Use group configuration
262
399
  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";
400
+ const groupStyle = generateGroupStyle(groupConfig);
268
401
 
269
402
  return (
270
403
  <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>
404
+ <div className="text-text-primary mb-2 pl-1.5 font-medium capitalize">{name}</div>
405
+ <div className="dial-row" style={groupStyle}>
406
+ {schemaList.map((schema) => wrapWithStyle(schema, renderSchemaInput(schema)))}
407
+ </div>
273
408
  </div>
274
409
  );
275
410
  })}
@@ -280,7 +415,9 @@ export const DialPanel: React.FC<DialSchemaRendererProps> = ({
280
415
  {/*<h3 className="text-sm font-semibold text-text-primary mb-2">*/}
281
416
  {/* General*/}
282
417
  {/*</h3>*/}
283
- <div className="dial-row grid grid-cols-1 gap-2">{ungrouped.map(renderSchemaInput)}</div>
418
+ <div className="dial-row grid grid-cols-1 gap-2">
419
+ {ungrouped.map((schema) => wrapWithStyle(schema, renderSchemaInput(schema)))}
420
+ </div>
284
421
  </div>
285
422
  )}
286
423
  </div>
@@ -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
  }
@@ -0,0 +1,52 @@
1
+ import React from "react";
2
+
3
+ import { Button } from "../../ui/button";
4
+ import { IconRenderer } from "../IconRenderer";
5
+
6
+ export interface DialButtonProps {
7
+ name: string;
8
+ label?: string;
9
+ icon?: string;
10
+ onClick?: () => void;
11
+ variant?: "primary" | "secondary" | "ghost" | "destructive" | "link";
12
+ disabled?: boolean;
13
+ }
14
+
15
+ /**
16
+ * Button component for dial panels
17
+ *
18
+ * Used to trigger actions from within the dial UI.
19
+ * Unlike input components, buttons don't store values in the dial state.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * const handleReset = useCallback(() => {
24
+ * // reset logic
25
+ * }, []);
26
+ *
27
+ * { name: 'reset', dtype: 'button', label: 'Reset', onClick: handleReset }
28
+ * ```
29
+ */
30
+ export const DialButton: React.FC<DialButtonProps> = ({
31
+ name,
32
+ label,
33
+ icon,
34
+ onClick,
35
+ variant = "secondary",
36
+ disabled = false,
37
+ }) => {
38
+ const displayLabel = label || name.charAt(0).toUpperCase() + name.slice(1);
39
+
40
+ return (
41
+ <Button
42
+ variant={variant}
43
+ size="sm"
44
+ onClick={onClick}
45
+ disabled={disabled}
46
+ className="w-full justify-center gap-2"
47
+ >
48
+ <IconRenderer iconName={icon} size={14} />
49
+ {displayLabel}
50
+ </Button>
51
+ );
52
+ };
@@ -0,0 +1,45 @@
1
+ import React, { ReactNode } from "react";
2
+
3
+ import { useDialSchema } from "../DialProvider";
4
+ import type { DialCustomRenderFn, DialSchema } from "../types";
5
+
6
+ export interface DialCustomProps {
7
+ schema: DialSchema;
8
+ /** Render function with access to getValue/setValue context */
9
+ render?: DialCustomRenderFn;
10
+ /** Direct ReactNode (no context access) */
11
+ children?: ReactNode;
12
+ }
13
+
14
+ /**
15
+ * Custom component that renders user-provided React components
16
+ *
17
+ * Supports two modes:
18
+ * 1. `render` function: Receives getValue/setValue context for dial integration
19
+ * 2. `children`: Direct ReactNode for simple/static components
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * // Mode 1: Render function with context (recommended for dial integration)
24
+ * const customRender = useMemo(() => ({ getValue, setValue }) => (
25
+ * <div className="flex gap-2">
26
+ * <span>Value: {getValue('myField')}</span>
27
+ * <button onClick={() => setValue('myField', 0)}>Reset</button>
28
+ * </div>
29
+ * ), []);
30
+ *
31
+ * // Mode 2: Direct ReactNode (for static or self-managed components)
32
+ * const myComponent = useMemo(() => <MyStaticComponent />, []);
33
+ * ```
34
+ */
35
+ export const DialCustom: React.FC<DialCustomProps> = ({ schema, render, children }) => {
36
+ const { getValue, setValue } = useDialSchema();
37
+
38
+ // Priority: render function > children
39
+ if (render) {
40
+ return <>{render({ getValue, setValue, schema })}</>;
41
+ }
42
+
43
+ // Fallback to children (direct ReactNode)
44
+ return <>{children}</>;
45
+ };
@@ -0,0 +1,3 @@
1
+ // Non-input dial components (actions, containers, etc.)
2
+ export { DialButton } from "./DialButton";
3
+ export { DialCustom } from "./DialCustom";
package/src/dial/index.ts CHANGED
@@ -1,10 +1,12 @@
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";
6
3
 
7
- // All wrapped input components
4
+ // Export types from the types file
5
+ export * from "./types";
6
+ export { DialPanel } from "./DialPanel";
7
+ export { IconRenderer } from "./IconRenderer";
8
+
9
+ // Dial input components
8
10
  export {
9
11
  // Basic controlled inputs
10
12
  DialBooleanInput,
@@ -24,4 +26,7 @@ export {
24
26
  DialCmInput,
25
27
  DialInchInput,
26
28
  DialTimeInput,
27
- } from './wrapped-inputs';
29
+ } from "./wrapped-inputs";
30
+
31
+ // Non-input dial components
32
+ export { DialButton, DialCustom } from "./components";
@@ -0,0 +1,32 @@
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
+ /**
13
+ * Runtime schema group - extends ComponentSchema with DialSchema
14
+ */
15
+ export interface DialSchemaGroup {
16
+ component: string;
17
+ description?: string;
18
+ schemas: DialSchema[];
19
+ groups?: GroupSchema[];
20
+ }
21
+
22
+ // Re-export base types for convenience
23
+ export type {
24
+ // Schema types (final output)
25
+ DialCustomRenderContext,
26
+ DialCustomRenderFn,
27
+ DialDtype,
28
+ DialSchema,
29
+ DialValue,
30
+ NestedTypeDefinition,
31
+ GroupSchema,
32
+ } from "../../dial-cli/src/types";