@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.
- package/README.md +28 -0
- package/dist/SyncScroll/SyncScroll.cjs +13 -13
- package/dist/SyncScroll/SyncScroll.mjs +6 -6
- package/dist/SyncScroll/index.cjs +13 -13
- package/dist/SyncScroll/index.mjs +6 -6
- package/dist/SyncScroll/useSyncScroll.d.cts +5 -5
- package/dist/SyncScroll/useSyncScroll.d.ts +5 -5
- package/dist/{chunk-42WQWP6X.cjs → chunk-22T2AL3G.cjs} +8 -8
- package/dist/{chunk-NMRFBO43.mjs → chunk-2IMCDH5J.mjs} +3 -3
- package/dist/{chunk-EOLUDKZ3.mjs → chunk-2J466BYZ.mjs} +26 -47
- package/dist/{chunk-LVIZRMYN.cjs → chunk-2KBNQ5PY.cjs} +2 -2
- package/dist/{chunk-S7CCCMMU.cjs → chunk-34NDAZS6.cjs} +18 -9
- package/dist/{chunk-DM43KZU7.cjs → chunk-3F3LBOQJ.cjs} +2 -2
- package/dist/chunk-3JMUI4R2.cjs +136 -0
- package/dist/{chunk-CWS5PF67.cjs → chunk-3UQ323EB.cjs} +8 -42
- package/dist/{chunk-QXFFRQ7E.mjs → chunk-44U6VC46.mjs} +543 -95
- package/dist/{chunk-JW456O5K.mjs → chunk-4FB6B2ES.mjs} +1 -1
- package/dist/{chunk-66NKH2SV.cjs → chunk-4FIP3EXW.cjs} +6 -6
- package/dist/chunk-4SI4QV5R.cjs +14 -0
- package/dist/{chunk-IAFCABPY.mjs → chunk-4W7JKZVN.mjs} +3 -2
- package/dist/{chunk-EEGQLTSQ.cjs → chunk-4WWGBRQV.cjs} +77 -0
- package/dist/chunk-4Y5IF7R5.mjs +322 -0
- package/dist/chunk-52GNIM6H.mjs +12 -0
- package/dist/{chunk-X6WOCNBX.cjs → chunk-57NITJN5.cjs} +2 -2
- package/dist/{chunk-LMYA5IOK.mjs → chunk-5GBMVMLS.mjs} +4 -4
- package/dist/{chunk-QWBMDS3S.cjs → chunk-5HT74RHB.cjs} +5 -5
- package/dist/{chunk-4ODJAEOM.mjs → chunk-5JYH7TXY.mjs} +1 -1
- package/dist/{chunk-2CD4D2BR.cjs → chunk-6CJWNYHL.cjs} +3 -3
- package/dist/{chunk-CRX2ZCM2.cjs → chunk-6LTCLQH3.cjs} +6 -1
- package/dist/{chunk-WKK5UX2W.mjs → chunk-6U6LRS37.mjs} +2 -2
- package/dist/{chunk-4OUQ6NSX.cjs → chunk-6VIKDPCD.cjs} +2 -2
- package/dist/{chunk-6D7FGGSX.cjs → chunk-753HUOAI.cjs} +26 -26
- package/dist/{chunk-LYGYXV7S.cjs → chunk-7ICRKPIO.cjs} +16 -16
- package/dist/chunk-7MKCWXNV.cjs +32 -0
- package/dist/{chunk-FMKD5JBL.mjs → chunk-7TD77VF4.mjs} +10 -6
- package/dist/{chunk-5ARBIWXX.cjs → chunk-7TXGEIV3.cjs} +10 -10
- package/dist/chunk-7WJ73FEI.mjs +43 -0
- package/dist/{chunk-SLXM4F24.cjs → chunk-7YFUNCKT.cjs} +9 -9
- package/dist/{chunk-LGFWHV23.cjs → chunk-ACGXE2IO.cjs} +2 -2
- package/dist/{chunk-IU65XB2K.cjs → chunk-AFALU3AK.cjs} +2 -2
- package/dist/{chunk-EGIIZWP3.mjs → chunk-AFR23IX6.mjs} +1 -1
- package/dist/{chunk-CXPF274N.mjs → chunk-BK77KKIM.mjs} +1 -1
- package/dist/{chunk-4PMXRQXC.cjs → chunk-BNXJ5VBE.cjs} +6 -6
- package/dist/{chunk-3DIFS7CO.mjs → chunk-BPCD4L7T.mjs} +1 -1
- package/dist/{chunk-JQYMF2FW.cjs → chunk-BSDIS4KS.cjs} +4 -4
- package/dist/{chunk-REZAPK6Z.mjs → chunk-BTGAKK3B.mjs} +1 -1
- package/dist/{chunk-TB5L3GBP.cjs → chunk-BXJTOIRR.cjs} +584 -133
- package/dist/{chunk-35ZN6IW7.mjs → chunk-BYZ7HIIK.mjs} +1 -1
- package/dist/{chunk-XS5IUI62.cjs → chunk-BZI74LKX.cjs} +3 -2
- package/dist/{chunk-2IS7TXTN.mjs → chunk-CENP2PIB.mjs} +1 -1
- package/dist/{chunk-SAXISARG.cjs → chunk-CMO3SLOU.cjs} +2 -2
- package/dist/{chunk-CIOLL5LX.mjs → chunk-CN6SZKJZ.mjs} +1 -1
- package/dist/chunk-CRY23RMB.mjs +30 -0
- package/dist/{chunk-7AAMQGY2.cjs → chunk-CYWVJ3HF.cjs} +7 -7
- package/dist/{chunk-EVBYVJTW.mjs → chunk-D2LUQKPM.mjs} +130 -91
- package/dist/chunk-DF7WIFZK.cjs +316 -0
- package/dist/chunk-DKLVWYTC.cjs +71 -0
- package/dist/chunk-DKWLF3KW.mjs +149 -0
- package/dist/{chunk-F2LEYFWW.cjs → chunk-DPJPOBUT.cjs} +5 -5
- package/dist/{chunk-SR3M2R3S.mjs → chunk-DSQPFXYL.mjs} +22 -24
- package/dist/chunk-DVUN6GQI.cjs +21 -0
- package/dist/{chunk-7ACZU3BT.mjs → chunk-EG6JETUN.mjs} +1 -1
- package/dist/{chunk-T4U3BG2V.mjs → chunk-EGJLY5VZ.mjs} +1 -1
- package/dist/{chunk-AE5YDMFT.mjs → chunk-EXM6QMNR.mjs} +3 -3
- package/dist/{chunk-H6JGIEAU.mjs → chunk-EYMZP5PL.mjs} +1 -1
- package/dist/{chunk-K2ZYSKRU.mjs → chunk-EZ536NLQ.mjs} +1 -1
- package/dist/chunk-FRM27RLN.cjs +264 -0
- package/dist/chunk-FTB337IJ.cjs +143 -0
- package/dist/{chunk-7A5EMDZH.mjs → chunk-G35PQKU5.mjs} +5 -5
- package/dist/{chunk-ZJSL6HSL.mjs → chunk-GAAP5JO4.mjs} +1 -1
- package/dist/chunk-GHQA7PER.mjs +107 -0
- package/dist/{chunk-ND3WJ63Z.cjs → chunk-GVRVRBDU.cjs} +2 -2
- package/dist/chunk-GZ2BG42R.mjs +34 -0
- package/dist/chunk-H3JRYX2U.mjs +19 -0
- package/dist/{chunk-T66ETI7E.mjs → chunk-HBEU2PU2.mjs} +6 -1
- package/dist/{chunk-SMXN2KOV.mjs → chunk-HGTL7DFT.mjs} +1 -1
- package/dist/{chunk-JFPIUDGT.mjs → chunk-HI4LO6IJ.mjs} +1 -1
- package/dist/{chunk-QO2AM6MF.mjs → chunk-HIDTQ4Z2.mjs} +1 -1
- package/dist/{chunk-DDU3SPCC.mjs → chunk-HNW2DRPV.mjs} +58 -9
- package/dist/{chunk-5AKVDZMA.cjs → chunk-HSUL5OUG.cjs} +14 -13
- package/dist/{chunk-EY6PKK4X.cjs → chunk-I2COLDHC.cjs} +2 -2
- package/dist/chunk-IAWMCOHS.cjs +45 -0
- package/dist/chunk-IM5QVMGO.cjs +2 -0
- package/dist/{chunk-UQQBUPGF.mjs → chunk-IPMWGCAI.mjs} +5 -21
- package/dist/{chunk-SCUMWMIN.mjs → chunk-ITOTSGSL.mjs} +1 -1
- package/dist/{chunk-NJWKR5WR.mjs → chunk-IYTGWOZY.mjs} +1 -1
- package/dist/chunk-J74A5LNZ.cjs +179 -0
- package/dist/{chunk-CKGEV2JL.cjs → chunk-JDEZ6NNG.cjs} +2 -2
- package/dist/chunk-JEWTYDLX.cjs +119 -0
- package/dist/{chunk-Q7WCKEXG.cjs → chunk-JF43YF6J.cjs} +3 -3
- package/dist/chunk-JTFQFULL.cjs +166 -0
- package/dist/{chunk-XQ3MWA3D.mjs → chunk-KXKUQSNY.mjs} +3 -3
- package/dist/chunk-L2AKG4VJ.mjs +258 -0
- package/dist/{chunk-ZCSJGDX7.mjs → chunk-L2DME42Q.mjs} +1 -1
- package/dist/{chunk-K2BQNNEX.cjs → chunk-L6W77P4B.cjs} +8 -8
- package/dist/{chunk-N4Y5CBOI.cjs → chunk-LGUQR5AR.cjs} +4 -4
- package/dist/{chunk-ZA7WOIIB.mjs → chunk-LHP7FLGK.mjs} +1 -1
- package/dist/{chunk-MYZHDWBF.mjs → chunk-LLFE3UHZ.mjs} +10 -10
- package/dist/{chunk-332A4MHC.mjs → chunk-LNYUFL3Q.mjs} +1 -1
- package/dist/{chunk-BUAWPPXA.cjs → chunk-MQ5DGLVE.cjs} +11 -11
- package/dist/{chunk-EXY6WRH4.mjs → chunk-N6KP2HIC.mjs} +2 -2
- package/dist/{chunk-V75PKBIV.cjs → chunk-NEJKCSS5.cjs} +9 -9
- package/dist/{chunk-KPGZOX2A.cjs → chunk-NHFIDL5X.cjs} +5 -5
- package/dist/{chunk-JNV3UBBP.cjs → chunk-NIACIZWY.cjs} +6 -22
- package/dist/{chunk-PC5DHSC4.mjs → chunk-NKUK73WB.mjs} +71 -1
- package/dist/{chunk-5OZS5UJX.cjs → chunk-NSPAT6XV.cjs} +7 -7
- package/dist/chunk-NUBFD3YP.mjs +117 -0
- package/dist/{chunk-4BQPIY5Z.mjs → chunk-O2NGB7YP.mjs} +1 -1
- package/dist/{chunk-7H7U2X45.cjs → chunk-O3DFVRON.cjs} +17 -13
- package/dist/chunk-O57DAVOQ.mjs +1 -0
- package/dist/{chunk-S37MJNNP.cjs → chunk-OCADGDGL.cjs} +2 -2
- package/dist/{chunk-ZSAPBZ36.mjs → chunk-OW653F7T.mjs} +1 -1
- package/dist/{chunk-GRXUYMZJ.cjs → chunk-OX5FXH6W.cjs} +4 -4
- package/dist/{chunk-GQYUSBSO.mjs → chunk-P3FBRYWH.mjs} +3 -10
- package/dist/{chunk-P3YSHGT5.mjs → chunk-P55DAW6H.mjs} +1 -1
- package/dist/{chunk-JOOURIX7.cjs → chunk-P6E4WLMD.cjs} +4 -4
- package/dist/{chunk-WDSOII5A.cjs → chunk-P7J7XHDE.cjs} +2 -2
- package/dist/chunk-PHRZ5JE6.mjs +1 -0
- package/dist/{chunk-F3HOBNGR.cjs → chunk-PMG3NZF5.cjs} +4 -4
- package/dist/chunk-PMYOKSO3.mjs +30 -0
- package/dist/chunk-PTUZYCOY.mjs +314 -0
- package/dist/{chunk-PV6CEMTT.cjs → chunk-PWZ4F3WY.cjs} +4 -4
- package/dist/{chunk-QBAZ6TKZ.cjs → chunk-PZZW3E5D.cjs} +2 -2
- package/dist/chunk-Q3UN25WC.mjs +141 -0
- package/dist/{chunk-MXGPFCLN.cjs → chunk-QS6WNNLM.cjs} +2 -2
- package/dist/{chunk-PR3BCKLJ.mjs → chunk-QSDYNIZB.mjs} +2 -1
- package/dist/{chunk-GTBXRWCK.cjs → chunk-QTLUPDLH.cjs} +8 -7
- package/dist/{chunk-BXZSWY4N.mjs → chunk-QYJZ5KA6.mjs} +1 -1
- package/dist/{chunk-JYYAGDLZ.cjs → chunk-R22VW3EK.cjs} +2 -2
- package/dist/{chunk-NKGUQZTD.cjs → chunk-RHVKIZMQ.cjs} +2 -2
- package/dist/{chunk-U22YVR7M.mjs → chunk-RLY4A3IY.mjs} +15 -6
- package/dist/{chunk-OJOWMXXY.mjs → chunk-RR76Z6OK.mjs} +3 -3
- package/dist/{chunk-D562KO2I.mjs → chunk-RWHVZM2B.mjs} +2 -2
- package/dist/chunk-S4C7HO32.cjs +36 -0
- package/dist/chunk-SBAVMK7J.cjs +181 -0
- package/dist/{chunk-DAVMLI3P.cjs → chunk-SNUQOJLK.cjs} +4 -4
- package/dist/{chunk-KY2PYKDZ.mjs → chunk-SO5KFX2C.mjs} +1 -1
- package/dist/{chunk-HB65PF7F.cjs → chunk-SOHGIAGF.cjs} +2 -2
- package/dist/{chunk-RW4T7UBU.cjs → chunk-STJMH4NX.cjs} +3 -3
- package/dist/{chunk-VYINXXYX.cjs → chunk-SUWJDU3Y.cjs} +59 -61
- package/dist/chunk-T2BDPMCF.cjs +358 -0
- package/dist/{chunk-U5W4ZALG.cjs → chunk-T2OAWYOU.cjs} +6 -6
- package/dist/{chunk-Q7VP2WSX.mjs → chunk-TCCFFSXM.mjs} +29 -12
- package/dist/{chunk-PRNBDGOF.cjs → chunk-THE6FZKP.cjs} +29 -49
- package/dist/{chunk-RGOZPSTI.mjs → chunk-TMBHKVKH.mjs} +1 -1
- package/dist/chunk-TQOGGHSJ.mjs +23 -0
- package/dist/{chunk-VTW2DF63.mjs → chunk-TWDDNHRP.mjs} +1 -1
- package/dist/{chunk-DDIB73SZ.mjs → chunk-UB3ELCFR.mjs} +4 -4
- package/dist/{chunk-XTLGNJIO.mjs → chunk-UBGNADCN.mjs} +1 -1
- package/dist/chunk-UCAIVC2B.cjs +32 -0
- package/dist/chunk-UEHPZIQB.cjs +2 -0
- package/dist/{chunk-ASZIBFA6.cjs → chunk-UZTOUPJ7.cjs} +131 -92
- package/dist/{chunk-3NIMV5PH.mjs → chunk-V4THHKSO.mjs} +1 -1
- package/dist/{chunk-G5VBLDAM.mjs → chunk-VBEVJE7Q.mjs} +1 -1
- package/dist/chunk-VDYJAOMN.mjs +177 -0
- package/dist/{chunk-64VVW5YR.mjs → chunk-VLNU7Y2K.mjs} +8 -43
- package/dist/{chunk-ZS7ESTKH.cjs → chunk-VT6E2N6C.cjs} +8 -12
- package/dist/{chunk-OLYHHP67.mjs → chunk-VWLZKPDB.mjs} +6 -5
- package/dist/{chunk-UMGNAR3W.cjs → chunk-W22SQYEO.cjs} +8 -8
- package/dist/{chunk-VWVYCQWF.mjs → chunk-WBM7ATPT.mjs} +1 -1
- package/dist/{chunk-CH3BSVL4.cjs → chunk-WGY33IHV.cjs} +2 -2
- package/dist/{chunk-DAA2GQAS.cjs → chunk-WRJAYU2L.cjs} +27 -27
- package/dist/{chunk-7AEOJFD4.cjs → chunk-WX3VWVWD.cjs} +2 -2
- package/dist/{chunk-EBFPZBUQ.cjs → chunk-WYUJM72T.cjs} +7 -7
- package/dist/{chunk-EK3BTKZP.cjs → chunk-WZQ2BT3P.cjs} +142 -26
- package/dist/{chunk-KR7VBV3B.cjs → chunk-XIDCYS6G.cjs} +2 -1
- package/dist/{chunk-WHV6Z7YX.mjs → chunk-XIESS6HW.mjs} +1 -1
- package/dist/{chunk-UIJEAY6H.mjs → chunk-XTZURZIR.mjs} +1 -1
- package/dist/{chunk-7AZ3PLUC.mjs → chunk-XZLQHASB.mjs} +1 -1
- package/dist/{chunk-SRZ56OJH.mjs → chunk-XZTEU7ME.mjs} +3 -3
- package/dist/{chunk-RLTLA7VS.mjs → chunk-Y2IIKDRY.mjs} +1 -1
- package/dist/chunk-YDF6VWBW.cjs +151 -0
- package/dist/{chunk-CR6JOOO3.cjs → chunk-YGZHBIZP.cjs} +3 -10
- package/dist/{chunk-TWQONYWC.mjs → chunk-YMMSHGYC.mjs} +1 -1
- package/dist/chunk-YQL6JDVP.cjs +21 -0
- package/dist/{chunk-Q37KC3CL.mjs → chunk-YRNI7ZJ7.mjs} +134 -18
- package/dist/{chunk-3ZEQVODC.cjs → chunk-ZAK7AFVY.cjs} +2 -2
- package/dist/{chunk-W3IHFG4B.cjs → chunk-ZG33TW5I.cjs} +8 -8
- package/dist/{chunk-FK6ZROZE.mjs → chunk-ZJYPKTF4.mjs} +2 -1
- package/dist/chunk-ZMRODJ3I.mjs +149 -0
- package/dist/{chunk-AHD46BFN.mjs → chunk-ZQOQB6GF.mjs} +1 -1
- package/dist/dial/DialPanel.cjs +104 -92
- package/dist/dial/DialPanel.d.cts +5 -5
- package/dist/dial/DialPanel.d.ts +5 -5
- package/dist/dial/DialPanel.mjs +103 -91
- package/dist/dial/DialProvider.d.cts +16 -51
- package/dist/dial/DialProvider.d.ts +16 -51
- package/dist/dial/IconRenderer.d.cts +2 -2
- package/dist/dial/IconRenderer.d.ts +2 -2
- package/dist/dial/components/DialButton.cjs +22 -0
- package/dist/dial/components/DialButton.d.cts +28 -0
- package/dist/dial/components/DialButton.d.ts +28 -0
- package/dist/dial/components/DialButton.mjs +13 -0
- package/dist/dial/components/DialCustom.cjs +11 -0
- package/dist/dial/components/DialCustom.d.cts +34 -0
- package/dist/dial/components/DialCustom.d.ts +34 -0
- package/dist/dial/components/DialCustom.mjs +2 -0
- package/dist/dial/components/index.cjs +29 -0
- package/dist/dial/components/index.d.cts +4 -0
- package/dist/dial/components/index.d.ts +4 -0
- package/dist/dial/components/index.mjs +16 -0
- package/dist/dial/index.cjs +128 -108
- package/dist/dial/index.d.cts +5 -1
- package/dist/dial/index.d.ts +5 -1
- package/dist/dial/index.mjs +103 -91
- package/dist/dial/types.cjs +4 -0
- package/dist/dial/types.d.cts +21 -0
- package/dist/dial/types.d.ts +21 -0
- package/dist/dial/types.mjs +1 -0
- package/dist/dial/wrapped-inputs/ControlledInputs.cjs +108 -96
- package/dist/dial/wrapped-inputs/ControlledInputs.d.cts +8 -8
- package/dist/dial/wrapped-inputs/ControlledInputs.d.ts +8 -8
- package/dist/dial/wrapped-inputs/ControlledInputs.mjs +103 -91
- package/dist/dial/wrapped-inputs/DialArrayInput.cjs +139 -0
- package/dist/dial/wrapped-inputs/DialArrayInput.d.cts +20 -0
- package/dist/dial/wrapped-inputs/DialArrayInput.d.ts +20 -0
- package/dist/dial/wrapped-inputs/DialArrayInput.mjs +130 -0
- package/dist/dial/wrapped-inputs/DialInputs.cjs +117 -105
- package/dist/dial/wrapped-inputs/DialInputs.d.cts +19 -17
- package/dist/dial/wrapped-inputs/DialInputs.d.ts +19 -17
- package/dist/dial/wrapped-inputs/DialInputs.mjs +103 -91
- package/dist/dial/wrapped-inputs/DialInterfaceInput.cjs +139 -0
- package/dist/dial/wrapped-inputs/DialInterfaceInput.d.cts +13 -0
- package/dist/dial/wrapped-inputs/DialInterfaceInput.d.ts +13 -0
- package/dist/dial/wrapped-inputs/DialInterfaceInput.mjs +130 -0
- package/dist/dial/wrapped-inputs/DialPresetsInput.cjs +94 -86
- package/dist/dial/wrapped-inputs/DialPresetsInput.d.cts +4 -4
- package/dist/dial/wrapped-inputs/DialPresetsInput.d.ts +4 -4
- package/dist/dial/wrapped-inputs/DialPresetsInput.mjs +93 -85
- package/dist/dial/wrapped-inputs/DialTupleInput.cjs +139 -0
- package/dist/dial/wrapped-inputs/DialTupleInput.d.cts +18 -0
- package/dist/dial/wrapped-inputs/DialTupleInput.d.ts +18 -0
- package/dist/dial/wrapped-inputs/DialTupleInput.mjs +130 -0
- package/dist/dial/wrapped-inputs/DialVectorInput.cjs +104 -92
- package/dist/dial/wrapped-inputs/DialVectorInput.d.cts +2 -2
- package/dist/dial/wrapped-inputs/DialVectorInput.d.ts +2 -2
- package/dist/dial/wrapped-inputs/DialVectorInput.mjs +103 -91
- package/dist/dial/wrapped-inputs/index.cjs +132 -112
- package/dist/dial/wrapped-inputs/index.d.cts +4 -2
- package/dist/dial/wrapped-inputs/index.d.ts +4 -2
- package/dist/dial/wrapped-inputs/index.mjs +103 -91
- package/dist/highlight-cursor/cursor-context.d.cts +2 -2
- package/dist/highlight-cursor/cursor-context.d.ts +2 -2
- package/dist/highlight-cursor/cursor-provider.cjs +3 -3
- package/dist/highlight-cursor/cursor-provider.d.cts +1 -1
- package/dist/highlight-cursor/cursor-provider.d.ts +1 -1
- package/dist/highlight-cursor/cursor-provider.mjs +2 -2
- package/dist/highlight-cursor/enhanced-components.cjs +16 -16
- package/dist/highlight-cursor/enhanced-components.d.cts +4 -4
- package/dist/highlight-cursor/enhanced-components.d.ts +4 -4
- package/dist/highlight-cursor/enhanced-components.mjs +11 -11
- package/dist/highlight-cursor/index.cjs +21 -21
- package/dist/highlight-cursor/index.mjs +12 -12
- package/dist/highlight-cursor/types.d.cts +2 -1
- package/dist/highlight-cursor/types.d.ts +2 -1
- package/dist/highlight-cursor/with-cursor.d.cts +2 -2
- package/dist/highlight-cursor/with-cursor.d.ts +2 -2
- package/dist/hooks/clientOnly.d.cts +4 -4
- package/dist/hooks/clientOnly.d.ts +4 -4
- package/dist/hooks/cn.cjs +2 -2
- package/dist/hooks/cn.mjs +1 -1
- package/dist/hooks/index.cjs +22 -22
- package/dist/hooks/index.mjs +5 -5
- package/dist/hooks/useIsMobile.cjs +2 -2
- package/dist/hooks/useIsMobile.mjs +1 -1
- package/dist/index.cjs +587 -407
- package/dist/index.css +13 -76
- package/dist/index.d.cts +20 -6
- package/dist/index.d.ts +20 -6
- package/dist/index.mjs +103 -91
- package/dist/schema-types-D9b7Dc1G.d.cts +163 -0
- package/dist/schema-types-D9b7Dc1G.d.ts +163 -0
- package/dist/styles/theme.css +1 -1
- package/dist/ui/DialBadge.cjs +10 -10
- package/dist/ui/DialBadge.mjs +6 -6
- package/dist/ui/UIKitBadge.cjs +10 -10
- package/dist/ui/UIKitBadge.mjs +6 -6
- package/dist/ui/alert-dialog.cjs +60 -0
- package/dist/ui/alert-dialog.d.cts +17 -0
- package/dist/ui/alert-dialog.d.ts +17 -0
- package/dist/ui/alert-dialog.mjs +11 -0
- package/dist/ui/avatar.cjs +10 -10
- package/dist/ui/avatar.d.cts +2 -2
- package/dist/ui/avatar.d.ts +2 -2
- package/dist/ui/avatar.mjs +6 -6
- package/dist/ui/badge.cjs +8 -8
- package/dist/ui/badge.d.cts +2 -2
- package/dist/ui/badge.d.ts +2 -2
- package/dist/ui/badge.mjs +6 -6
- package/dist/ui/button.cjs +8 -8
- package/dist/ui/button.d.cts +3 -3
- package/dist/ui/button.d.ts +3 -3
- package/dist/ui/button.mjs +6 -6
- package/dist/ui/card.cjs +14 -13
- package/dist/ui/card.d.cts +14 -2
- package/dist/ui/card.d.ts +14 -2
- package/dist/ui/card.mjs +7 -6
- package/dist/ui/checkbox.cjs +7 -7
- package/dist/ui/checkbox.mjs +6 -6
- package/dist/ui/collapsible.cjs +9 -9
- package/dist/ui/collapsible.mjs +6 -6
- package/dist/ui/context-menu.cjs +76 -0
- package/dist/ui/context-menu.d.cts +28 -0
- package/dist/ui/context-menu.d.ts +28 -0
- package/dist/ui/context-menu.mjs +11 -0
- package/dist/ui/drag-selectable/createSelectable.d.cts +2 -2
- package/dist/ui/drag-selectable/createSelectable.d.ts +2 -2
- package/dist/ui/drawer.cjs +16 -16
- package/dist/ui/drawer.d.cts +11 -11
- package/dist/ui/drawer.d.ts +11 -11
- package/dist/ui/drawer.mjs +6 -6
- package/dist/ui/dropdown.cjs +21 -21
- package/dist/ui/dropdown.mjs +6 -6
- package/dist/ui/index.cjs +485 -317
- package/dist/ui/index.d.cts +15 -5
- package/dist/ui/index.d.ts +15 -5
- package/dist/ui/index.mjs +90 -82
- package/dist/ui/inputs/color-input.cjs +8 -8
- package/dist/ui/inputs/color-input.d.cts +7 -3
- package/dist/ui/inputs/color-input.d.ts +7 -3
- package/dist/ui/inputs/color-input.mjs +7 -7
- package/dist/ui/inputs/index.cjs +56 -56
- package/dist/ui/inputs/index.mjs +25 -25
- package/dist/ui/inputs/input-numbers.cjs +8 -8
- package/dist/ui/inputs/input-numbers.d.cts +7 -3
- package/dist/ui/inputs/input-numbers.d.ts +7 -3
- package/dist/ui/inputs/input-numbers.mjs +7 -7
- package/dist/ui/inputs/input.cjs +9 -9
- package/dist/ui/inputs/input.d.cts +4 -4
- package/dist/ui/inputs/input.d.ts +4 -4
- package/dist/ui/inputs/input.mjs +6 -6
- package/dist/ui/inputs/number-inputs/CmInput.cjs +9 -9
- package/dist/ui/inputs/number-inputs/CmInput.d.cts +2 -2
- package/dist/ui/inputs/number-inputs/CmInput.d.ts +2 -2
- package/dist/ui/inputs/number-inputs/CmInput.mjs +8 -8
- package/dist/ui/inputs/number-inputs/DegInput.cjs +9 -9
- package/dist/ui/inputs/number-inputs/DegInput.d.cts +2 -2
- package/dist/ui/inputs/number-inputs/DegInput.d.ts +2 -2
- package/dist/ui/inputs/number-inputs/DegInput.mjs +8 -8
- package/dist/ui/inputs/number-inputs/EulerDegInput.cjs +11 -11
- package/dist/ui/inputs/number-inputs/EulerDegInput.d.cts +2 -2
- package/dist/ui/inputs/number-inputs/EulerDegInput.d.ts +2 -2
- package/dist/ui/inputs/number-inputs/EulerDegInput.mjs +10 -10
- package/dist/ui/inputs/number-inputs/EulerInput.cjs +10 -10
- package/dist/ui/inputs/number-inputs/EulerInput.d.cts +2 -2
- package/dist/ui/inputs/number-inputs/EulerInput.d.ts +2 -2
- package/dist/ui/inputs/number-inputs/EulerInput.mjs +9 -9
- package/dist/ui/inputs/number-inputs/EulerRadInput.cjs +10 -10
- package/dist/ui/inputs/number-inputs/EulerRadInput.d.cts +2 -2
- package/dist/ui/inputs/number-inputs/EulerRadInput.d.ts +2 -2
- package/dist/ui/inputs/number-inputs/EulerRadInput.mjs +9 -9
- package/dist/ui/inputs/number-inputs/InchInput.cjs +9 -9
- package/dist/ui/inputs/number-inputs/InchInput.d.cts +2 -2
- package/dist/ui/inputs/number-inputs/InchInput.d.ts +2 -2
- package/dist/ui/inputs/number-inputs/InchInput.mjs +8 -8
- package/dist/ui/inputs/number-inputs/IntInput.cjs +9 -9
- package/dist/ui/inputs/number-inputs/IntInput.d.cts +2 -2
- package/dist/ui/inputs/number-inputs/IntInput.d.ts +2 -2
- package/dist/ui/inputs/number-inputs/IntInput.mjs +8 -8
- package/dist/ui/inputs/number-inputs/KVectorInput.cjs +10 -10
- package/dist/ui/inputs/number-inputs/KVectorInput.d.cts +2 -2
- package/dist/ui/inputs/number-inputs/KVectorInput.d.ts +2 -2
- package/dist/ui/inputs/number-inputs/KVectorInput.mjs +9 -9
- package/dist/ui/inputs/number-inputs/QuaternionInput.cjs +10 -10
- package/dist/ui/inputs/number-inputs/QuaternionInput.d.cts +2 -2
- package/dist/ui/inputs/number-inputs/QuaternionInput.d.ts +2 -2
- package/dist/ui/inputs/number-inputs/QuaternionInput.mjs +9 -9
- package/dist/ui/inputs/number-inputs/RadInput.cjs +9 -9
- package/dist/ui/inputs/number-inputs/RadInput.d.cts +2 -2
- package/dist/ui/inputs/number-inputs/RadInput.d.ts +2 -2
- package/dist/ui/inputs/number-inputs/RadInput.mjs +8 -8
- package/dist/ui/inputs/number-inputs/TimeInput.cjs +9 -9
- package/dist/ui/inputs/number-inputs/TimeInput.d.cts +2 -2
- package/dist/ui/inputs/number-inputs/TimeInput.d.ts +2 -2
- package/dist/ui/inputs/number-inputs/TimeInput.mjs +8 -8
- package/dist/ui/inputs/number-inputs/Vec3Input.cjs +10 -10
- package/dist/ui/inputs/number-inputs/Vec3Input.d.cts +2 -2
- package/dist/ui/inputs/number-inputs/Vec3Input.d.ts +2 -2
- package/dist/ui/inputs/number-inputs/Vec3Input.mjs +9 -9
- package/dist/ui/inputs/number-inputs/VectorInput.cjs +9 -9
- package/dist/ui/inputs/number-inputs/VectorInput.d.cts +4 -2
- package/dist/ui/inputs/number-inputs/VectorInput.d.ts +4 -2
- package/dist/ui/inputs/number-inputs/VectorInput.mjs +8 -8
- package/dist/ui/inputs/number-inputs/index.cjs +42 -42
- package/dist/ui/inputs/number-inputs/index.mjs +20 -20
- package/dist/ui/inputs/presets-input.cjs +10 -10
- package/dist/ui/inputs/presets-input.d.cts +2 -2
- package/dist/ui/inputs/presets-input.d.ts +2 -2
- package/dist/ui/inputs/presets-input.mjs +9 -9
- package/dist/ui/inputs/presets-rad-input.cjs +11 -11
- package/dist/ui/inputs/presets-rad-input.d.cts +2 -2
- package/dist/ui/inputs/presets-rad-input.d.ts +2 -2
- package/dist/ui/inputs/presets-rad-input.mjs +10 -10
- package/dist/ui/inputs/text-input.cjs +8 -8
- package/dist/ui/inputs/text-input.d.cts +2 -2
- package/dist/ui/inputs/text-input.d.ts +2 -2
- package/dist/ui/inputs/text-input.mjs +7 -7
- package/dist/ui/label.cjs +7 -7
- package/dist/ui/label.d.cts +4 -4
- package/dist/ui/label.d.ts +4 -4
- package/dist/ui/label.mjs +6 -6
- package/dist/ui/layout.cjs +7 -7
- package/dist/ui/layout.mjs +6 -6
- package/dist/ui/layouts/dock-layout/DockLayoutView.cjs +8 -8
- package/dist/ui/layouts/dock-layout/DockLayoutView.d.cts +2 -1
- package/dist/ui/layouts/dock-layout/DockLayoutView.d.ts +2 -1
- package/dist/ui/layouts/dock-layout/DockLayoutView.mjs +7 -7
- package/dist/ui/layouts/dock-layout/LayoutSlots.cjs +12 -12
- package/dist/ui/layouts/dock-layout/LayoutSlots.d.cts +3 -3
- package/dist/ui/layouts/dock-layout/LayoutSlots.d.ts +3 -3
- package/dist/ui/layouts/dock-layout/LayoutSlots.mjs +6 -6
- package/dist/ui/layouts/dock-layout/index.cjs +14 -14
- package/dist/ui/layouts/dock-layout/index.mjs +7 -7
- package/dist/ui/layouts/index.cjs +20 -20
- package/dist/ui/layouts/index.mjs +9 -9
- package/dist/ui/layouts/liquid-layout/LayoutSlots.cjs +12 -12
- package/dist/ui/layouts/liquid-layout/LayoutSlots.mjs +6 -6
- package/dist/ui/layouts/liquid-layout/LiquidLayoutView.cjs +8 -8
- package/dist/ui/layouts/liquid-layout/LiquidLayoutView.d.cts +13 -1
- package/dist/ui/layouts/liquid-layout/LiquidLayoutView.d.ts +13 -1
- package/dist/ui/layouts/liquid-layout/LiquidLayoutView.mjs +7 -7
- package/dist/ui/layouts/liquid-layout/index.cjs +8 -8
- package/dist/ui/layouts/liquid-layout/index.mjs +7 -7
- package/dist/ui/modal.cjs +16 -16
- package/dist/ui/modal.mjs +6 -6
- package/dist/ui/navigation.cjs +8 -8
- package/dist/ui/navigation.d.cts +2 -2
- package/dist/ui/navigation.d.ts +2 -2
- package/dist/ui/navigation.mjs +7 -7
- package/dist/ui/pagination.cjs +14 -14
- package/dist/ui/pagination.mjs +7 -7
- package/dist/ui/popover.cjs +14 -10
- package/dist/ui/popover.d.cts +18 -8
- package/dist/ui/popover.d.ts +18 -8
- package/dist/ui/popover.mjs +6 -6
- package/dist/ui/progress.cjs +7 -7
- package/dist/ui/progress.d.cts +1 -1
- package/dist/ui/progress.d.ts +1 -1
- package/dist/ui/progress.mjs +6 -6
- package/dist/ui/radio-group.cjs +8 -8
- package/dist/ui/radio-group.mjs +6 -6
- package/dist/ui/resizable.cjs +9 -9
- package/dist/ui/resizable.d.cts +2 -2
- package/dist/ui/resizable.d.ts +2 -2
- package/dist/ui/resizable.mjs +6 -6
- package/dist/ui/select.cjs +17 -17
- package/dist/ui/select.d.cts +3 -2
- package/dist/ui/select.d.ts +3 -2
- package/dist/ui/select.mjs +6 -6
- package/dist/ui/separator.cjs +7 -7
- package/dist/ui/separator.mjs +6 -6
- package/dist/ui/sheet.cjs +14 -14
- package/dist/ui/sheet.d.cts +26 -13
- package/dist/ui/sheet.d.ts +26 -13
- package/dist/ui/sheet.mjs +6 -6
- package/dist/ui/sidebar.cjs +36 -36
- package/dist/ui/sidebar.mjs +12 -12
- package/dist/ui/simple-tree-view.cjs +7 -7
- package/dist/ui/simple-tree-view.d.cts +2 -2
- package/dist/ui/simple-tree-view.d.ts +2 -2
- package/dist/ui/simple-tree-view.mjs +6 -6
- package/dist/ui/skeleton.cjs +7 -7
- package/dist/ui/skeleton.mjs +6 -6
- package/dist/ui/slider.cjs +7 -7
- package/dist/ui/slider.d.cts +2 -2
- package/dist/ui/slider.d.ts +2 -2
- package/dist/ui/slider.mjs +6 -6
- package/dist/ui/switch.cjs +7 -7
- package/dist/ui/switch.d.cts +4 -1
- package/dist/ui/switch.d.ts +4 -1
- package/dist/ui/switch.mjs +6 -6
- package/dist/ui/table.cjs +14 -14
- package/dist/ui/table.d.cts +9 -9
- package/dist/ui/table.d.ts +9 -9
- package/dist/ui/table.mjs +6 -6
- package/dist/ui/tabs.cjs +14 -10
- package/dist/ui/tabs.d.cts +25 -7
- package/dist/ui/tabs.d.ts +25 -7
- package/dist/ui/tabs.mjs +6 -6
- package/dist/ui/textarea.cjs +7 -7
- package/dist/ui/textarea.d.cts +1 -1
- package/dist/ui/textarea.d.ts +1 -1
- package/dist/ui/textarea.mjs +6 -6
- package/dist/ui/theme/ThemeProvider.cjs +15 -15
- package/dist/ui/theme/ThemeProvider.d.cts +3 -3
- package/dist/ui/theme/ThemeProvider.d.ts +3 -3
- package/dist/ui/theme/ThemeProvider.mjs +1 -1
- package/dist/ui/theme/ThemeToggles.cjs +11 -11
- package/dist/ui/theme/ThemeToggles.d.cts +18 -3
- package/dist/ui/theme/ThemeToggles.d.ts +18 -3
- package/dist/ui/theme/ThemeToggles.mjs +9 -9
- package/dist/ui/theme/index.cjs +15 -15
- package/dist/ui/theme/index.mjs +9 -9
- package/dist/ui/theme/themeScript.d.cts +2 -2
- package/dist/ui/theme/themeScript.d.ts +2 -2
- package/dist/ui/toast.cjs +19 -3
- package/dist/ui/toast.d.cts +1 -1
- package/dist/ui/toast.d.ts +1 -1
- package/dist/ui/toast.mjs +17 -1
- package/dist/ui/toggle-buttons.cjs +11 -11
- package/dist/ui/toggle-buttons.d.cts +7 -7
- package/dist/ui/toggle-buttons.d.ts +7 -7
- package/dist/ui/toggle-buttons.mjs +6 -6
- package/dist/ui/toggle-group.cjs +9 -9
- package/dist/ui/toggle-group.d.cts +3 -3
- package/dist/ui/toggle-group.d.ts +3 -3
- package/dist/ui/toggle-group.mjs +6 -6
- package/dist/ui/toggle.cjs +8 -8
- package/dist/ui/toggle.mjs +6 -6
- package/dist/ui/toolbar.cjs +9 -9
- package/dist/ui/toolbar.mjs +6 -6
- package/dist/ui/tooltip.cjs +10 -10
- package/dist/ui/tooltip.d.cts +2 -2
- package/dist/ui/tooltip.d.ts +2 -2
- package/dist/ui/tooltip.mjs +6 -6
- package/dist/ui/tree-view/TreeSearchBar.cjs +9 -9
- package/dist/ui/tree-view/TreeSearchBar.mjs +8 -8
- package/dist/ui/tree-view/TreeView.cjs +10 -8
- package/dist/ui/tree-view/TreeView.d.cts +12 -6
- package/dist/ui/tree-view/TreeView.d.ts +12 -6
- package/dist/ui/tree-view/TreeView.mjs +8 -6
- package/dist/ui/tree-view/hooks.cjs +31 -3
- package/dist/ui/tree-view/hooks.d.cts +33 -1
- package/dist/ui/tree-view/hooks.d.ts +33 -1
- package/dist/ui/tree-view/hooks.mjs +1 -1
- package/dist/ui/tree-view/index.cjs +49 -20
- package/dist/ui/tree-view/index.d.cts +1 -1
- package/dist/ui/tree-view/index.d.ts +1 -1
- package/dist/ui/tree-view/index.mjs +11 -10
- package/dist/ui/tree-view/types.d.cts +1 -0
- package/dist/ui/tree-view/types.d.ts +1 -0
- package/dist/ui/tree-view-legacy.cjs +13 -13
- package/dist/ui/tree-view-legacy.mjs +9 -9
- package/dist/ui/virtual-grid/VirtualGrid.cjs +21 -0
- package/dist/ui/virtual-grid/VirtualGrid.d.cts +10 -0
- package/dist/ui/virtual-grid/VirtualGrid.d.ts +10 -0
- package/dist/ui/virtual-grid/VirtualGrid.mjs +12 -0
- package/dist/ui/virtual-grid/index.cjs +26 -0
- package/dist/ui/virtual-grid/index.d.cts +4 -0
- package/dist/ui/virtual-grid/index.d.ts +4 -0
- package/dist/ui/virtual-grid/index.mjs +13 -0
- package/dist/ui/virtual-grid/types.cjs +2 -0
- package/dist/ui/virtual-grid/types.d.cts +70 -0
- package/dist/ui/virtual-grid/types.d.ts +70 -0
- package/dist/ui/virtual-grid/types.mjs +1 -0
- package/dist/ui/virtual-grid/useVirtualGrid.cjs +10 -0
- package/dist/ui/virtual-grid/useVirtualGrid.d.cts +9 -0
- package/dist/ui/virtual-grid/useVirtualGrid.d.ts +9 -0
- package/dist/ui/virtual-grid/useVirtualGrid.mjs +1 -0
- package/dist/ui/virtual-list/VirtualList.cjs +21 -0
- package/dist/ui/virtual-list/VirtualList.d.cts +10 -0
- package/dist/ui/virtual-list/VirtualList.d.ts +10 -0
- package/dist/ui/virtual-list/VirtualList.mjs +12 -0
- package/dist/ui/virtual-list/index.cjs +26 -0
- package/dist/ui/virtual-list/index.d.cts +4 -0
- package/dist/ui/virtual-list/index.d.ts +4 -0
- package/dist/ui/virtual-list/index.mjs +13 -0
- package/dist/ui/virtual-list/types.cjs +2 -0
- package/dist/ui/virtual-list/types.d.cts +54 -0
- package/dist/ui/virtual-list/types.d.ts +54 -0
- package/dist/ui/virtual-list/types.mjs +1 -0
- package/dist/ui/virtual-list/useVirtualList.cjs +10 -0
- package/dist/ui/virtual-list/useVirtualList.d.cts +9 -0
- package/dist/ui/virtual-list/useVirtualList.d.ts +9 -0
- package/dist/ui/virtual-list/useVirtualList.mjs +1 -0
- package/dist/ui/waterfall/CursorOverlay.cjs +7 -7
- package/dist/ui/waterfall/CursorOverlay.mjs +6 -6
- package/dist/ui/waterfall/NavigationControls.d.cts +2 -2
- package/dist/ui/waterfall/NavigationControls.d.ts +2 -2
- package/dist/ui/waterfall/TimelineEvent.cjs +7 -7
- package/dist/ui/waterfall/TimelineEvent.mjs +6 -6
- package/dist/ui/waterfall/TimelineProcessBar.cjs +7 -7
- package/dist/ui/waterfall/TimelineProcessBar.mjs +6 -6
- package/dist/ui/waterfall/Wedges.cjs +8 -8
- package/dist/ui/waterfall/Wedges.mjs +6 -6
- package/dist/ui/waterfall/WheelZoomContext.d.cts +2 -2
- package/dist/ui/waterfall/WheelZoomContext.d.ts +2 -2
- package/dist/ui/waterfall/hooks/useTimelineState.d.cts +4 -3
- package/dist/ui/waterfall/hooks/useTimelineState.d.ts +4 -3
- package/dist/ui/waterfall/hooks/useViewport.d.cts +4 -4
- package/dist/ui/waterfall/hooks/useViewport.d.ts +4 -4
- package/dist/ui/waterfall/index.cjs +20 -19
- package/dist/ui/waterfall/index.d.cts +2 -2
- package/dist/ui/waterfall/index.d.ts +2 -2
- package/dist/ui/waterfall/index.mjs +19 -18
- package/package.json +6 -9
- package/src/dial/DialPanel.tsx +167 -30
- package/src/dial/DialProvider.tsx +20 -68
- package/src/dial/components/DialButton.tsx +52 -0
- package/src/dial/components/DialCustom.tsx +45 -0
- package/src/dial/components/index.ts +3 -0
- package/src/dial/index.ts +11 -6
- package/src/dial/types.ts +32 -0
- package/src/dial/wrapped-inputs/ControlledInputs.tsx +22 -16
- package/src/dial/wrapped-inputs/DialArrayInput.tsx +175 -0
- package/src/dial/wrapped-inputs/DialInputs.tsx +119 -23
- package/src/dial/wrapped-inputs/DialInterfaceInput.tsx +80 -0
- package/src/dial/wrapped-inputs/DialPresetsInput.tsx +4 -3
- package/src/dial/wrapped-inputs/DialTupleInput.tsx +102 -0
- package/src/dial/wrapped-inputs/DialVectorInput.tsx +11 -21
- package/src/dial/wrapped-inputs/index.ts +6 -0
- package/src/highlight-cursor/cursor-provider.tsx +279 -131
- package/src/highlight-cursor/types.ts +2 -1
- package/src/hooks/cn.ts +5 -0
- package/src/hooks/useIsMobile.ts +14 -30
- package/src/index.css +0 -1
- package/src/styles/theme.css +2 -2
- package/src/ui/DialBadge.tsx +7 -5
- package/src/ui/alert-dialog.tsx +168 -0
- package/src/ui/badge.tsx +1 -0
- package/src/ui/card.tsx +76 -8
- package/src/ui/context-menu.tsx +358 -0
- package/src/ui/index.ts +6 -0
- package/src/ui/inputs/color-input.tsx +92 -8
- package/src/ui/inputs/input-numbers.tsx +148 -92
- package/src/ui/inputs/number-inputs/EulerRadInput.tsx +43 -42
- package/src/ui/inputs/number-inputs/VectorInput.tsx +2 -1
- package/src/ui/inputs/presets-rad-input.tsx +5 -2
- package/src/ui/inputs/text-input.tsx +1 -1
- package/src/ui/layouts/dock-layout/DockLayoutView.tsx +15 -4
- package/src/ui/layouts/dock-layout/LayoutSlots.tsx +14 -5
- package/src/ui/layouts/liquid-layout/LiquidLayoutView.tsx +44 -5
- package/src/ui/popover.tsx +10 -49
- package/src/ui/progress.tsx +7 -14
- package/src/ui/select.tsx +5 -2
- package/src/ui/separator.tsx +1 -1
- package/src/ui/sheet.tsx +14 -116
- package/src/ui/sidebar.tsx +18 -19
- package/src/ui/switch.tsx +7 -2
- package/src/ui/tabs.tsx +29 -58
- package/src/ui/theme/ThemeProvider.tsx +4 -3
- package/src/ui/theme/ThemeToggles.tsx +48 -12
- package/src/ui/toast.tsx +13 -16
- package/src/ui/tooltip.tsx +3 -30
- package/src/ui/tree-view/TreeView.tsx +179 -21
- package/src/ui/tree-view/hooks.tsx +148 -0
- package/src/ui/tree-view/types.ts +2 -1
- package/src/ui/virtual-grid/VirtualGrid.tsx +345 -0
- package/src/ui/virtual-grid/index.ts +10 -0
- package/src/ui/virtual-grid/types.ts +72 -0
- package/src/ui/virtual-grid/useVirtualGrid.ts +243 -0
- package/src/ui/virtual-list/VirtualList.tsx +207 -0
- package/src/ui/virtual-list/index.ts +8 -0
- package/src/ui/virtual-list/types.ts +54 -0
- package/src/ui/virtual-list/useVirtualList.ts +203 -0
- package/src/ui/waterfall/TimelineProcessBar.tsx +10 -4
- package/dist/auth/components/index.cjs +0 -128
- package/dist/auth/components/index.d.cts +0 -2
- package/dist/auth/components/index.d.ts +0 -2
- package/dist/auth/components/index.mjs +0 -119
- package/dist/auth/components/user-avatar/index.cjs +0 -127
- package/dist/auth/components/user-avatar/index.d.cts +0 -8
- package/dist/auth/components/user-avatar/index.d.ts +0 -8
- package/dist/auth/components/user-avatar/index.mjs +0 -118
- package/dist/auth/context/user-context.cjs +0 -10
- package/dist/auth/context/user-context.d.cts +0 -13
- package/dist/auth/context/user-context.d.ts +0 -13
- package/dist/auth/context/user-context.mjs +0 -1
- package/dist/auth/handler/fetch-auth.cjs +0 -11
- package/dist/auth/handler/fetch-auth.d.cts +0 -3
- package/dist/auth/handler/fetch-auth.d.ts +0 -3
- package/dist/auth/handler/fetch-auth.mjs +0 -2
- package/dist/auth/handler/fetch-server.cjs +0 -11
- package/dist/auth/handler/fetch-server.d.cts +0 -3
- package/dist/auth/handler/fetch-server.d.ts +0 -3
- package/dist/auth/handler/fetch-server.mjs +0 -2
- package/dist/auth/handler/get-session.cjs +0 -12
- package/dist/auth/handler/get-session.d.cts +0 -21
- package/dist/auth/handler/get-session.d.ts +0 -21
- package/dist/auth/handler/get-session.mjs +0 -3
- package/dist/auth/handler/get-sessions.cjs +0 -12
- package/dist/auth/handler/get-sessions.d.cts +0 -21
- package/dist/auth/handler/get-sessions.d.ts +0 -21
- package/dist/auth/handler/get-sessions.mjs +0 -3
- package/dist/auth/handler/sign-in-handler.cjs +0 -11
- package/dist/auth/handler/sign-in-handler.d.cts +0 -6
- package/dist/auth/handler/sign-in-handler.d.ts +0 -6
- package/dist/auth/handler/sign-in-handler.mjs +0 -2
- package/dist/auth/handler/sign-out-handler.cjs +0 -12
- package/dist/auth/handler/sign-out-handler.d.cts +0 -5
- package/dist/auth/handler/sign-out-handler.d.ts +0 -5
- package/dist/auth/handler/sign-out-handler.mjs +0 -3
- package/dist/auth/hooks/use-sign-in.cjs +0 -14
- package/dist/auth/hooks/use-sign-in.d.cts +0 -9
- package/dist/auth/hooks/use-sign-in.d.ts +0 -9
- package/dist/auth/hooks/use-sign-in.mjs +0 -5
- package/dist/auth/hooks/use-sign-out.cjs +0 -15
- package/dist/auth/hooks/use-sign-out.d.cts +0 -6
- package/dist/auth/hooks/use-sign-out.d.ts +0 -6
- package/dist/auth/hooks/use-sign-out.mjs +0 -6
- package/dist/auth/hooks/use-user.cjs +0 -11
- package/dist/auth/hooks/use-user.d.cts +0 -8
- package/dist/auth/hooks/use-user.d.ts +0 -8
- package/dist/auth/hooks/use-user.mjs +0 -2
- package/dist/auth/hooks/use-vuer-sessions.cjs +0 -15
- package/dist/auth/hooks/use-vuer-sessions.d.cts +0 -9
- package/dist/auth/hooks/use-vuer-sessions.d.ts +0 -9
- package/dist/auth/hooks/use-vuer-sessions.mjs +0 -6
- package/dist/auth/index.cjs +0 -165
- package/dist/auth/index.d.cts +0 -13
- package/dist/auth/index.d.ts +0 -13
- package/dist/auth/index.mjs +0 -124
- package/dist/auth/localstorage-key.cjs +0 -14
- package/dist/auth/localstorage-key.d.cts +0 -4
- package/dist/auth/localstorage-key.d.ts +0 -4
- package/dist/auth/localstorage-key.mjs +0 -1
- package/dist/auth/types.d.cts +0 -27
- package/dist/auth/types.d.ts +0 -27
- package/dist/auth/vuer-user-provider.cjs +0 -14
- package/dist/auth/vuer-user-provider.d.cts +0 -9
- package/dist/auth/vuer-user-provider.d.ts +0 -9
- package/dist/auth/vuer-user-provider.mjs +0 -5
- package/dist/chunk-2DXJJLJL.mjs +0 -51
- package/dist/chunk-2GXIGEKC.mjs +0 -66
- package/dist/chunk-3WMO5QJJ.cjs +0 -8
- package/dist/chunk-5OHAV55L.mjs +0 -24
- package/dist/chunk-6C53NKMF.mjs +0 -206
- package/dist/chunk-6GJM7TPE.cjs +0 -28
- package/dist/chunk-7E5Y224I.cjs +0 -14
- package/dist/chunk-7R5HY3IM.cjs +0 -12
- package/dist/chunk-EMVKGL5D.mjs +0 -28
- package/dist/chunk-EMXEFZEB.cjs +0 -30
- package/dist/chunk-EOSYXHEH.mjs +0 -27
- package/dist/chunk-EXXV3BXT.cjs +0 -23
- package/dist/chunk-F4Z5KATZ.cjs +0 -8
- package/dist/chunk-FROQ45MN.mjs +0 -6
- package/dist/chunk-FZAGJSW2.cjs +0 -47
- package/dist/chunk-H7RH4CZ7.cjs +0 -54
- package/dist/chunk-HOMAESTR.mjs +0 -12
- package/dist/chunk-IPQU5CJD.mjs +0 -21
- package/dist/chunk-JR4TVE43.cjs +0 -31
- package/dist/chunk-KIZEJMW4.cjs +0 -15
- package/dist/chunk-KQW3YARN.cjs +0 -117
- package/dist/chunk-L2XJ5Q7T.cjs +0 -58
- package/dist/chunk-LAPOK2L4.mjs +0 -193
- package/dist/chunk-MFYDZKQF.mjs +0 -28
- package/dist/chunk-MNCBTS63.cjs +0 -68
- package/dist/chunk-MO5V43Z3.mjs +0 -13
- package/dist/chunk-MRMSCW3P.cjs +0 -19
- package/dist/chunk-OOHCJIRV.cjs +0 -26
- package/dist/chunk-PX2H7Z4D.mjs +0 -26
- package/dist/chunk-PXDT5GFJ.mjs +0 -13
- package/dist/chunk-Q3CJUGX3.cjs +0 -21
- package/dist/chunk-Q76WU4DL.cjs +0 -17
- package/dist/chunk-R4HT3SYR.cjs +0 -208
- package/dist/chunk-RSBVQ7SJ.cjs +0 -54
- package/dist/chunk-RTYZO2AC.cjs +0 -30
- package/dist/chunk-SO2UTKSV.mjs +0 -17
- package/dist/chunk-UT7B4TLZ.mjs +0 -5
- package/dist/chunk-V4KDK3BN.mjs +0 -52
- package/dist/chunk-V5T6XOSB.cjs +0 -222
- package/dist/chunk-VSFPXAGN.mjs +0 -10
- package/dist/chunk-VSIOXWSI.cjs +0 -53
- package/dist/chunk-WDS3VL7E.mjs +0 -56
- package/dist/chunk-X3H6FYAM.cjs +0 -15
- package/dist/chunk-XHJDRQD7.mjs +0 -29
- package/dist/chunk-Y2XVZEXM.mjs +0 -45
- package/dist/chunk-Z7BZFZEV.mjs +0 -15
- package/dist/dial/DialProvider.example.cjs +0 -72
- package/dist/dial/DialProvider.example.d.cts +0 -7
- package/dist/dial/DialProvider.example.d.ts +0 -7
- package/dist/dial/DialProvider.example.mjs +0 -68
- package/dist/styles/toast.css +0 -64
- package/dist/styles/toast.d.cts +0 -2
- package/dist/styles/toast.d.ts +0 -2
- package/src/auth/components/index.ts +0 -1
- package/src/auth/components/user-avatar/index.tsx +0 -94
- package/src/auth/context/user-context.ts +0 -15
- package/src/auth/handler/fetch-auth.ts +0 -10
- package/src/auth/handler/fetch-server.ts +0 -10
- package/src/auth/handler/get-session.ts +0 -19
- package/src/auth/handler/get-sessions.ts +0 -16
- package/src/auth/handler/sign-in-handler.ts +0 -64
- package/src/auth/handler/sign-out-handler.ts +0 -9
- package/src/auth/hooks/use-sign-in.ts +0 -33
- package/src/auth/hooks/use-sign-out.ts +0 -30
- package/src/auth/hooks/use-user.ts +0 -10
- package/src/auth/hooks/use-vuer-sessions.ts +0 -29
- package/src/auth/index.ts +0 -12
- package/src/auth/localstorage-key.ts +0 -3
- package/src/auth/types.ts +0 -38
- package/src/auth/vuer-user-provider.tsx +0 -58
- package/src/dial/DialProvider.example.tsx +0 -80
- package/src/styles/toast.css +0 -67
- /package/dist/{auth/types.mjs → chunk-6NZ5VXK7.mjs} +0 -0
- /package/dist/{chunk-UXWS62ZO.mjs → chunk-6THKQIF7.mjs} +0 -0
- /package/dist/{auth/types.cjs → chunk-AS3GNGJN.cjs} +0 -0
- /package/dist/{chunk-NK7L5H2Y.cjs → chunk-DPILGC4Y.cjs} +0 -0
- /package/dist/{chunk-YWECB5GR.cjs → chunk-F4NQLN5E.cjs} +0 -0
- /package/dist/{chunk-YYLBP356.mjs → chunk-NU5W73NH.mjs} +0 -0
|
@@ -13,9 +13,10 @@ import {
|
|
|
13
13
|
SelectValue,
|
|
14
14
|
Slider,
|
|
15
15
|
Switch,
|
|
16
|
-
} from "../../index";
|
|
17
|
-
import {
|
|
16
|
+
} from "../../index";
|
|
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<{
|
|
@@ -30,7 +31,7 @@ const DialInputWrapper: React.FC<{
|
|
|
30
31
|
|
|
31
32
|
return (
|
|
32
33
|
<FormLayout orientation={`label-${labelPosition}` as LayoutType} className="overflow-x-hidden">
|
|
33
|
-
<Label size="sm" className="flex items-center gap-1">
|
|
34
|
+
<Label size="sm" className="flex items-center gap-1 pl-1.5">
|
|
34
35
|
<IconRenderer iconName={icon} size={14} className="text-text-secondary" />
|
|
35
36
|
{label}
|
|
36
37
|
</Label>
|
|
@@ -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,
|
|
@@ -116,12 +117,12 @@ export const DialBooleanInput: React.FC<DialNumInputProps> = ({
|
|
|
116
117
|
};
|
|
117
118
|
|
|
118
119
|
if (!label || labelPosition === "inline") {
|
|
119
|
-
return <Switch {...switchProps} />;
|
|
120
|
+
return <Switch className="ml-1.5" {...switchProps} />;
|
|
120
121
|
}
|
|
121
122
|
|
|
122
123
|
return (
|
|
123
124
|
<DialInputWrapper label={label} labelPosition={labelPosition} icon={icon} {...props}>
|
|
124
|
-
<Switch {...switchProps} />
|
|
125
|
+
<Switch className="ml-1.5" {...switchProps} />
|
|
125
126
|
</DialInputWrapper>
|
|
126
127
|
);
|
|
127
128
|
};
|
|
@@ -129,14 +130,17 @@ export const DialBooleanInput: React.FC<DialNumInputProps> = ({
|
|
|
129
130
|
// Dial-wrapped ColorInput
|
|
130
131
|
export const DialColorInput: React.FC<DialNumInputProps> = ({ name, label, icon, ...props }) => {
|
|
131
132
|
const { getValue, setValue } = useDialSchema();
|
|
132
|
-
|
|
133
|
+
// Value can be string or number (0xffffff format)
|
|
134
|
+
const value = getValue(name) as string | number | undefined;
|
|
133
135
|
|
|
134
|
-
const
|
|
135
|
-
(
|
|
136
|
-
[name],
|
|
136
|
+
const handleValueChange = useCallback(
|
|
137
|
+
(hexColor: string) => setValue(name, hexColor),
|
|
138
|
+
[name, setValue],
|
|
137
139
|
);
|
|
138
140
|
|
|
139
|
-
const inputComp =
|
|
141
|
+
const inputComp = (
|
|
142
|
+
<ColorInput className="ml-1.5" value={value ?? ""} onValueChange={handleValueChange} />
|
|
143
|
+
);
|
|
140
144
|
|
|
141
145
|
return (
|
|
142
146
|
<DialInputWrapper label={label} icon={icon} {...props}>
|
|
@@ -162,7 +166,7 @@ export const DialSelectInput: React.FC<DialNumInputProps> = ({
|
|
|
162
166
|
const parsed = !isNaN(Number(val)) ? Number(val) : val;
|
|
163
167
|
setValue(name, parsed);
|
|
164
168
|
},
|
|
165
|
-
[name],
|
|
169
|
+
[name, setValue],
|
|
166
170
|
);
|
|
167
171
|
|
|
168
172
|
const selectComponent = (
|
|
@@ -199,7 +203,7 @@ export const DialSliderInput: React.FC<DialNumInputProps> = ({
|
|
|
199
203
|
const { getValue, setValue } = useDialSchema();
|
|
200
204
|
const value = (getValue(name) ?? min) as number;
|
|
201
205
|
|
|
202
|
-
const handleValueChange = useCallback(([val]: number[]) => setValue(name, val), [name]);
|
|
206
|
+
const handleValueChange = useCallback(([val]: number[]) => setValue(name, val), [name, setValue]);
|
|
203
207
|
|
|
204
208
|
const sliderProps = {
|
|
205
209
|
value: [value],
|
|
@@ -207,13 +211,15 @@ export const DialSliderInput: React.FC<DialNumInputProps> = ({
|
|
|
207
211
|
min,
|
|
208
212
|
max,
|
|
209
213
|
step,
|
|
210
|
-
className: "flex-1",
|
|
214
|
+
className: "flex-1 pl-1.5",
|
|
211
215
|
};
|
|
212
216
|
|
|
213
217
|
return (
|
|
214
218
|
<DialInputWrapper label={label} icon={icon} {...props}>
|
|
215
|
-
<
|
|
216
|
-
|
|
219
|
+
<div className={"flex"}>
|
|
220
|
+
<Slider {...sliderProps} />
|
|
221
|
+
<span className="text-text-secondary w-12 text-right text-sm">{value}</span>
|
|
222
|
+
</div>
|
|
217
223
|
</DialInputWrapper>
|
|
218
224
|
);
|
|
219
225
|
};
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { Plus, X } from "lucide-react";
|
|
2
|
+
import React, { useCallback, useMemo } from "react";
|
|
3
|
+
|
|
4
|
+
import { Button, FormLayout, Input, Label, Switch, type LayoutType } from "../../index";
|
|
5
|
+
import { useDialSchema } from "../DialProvider";
|
|
6
|
+
import { IconRenderer } from "../IconRenderer";
|
|
7
|
+
import { LabelPositionT } from "../types";
|
|
8
|
+
|
|
9
|
+
interface DialArrayInputProps {
|
|
10
|
+
name: string;
|
|
11
|
+
label?: string;
|
|
12
|
+
labelPosition?: LabelPositionT;
|
|
13
|
+
icon?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Array input component for primitive types (string, number, boolean)
|
|
18
|
+
* Supports add/remove operations for dynamic arrays
|
|
19
|
+
*
|
|
20
|
+
* Note: Currently only supports primitive element types.
|
|
21
|
+
* Complex types (objects, nested arrays) are not supported.
|
|
22
|
+
*/
|
|
23
|
+
export const DialArrayInput: React.FC<DialArrayInputProps> = ({
|
|
24
|
+
name,
|
|
25
|
+
label,
|
|
26
|
+
labelPosition = "top",
|
|
27
|
+
icon,
|
|
28
|
+
}) => {
|
|
29
|
+
const { getValue, setValue, schemas } = useDialSchema();
|
|
30
|
+
|
|
31
|
+
const schema = schemas.find((s) => s.name === name);
|
|
32
|
+
const arrayValue = useMemo(
|
|
33
|
+
() => (getValue(name) || []) as Array<string | number | boolean>,
|
|
34
|
+
[getValue, name],
|
|
35
|
+
);
|
|
36
|
+
const elementType = schema?.arrayElementType || "string";
|
|
37
|
+
|
|
38
|
+
const handleAddItem = useCallback(() => {
|
|
39
|
+
const newValue = [...arrayValue];
|
|
40
|
+
// Add default value based on element type
|
|
41
|
+
switch (elementType) {
|
|
42
|
+
case "number":
|
|
43
|
+
newValue.push(0);
|
|
44
|
+
break;
|
|
45
|
+
case "boolean":
|
|
46
|
+
newValue.push(false);
|
|
47
|
+
break;
|
|
48
|
+
default: // string
|
|
49
|
+
newValue.push("");
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
setValue(name, newValue);
|
|
53
|
+
}, [arrayValue, elementType, name, setValue]);
|
|
54
|
+
|
|
55
|
+
const handleRemoveItem = useCallback(
|
|
56
|
+
(index: number) => {
|
|
57
|
+
const newValue = arrayValue.filter((_, i) => i !== index);
|
|
58
|
+
setValue(name, newValue);
|
|
59
|
+
},
|
|
60
|
+
[arrayValue, name, setValue],
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
const handleItemChange = useCallback(
|
|
64
|
+
(index: number, value: string | number | boolean) => {
|
|
65
|
+
const newValue = [...arrayValue];
|
|
66
|
+
newValue[index] = value;
|
|
67
|
+
setValue(name, newValue);
|
|
68
|
+
},
|
|
69
|
+
[arrayValue, name, setValue],
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
if (!schema) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const renderItemInput = (item: string | number | boolean, index: number) => {
|
|
77
|
+
const itemKey = `${name}-${index}`;
|
|
78
|
+
|
|
79
|
+
switch (elementType) {
|
|
80
|
+
case "boolean":
|
|
81
|
+
return (
|
|
82
|
+
<Switch
|
|
83
|
+
key={itemKey}
|
|
84
|
+
checked={item as boolean}
|
|
85
|
+
onCheckedChange={(checked) => handleItemChange(index, checked)}
|
|
86
|
+
/>
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
case "number":
|
|
90
|
+
return (
|
|
91
|
+
<Input
|
|
92
|
+
key={itemKey}
|
|
93
|
+
type="number"
|
|
94
|
+
value={item as number}
|
|
95
|
+
onChange={(e) => handleItemChange(index, Number(e.target.value))}
|
|
96
|
+
className="flex-1"
|
|
97
|
+
step={schema.step || 0.1}
|
|
98
|
+
min={schema.min}
|
|
99
|
+
max={schema.max}
|
|
100
|
+
/>
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
default: // string
|
|
104
|
+
return (
|
|
105
|
+
<Input
|
|
106
|
+
key={itemKey}
|
|
107
|
+
type="text"
|
|
108
|
+
value={item as string}
|
|
109
|
+
onChange={(e) => handleItemChange(index, e.target.value)}
|
|
110
|
+
className="flex-1"
|
|
111
|
+
placeholder={schema.placeholder}
|
|
112
|
+
/>
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
const arrayContent = (
|
|
118
|
+
<div className="flex flex-col gap-2">
|
|
119
|
+
{/* Array items */}
|
|
120
|
+
{arrayValue.map((item, index) => (
|
|
121
|
+
<div key={`${name}-item-${index}`} className="flex items-center gap-2">
|
|
122
|
+
<span className="text-text-secondary min-w-[20px] text-xs">{index + 1}.</span>
|
|
123
|
+
{renderItemInput(item, index)}
|
|
124
|
+
<Button
|
|
125
|
+
variant="ghost"
|
|
126
|
+
size="sm"
|
|
127
|
+
icon
|
|
128
|
+
onClick={() => handleRemoveItem(index)}
|
|
129
|
+
className="h-8 w-8"
|
|
130
|
+
title="Remove item"
|
|
131
|
+
>
|
|
132
|
+
<X className="h-4 w-4" />
|
|
133
|
+
</Button>
|
|
134
|
+
</div>
|
|
135
|
+
))}
|
|
136
|
+
|
|
137
|
+
{/* Add button */}
|
|
138
|
+
<Button variant="secondary" size="sm" onClick={handleAddItem} className="self-start">
|
|
139
|
+
<Plus className="mr-1 h-4 w-4" />
|
|
140
|
+
Add {elementType}
|
|
141
|
+
</Button>
|
|
142
|
+
|
|
143
|
+
{/* Empty state */}
|
|
144
|
+
{arrayValue.length === 0 && (
|
|
145
|
+
<div className="text-text-secondary text-sm italic">
|
|
146
|
+
No items. Click "Add {elementType}" to start.
|
|
147
|
+
</div>
|
|
148
|
+
)}
|
|
149
|
+
</div>
|
|
150
|
+
);
|
|
151
|
+
|
|
152
|
+
if (!label) {
|
|
153
|
+
return arrayContent;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return (
|
|
157
|
+
<FormLayout orientation={`label-${labelPosition}` as LayoutType}>
|
|
158
|
+
<Label size="sm" className="flex items-center gap-1 pl-1.5">
|
|
159
|
+
<IconRenderer iconName={icon} size={14} className="text-text-secondary" />
|
|
160
|
+
{label}
|
|
161
|
+
</Label>
|
|
162
|
+
<div className="flex flex-col gap-2 pl-1.5">
|
|
163
|
+
{schema.helpText && (
|
|
164
|
+
<span
|
|
165
|
+
className="text-text-secondary cursor-help text-xs"
|
|
166
|
+
title={schema.helpText as string}
|
|
167
|
+
>
|
|
168
|
+
ⓘ {schema.helpText}
|
|
169
|
+
</span>
|
|
170
|
+
)}
|
|
171
|
+
<div className="border-surface-secondary rounded-md border p-2">{arrayContent}</div>
|
|
172
|
+
</div>
|
|
173
|
+
</FormLayout>
|
|
174
|
+
);
|
|
175
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { LockKeyhole, LockOpen } from "lucide-react";
|
|
2
|
+
import React, { PropsWithChildren, useCallback, useMemo } from "react";
|
|
2
3
|
|
|
3
4
|
import {
|
|
5
|
+
Button,
|
|
4
6
|
CmInput,
|
|
5
7
|
DegInput,
|
|
6
8
|
EulerDegInput,
|
|
@@ -18,8 +20,9 @@ import {
|
|
|
18
20
|
Vec3Input,
|
|
19
21
|
VectorInput,
|
|
20
22
|
} from "../../index";
|
|
21
|
-
import {
|
|
23
|
+
import { useDialSchema } from "../DialProvider";
|
|
22
24
|
import { IconRenderer } from "../IconRenderer";
|
|
25
|
+
import type { LabelPositionT } from "../types";
|
|
23
26
|
|
|
24
27
|
// Base props for all dial-wrapped inputs
|
|
25
28
|
interface DialWrapperProps {
|
|
@@ -31,6 +34,8 @@ interface DialWrapperProps {
|
|
|
31
34
|
max?: number;
|
|
32
35
|
labelPosition?: LabelPositionT;
|
|
33
36
|
icon?: string;
|
|
37
|
+
/** Display format for angle values: rad (default), deg, or pi */
|
|
38
|
+
format?: "rad" | "deg" | "pi";
|
|
34
39
|
}
|
|
35
40
|
|
|
36
41
|
// Helper component for wrapping inputs with labels
|
|
@@ -46,7 +51,7 @@ const DialInputWrapper: React.FC<PropsWithChildren<DialWrapperProps>> = ({
|
|
|
46
51
|
|
|
47
52
|
return (
|
|
48
53
|
<FormLayout orientation={`label-${labelPosition}` as LayoutType} className="overflow-x-hidden">
|
|
49
|
-
<Label size="sm" className="flex items-center gap-1">
|
|
54
|
+
<Label size="sm" className="flex items-center gap-1 pl-1.5">
|
|
50
55
|
<IconRenderer iconName={icon} size={14} className="text-text-secondary" />
|
|
51
56
|
{label}
|
|
52
57
|
</Label>
|
|
@@ -72,15 +77,103 @@ export const DialVec3Input: React.FC<DialWrapperProps> = ({
|
|
|
72
77
|
const minArray = min !== undefined ? [min, min, min] : undefined;
|
|
73
78
|
const maxArray = max !== undefined ? [max, max, max] : undefined;
|
|
74
79
|
|
|
80
|
+
const isLockable = ["position", "rotation", "scale"].includes(name);
|
|
81
|
+
|
|
82
|
+
// Get disabled fields from the schema values
|
|
83
|
+
const disabledFields = (getValue("disabledFields") as string[]) ?? [];
|
|
84
|
+
|
|
85
|
+
// Create disabled array for each axis
|
|
86
|
+
const disabled = useMemo(() => {
|
|
87
|
+
if (!isLockable) return undefined;
|
|
88
|
+
return [
|
|
89
|
+
disabledFields.includes(`${name}.0`),
|
|
90
|
+
disabledFields.includes(`${name}.1`),
|
|
91
|
+
disabledFields.includes(`${name}.2`),
|
|
92
|
+
];
|
|
93
|
+
}, [isLockable, name, disabledFields]);
|
|
94
|
+
|
|
95
|
+
// Handle suffix batch action (drag to lock/unlock multiple inputs)
|
|
96
|
+
const handleSuffixBatchAction = useCallback(
|
|
97
|
+
(indices: number[]) => {
|
|
98
|
+
if (indices.length === 0) return;
|
|
99
|
+
|
|
100
|
+
const firstIndex = indices[0];
|
|
101
|
+
const firstFieldName = `${name}.${firstIndex}`;
|
|
102
|
+
const shouldLock = !disabledFields.includes(firstFieldName);
|
|
103
|
+
|
|
104
|
+
const newDisabledFields = [...disabledFields];
|
|
105
|
+
|
|
106
|
+
indices.forEach((index) => {
|
|
107
|
+
const fieldName = `${name}.${index}`;
|
|
108
|
+
const fieldIndex = newDisabledFields.indexOf(fieldName);
|
|
109
|
+
|
|
110
|
+
if (shouldLock && fieldIndex === -1) {
|
|
111
|
+
// Lock this field
|
|
112
|
+
newDisabledFields.push(fieldName);
|
|
113
|
+
} else if (!shouldLock && fieldIndex > -1) {
|
|
114
|
+
// Unlock this field
|
|
115
|
+
newDisabledFields.splice(fieldIndex, 1);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
setValue("disabledFields", newDisabledFields);
|
|
120
|
+
},
|
|
121
|
+
[name, disabledFields, setValue],
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
// Create lock button suffix array
|
|
125
|
+
const suffix = useMemo(() => {
|
|
126
|
+
if (!isLockable) return undefined;
|
|
127
|
+
return [0, 1, 2].map((index) => {
|
|
128
|
+
const isLocked = disabled?.[index] ?? false;
|
|
129
|
+
|
|
130
|
+
return (
|
|
131
|
+
<Button
|
|
132
|
+
variant="ghost"
|
|
133
|
+
size="sm"
|
|
134
|
+
icon
|
|
135
|
+
className="hover:bg-shadow-secondary size-4 p-0"
|
|
136
|
+
title={isLocked ? `Unlock ${["X", "Y", "Z"][index]}` : `Lock ${["X", "Y", "Z"][index]}`}
|
|
137
|
+
>
|
|
138
|
+
{isLocked ? (
|
|
139
|
+
<LockKeyhole strokeWidth={1.5} className="text-icon-tertiary size-2.5" />
|
|
140
|
+
) : (
|
|
141
|
+
<LockOpen strokeWidth={1.5} className="text-icon-tertiary size-2.5" />
|
|
142
|
+
)}
|
|
143
|
+
</Button>
|
|
144
|
+
);
|
|
145
|
+
});
|
|
146
|
+
}, [isLockable, disabled]);
|
|
147
|
+
|
|
148
|
+
// Handle value change - filter out locked values
|
|
149
|
+
const handleValueChange = useCallback(
|
|
150
|
+
(newValue: [number, number, number]) => {
|
|
151
|
+
if (!isLockable || !disabled) {
|
|
152
|
+
setValue(name, newValue);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const filteredValue = newValue.map((v, i) => (disabled[i] ? value[i] : v)) as [
|
|
156
|
+
number,
|
|
157
|
+
number,
|
|
158
|
+
number,
|
|
159
|
+
];
|
|
160
|
+
setValue(name, filteredValue);
|
|
161
|
+
},
|
|
162
|
+
[name, setValue, value, isLockable, disabled],
|
|
163
|
+
);
|
|
164
|
+
|
|
75
165
|
if (labelPosition === "inline") {
|
|
76
166
|
return (
|
|
77
167
|
<Vec3Input
|
|
78
168
|
value={value}
|
|
79
|
-
onValuesChange={
|
|
169
|
+
onValuesChange={handleValueChange}
|
|
80
170
|
size={size}
|
|
81
171
|
step={step}
|
|
82
172
|
min={minArray}
|
|
83
173
|
max={maxArray}
|
|
174
|
+
disabledItems={disabled}
|
|
175
|
+
suffix={suffix}
|
|
176
|
+
onSuffixBatchAction={isLockable ? handleSuffixBatchAction : undefined}
|
|
84
177
|
prefix={label ? [label, "", ""] : undefined}
|
|
85
178
|
/>
|
|
86
179
|
);
|
|
@@ -89,11 +182,14 @@ export const DialVec3Input: React.FC<DialWrapperProps> = ({
|
|
|
89
182
|
<DialInputWrapper name={name} label={label} icon={icon}>
|
|
90
183
|
<Vec3Input
|
|
91
184
|
value={value}
|
|
92
|
-
onValuesChange={
|
|
185
|
+
onValuesChange={handleValueChange}
|
|
93
186
|
size={size}
|
|
94
187
|
step={step}
|
|
95
188
|
min={minArray}
|
|
96
189
|
max={maxArray}
|
|
190
|
+
disabledItems={disabled}
|
|
191
|
+
suffix={suffix}
|
|
192
|
+
onSuffixBatchAction={isLockable ? handleSuffixBatchAction : undefined}
|
|
97
193
|
/>
|
|
98
194
|
</DialInputWrapper>
|
|
99
195
|
);
|
|
@@ -466,7 +562,7 @@ export const DialTextInput: React.FC<DialWrapperProps & { placeholder?: string }
|
|
|
466
562
|
);
|
|
467
563
|
} else {
|
|
468
564
|
return (
|
|
469
|
-
<DialInputWrapper name={name} label={label} icon={icon}>
|
|
565
|
+
<DialInputWrapper name={name} label={label} icon={icon} labelPosition={labelPosition}>
|
|
470
566
|
<TextInput
|
|
471
567
|
value={value}
|
|
472
568
|
onChange={(val) => setValue(name, val)}
|
|
@@ -478,7 +574,7 @@ export const DialTextInput: React.FC<DialWrapperProps & { placeholder?: string }
|
|
|
478
574
|
}
|
|
479
575
|
};
|
|
480
576
|
|
|
481
|
-
// Dial-wrapped EulerRadInput (radians with
|
|
577
|
+
// Dial-wrapped EulerRadInput (radians with configurable display format)
|
|
482
578
|
export const DialEulerRadInput: React.FC<DialWrapperProps> = ({
|
|
483
579
|
name,
|
|
484
580
|
label,
|
|
@@ -486,6 +582,7 @@ export const DialEulerRadInput: React.FC<DialWrapperProps> = ({
|
|
|
486
582
|
step,
|
|
487
583
|
labelPosition,
|
|
488
584
|
icon,
|
|
585
|
+
format = "rad", // Default to radians
|
|
489
586
|
}) => {
|
|
490
587
|
const { getValue, setValue } = useDialSchema();
|
|
491
588
|
const value = (getValue(name) ?? [0, 0, 0]) as [number, number, number];
|
|
@@ -497,7 +594,7 @@ export const DialEulerRadInput: React.FC<DialWrapperProps> = ({
|
|
|
497
594
|
onValuesChange={(val) => setValue(name, val)}
|
|
498
595
|
size={size}
|
|
499
596
|
step={step}
|
|
500
|
-
display=
|
|
597
|
+
display={format}
|
|
501
598
|
prefix={label ? [label, "", ""] : undefined}
|
|
502
599
|
/>
|
|
503
600
|
);
|
|
@@ -509,14 +606,14 @@ export const DialEulerRadInput: React.FC<DialWrapperProps> = ({
|
|
|
509
606
|
onValuesChange={(val) => setValue(name, val)}
|
|
510
607
|
size={size}
|
|
511
608
|
step={step}
|
|
512
|
-
display=
|
|
609
|
+
display={format}
|
|
513
610
|
/>
|
|
514
611
|
</DialInputWrapper>
|
|
515
612
|
);
|
|
516
613
|
}
|
|
517
614
|
};
|
|
518
615
|
|
|
519
|
-
// Dial-wrapped number-rad input (
|
|
616
|
+
// Dial-wrapped number-rad input (stores radians, configurable display format)
|
|
520
617
|
export const DialNumberRadInput: React.FC<DialWrapperProps> = ({
|
|
521
618
|
name,
|
|
522
619
|
label,
|
|
@@ -524,24 +621,17 @@ export const DialNumberRadInput: React.FC<DialWrapperProps> = ({
|
|
|
524
621
|
step,
|
|
525
622
|
labelPosition,
|
|
526
623
|
icon,
|
|
624
|
+
format = "rad", // Default to radians
|
|
527
625
|
}) => {
|
|
528
626
|
const { getValue, setValue } = useDialSchema();
|
|
529
627
|
const value = (getValue(name) ?? 0) as number;
|
|
530
628
|
|
|
531
|
-
// Convert radians to degrees for display
|
|
532
|
-
const degValue = (value * 180) / Math.PI;
|
|
533
|
-
|
|
534
|
-
// Handler to convert degrees back to radians
|
|
535
|
-
const handleChange = (deg: number) => {
|
|
536
|
-
const rad = (deg * Math.PI) / 180;
|
|
537
|
-
setValue(name, rad);
|
|
538
|
-
};
|
|
539
|
-
|
|
540
629
|
if (labelPosition === "inline") {
|
|
541
630
|
return (
|
|
542
|
-
<
|
|
543
|
-
value={
|
|
544
|
-
onChange={
|
|
631
|
+
<RadInput
|
|
632
|
+
value={value}
|
|
633
|
+
onChange={(val) => setValue(name, val)}
|
|
634
|
+
display={format}
|
|
545
635
|
size={size}
|
|
546
636
|
step={step}
|
|
547
637
|
prefix={label ? [label] : undefined}
|
|
@@ -550,7 +640,13 @@ export const DialNumberRadInput: React.FC<DialWrapperProps> = ({
|
|
|
550
640
|
} else {
|
|
551
641
|
return (
|
|
552
642
|
<DialInputWrapper name={name} label={label} icon={icon}>
|
|
553
|
-
<
|
|
643
|
+
<RadInput
|
|
644
|
+
value={value}
|
|
645
|
+
onChange={(val) => setValue(name, val)}
|
|
646
|
+
display={format}
|
|
647
|
+
size={size}
|
|
648
|
+
step={step}
|
|
649
|
+
/>
|
|
554
650
|
</DialInputWrapper>
|
|
555
651
|
);
|
|
556
652
|
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import React, { useCallback } from "react";
|
|
2
|
+
|
|
3
|
+
import { FormLayout, Label, type LayoutType } from "../../index";
|
|
4
|
+
import { DialPanel } from "../DialPanel";
|
|
5
|
+
import { DialProvider, useDialSchema } from "../DialProvider";
|
|
6
|
+
import { IconRenderer } from "../IconRenderer";
|
|
7
|
+
import { LabelPositionT } from "../types";
|
|
8
|
+
|
|
9
|
+
interface DialInterfaceInputProps {
|
|
10
|
+
name: string;
|
|
11
|
+
label?: string;
|
|
12
|
+
labelPosition?: LabelPositionT;
|
|
13
|
+
icon?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const DialInterfaceInput: React.FC<DialInterfaceInputProps> = ({
|
|
17
|
+
name,
|
|
18
|
+
label,
|
|
19
|
+
labelPosition = "top",
|
|
20
|
+
icon,
|
|
21
|
+
}) => {
|
|
22
|
+
const { getValue, setValue, schemas } = useDialSchema();
|
|
23
|
+
|
|
24
|
+
const values: Record<string, unknown> = getValue(name) as Record<string, unknown>;
|
|
25
|
+
|
|
26
|
+
const handlePropertyChange = useCallback(
|
|
27
|
+
(propName: string, value: unknown) => {
|
|
28
|
+
const newValues = { ...values };
|
|
29
|
+
newValues[propName] = value;
|
|
30
|
+
setValue(name, newValues);
|
|
31
|
+
},
|
|
32
|
+
[name, setValue, values],
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
const schema = schemas.find((s) => s.name === name);
|
|
36
|
+
|
|
37
|
+
if (!schema || !schema.typeDefinition?.schemas) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const interfaceContent = (
|
|
42
|
+
<div className="border-surface-secondary flex flex-col gap-2 rounded-md border p-2">
|
|
43
|
+
<DialProvider
|
|
44
|
+
schemas={schema.typeDefinition.schemas}
|
|
45
|
+
values={values}
|
|
46
|
+
onValueChange={handlePropertyChange}
|
|
47
|
+
>
|
|
48
|
+
<DialPanel
|
|
49
|
+
schemas={schema.typeDefinition.schemas}
|
|
50
|
+
groups={schema.typeDefinition.groups}
|
|
51
|
+
labelLayout={schema.labelPosition as LabelPositionT}
|
|
52
|
+
/>
|
|
53
|
+
</DialProvider>
|
|
54
|
+
</div>
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
if (!label) {
|
|
58
|
+
return interfaceContent;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return (
|
|
62
|
+
<FormLayout orientation={`label-${labelPosition}` as LayoutType}>
|
|
63
|
+
<Label size="sm" className="flex items-center gap-1 pl-1.5">
|
|
64
|
+
<IconRenderer iconName={icon} size={14} className="text-text-secondary" />
|
|
65
|
+
{label}
|
|
66
|
+
</Label>
|
|
67
|
+
<div className="flex flex-col gap-2 pl-1.5">
|
|
68
|
+
{schema.helpText && (
|
|
69
|
+
<span
|
|
70
|
+
className="text-text-secondary cursor-help text-xs"
|
|
71
|
+
title={schema.helpText as string}
|
|
72
|
+
>
|
|
73
|
+
ⓘ {schema.helpText}
|
|
74
|
+
</span>
|
|
75
|
+
)}
|
|
76
|
+
{interfaceContent}
|
|
77
|
+
</div>
|
|
78
|
+
</FormLayout>
|
|
79
|
+
);
|
|
80
|
+
};
|
|
@@ -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
|
|
5
|
-
import {
|
|
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;
|
|
@@ -17,7 +18,7 @@ const DialInputWrapper: React.FC<{
|
|
|
17
18
|
|
|
18
19
|
return (
|
|
19
20
|
<FormLayout orientation={`label-${labelPosition}` as LayoutType}>
|
|
20
|
-
<Label size="sm" className="flex items-center gap-1">
|
|
21
|
+
<Label size="sm" className="flex items-center gap-1 pl-1.5">
|
|
21
22
|
<IconRenderer iconName={icon} size={14} className="text-text-secondary" />
|
|
22
23
|
{label}
|
|
23
24
|
</Label>
|