@vuer-ai/vuer-uikit 0.0.119 → 0.0.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SyncScroll/SyncScroll.cjs +11 -11
- package/dist/SyncScroll/SyncScroll.mjs +4 -4
- package/dist/SyncScroll/index.cjs +11 -11
- package/dist/SyncScroll/index.mjs +4 -4
- package/dist/auth/components/index.cjs +84 -83
- package/dist/auth/components/index.mjs +83 -82
- package/dist/auth/components/user-avatar/index.cjs +84 -83
- package/dist/auth/components/user-avatar/index.mjs +83 -82
- package/dist/auth/index.cjs +84 -83
- package/dist/auth/index.mjs +83 -82
- package/dist/{chunk-42WQWP6X.cjs → chunk-22T2AL3G.cjs} +8 -8
- package/dist/{chunk-H6JGIEAU.mjs → chunk-2KQXKQNU.mjs} +1 -1
- 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-MJOD2WOC.mjs → chunk-3P2OP4KO.mjs} +24 -46
- package/dist/{chunk-ARAMXRUE.mjs → chunk-3SUV56TH.mjs} +3 -3
- package/dist/{chunk-CH3BSVL4.cjs → chunk-42DBXENE.cjs} +2 -2
- package/dist/{chunk-JW456O5K.mjs → chunk-4FB6B2ES.mjs} +1 -1
- package/dist/{chunk-UUV46MDU.cjs → chunk-4G2LN6XU.cjs} +139 -108
- package/dist/chunk-4NABYVCK.mjs +31 -0
- package/dist/{chunk-MNCBTS63.cjs → chunk-4TRHQ7MJ.cjs} +5 -5
- package/dist/{chunk-F2LEYFWW.cjs → chunk-4WKFVKFF.cjs} +5 -5
- package/dist/{chunk-EEGQLTSQ.cjs → chunk-4WWGBRQV.cjs} +77 -0
- package/dist/chunk-4Y5IF7R5.mjs +322 -0
- package/dist/{chunk-24SOZV7S.mjs → chunk-4YVKJKWV.mjs} +4 -15
- package/dist/{chunk-X6WOCNBX.cjs → chunk-57NITJN5.cjs} +2 -2
- package/dist/{chunk-QWBMDS3S.cjs → chunk-5HT74RHB.cjs} +5 -5
- package/dist/{chunk-4ODJAEOM.mjs → chunk-5JYH7TXY.mjs} +1 -1
- package/dist/{chunk-OJOWMXXY.mjs → chunk-67H3OSM3.mjs} +3 -3
- package/dist/{chunk-2CD4D2BR.cjs → chunk-6CJWNYHL.cjs} +3 -3
- package/dist/{chunk-CRX2ZCM2.cjs → chunk-6LTCLQH3.cjs} +6 -1
- package/dist/{chunk-TQKX345P.mjs → chunk-6NSLYQ35.mjs} +2 -2
- package/dist/{chunk-WKK5UX2W.mjs → chunk-6U6LRS37.mjs} +2 -2
- package/dist/{chunk-4OUQ6NSX.cjs → chunk-6VIKDPCD.cjs} +2 -2
- package/dist/{chunk-LMYA5IOK.mjs → chunk-6ZLK2RYS.mjs} +3 -3
- package/dist/{chunk-LYGYXV7S.cjs → chunk-7ICRKPIO.cjs} +16 -16
- package/dist/{chunk-ZCSJGDX7.mjs → chunk-7MR3M2HW.mjs} +1 -1
- package/dist/{chunk-Q37KC3CL.mjs → chunk-7RRQ2HHL.mjs} +114 -17
- package/dist/{chunk-FMKD5JBL.mjs → chunk-7TD77VF4.mjs} +10 -6
- package/dist/{chunk-42ZXL3KZ.cjs → chunk-7TXGEIV3.cjs} +12 -12
- package/dist/{chunk-SLXM4F24.cjs → chunk-7YFUNCKT.cjs} +9 -9
- package/dist/{chunk-LGFWHV23.cjs → chunk-ACGXE2IO.cjs} +2 -2
- package/dist/{chunk-EGIIZWP3.mjs → chunk-AFR23IX6.mjs} +1 -1
- package/dist/{chunk-XS5IUI62.cjs → chunk-B6CIRZI4.cjs} +2 -2
- package/dist/{chunk-REZAPK6Z.mjs → chunk-BDFUHPX2.mjs} +1 -1
- package/dist/{chunk-CXPF274N.mjs → chunk-BK77KKIM.mjs} +1 -1
- package/dist/{chunk-ZJSL6HSL.mjs → chunk-BLG4IPRR.mjs} +1 -1
- package/dist/{chunk-JQYMF2FW.cjs → chunk-BSDIS4KS.cjs} +4 -4
- package/dist/{chunk-4DSJ62TT.mjs → chunk-BYZ7HIIK.mjs} +2 -2
- package/dist/{chunk-6C53NKMF.mjs → chunk-C4U5BMQH.mjs} +1 -1
- package/dist/{chunk-BQA24G2A.mjs → chunk-CENP2PIB.mjs} +2 -2
- package/dist/{chunk-NJWKR5WR.mjs → chunk-CEYNTMQP.mjs} +1 -1
- package/dist/{chunk-CIOLL5LX.mjs → chunk-CN6SZKJZ.mjs} +1 -1
- package/dist/{chunk-WDSOII5A.cjs → chunk-COJRGW3A.cjs} +2 -2
- package/dist/{chunk-DYLDZJQC.cjs → chunk-COL2MXGC.cjs} +4 -4
- package/dist/chunk-CRY23RMB.mjs +30 -0
- package/dist/{chunk-CKGEV2JL.cjs → chunk-CV2EDA3W.cjs} +2 -2
- package/dist/{chunk-7AAMQGY2.cjs → chunk-CYWVJ3HF.cjs} +7 -7
- package/dist/{chunk-EEYL7PDI.cjs → chunk-D5WTSBUX.cjs} +7 -7
- package/dist/{chunk-ASZIBFA6.cjs → chunk-DG2EVWIW.cjs} +10 -10
- package/dist/chunk-DGJ7E77I.mjs +23 -0
- package/dist/{chunk-B7PLWNPX.mjs → chunk-DSQPFXYL.mjs} +22 -24
- package/dist/chunk-DVUN6GQI.cjs +21 -0
- package/dist/chunk-E7ACJ3NX.cjs +45 -0
- package/dist/{chunk-T4U3BG2V.mjs → chunk-EGJLY5VZ.mjs} +1 -1
- package/dist/{chunk-IPMQ63BJ.cjs → chunk-EMZEL54F.cjs} +27 -49
- package/dist/{chunk-7AEOJFD4.cjs → chunk-EOTGD64D.cjs} +2 -2
- package/dist/{chunk-K2ZYSKRU.mjs → chunk-EZ536NLQ.mjs} +1 -1
- package/dist/chunk-FB3M2JJV.cjs +21 -0
- package/dist/{chunk-DDU3SPCC.mjs → chunk-FUMJBAQI.mjs} +57 -4
- package/dist/{chunk-4TYIH6V3.mjs → chunk-G45SP3DA.mjs} +91 -61
- package/dist/{chunk-HB65PF7F.cjs → chunk-GBRIW266.cjs} +2 -2
- package/dist/{chunk-RPTRTGC2.cjs → chunk-GEGPGQVH.cjs} +15 -15
- package/dist/chunk-GHQA7PER.mjs +107 -0
- package/dist/{chunk-XQ3MWA3D.mjs → chunk-GJKFQHUX.mjs} +3 -3
- 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-EVBYVJTW.mjs → chunk-HGN7J4CP.mjs} +2 -2
- package/dist/{chunk-SMXN2KOV.mjs → chunk-HGTL7DFT.mjs} +1 -1
- package/dist/{chunk-QO2AM6MF.mjs → chunk-HIDTQ4Z2.mjs} +1 -1
- package/dist/{chunk-3NIMV5PH.mjs → chunk-HUPECWNG.mjs} +1 -1
- package/dist/{chunk-6WH6PWTJ.cjs → chunk-HVACIZB5.cjs} +7 -19
- package/dist/{chunk-R4HT3SYR.cjs → chunk-HZBP6QTE.cjs} +2 -2
- package/dist/{chunk-2GXIGEKC.mjs → chunk-IKSER6BF.mjs} +2 -2
- package/dist/{chunk-UQQBUPGF.mjs → chunk-IPMWGCAI.mjs} +5 -21
- package/dist/{chunk-Q7WCKEXG.cjs → chunk-JF43YF6J.cjs} +3 -3
- package/dist/{chunk-MXGPFCLN.cjs → chunk-JVZ6J2UX.cjs} +2 -2
- package/dist/{chunk-EY6PKK4X.cjs → chunk-KKGDRIR2.cjs} +2 -2
- package/dist/{chunk-SAXISARG.cjs → chunk-KWSH253U.cjs} +2 -2
- package/dist/{chunk-K2BQNNEX.cjs → chunk-L6W77P4B.cjs} +8 -8
- package/dist/{chunk-N4Y5CBOI.cjs → chunk-LGUQR5AR.cjs} +4 -4
- package/dist/{chunk-MYZHDWBF.mjs → chunk-LJYIEOGQ.mjs} +11 -11
- package/dist/{chunk-332A4MHC.mjs → chunk-LNYUFL3Q.mjs} +1 -1
- package/dist/{chunk-JFPIUDGT.mjs → chunk-LOMLR5AA.mjs} +1 -1
- package/dist/{chunk-6D7FGGSX.cjs → chunk-MMQR4IEY.cjs} +27 -27
- package/dist/{chunk-BUAWPPXA.cjs → chunk-MQ5DGLVE.cjs} +11 -11
- package/dist/{chunk-EXY6WRH4.mjs → chunk-N6KP2HIC.mjs} +2 -2
- package/dist/{chunk-NKGUQZTD.cjs → chunk-NC2U7QTW.cjs} +2 -2
- package/dist/{chunk-V75PKBIV.cjs → chunk-NEJKCSS5.cjs} +9 -9
- package/dist/{chunk-R5UREEMP.cjs → chunk-NHFIDL5X.cjs} +8 -8
- 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-4BQPIY5Z.mjs → chunk-O2NGB7YP.mjs} +1 -1
- package/dist/{chunk-7H7U2X45.cjs → chunk-O3DFVRON.cjs} +17 -13
- package/dist/{chunk-IAFCABPY.mjs → chunk-O5YP3JQ4.mjs} +1 -1
- package/dist/chunk-OBWKFURE.cjs +2 -0
- package/dist/{chunk-S37MJNNP.cjs → chunk-OCADGDGL.cjs} +2 -2
- package/dist/{chunk-UMGNAR3W.cjs → chunk-OON7LFBQ.cjs} +8 -8
- package/dist/{chunk-ZSAPBZ36.mjs → chunk-OW653F7T.mjs} +1 -1
- 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-SCUMWMIN.mjs → chunk-PC42NEBI.mjs} +1 -1
- package/dist/{chunk-F3HOBNGR.cjs → chunk-PMG3NZF5.cjs} +4 -4
- package/dist/{chunk-PV6CEMTT.cjs → chunk-PWZ4F3WY.cjs} +4 -4
- package/dist/{chunk-MK2CWAFC.mjs → chunk-PZDC5ZKG.mjs} +5 -5
- package/dist/{chunk-LVIZRMYN.cjs → chunk-QF3JWGWX.cjs} +2 -2
- package/dist/{chunk-BXZSWY4N.mjs → chunk-QYJZ5KA6.mjs} +1 -1
- package/dist/{chunk-AE5YDMFT.mjs → chunk-QYYMLZFE.mjs} +3 -3
- package/dist/{chunk-JYYAGDLZ.cjs → chunk-R22VW3EK.cjs} +2 -2
- package/dist/{chunk-U22YVR7M.mjs → chunk-RLY4A3IY.mjs} +15 -6
- package/dist/{chunk-OLYHHP67.mjs → chunk-RS4T6S3Z.mjs} +1 -1
- package/dist/{chunk-L2XJ5Q7T.cjs → chunk-RTZNHV43.cjs} +21 -21
- package/dist/{chunk-D562KO2I.mjs → chunk-RWHVZM2B.mjs} +2 -2
- package/dist/{chunk-PR3BCKLJ.mjs → chunk-S4BL7C3Y.mjs} +1 -1
- package/dist/chunk-S4C7HO32.cjs +36 -0
- package/dist/{chunk-DAVMLI3P.cjs → chunk-SNUQOJLK.cjs} +4 -4
- package/dist/{chunk-KY2PYKDZ.mjs → chunk-SO5KFX2C.mjs} +1 -1
- package/dist/{chunk-WDS3VL7E.mjs → chunk-SQJL67BU.mjs} +3 -3
- package/dist/{chunk-RW4T7UBU.cjs → chunk-STJMH4NX.cjs} +3 -3
- package/dist/{chunk-KIZ7WH7H.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-RGOZPSTI.mjs → chunk-TMBHKVKH.mjs} +1 -1
- package/dist/{chunk-VTW2DF63.mjs → chunk-TWDDNHRP.mjs} +1 -1
- package/dist/chunk-U4AANBRZ.mjs +1 -0
- package/dist/{chunk-DDIB73SZ.mjs → chunk-UB3ELCFR.mjs} +4 -4
- package/dist/chunk-UCAIVC2B.cjs +32 -0
- package/dist/{chunk-EK3BTKZP.cjs → chunk-UFYHIDMC.cjs} +123 -26
- package/dist/{chunk-KQW3YARN.cjs → chunk-UTHAZV2T.cjs} +62 -9
- package/dist/{chunk-G5VBLDAM.mjs → chunk-VBEVJE7Q.mjs} +1 -1
- package/dist/{chunk-66NKH2SV.cjs → chunk-VW2NEQHK.cjs} +6 -6
- package/dist/{chunk-VWVYCQWF.mjs → chunk-WBM7ATPT.mjs} +1 -1
- package/dist/{chunk-QBAZ6TKZ.cjs → chunk-WQT7JQN4.cjs} +2 -2
- package/dist/{chunk-DAA2GQAS.cjs → chunk-WRJAYU2L.cjs} +27 -27
- package/dist/{chunk-GTBXRWCK.cjs → chunk-WYD3KNAT.cjs} +3 -3
- package/dist/{chunk-EBFPZBUQ.cjs → chunk-WYUJM72T.cjs} +7 -7
- package/dist/{chunk-XTLGNJIO.mjs → chunk-XC25ZQ7H.mjs} +1 -1
- package/dist/{chunk-4PMXRQXC.cjs → chunk-XDIHVSZ5.cjs} +6 -6
- package/dist/{chunk-7ACZU3BT.mjs → chunk-XHNM6XE3.mjs} +1 -1
- package/dist/{chunk-WHV6Z7YX.mjs → chunk-XIESS6HW.mjs} +1 -1
- package/dist/{chunk-IU65XB2K.cjs → chunk-XMVARRN6.cjs} +2 -2
- 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-5AKVDZMA.cjs → chunk-YAFKQ5ZV.cjs} +12 -12
- package/dist/{chunk-3DIFS7CO.mjs → chunk-YBUMQX6M.mjs} +1 -1
- package/dist/{chunk-CR6JOOO3.cjs → chunk-YGZHBIZP.cjs} +3 -10
- package/dist/{chunk-TWQONYWC.mjs → chunk-YMMSHGYC.mjs} +1 -1
- package/dist/{chunk-ZS7ESTKH.cjs → chunk-Z42BBOSG.cjs} +8 -12
- package/dist/{chunk-ZA7WOIIB.mjs → chunk-Z7PWETGZ.mjs} +1 -1
- package/dist/{chunk-3ZEQVODC.cjs → chunk-ZAK7AFVY.cjs} +2 -2
- package/dist/{chunk-W3IHFG4B.cjs → chunk-ZG33TW5I.cjs} +8 -8
- package/dist/chunk-ZQ2DPA2M.mjs +43 -0
- package/dist/{chunk-AHD46BFN.mjs → chunk-ZQOQB6GF.mjs} +1 -1
- package/dist/dial/DialPanel.cjs +89 -87
- package/dist/dial/DialPanel.d.cts +2 -3
- package/dist/dial/DialPanel.d.ts +2 -3
- package/dist/dial/DialPanel.mjs +88 -86
- package/dist/dial/DialProvider.d.cts +16 -51
- package/dist/dial/DialProvider.d.ts +16 -51
- package/dist/dial/index.cjs +105 -103
- package/dist/dial/index.d.cts +2 -1
- package/dist/dial/index.d.ts +2 -1
- package/dist/dial/index.mjs +88 -86
- package/dist/dial/types.cjs +4 -0
- package/dist/dial/types.d.cts +110 -0
- package/dist/dial/types.d.ts +110 -0
- package/dist/dial/types.mjs +1 -0
- package/dist/dial/wrapped-inputs/ControlledInputs.cjs +93 -91
- package/dist/dial/wrapped-inputs/ControlledInputs.d.cts +1 -2
- package/dist/dial/wrapped-inputs/ControlledInputs.d.ts +1 -2
- package/dist/dial/wrapped-inputs/ControlledInputs.mjs +88 -86
- package/dist/dial/wrapped-inputs/DialInputs.cjs +102 -100
- package/dist/dial/wrapped-inputs/DialInputs.d.cts +1 -2
- package/dist/dial/wrapped-inputs/DialInputs.d.ts +1 -2
- package/dist/dial/wrapped-inputs/DialInputs.mjs +88 -86
- package/dist/dial/wrapped-inputs/DialInterfaceInput.cjs +129 -0
- package/dist/dial/wrapped-inputs/DialInterfaceInput.d.cts +8 -0
- package/dist/dial/wrapped-inputs/DialInterfaceInput.d.ts +8 -0
- package/dist/dial/wrapped-inputs/DialInterfaceInput.mjs +120 -0
- package/dist/dial/wrapped-inputs/DialPresetsInput.cjs +84 -83
- package/dist/dial/wrapped-inputs/DialPresetsInput.d.cts +1 -2
- package/dist/dial/wrapped-inputs/DialPresetsInput.d.ts +1 -2
- package/dist/dial/wrapped-inputs/DialPresetsInput.mjs +83 -82
- package/dist/dial/wrapped-inputs/DialVectorInput.cjs +89 -87
- package/dist/dial/wrapped-inputs/DialVectorInput.mjs +88 -86
- package/dist/dial/wrapped-inputs/index.cjs +109 -107
- package/dist/dial/wrapped-inputs/index.d.cts +1 -2
- package/dist/dial/wrapped-inputs/index.d.ts +1 -2
- package/dist/dial/wrapped-inputs/index.mjs +88 -86
- package/dist/highlight-cursor/cursor-provider.cjs +3 -3
- package/dist/highlight-cursor/cursor-provider.mjs +2 -2
- package/dist/highlight-cursor/enhanced-components.cjs +14 -14
- package/dist/highlight-cursor/enhanced-components.d.cts +1 -1
- package/dist/highlight-cursor/enhanced-components.d.ts +1 -1
- package/dist/highlight-cursor/enhanced-components.mjs +9 -9
- package/dist/highlight-cursor/index.cjs +19 -19
- package/dist/highlight-cursor/index.mjs +10 -10
- package/dist/hooks/clientOnly.cjs +4 -12
- package/dist/hooks/clientOnly.d.cts +9 -15
- package/dist/hooks/clientOnly.d.ts +9 -15
- package/dist/hooks/clientOnly.mjs +1 -1
- package/dist/hooks/cn.cjs +2 -2
- package/dist/hooks/cn.mjs +1 -1
- package/dist/hooks/index.cjs +8 -16
- package/dist/hooks/index.d.cts +2 -1
- package/dist/hooks/index.d.ts +2 -1
- package/dist/hooks/index.mjs +3 -3
- package/dist/hooks/useIsMobile.cjs +2 -2
- package/dist/hooks/useIsMobile.mjs +1 -1
- package/dist/index.cjs +466 -384
- package/dist/index.css +0 -63
- package/dist/index.d.cts +9 -6
- package/dist/index.d.ts +9 -6
- package/dist/index.mjs +88 -86
- package/dist/ui/DialBadge.cjs +8 -8
- package/dist/ui/DialBadge.mjs +4 -4
- package/dist/ui/UIKitBadge.cjs +8 -8
- package/dist/ui/UIKitBadge.mjs +4 -4
- package/dist/ui/avatar.cjs +8 -8
- package/dist/ui/avatar.mjs +4 -4
- package/dist/ui/badge.cjs +6 -6
- package/dist/ui/badge.d.cts +2 -2
- package/dist/ui/badge.d.ts +2 -2
- package/dist/ui/badge.mjs +4 -4
- package/dist/ui/button.cjs +6 -6
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.ts +1 -1
- package/dist/ui/button.mjs +4 -4
- package/dist/ui/card.cjs +12 -11
- package/dist/ui/card.d.cts +14 -2
- package/dist/ui/card.d.ts +14 -2
- package/dist/ui/card.mjs +5 -4
- package/dist/ui/checkbox.cjs +5 -5
- package/dist/ui/checkbox.mjs +4 -4
- package/dist/ui/collapsible.cjs +7 -7
- package/dist/ui/collapsible.mjs +4 -4
- 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/drawer.cjs +14 -14
- package/dist/ui/drawer.mjs +4 -4
- package/dist/ui/dropdown.cjs +19 -19
- package/dist/ui/dropdown.mjs +4 -4
- package/dist/ui/icons/index.cjs +9 -9
- package/dist/ui/icons/index.mjs +1 -1
- package/dist/ui/index.cjs +423 -334
- package/dist/ui/index.d.cts +6 -4
- package/dist/ui/index.d.ts +6 -4
- package/dist/ui/index.mjs +82 -81
- package/dist/ui/inputs/color-input.cjs +6 -6
- package/dist/ui/inputs/color-input.mjs +5 -5
- package/dist/ui/inputs/index.cjs +53 -53
- package/dist/ui/inputs/index.mjs +23 -23
- package/dist/ui/inputs/input-numbers.cjs +6 -6
- package/dist/ui/inputs/input-numbers.mjs +5 -5
- package/dist/ui/inputs/input.cjs +7 -7
- package/dist/ui/inputs/input.d.cts +1 -1
- package/dist/ui/inputs/input.d.ts +1 -1
- package/dist/ui/inputs/input.mjs +4 -4
- package/dist/ui/inputs/number-inputs/CmInput.cjs +7 -7
- package/dist/ui/inputs/number-inputs/CmInput.mjs +6 -6
- package/dist/ui/inputs/number-inputs/DegInput.cjs +7 -7
- package/dist/ui/inputs/number-inputs/DegInput.mjs +6 -6
- package/dist/ui/inputs/number-inputs/EulerDegInput.cjs +9 -9
- package/dist/ui/inputs/number-inputs/EulerDegInput.mjs +8 -8
- package/dist/ui/inputs/number-inputs/EulerInput.cjs +8 -8
- package/dist/ui/inputs/number-inputs/EulerInput.mjs +7 -7
- package/dist/ui/inputs/number-inputs/EulerRadInput.cjs +8 -8
- package/dist/ui/inputs/number-inputs/EulerRadInput.mjs +7 -7
- package/dist/ui/inputs/number-inputs/InchInput.cjs +7 -7
- package/dist/ui/inputs/number-inputs/InchInput.mjs +6 -6
- package/dist/ui/inputs/number-inputs/IntInput.cjs +7 -7
- package/dist/ui/inputs/number-inputs/IntInput.mjs +6 -6
- package/dist/ui/inputs/number-inputs/KVectorInput.cjs +8 -8
- package/dist/ui/inputs/number-inputs/KVectorInput.mjs +7 -7
- package/dist/ui/inputs/number-inputs/QuaternionInput.cjs +8 -8
- package/dist/ui/inputs/number-inputs/QuaternionInput.mjs +7 -7
- package/dist/ui/inputs/number-inputs/RadInput.cjs +7 -7
- package/dist/ui/inputs/number-inputs/RadInput.mjs +6 -6
- package/dist/ui/inputs/number-inputs/TimeInput.cjs +7 -7
- package/dist/ui/inputs/number-inputs/TimeInput.mjs +6 -6
- package/dist/ui/inputs/number-inputs/Vec3Input.cjs +8 -8
- package/dist/ui/inputs/number-inputs/Vec3Input.mjs +7 -7
- package/dist/ui/inputs/number-inputs/VectorInput.cjs +7 -7
- package/dist/ui/inputs/number-inputs/VectorInput.mjs +6 -6
- package/dist/ui/inputs/number-inputs/index.cjs +34 -34
- package/dist/ui/inputs/number-inputs/index.mjs +18 -18
- package/dist/ui/inputs/presets-input.cjs +8 -8
- package/dist/ui/inputs/presets-input.mjs +7 -7
- package/dist/ui/inputs/presets-rad-input.cjs +9 -9
- package/dist/ui/inputs/presets-rad-input.mjs +8 -8
- package/dist/ui/inputs/text-input.cjs +6 -6
- package/dist/ui/inputs/text-input.mjs +5 -5
- package/dist/ui/label.cjs +5 -5
- package/dist/ui/label.mjs +4 -4
- package/dist/ui/layout.cjs +5 -5
- package/dist/ui/layout.mjs +4 -4
- package/dist/ui/layouts/dock-layout/DockLayoutView.cjs +6 -6
- 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 +5 -5
- package/dist/ui/layouts/dock-layout/LayoutSlots.cjs +10 -10
- package/dist/ui/layouts/dock-layout/LayoutSlots.mjs +4 -4
- package/dist/ui/layouts/dock-layout/index.cjs +12 -12
- package/dist/ui/layouts/dock-layout/index.mjs +5 -5
- package/dist/ui/layouts/index.cjs +19 -19
- package/dist/ui/layouts/index.mjs +8 -8
- package/dist/ui/layouts/liquid-layout/LayoutSlots.cjs +10 -10
- package/dist/ui/layouts/liquid-layout/LayoutSlots.mjs +4 -4
- package/dist/ui/layouts/liquid-layout/LiquidLayoutView.cjs +6 -6
- 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 +5 -5
- package/dist/ui/layouts/liquid-layout/index.cjs +6 -6
- package/dist/ui/layouts/liquid-layout/index.mjs +5 -5
- package/dist/ui/modal.cjs +14 -14
- package/dist/ui/modal.mjs +4 -4
- package/dist/ui/navigation.cjs +6 -6
- package/dist/ui/navigation.mjs +5 -5
- package/dist/ui/pagination.cjs +12 -12
- package/dist/ui/pagination.mjs +5 -5
- package/dist/ui/popover.cjs +8 -8
- package/dist/ui/popover.mjs +4 -4
- package/dist/ui/progress.cjs +5 -5
- package/dist/ui/progress.d.cts +1 -1
- package/dist/ui/progress.d.ts +1 -1
- package/dist/ui/progress.mjs +4 -4
- package/dist/ui/radio-group.cjs +6 -6
- package/dist/ui/radio-group.mjs +4 -4
- package/dist/ui/resizable.cjs +7 -7
- package/dist/ui/resizable.mjs +4 -4
- package/dist/ui/select.cjs +15 -15
- package/dist/ui/select.d.cts +1 -1
- package/dist/ui/select.d.ts +1 -1
- package/dist/ui/select.mjs +4 -4
- package/dist/ui/separator.cjs +5 -5
- package/dist/ui/separator.mjs +4 -4
- package/dist/ui/sheet.cjs +12 -12
- package/dist/ui/sheet.d.cts +26 -13
- package/dist/ui/sheet.d.ts +26 -13
- package/dist/ui/sheet.mjs +4 -4
- package/dist/ui/sidebar.cjs +34 -34
- package/dist/ui/sidebar.mjs +10 -10
- package/dist/ui/simple-tree-view.cjs +5 -5
- package/dist/ui/simple-tree-view.mjs +4 -4
- package/dist/ui/skeleton.cjs +5 -5
- package/dist/ui/skeleton.mjs +4 -4
- package/dist/ui/slider.cjs +5 -5
- package/dist/ui/slider.mjs +4 -4
- package/dist/ui/switch.cjs +5 -5
- package/dist/ui/switch.mjs +4 -4
- package/dist/ui/table.cjs +12 -12
- package/dist/ui/table.mjs +4 -4
- package/dist/ui/tabs.cjs +8 -8
- package/dist/ui/tabs.d.cts +21 -6
- package/dist/ui/tabs.d.ts +21 -6
- package/dist/ui/tabs.mjs +4 -4
- package/dist/ui/textarea.cjs +5 -5
- package/dist/ui/textarea.d.cts +1 -1
- package/dist/ui/textarea.d.ts +1 -1
- package/dist/ui/textarea.mjs +4 -4
- package/dist/ui/theme/ThemeProvider.d.cts +1 -1
- package/dist/ui/theme/ThemeProvider.d.ts +1 -1
- package/dist/ui/theme/ThemeToggles.cjs +8 -12
- package/dist/ui/theme/ThemeToggles.d.cts +1 -7
- package/dist/ui/theme/ThemeToggles.d.ts +1 -7
- package/dist/ui/theme/ThemeToggles.mjs +6 -6
- package/dist/ui/theme/index.cjs +8 -12
- package/dist/ui/theme/index.d.cts +1 -1
- package/dist/ui/theme/index.d.ts +1 -1
- package/dist/ui/theme/index.mjs +6 -6
- 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 +9 -9
- package/dist/ui/toggle-buttons.mjs +4 -4
- package/dist/ui/toggle-group.cjs +7 -7
- package/dist/ui/toggle-group.mjs +4 -4
- package/dist/ui/toggle.cjs +6 -6
- package/dist/ui/toggle.mjs +4 -4
- package/dist/ui/toolbar.cjs +7 -7
- package/dist/ui/toolbar.mjs +4 -4
- package/dist/ui/tooltip.cjs +8 -8
- package/dist/ui/tooltip.d.cts +2 -2
- package/dist/ui/tooltip.d.ts +2 -2
- package/dist/ui/tooltip.mjs +4 -4
- package/dist/ui/tree-view/TreeSearchBar.cjs +7 -7
- package/dist/ui/tree-view/TreeSearchBar.mjs +6 -6
- package/dist/ui/tree-view/TreeView.cjs +8 -6
- 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 +6 -4
- 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 +47 -18
- 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 +9 -8
- package/dist/ui/tree-view-legacy.cjs +11 -11
- package/dist/ui/tree-view-legacy.mjs +7 -7
- package/dist/ui/waterfall/CursorOverlay.cjs +5 -5
- package/dist/ui/waterfall/CursorOverlay.mjs +4 -4
- package/dist/ui/waterfall/TimelineEvent.cjs +5 -5
- package/dist/ui/waterfall/TimelineEvent.mjs +4 -4
- package/dist/ui/waterfall/TimelineProcessBar.cjs +5 -5
- package/dist/ui/waterfall/TimelineProcessBar.mjs +4 -4
- package/dist/ui/waterfall/Wedges.cjs +6 -6
- package/dist/ui/waterfall/Wedges.mjs +4 -4
- package/dist/ui/waterfall/index.cjs +17 -16
- package/dist/ui/waterfall/index.mjs +16 -15
- package/package.json +2 -1
- package/src/auth/components/index.ts +1 -1
- package/src/dial/DialPanel.tsx +53 -28
- package/src/dial/DialProvider.tsx +20 -68
- package/src/dial/index.ts +7 -5
- package/src/dial/types.ts +40 -0
- package/src/dial/wrapped-inputs/ControlledInputs.tsx +6 -5
- package/src/dial/wrapped-inputs/DialInputs.tsx +2 -1
- package/src/dial/wrapped-inputs/DialInterfaceInput.tsx +44 -0
- package/src/dial/wrapped-inputs/DialPresetsInput.tsx +3 -2
- package/src/dial/wrapped-inputs/DialVectorInput.tsx +3 -18
- package/src/hooks/clientOnly.tsx +20 -23
- package/src/hooks/cn.ts +5 -0
- package/src/hooks/useIsMobile.ts +14 -30
- package/src/index.css +0 -1
- package/src/ui/DialBadge.tsx +7 -5
- package/src/ui/card.tsx +76 -4
- package/src/ui/context-menu.tsx +358 -0
- package/src/ui/index.ts +2 -0
- package/src/ui/inputs/number-inputs/EulerRadInput.tsx +43 -42
- package/src/ui/inputs/number-inputs/VectorInput.tsx +0 -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/progress.tsx +7 -14
- package/src/ui/separator.tsx +1 -1
- package/src/ui/sheet.tsx +14 -116
- package/src/ui/sidebar.tsx +18 -19
- package/src/ui/tabs.tsx +27 -57
- package/src/ui/theme/ThemeToggles.tsx +1 -21
- package/src/ui/theme/index.ts +1 -1
- package/src/ui/toast.tsx +15 -16
- package/src/ui/tooltip.tsx +3 -30
- package/src/ui/tree-view/TreeView.tsx +147 -18
- package/src/ui/tree-view/hooks.tsx +148 -0
- package/src/ui/tree-view/types.ts +1 -1
- package/src/ui/waterfall/TimelineProcessBar.tsx +10 -4
- package/dist/chunk-4F2GSF2T.mjs +0 -29
- package/dist/chunk-A6EASR27.mjs +0 -193
- package/dist/chunk-EOSYXHEH.mjs +0 -27
- package/dist/chunk-EXXV3BXT.cjs +0 -23
- package/dist/chunk-FZAGJSW2.cjs +0 -47
- package/dist/chunk-IPQU5CJD.mjs +0 -21
- package/dist/chunk-JR4TVE43.cjs +0 -31
- package/dist/chunk-MFYDZKQF.mjs +0 -28
- package/dist/chunk-RTYZO2AC.cjs +0 -30
- package/dist/chunk-UK3UBVT4.cjs +0 -222
- package/dist/chunk-XHJDRQD7.mjs +0 -29
- package/dist/chunk-Y2XVZEXM.mjs +0 -45
- package/dist/chunk-ZF435JZL.cjs +0 -21
- 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/dial/DialProvider.example.tsx +0 -80
- package/src/styles/toast.css +0 -67
- /package/dist/{chunk-YYLBP356.mjs → chunk-6THKQIF7.mjs} +0 -0
- /package/dist/{chunk-YWECB5GR.cjs → chunk-F4NQLN5E.cjs} +0 -0
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { ChevronDown } from "lucide-react";
|
|
2
|
-
import { type ReactNode } from "react";
|
|
2
|
+
import React, { type ReactNode, useState } from "react";
|
|
3
3
|
|
|
4
|
+
import {
|
|
5
|
+
getMultiSelectState,
|
|
6
|
+
getRangeIds,
|
|
7
|
+
cleanIndirectSelectedNodes,
|
|
8
|
+
getAdjacentSelectionState,
|
|
9
|
+
} from "./hooks";
|
|
4
10
|
import { TreeDataItem, TreeDataItemWithMeta } from "./types";
|
|
5
11
|
import { cn } from "../../hooks";
|
|
12
|
+
import { ContextMenu, ContextMenuTrigger } from "../context-menu";
|
|
6
13
|
|
|
7
14
|
/**
|
|
8
15
|
* Props for the view-only tree component
|
|
@@ -15,12 +22,14 @@ export type TreeViewProps<T extends TreeDataItem> = {
|
|
|
15
22
|
onItemHover?: (id: string | null) => void;
|
|
16
23
|
hoveredId?: string | null;
|
|
17
24
|
isSelectable?: boolean;
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
selectedItemIds?: Set<string>;
|
|
26
|
+
onSelectionChange?: (ids: Set<string>) => void;
|
|
20
27
|
hideExpand?: boolean;
|
|
21
28
|
hasDescendants?: (id: string) => boolean;
|
|
22
29
|
renderLabel?: (label: string, itemId: string) => ReactNode;
|
|
23
30
|
className?: string;
|
|
31
|
+
renderContextMenu?: (item: T) => ReactNode;
|
|
32
|
+
selectionMode?: "single" | "multi";
|
|
24
33
|
};
|
|
25
34
|
|
|
26
35
|
/**
|
|
@@ -36,13 +45,17 @@ export function TreeView<T extends TreeDataItem>({
|
|
|
36
45
|
onItemHover,
|
|
37
46
|
hoveredId,
|
|
38
47
|
isSelectable = false,
|
|
39
|
-
|
|
40
|
-
|
|
48
|
+
selectedItemIds,
|
|
49
|
+
onSelectionChange,
|
|
41
50
|
hideExpand = false,
|
|
42
51
|
hasDescendants = () => false,
|
|
43
52
|
renderLabel = (label) => label,
|
|
44
53
|
className,
|
|
54
|
+
renderContextMenu,
|
|
55
|
+
selectionMode = "multi",
|
|
45
56
|
}: TreeViewProps<T>) {
|
|
57
|
+
const [lastSelectedId, setLastSelectedId] = useState<string | null>(null);
|
|
58
|
+
|
|
46
59
|
return (
|
|
47
60
|
<div className={cn("flex-1 overflow-y-auto", className)}>
|
|
48
61
|
{data.map((item) => (
|
|
@@ -52,8 +65,10 @@ export function TreeView<T extends TreeDataItem>({
|
|
|
52
65
|
hoveredId={hoveredId}
|
|
53
66
|
onItemHover={onItemHover}
|
|
54
67
|
isSelectable={isSelectable}
|
|
55
|
-
|
|
56
|
-
|
|
68
|
+
selectedItemIds={selectedItemIds}
|
|
69
|
+
onSelectionChange={onSelectionChange}
|
|
70
|
+
lastSelectedId={lastSelectedId}
|
|
71
|
+
setLastSelectedId={setLastSelectedId}
|
|
57
72
|
expandedItems={expandedItems}
|
|
58
73
|
toggleItem={onToggleItem}
|
|
59
74
|
hideExpand={hideExpand}
|
|
@@ -61,6 +76,8 @@ export function TreeView<T extends TreeDataItem>({
|
|
|
61
76
|
getIcon={getIcon}
|
|
62
77
|
renderLabel={renderLabel}
|
|
63
78
|
dataWithMeta={data}
|
|
79
|
+
renderContextMenu={renderContextMenu}
|
|
80
|
+
selectionMode={selectionMode}
|
|
64
81
|
/>
|
|
65
82
|
))}
|
|
66
83
|
</div>
|
|
@@ -75,8 +92,10 @@ export function TreeEntryItem<T extends TreeDataItem>({
|
|
|
75
92
|
hoveredId,
|
|
76
93
|
onItemHover,
|
|
77
94
|
isSelectable,
|
|
78
|
-
|
|
79
|
-
|
|
95
|
+
selectedItemIds,
|
|
96
|
+
onSelectionChange,
|
|
97
|
+
lastSelectedId,
|
|
98
|
+
setLastSelectedId,
|
|
80
99
|
expandedItems,
|
|
81
100
|
toggleItem = () => {},
|
|
82
101
|
hideExpand = false,
|
|
@@ -84,13 +103,17 @@ export function TreeEntryItem<T extends TreeDataItem>({
|
|
|
84
103
|
getIcon = () => null,
|
|
85
104
|
renderLabel = (label) => label,
|
|
86
105
|
dataWithMeta = [],
|
|
106
|
+
renderContextMenu,
|
|
107
|
+
selectionMode = "multi",
|
|
87
108
|
}: {
|
|
88
109
|
item: TreeDataItemWithMeta<T>;
|
|
89
110
|
hoveredId?: string | null;
|
|
90
111
|
onItemHover?: (id: string | null) => void;
|
|
91
112
|
isSelectable?: boolean;
|
|
92
|
-
|
|
93
|
-
|
|
113
|
+
selectedItemIds?: Set<string>;
|
|
114
|
+
onSelectionChange?: (ids: Set<string>) => void;
|
|
115
|
+
lastSelectedId?: string | null;
|
|
116
|
+
setLastSelectedId?: (id: string | null) => void;
|
|
94
117
|
expandedItems?: Set<string>;
|
|
95
118
|
toggleItem?: (id: string) => void;
|
|
96
119
|
hideExpand?: boolean;
|
|
@@ -98,10 +121,58 @@ export function TreeEntryItem<T extends TreeDataItem>({
|
|
|
98
121
|
getIcon?: (item: T, expanded?: boolean) => ReactNode;
|
|
99
122
|
renderLabel?: (label: string, itemId: string) => ReactNode;
|
|
100
123
|
dataWithMeta?: TreeDataItemWithMeta<T>[];
|
|
124
|
+
renderContextMenu?: (item: T) => ReactNode;
|
|
125
|
+
selectionMode?: "single" | "multi";
|
|
101
126
|
}) {
|
|
102
|
-
const handleItemSelect = () => {
|
|
103
|
-
if (!item.disable && isSelectable
|
|
104
|
-
|
|
127
|
+
const handleItemSelect = (event: React.MouseEvent) => {
|
|
128
|
+
if (!item.disable && isSelectable) {
|
|
129
|
+
const isMultiSelectMode = selectionMode === "multi" && (event.ctrlKey || event.metaKey);
|
|
130
|
+
const isRangeSelectMode = selectionMode === "multi" && event.shiftKey;
|
|
131
|
+
|
|
132
|
+
if (isMultiSelectMode) {
|
|
133
|
+
const selectState = getMultiSelectState(
|
|
134
|
+
item.id,
|
|
135
|
+
selectedItemIds || new Set(),
|
|
136
|
+
dataWithMeta,
|
|
137
|
+
);
|
|
138
|
+
// prevent selection of indirectly selected nodes in multi-select mode
|
|
139
|
+
if (selectState === "indirect") {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
let newSelectedIds: Set<string>;
|
|
145
|
+
|
|
146
|
+
if (isRangeSelectMode && lastSelectedId) {
|
|
147
|
+
if (selectedItemIds) {
|
|
148
|
+
newSelectedIds = new Set(selectedItemIds);
|
|
149
|
+
const rangeIds = getRangeIds(lastSelectedId, item.id, dataWithMeta);
|
|
150
|
+
rangeIds.forEach((id) => newSelectedIds.add(id));
|
|
151
|
+
} else {
|
|
152
|
+
newSelectedIds = new Set([item.id]);
|
|
153
|
+
}
|
|
154
|
+
} else if (isMultiSelectMode) {
|
|
155
|
+
if (selectedItemIds) {
|
|
156
|
+
newSelectedIds = new Set(selectedItemIds);
|
|
157
|
+
if (newSelectedIds.has(item.id)) {
|
|
158
|
+
newSelectedIds.delete(item.id);
|
|
159
|
+
} else {
|
|
160
|
+
newSelectedIds.add(item.id);
|
|
161
|
+
}
|
|
162
|
+
} else {
|
|
163
|
+
newSelectedIds = new Set([item.id]);
|
|
164
|
+
}
|
|
165
|
+
} else {
|
|
166
|
+
// Single select mode: clear other selections and select only current item
|
|
167
|
+
newSelectedIds = new Set([item.id]);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const cleanedSelectedIds = cleanIndirectSelectedNodes(newSelectedIds, dataWithMeta);
|
|
171
|
+
|
|
172
|
+
if (onSelectionChange) {
|
|
173
|
+
onSelectionChange(cleanedSelectedIds);
|
|
174
|
+
setLastSelectedId?.(item.id);
|
|
175
|
+
}
|
|
105
176
|
}
|
|
106
177
|
};
|
|
107
178
|
|
|
@@ -110,18 +181,65 @@ export function TreeEntryItem<T extends TreeDataItem>({
|
|
|
110
181
|
const indent = item.indent || 0;
|
|
111
182
|
const isLast = item.isLast !== undefined ? item.isLast : false;
|
|
112
183
|
|
|
113
|
-
|
|
184
|
+
const getSelectState = () => {
|
|
185
|
+
if (selectedItemIds) {
|
|
186
|
+
return getMultiSelectState(item.id, selectedItemIds, dataWithMeta);
|
|
187
|
+
}
|
|
188
|
+
return "unselected";
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
const selectState = getSelectState();
|
|
192
|
+
const isSelected = selectState === "selected";
|
|
193
|
+
const isIndirectlySelected = selectState === "indirect";
|
|
194
|
+
|
|
195
|
+
const { hasPrevSelected, hasNextSelected } = getAdjacentSelectionState(
|
|
196
|
+
item.id,
|
|
197
|
+
selectedItemIds || new Set(),
|
|
198
|
+
dataWithMeta,
|
|
199
|
+
);
|
|
200
|
+
|
|
201
|
+
// Calculate border radius classes based on adjacent selection
|
|
202
|
+
const getBorderRadiusClass = () => {
|
|
203
|
+
if (!isSelectable || (!isSelected && !isIndirectlySelected)) {
|
|
204
|
+
return "rounded-uk-md";
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// Remove top radius if previous item is selected, remove bottom radius if next item is selected
|
|
208
|
+
if (hasPrevSelected && hasNextSelected) {
|
|
209
|
+
return "";
|
|
210
|
+
} else if (hasPrevSelected) {
|
|
211
|
+
return "rounded-b-uk-md";
|
|
212
|
+
} else if (hasNextSelected) {
|
|
213
|
+
return "rounded-t-uk-md";
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
return "rounded-uk-md";
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
const handleContextMenuOpenChange = (open: boolean) => {
|
|
220
|
+
// If item is not selected when opening context menu, select it first
|
|
221
|
+
if (open && isSelectable && !isSelected && !isIndirectlySelected && onSelectionChange) {
|
|
222
|
+
onSelectionChange(new Set([item.id]));
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
const treeItemContent = (
|
|
114
227
|
<div
|
|
115
228
|
className={cn(
|
|
116
229
|
"group relative flex h-[32px] items-center",
|
|
117
|
-
|
|
118
|
-
!item.disable && "cursor-pointer",
|
|
230
|
+
getBorderRadiusClass(),
|
|
119
231
|
hoveredId === item.id && !item.disable && "bg-bg-secondary",
|
|
120
|
-
isSelectable &&
|
|
232
|
+
isSelectable && isSelected && "bg-brand-primary text-text-withbg",
|
|
233
|
+
isSelectable && isIndirectlySelected && "bg-shadow-secondary text-text-primary",
|
|
121
234
|
)}
|
|
122
235
|
onMouseEnter={() => onItemHover?.(item.id)}
|
|
123
236
|
onMouseLeave={() => onItemHover?.(null)}
|
|
124
237
|
onClick={handleItemSelect}
|
|
238
|
+
onMouseDown={(e) => {
|
|
239
|
+
if (e.shiftKey || e.ctrlKey || e.metaKey) {
|
|
240
|
+
e.preventDefault();
|
|
241
|
+
}
|
|
242
|
+
}}
|
|
125
243
|
>
|
|
126
244
|
{/* Guidelines */}
|
|
127
245
|
<div className="absolute top-0 left-[-0.28rem] z-0 flex h-full items-center">
|
|
@@ -229,4 +347,15 @@ export function TreeEntryItem<T extends TreeDataItem>({
|
|
|
229
347
|
</div>
|
|
230
348
|
</div>
|
|
231
349
|
);
|
|
350
|
+
|
|
351
|
+
if (renderContextMenu) {
|
|
352
|
+
return (
|
|
353
|
+
<ContextMenu onOpenChange={handleContextMenuOpenChange}>
|
|
354
|
+
<ContextMenuTrigger asChild>{treeItemContent}</ContextMenuTrigger>
|
|
355
|
+
{renderContextMenu(item)}
|
|
356
|
+
</ContextMenu>
|
|
357
|
+
);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
return treeItemContent;
|
|
232
361
|
}
|
|
@@ -2,6 +2,154 @@ import { useCallback, useMemo, useState } from "react";
|
|
|
2
2
|
|
|
3
3
|
import { TreeDataItem, TreeDataItemWithMeta } from "./types";
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* Get all descendant node IDs of a node
|
|
7
|
+
*/
|
|
8
|
+
export function getDescendantIds<T extends TreeDataItem>(
|
|
9
|
+
itemId: string,
|
|
10
|
+
data: TreeDataItemWithMeta<T>[],
|
|
11
|
+
childrenMap: Map<string | null, T[]>,
|
|
12
|
+
): string[] {
|
|
13
|
+
const descendants: string[] = [];
|
|
14
|
+
const children = childrenMap.get(itemId) || [];
|
|
15
|
+
|
|
16
|
+
children.forEach((child) => {
|
|
17
|
+
descendants.push(child.id);
|
|
18
|
+
descendants.push(...getDescendantIds(child.id, data, childrenMap));
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
return descendants;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Get all ancestor node IDs of a node
|
|
26
|
+
*/
|
|
27
|
+
export function getAncestorIds<T extends TreeDataItem>(
|
|
28
|
+
itemId: string,
|
|
29
|
+
data: TreeDataItemWithMeta<T>[],
|
|
30
|
+
): string[] {
|
|
31
|
+
const ancestors: string[] = [];
|
|
32
|
+
const dataMap = new Map(data.map((item) => [item.id, item]));
|
|
33
|
+
let current = dataMap.get(itemId)?.parentId;
|
|
34
|
+
|
|
35
|
+
while (current) {
|
|
36
|
+
ancestors.push(current);
|
|
37
|
+
current = dataMap.get(current)?.parentId;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return ancestors;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Check if a node is indirectly selected (parent node is selected)
|
|
45
|
+
*/
|
|
46
|
+
export function isIndirectlySelected<T extends TreeDataItem>(
|
|
47
|
+
itemId: string,
|
|
48
|
+
selectedIds: Set<string>,
|
|
49
|
+
data: TreeDataItemWithMeta<T>[],
|
|
50
|
+
): boolean {
|
|
51
|
+
const ancestors = getAncestorIds(itemId, data);
|
|
52
|
+
return ancestors.some((ancestorId) => selectedIds.has(ancestorId));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Get multi-select state: selected, indirect, or unselected
|
|
57
|
+
*/
|
|
58
|
+
export function getMultiSelectState<T extends TreeDataItem>(
|
|
59
|
+
itemId: string,
|
|
60
|
+
selectedIds: Set<string>,
|
|
61
|
+
data: TreeDataItemWithMeta<T>[],
|
|
62
|
+
): "selected" | "indirect" | "unselected" {
|
|
63
|
+
if (isIndirectlySelected(itemId, selectedIds, data)) {
|
|
64
|
+
return "indirect";
|
|
65
|
+
}
|
|
66
|
+
if (selectedIds.has(itemId)) {
|
|
67
|
+
return "selected";
|
|
68
|
+
}
|
|
69
|
+
return "unselected";
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Get all node IDs for range selection (from lastSelectedId to currentId)
|
|
74
|
+
*/
|
|
75
|
+
export function getRangeIds<T extends TreeDataItem>(
|
|
76
|
+
lastSelectedId: string | null,
|
|
77
|
+
currentId: string,
|
|
78
|
+
data: TreeDataItemWithMeta<T>[],
|
|
79
|
+
): string[] {
|
|
80
|
+
if (!lastSelectedId) {
|
|
81
|
+
return [currentId];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Find the indices of both nodes in the data
|
|
85
|
+
const lastIndex = data.findIndex((item) => item.id === lastSelectedId);
|
|
86
|
+
const currentIndex = data.findIndex((item) => item.id === currentId);
|
|
87
|
+
|
|
88
|
+
if (lastIndex === -1 || currentIndex === -1) {
|
|
89
|
+
return [currentId];
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Get all node IDs within the range
|
|
93
|
+
const startIndex = Math.min(lastIndex, currentIndex);
|
|
94
|
+
const endIndex = Math.max(lastIndex, currentIndex);
|
|
95
|
+
const rangeIds: string[] = [];
|
|
96
|
+
|
|
97
|
+
for (let i = startIndex; i <= endIndex; i++) {
|
|
98
|
+
rangeIds.push(data[i].id);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return rangeIds;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Clean up indirectly selected child nodes, keep only directly selected nodes
|
|
106
|
+
*/
|
|
107
|
+
export function cleanIndirectSelectedNodes<T extends TreeDataItem>(
|
|
108
|
+
selectedIds: Set<string>,
|
|
109
|
+
data: TreeDataItemWithMeta<T>[],
|
|
110
|
+
): Set<string> {
|
|
111
|
+
const cleanedIds = new Set<string>();
|
|
112
|
+
|
|
113
|
+
for (const id of selectedIds) {
|
|
114
|
+
// Check if this node is indirectly selected (i.e., its ancestor node is selected)
|
|
115
|
+
const isNodeIndirectlySelected = isIndirectlySelected(id, selectedIds, data);
|
|
116
|
+
|
|
117
|
+
// If this node is not indirectly selected, keep it
|
|
118
|
+
if (!isNodeIndirectlySelected) {
|
|
119
|
+
cleanedIds.add(id);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return cleanedIds;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Check if adjacent items are selected (directly or indirectly)
|
|
128
|
+
* Returns whether previous and next items are selected
|
|
129
|
+
*/
|
|
130
|
+
export function getAdjacentSelectionState<T extends TreeDataItem>(
|
|
131
|
+
itemId: string,
|
|
132
|
+
selectedIds: Set<string>,
|
|
133
|
+
data: TreeDataItemWithMeta<T>[],
|
|
134
|
+
): { hasPrevSelected: boolean; hasNextSelected: boolean } {
|
|
135
|
+
const currentIndex = data.findIndex((item) => item.id === itemId);
|
|
136
|
+
|
|
137
|
+
if (currentIndex === -1) {
|
|
138
|
+
return { hasPrevSelected: false, hasNextSelected: false };
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const prevIndex = currentIndex - 1;
|
|
142
|
+
const hasPrevSelected =
|
|
143
|
+
prevIndex >= 0 && getMultiSelectState(data[prevIndex].id, selectedIds, data) !== "unselected";
|
|
144
|
+
|
|
145
|
+
const nextIndex = currentIndex + 1;
|
|
146
|
+
const hasNextSelected =
|
|
147
|
+
nextIndex < data.length &&
|
|
148
|
+
getMultiSelectState(data[nextIndex].id, selectedIds, data) !== "unselected";
|
|
149
|
+
|
|
150
|
+
return { hasPrevSelected, hasNextSelected };
|
|
151
|
+
}
|
|
152
|
+
|
|
5
153
|
/**
|
|
6
154
|
* Hook for managing tree search functionality
|
|
7
155
|
*/
|
|
@@ -4,6 +4,8 @@ import { LogItemWithMeta } from "./types";
|
|
|
4
4
|
import { borderColorClasses, colorClasses, formatDuration } from "./utils";
|
|
5
5
|
import { cn } from "../../hooks";
|
|
6
6
|
|
|
7
|
+
const clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);
|
|
8
|
+
|
|
7
9
|
export interface TimelineEventBarProps {
|
|
8
10
|
item: LogItemWithMeta;
|
|
9
11
|
isHovered: boolean;
|
|
@@ -188,17 +190,21 @@ export function TimelineProcessBar({
|
|
|
188
190
|
const visibleDuration = visibleEnd - visibleStart;
|
|
189
191
|
const visibleWidthPercent = (visibleDuration / viewWindow) * 100;
|
|
190
192
|
|
|
191
|
-
if (visibleWidthPercent < 8) return null;
|
|
192
|
-
|
|
193
193
|
return (
|
|
194
194
|
<div
|
|
195
|
-
className="pointer-events-none absolute top-1/2 flex -translate-y-1/2 items-center justify-center"
|
|
195
|
+
className="pointer-events-none absolute top-1/2 flex -translate-y-1/2 items-center justify-center overflow-hidden"
|
|
196
196
|
style={{
|
|
197
197
|
left: `${timeToPercent(visibleStart)}%`,
|
|
198
198
|
width: `${visibleWidthPercent}%`,
|
|
199
|
+
zoom: clamp(visibleWidthPercent, 6, 12) / 12,
|
|
199
200
|
}}
|
|
200
201
|
>
|
|
201
|
-
|
|
202
|
+
{visibleWidthPercent > 7 && (
|
|
203
|
+
<span className="rounded-full bg-orange-500 px-2 py-0.5 text-xs text-white">
|
|
204
|
+
Halted
|
|
205
|
+
</span>
|
|
206
|
+
)}
|
|
207
|
+
{visibleWidthPercent < 7 && <span className="h-3 w-3 rounded-full bg-orange-500" />}
|
|
202
208
|
</div>
|
|
203
209
|
);
|
|
204
210
|
})()}
|
package/dist/chunk-4F2GSF2T.mjs
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
// src/hooks/clientOnly.tsx
|
|
4
|
-
function clientOnly(fn) {
|
|
5
|
-
if (typeof window !== "undefined") {
|
|
6
|
-
return fn();
|
|
7
|
-
}
|
|
8
|
-
return void 0;
|
|
9
|
-
}
|
|
10
|
-
function createClientOnlyComponent(Component, fallback) {
|
|
11
|
-
return function ClientOnlyWrapper(props) {
|
|
12
|
-
const [isClient2, setIsClient] = React.useState(false);
|
|
13
|
-
React.useEffect(() => {
|
|
14
|
-
setIsClient(true);
|
|
15
|
-
}, []);
|
|
16
|
-
if (!isClient2) {
|
|
17
|
-
return fallback ? React.createElement(fallback, props) : null;
|
|
18
|
-
}
|
|
19
|
-
return React.createElement(Component, props);
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
function isClient() {
|
|
23
|
-
return typeof window !== "undefined";
|
|
24
|
-
}
|
|
25
|
-
function isServer() {
|
|
26
|
-
return typeof window === "undefined";
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export { clientOnly, createClientOnlyComponent, isClient, isServer };
|
package/dist/chunk-A6EASR27.mjs
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
import { createClientOnlyComponent } from './chunk-4F2GSF2T.mjs';
|
|
2
|
-
import { cn } from './chunk-T66ETI7E.mjs';
|
|
3
|
-
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
|
4
|
-
import { XIcon } from 'lucide-react';
|
|
5
|
-
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
function SheetRoot({ ...props }) {
|
|
8
|
-
return /* @__PURE__ */ jsx(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
9
|
-
}
|
|
10
|
-
function SheetFallback({ ...props }) {
|
|
11
|
-
return /* @__PURE__ */ jsx("div", { "data-slot": "sheet", ...props });
|
|
12
|
-
}
|
|
13
|
-
var Sheet = createClientOnlyComponent(SheetRoot, SheetFallback);
|
|
14
|
-
function SheetTriggerRoot({ ...props }) {
|
|
15
|
-
return /* @__PURE__ */ jsx(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
16
|
-
}
|
|
17
|
-
function SheetTriggerFallback({
|
|
18
|
-
asChild,
|
|
19
|
-
children,
|
|
20
|
-
...props
|
|
21
|
-
}) {
|
|
22
|
-
if (asChild) {
|
|
23
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
24
|
-
}
|
|
25
|
-
return /* @__PURE__ */ jsx("button", { "data-slot": "sheet-trigger", ...props, children });
|
|
26
|
-
}
|
|
27
|
-
var SheetTrigger = createClientOnlyComponent(SheetTriggerRoot, SheetTriggerFallback);
|
|
28
|
-
function SheetCloseRoot({ ...props }) {
|
|
29
|
-
return /* @__PURE__ */ jsx(
|
|
30
|
-
SheetPrimitive.Close,
|
|
31
|
-
{
|
|
32
|
-
"data-slot": "sheet-close",
|
|
33
|
-
className: cn("focus:ring-0 focus:outline-none"),
|
|
34
|
-
...props
|
|
35
|
-
}
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
function SheetCloseFallback({
|
|
39
|
-
asChild,
|
|
40
|
-
children,
|
|
41
|
-
...props
|
|
42
|
-
}) {
|
|
43
|
-
if (asChild) {
|
|
44
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
45
|
-
}
|
|
46
|
-
return /* @__PURE__ */ jsx("button", { "data-slot": "sheet-close", className: cn("focus:ring-0 focus:outline-none"), ...props, children });
|
|
47
|
-
}
|
|
48
|
-
var SheetClose = createClientOnlyComponent(SheetCloseRoot, SheetCloseFallback);
|
|
49
|
-
function SheetPortal({ ...props }) {
|
|
50
|
-
return /* @__PURE__ */ jsx(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
51
|
-
}
|
|
52
|
-
function SheetOverlay({ className, ...props }) {
|
|
53
|
-
return /* @__PURE__ */ jsx(
|
|
54
|
-
SheetPrimitive.Overlay,
|
|
55
|
-
{
|
|
56
|
-
"data-slot": "sheet-overlay",
|
|
57
|
-
className: cn(
|
|
58
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 bg-bg-mask fixed inset-0 z-50",
|
|
59
|
-
className
|
|
60
|
-
),
|
|
61
|
-
...props
|
|
62
|
-
}
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
function SheetContentRoot({
|
|
66
|
-
className,
|
|
67
|
-
children,
|
|
68
|
-
side = "right",
|
|
69
|
-
...props
|
|
70
|
-
}) {
|
|
71
|
-
return /* @__PURE__ */ jsxs(SheetPortal, { children: [
|
|
72
|
-
/* @__PURE__ */ jsx(SheetOverlay, {}),
|
|
73
|
-
/* @__PURE__ */ jsxs(
|
|
74
|
-
SheetPrimitive.Content,
|
|
75
|
-
{
|
|
76
|
-
"data-slot": "sheet-content",
|
|
77
|
-
className: cn(
|
|
78
|
-
"liquid-dark:liquid-dark-bg liquid-light:liquid-light-bg bg-bg-primary data-[state=open]:animate-in data-[state=closed]:animate-out p-xl fixed z-50 flex flex-col gap-4 shadow-[0_4px_16px_0_var(--color-shadow-secondary)] transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
|
79
|
-
side === "right" && "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-[340px]",
|
|
80
|
-
side === "left" && "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-[340px]",
|
|
81
|
-
side === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto",
|
|
82
|
-
side === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto",
|
|
83
|
-
className
|
|
84
|
-
),
|
|
85
|
-
...props,
|
|
86
|
-
children: [
|
|
87
|
-
children,
|
|
88
|
-
/* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "text-icon-primary hover:text-icon-highlight absolute top-4 right-4 disabled:pointer-events-none", children: [
|
|
89
|
-
/* @__PURE__ */ jsx(XIcon, { className: "size-4" }),
|
|
90
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
91
|
-
] })
|
|
92
|
-
]
|
|
93
|
-
}
|
|
94
|
-
)
|
|
95
|
-
] });
|
|
96
|
-
}
|
|
97
|
-
function SheetContentFallback({
|
|
98
|
-
className,
|
|
99
|
-
children,
|
|
100
|
-
side = "right",
|
|
101
|
-
...props
|
|
102
|
-
}) {
|
|
103
|
-
return /* @__PURE__ */ jsxs(
|
|
104
|
-
"div",
|
|
105
|
-
{
|
|
106
|
-
"data-slot": "sheet-content",
|
|
107
|
-
className: cn(
|
|
108
|
-
"liquid-dark:liquid-dark-bg liquid-light:liquid-light-bg bg-bg-primary p-xl fixed z-50 flex flex-col gap-4 shadow-[0_4px_16px_0_var(--color-shadow-secondary)]",
|
|
109
|
-
side === "right" && "inset-y-0 right-0 h-full w-[340px]",
|
|
110
|
-
side === "left" && "inset-y-0 left-0 h-full w-[340px]",
|
|
111
|
-
side === "top" && "inset-x-0 top-0 h-auto",
|
|
112
|
-
side === "bottom" && "inset-x-0 bottom-0 h-auto",
|
|
113
|
-
className
|
|
114
|
-
),
|
|
115
|
-
...props,
|
|
116
|
-
children: [
|
|
117
|
-
children,
|
|
118
|
-
/* @__PURE__ */ jsxs("button", { className: "text-icon-primary hover:text-icon-highlight absolute top-4 right-4 disabled:pointer-events-none", children: [
|
|
119
|
-
/* @__PURE__ */ jsx(XIcon, { className: "size-4" }),
|
|
120
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
121
|
-
] })
|
|
122
|
-
]
|
|
123
|
-
}
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
var SheetContent = createClientOnlyComponent(SheetContentRoot, SheetContentFallback);
|
|
127
|
-
function SheetHeader({ className, ...props }) {
|
|
128
|
-
return /* @__PURE__ */ jsx(
|
|
129
|
-
"div",
|
|
130
|
-
{
|
|
131
|
-
"data-slot": "sheet-header",
|
|
132
|
-
className: cn("gap-md pb-xl flex flex-col", className),
|
|
133
|
-
...props
|
|
134
|
-
}
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
function SheetFooter({ className, ...props }) {
|
|
138
|
-
return /* @__PURE__ */ jsx(
|
|
139
|
-
"div",
|
|
140
|
-
{
|
|
141
|
-
"data-slot": "sheet-footer",
|
|
142
|
-
className: cn("gap-lg pt-xl mt-auto flex flex-col", className),
|
|
143
|
-
...props
|
|
144
|
-
}
|
|
145
|
-
);
|
|
146
|
-
}
|
|
147
|
-
function SheetTitleRoot({ className, ...props }) {
|
|
148
|
-
return /* @__PURE__ */ jsx(
|
|
149
|
-
SheetPrimitive.Title,
|
|
150
|
-
{
|
|
151
|
-
"data-slot": "sheet-title",
|
|
152
|
-
className: cn("text-text-highlight text-uk-xl leading-uk-xl font-medium", className),
|
|
153
|
-
...props
|
|
154
|
-
}
|
|
155
|
-
);
|
|
156
|
-
}
|
|
157
|
-
function SheetTitleFallback({ className, ...props }) {
|
|
158
|
-
return /* @__PURE__ */ jsx(
|
|
159
|
-
"h2",
|
|
160
|
-
{
|
|
161
|
-
"data-slot": "sheet-title",
|
|
162
|
-
className: cn("text-text-highlight text-uk-xl leading-uk-xl font-medium", className),
|
|
163
|
-
...props
|
|
164
|
-
}
|
|
165
|
-
);
|
|
166
|
-
}
|
|
167
|
-
var SheetTitle = createClientOnlyComponent(SheetTitleRoot, SheetTitleFallback);
|
|
168
|
-
function SheetDescriptionRoot({
|
|
169
|
-
className,
|
|
170
|
-
...props
|
|
171
|
-
}) {
|
|
172
|
-
return /* @__PURE__ */ jsx(
|
|
173
|
-
SheetPrimitive.Description,
|
|
174
|
-
{
|
|
175
|
-
"data-slot": "sheet-description",
|
|
176
|
-
className: cn("text-text-secondary text-uk-md leading-uk-md", className),
|
|
177
|
-
...props
|
|
178
|
-
}
|
|
179
|
-
);
|
|
180
|
-
}
|
|
181
|
-
function SheetDescriptionFallback({ className, ...props }) {
|
|
182
|
-
return /* @__PURE__ */ jsx(
|
|
183
|
-
"p",
|
|
184
|
-
{
|
|
185
|
-
"data-slot": "sheet-description",
|
|
186
|
-
className: cn("text-text-secondary text-uk-md leading-uk-md", className),
|
|
187
|
-
...props
|
|
188
|
-
}
|
|
189
|
-
);
|
|
190
|
-
}
|
|
191
|
-
var SheetDescription = createClientOnlyComponent(SheetDescriptionRoot, SheetDescriptionFallback);
|
|
192
|
-
|
|
193
|
-
export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };
|