@mdigital_ui/ui 0.4.2 → 0.4.3
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/accordion/index.d.ts.map +1 -1
- package/dist/accordion/index.js +3 -3
- package/dist/accordion/types.d.ts +2 -42
- package/dist/accordion/types.d.ts.map +1 -1
- package/dist/avatar/index.d.ts +0 -6
- package/dist/avatar/index.d.ts.map +1 -1
- package/dist/avatar/index.js +2 -2
- package/dist/avatar/types.d.ts +0 -48
- package/dist/avatar/types.d.ts.map +1 -1
- package/dist/badge/index.d.ts +1 -23
- package/dist/badge/index.d.ts.map +1 -1
- package/dist/badge/index.js +3 -3
- package/dist/badge/types.d.ts +1 -20
- package/dist/badge/types.d.ts.map +1 -1
- package/dist/breadcrumbs/index.d.ts.map +1 -1
- package/dist/breadcrumbs/index.js +7 -6
- package/dist/breadcrumbs/types.d.ts +3 -38
- package/dist/breadcrumbs/types.d.ts.map +1 -1
- package/dist/button/index.d.ts +1 -1
- package/dist/button/index.d.ts.map +1 -1
- package/dist/button/index.js +5 -5
- package/dist/button/types.d.ts +2 -8
- package/dist/button/types.d.ts.map +1 -1
- package/dist/button-group/index.d.ts +0 -28
- package/dist/button-group/index.d.ts.map +1 -1
- package/dist/button-group/index.js +2 -2
- package/dist/button-group/types.d.ts +0 -19
- package/dist/button-group/types.d.ts.map +1 -1
- package/dist/card/index.d.ts +0 -40
- package/dist/card/index.d.ts.map +1 -1
- package/dist/card/index.js +3 -3
- package/dist/card/types.d.ts +3 -29
- package/dist/card/types.d.ts.map +1 -1
- package/dist/carousel/index.d.ts +4 -0
- package/dist/carousel/index.d.ts.map +1 -1
- package/dist/carousel/index.js +2 -2
- package/dist/cascader/index.d.ts +0 -21
- package/dist/cascader/index.d.ts.map +1 -1
- package/dist/cascader/index.js +3 -3
- package/dist/cascader/types.d.ts +3 -89
- package/dist/cascader/types.d.ts.map +1 -1
- package/dist/checkbox/index.d.ts.map +1 -1
- package/dist/checkbox/index.js +3 -3
- package/dist/checkbox/types.d.ts +2 -2
- package/dist/checkbox/types.d.ts.map +1 -1
- package/dist/checkbox-group/index.d.ts.map +1 -1
- package/dist/checkbox-group/index.js +2 -2
- package/dist/checkbox-group/types.d.ts +0 -24
- package/dist/checkbox-group/types.d.ts.map +1 -1
- package/dist/{chunk-H6G4BUPA.js → chunk-2FYXBW4S.js} +201 -161
- package/dist/chunk-2FYXBW4S.js.map +1 -0
- package/dist/{chunk-KH577UDI.js → chunk-2OBMSB5S.js} +9 -6
- package/dist/chunk-2OBMSB5S.js.map +1 -0
- package/dist/{chunk-3BIV3QE2.js → chunk-3FXOQC6P.js} +60 -28
- package/dist/chunk-3FXOQC6P.js.map +1 -0
- package/dist/{chunk-YXLIGJTN.js → chunk-3KISIZGP.js} +6 -6
- package/dist/chunk-3KISIZGP.js.map +1 -0
- package/dist/{chunk-6G3BMY4N.js → chunk-3QD7AQX7.js} +76 -85
- package/dist/chunk-3QD7AQX7.js.map +1 -0
- package/dist/{chunk-ROA7BYGB.js → chunk-3YP7HY3Y.js} +7 -5
- package/dist/chunk-3YP7HY3Y.js.map +1 -0
- package/dist/{chunk-OLTQAMV2.js → chunk-442OQLPK.js} +9 -24
- package/dist/chunk-442OQLPK.js.map +1 -0
- package/dist/{chunk-OFUPJH35.js → chunk-4TEZWGX7.js} +3 -3
- package/dist/{chunk-OFUPJH35.js.map → chunk-4TEZWGX7.js.map} +1 -1
- package/dist/chunk-4WZDQI22.js +378 -0
- package/dist/chunk-4WZDQI22.js.map +1 -0
- package/dist/{chunk-TLNHWOQQ.js → chunk-54Z7XTJA.js} +30 -19
- package/dist/chunk-54Z7XTJA.js.map +1 -0
- package/dist/{chunk-64NHVOZS.js → chunk-5CIJ7UCP.js} +25 -15
- package/dist/chunk-5CIJ7UCP.js.map +1 -0
- package/dist/{chunk-ON2CMF6J.js → chunk-5XLCUGLQ.js} +14 -10
- package/dist/chunk-5XLCUGLQ.js.map +1 -0
- package/dist/{chunk-DUIL5BYS.js → chunk-62LTLXVG.js} +72 -48
- package/dist/chunk-62LTLXVG.js.map +1 -0
- package/dist/{chunk-G6NVGBYZ.js → chunk-6ZPCKFRS.js} +23 -22
- package/dist/chunk-6ZPCKFRS.js.map +1 -0
- package/dist/{chunk-N2WHJ3FI.js → chunk-7OYMEXY3.js} +7 -5
- package/dist/chunk-7OYMEXY3.js.map +1 -0
- package/dist/{chunk-ONGJXAYQ.js → chunk-AEPBQO7U.js} +6 -5
- package/dist/chunk-AEPBQO7U.js.map +1 -0
- package/dist/{chunk-UTWQ2FZK.js → chunk-AOXTD7QZ.js} +47 -93
- package/dist/chunk-AOXTD7QZ.js.map +1 -0
- package/dist/{chunk-ZJNGZCRB.js → chunk-BLFXVSZU.js} +54 -153
- package/dist/chunk-BLFXVSZU.js.map +1 -0
- package/dist/{chunk-VOODO2ZE.js → chunk-BMA4E3T6.js} +6 -14
- package/dist/chunk-BMA4E3T6.js.map +1 -0
- package/dist/{chunk-4FFVNUTK.js → chunk-BNHRUHI4.js} +7 -6
- package/dist/chunk-BNHRUHI4.js.map +1 -0
- package/dist/{chunk-3BZE6BBJ.js → chunk-C46VTIW7.js} +41 -23
- package/dist/chunk-C46VTIW7.js.map +1 -0
- package/dist/{chunk-BVO2BNFG.js → chunk-CHGABWIV.js} +3 -3
- package/dist/chunk-CHGABWIV.js.map +1 -0
- package/dist/chunk-DF2ICSNI.js +99 -0
- package/dist/chunk-DF2ICSNI.js.map +1 -0
- package/dist/chunk-DOI7OTYV.js +81 -0
- package/dist/chunk-DOI7OTYV.js.map +1 -0
- package/dist/{chunk-2TLOWZE4.js → chunk-DPIXBBXK.js} +40 -179
- package/dist/chunk-DPIXBBXK.js.map +1 -0
- package/dist/{chunk-OQFYIKWR.js → chunk-EC5DXYME.js} +21 -12
- package/dist/chunk-EC5DXYME.js.map +1 -0
- package/dist/{chunk-KJTMZJ7V.js → chunk-EHNWVQBL.js} +65 -48
- package/dist/chunk-EHNWVQBL.js.map +1 -0
- package/dist/{chunk-I32ZQUYY.js → chunk-F4GLUQOF.js} +9 -8
- package/dist/chunk-F4GLUQOF.js.map +1 -0
- package/dist/{chunk-GJPZOMFE.js → chunk-FCU2ENQQ.js} +63 -31
- package/dist/chunk-FCU2ENQQ.js.map +1 -0
- package/dist/{chunk-JWTWPZ32.js → chunk-FZXMRXWE.js} +10 -9
- package/dist/chunk-FZXMRXWE.js.map +1 -0
- package/dist/{chunk-LOYLJRCF.js → chunk-G27HGKWO.js} +15 -5
- package/dist/chunk-G27HGKWO.js.map +1 -0
- package/dist/{chunk-Y4XAXZHB.js → chunk-GGQF5PQN.js} +9 -8
- package/dist/chunk-GGQF5PQN.js.map +1 -0
- package/dist/chunk-GLJDHW73.js +24 -0
- package/dist/chunk-GLJDHW73.js.map +1 -0
- package/dist/{chunk-LX4FDH4J.js → chunk-GPSZJWU3.js} +10 -11
- package/dist/chunk-GPSZJWU3.js.map +1 -0
- package/dist/{chunk-6LYRMQOI.js → chunk-H6PCGSIT.js} +21 -16
- package/dist/chunk-H6PCGSIT.js.map +1 -0
- package/dist/{chunk-WRSG7WU5.js → chunk-HJITFPBT.js} +78 -94
- package/dist/chunk-HJITFPBT.js.map +1 -0
- package/dist/{chunk-HECAAILV.js → chunk-HRVOTFU4.js} +24 -16
- package/dist/chunk-HRVOTFU4.js.map +1 -0
- package/dist/{chunk-O3V3BTIJ.js → chunk-HSW64H23.js} +54 -87
- package/dist/chunk-HSW64H23.js.map +1 -0
- package/dist/{chunk-YS5AIY4A.js → chunk-K5RV3GF4.js} +6 -5
- package/dist/chunk-K5RV3GF4.js.map +1 -0
- package/dist/{chunk-2WZVD7P3.js → chunk-KZZJAZ5M.js} +6 -5
- package/dist/chunk-KZZJAZ5M.js.map +1 -0
- package/dist/{chunk-6HGUDHHE.js → chunk-L5BU2QTI.js} +3 -5
- package/dist/chunk-L5BU2QTI.js.map +1 -0
- package/dist/{chunk-C5IGZLIT.js → chunk-LM6CJZX5.js} +8 -22
- package/dist/chunk-LM6CJZX5.js.map +1 -0
- package/dist/{chunk-RFHTC6AH.js → chunk-LXHOS74B.js} +16 -38
- package/dist/chunk-LXHOS74B.js.map +1 -0
- package/dist/{chunk-674JC24S.js → chunk-MZDAQSI4.js} +27 -28
- package/dist/chunk-MZDAQSI4.js.map +1 -0
- package/dist/{chunk-3PWILVOE.js → chunk-NHM6DZOF.js} +35 -50
- package/dist/chunk-NHM6DZOF.js.map +1 -0
- package/dist/chunk-NZHKNUGE.js +96 -0
- package/dist/chunk-NZHKNUGE.js.map +1 -0
- package/dist/{chunk-2PNLIQYM.js → chunk-ON76IMMI.js} +3 -3
- package/dist/chunk-ON76IMMI.js.map +1 -0
- package/dist/{chunk-POLVJ36Y.js → chunk-QNLTSHMB.js} +13 -38
- package/dist/chunk-QNLTSHMB.js.map +1 -0
- package/dist/{chunk-7UCNBMCV.js → chunk-QZ67UOPR.js} +13 -19
- package/dist/chunk-QZ67UOPR.js.map +1 -0
- package/dist/{chunk-NGYLRX6F.js → chunk-RAS6HUEI.js} +2 -2
- package/dist/chunk-RAS6HUEI.js.map +1 -0
- package/dist/{chunk-R3TLU26W.js → chunk-S7R4NTOI.js} +9 -7
- package/dist/chunk-S7R4NTOI.js.map +1 -0
- package/dist/{chunk-L5UYN5LX.js → chunk-SHUHAORE.js} +78 -44
- package/dist/chunk-SHUHAORE.js.map +1 -0
- package/dist/{chunk-SGRACNBP.js → chunk-STAYOHDI.js} +13 -5
- package/dist/chunk-STAYOHDI.js.map +1 -0
- package/dist/{chunk-ERRZ2CSG.js → chunk-SUNCSPDF.js} +45 -74
- package/dist/chunk-SUNCSPDF.js.map +1 -0
- package/dist/{chunk-YJOLLSHH.js → chunk-TS2PG6Z4.js} +42 -34
- package/dist/chunk-TS2PG6Z4.js.map +1 -0
- package/dist/{chunk-X3YNHX77.js → chunk-U3RHF7QF.js} +32 -33
- package/dist/chunk-U3RHF7QF.js.map +1 -0
- package/dist/{chunk-GVVP5TZM.js → chunk-UIVOI7HE.js} +231 -197
- package/dist/chunk-UIVOI7HE.js.map +1 -0
- package/dist/{chunk-D4SUSZDN.js → chunk-USHR3MWQ.js} +13 -13
- package/dist/chunk-USHR3MWQ.js.map +1 -0
- package/dist/{chunk-764UKE6X.js → chunk-VIK6UTVN.js} +7 -6
- package/dist/chunk-VIK6UTVN.js.map +1 -0
- package/dist/{chunk-HUXODBIO.js → chunk-VKY3JXAQ.js} +42 -101
- package/dist/chunk-VKY3JXAQ.js.map +1 -0
- package/dist/{chunk-FZSCLZF6.js → chunk-VV3VO5TS.js} +64 -101
- package/dist/chunk-VV3VO5TS.js.map +1 -0
- package/dist/{chunk-ZIYA7TGX.js → chunk-W5L7C7WS.js} +12 -22
- package/dist/chunk-W5L7C7WS.js.map +1 -0
- package/dist/{chunk-GOLARX5K.js → chunk-X3CNTOKQ.js} +13 -10
- package/dist/chunk-X3CNTOKQ.js.map +1 -0
- package/dist/{chunk-EHWXPH76.js → chunk-XKDN5PWJ.js} +8 -6
- package/dist/chunk-XKDN5PWJ.js.map +1 -0
- package/dist/{chunk-HCOTO5WX.js → chunk-XWCWTPEM.js} +7 -8
- package/dist/chunk-XWCWTPEM.js.map +1 -0
- package/dist/{chunk-BPRCBPVJ.js → chunk-YSV5GQS7.js} +55 -17
- package/dist/chunk-YSV5GQS7.js.map +1 -0
- package/dist/{chunk-6JGNJI5T.js → chunk-ZNNIXMJZ.js} +35 -21
- package/dist/chunk-ZNNIXMJZ.js.map +1 -0
- package/dist/{chunk-CN74CNAN.js → chunk-ZZZGD5EF.js} +8 -22
- package/dist/chunk-ZZZGD5EF.js.map +1 -0
- package/dist/clipboard/index.d.ts.map +1 -1
- package/dist/clipboard/index.js +4 -4
- package/dist/clipboard/types.d.ts +2 -35
- package/dist/clipboard/types.d.ts.map +1 -1
- package/dist/collapse/index.d.ts.map +1 -1
- package/dist/collapse/index.js +3 -3
- package/dist/collapse/types.d.ts +2 -35
- package/dist/collapse/types.d.ts.map +1 -1
- package/dist/command/index.d.ts +39 -66
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +3 -3
- package/dist/command/types.d.ts +2 -2
- package/dist/command/types.d.ts.map +1 -1
- package/dist/context-menu/index.d.ts +1 -45
- package/dist/context-menu/index.d.ts.map +1 -1
- package/dist/context-menu/index.js +4 -3
- package/dist/context-menu/types.d.ts +9 -63
- package/dist/context-menu/types.d.ts.map +1 -1
- package/dist/date-picker/index.d.ts.map +1 -1
- package/dist/date-picker/index.js +4 -4
- package/dist/date-picker/types.d.ts +2 -2
- package/dist/date-picker/types.d.ts.map +1 -1
- package/dist/descriptions/index.d.ts.map +1 -1
- package/dist/descriptions/index.js +2 -2
- package/dist/divider/index.d.ts.map +1 -1
- package/dist/divider/index.js +3 -2
- package/dist/divider/types.d.ts +0 -12
- package/dist/divider/types.d.ts.map +1 -1
- package/dist/drawer/index.d.ts +4 -1
- package/dist/drawer/index.d.ts.map +1 -1
- package/dist/drawer/index.js +2 -2
- package/dist/drawer/types.d.ts +2 -145
- package/dist/drawer/types.d.ts.map +1 -1
- package/dist/dropdown/index.d.ts.map +1 -1
- package/dist/dropdown/index.js +6 -5
- package/dist/dropdown/types.d.ts +2 -71
- package/dist/dropdown/types.d.ts.map +1 -1
- package/dist/empty/index.d.ts.map +1 -1
- package/dist/empty/index.js +2 -2
- package/dist/empty/types.d.ts +3 -40
- package/dist/empty/types.d.ts.map +1 -1
- package/dist/fetching-overlay/index.d.ts.map +1 -1
- package/dist/fetching-overlay/index.js +4 -4
- package/dist/float-input/index.d.ts.map +1 -1
- package/dist/float-input/index.js +4 -4
- package/dist/float-input/types.d.ts +5 -10
- package/dist/float-input/types.d.ts.map +1 -1
- package/dist/grid/index.d.ts +1 -1
- package/dist/grid/index.d.ts.map +1 -1
- package/dist/grid/index.js +2 -2
- package/dist/grid/types.d.ts +1 -9
- package/dist/grid/types.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useMenuNavigation.d.ts +18 -0
- package/dist/hooks/useMenuNavigation.d.ts.map +1 -0
- package/dist/image/index.d.ts.map +1 -1
- package/dist/image/index.js +2 -2
- package/dist/image/types.d.ts +2 -34
- package/dist/image/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +68 -67
- package/dist/index.js.map +1 -1
- package/dist/input/index.d.ts.map +1 -1
- package/dist/input/index.js +4 -4
- package/dist/input/types.d.ts +9 -4
- package/dist/input/types.d.ts.map +1 -1
- package/dist/input-group/index.d.ts.map +1 -1
- package/dist/input-group/index.js +2 -2
- package/dist/input-group/types.d.ts +7 -19
- package/dist/input-group/types.d.ts.map +1 -1
- package/dist/input-otp/index.d.ts.map +1 -1
- package/dist/input-otp/index.js +2 -2
- package/dist/input-otp/types.d.ts +3 -81
- package/dist/input-otp/types.d.ts.map +1 -1
- package/dist/input-password/index.d.ts.map +1 -1
- package/dist/input-password/index.js +5 -5
- package/dist/input-password/types.d.ts +0 -6
- package/dist/input-password/types.d.ts.map +1 -1
- package/dist/kbd/index.d.ts.map +1 -1
- package/dist/kbd/index.js +3 -3
- package/dist/kbd/types.d.ts +2 -17
- package/dist/kbd/types.d.ts.map +1 -1
- package/dist/link/index.d.ts +1 -1
- package/dist/link/index.d.ts.map +1 -1
- package/dist/link/index.js +2 -2
- package/dist/menubar/index.d.ts.map +1 -1
- package/dist/menubar/index.js +5 -4
- package/dist/modal/index.d.ts.map +1 -1
- package/dist/modal/index.js +2 -2
- package/dist/modal/types.d.ts +2 -44
- package/dist/modal/types.d.ts.map +1 -1
- package/dist/multi-select/index.d.ts.map +1 -1
- package/dist/multi-select/index.js +7 -6
- package/dist/multi-select/types.d.ts +2 -34
- package/dist/multi-select/types.d.ts.map +1 -1
- package/dist/navigation-menu/index.js +2 -2
- package/dist/notification/index.d.ts.map +1 -1
- package/dist/notification/index.js +3 -3
- package/dist/notification/types.d.ts +2 -62
- package/dist/notification/types.d.ts.map +1 -1
- package/dist/number-input/index.d.ts.map +1 -1
- package/dist/number-input/index.js +5 -5
- package/dist/number-input/types.d.ts +5 -2
- package/dist/number-input/types.d.ts.map +1 -1
- package/dist/pagination/index.d.ts.map +1 -1
- package/dist/pagination/index.js +4 -3
- package/dist/pagination/types.d.ts +3 -53
- package/dist/pagination/types.d.ts.map +1 -1
- package/dist/popover/index.d.ts +1 -1
- package/dist/popover/index.d.ts.map +1 -1
- package/dist/popover/index.js +3 -3
- package/dist/popover/types.d.ts +3 -17
- package/dist/popover/types.d.ts.map +1 -1
- package/dist/progress/index.d.ts.map +1 -1
- package/dist/progress/index.js +3 -2
- package/dist/progress/styles.d.ts +4 -5
- package/dist/progress/styles.d.ts.map +1 -1
- package/dist/progress/types.d.ts +2 -44
- package/dist/progress/types.d.ts.map +1 -1
- package/dist/radio/index.d.ts.map +1 -1
- package/dist/radio/index.js +3 -3
- package/dist/radio/types.d.ts +2 -2
- package/dist/radio/types.d.ts.map +1 -1
- package/dist/radio-group/index.d.ts.map +1 -1
- package/dist/radio-group/index.js +2 -2
- package/dist/radio-group/types.d.ts +0 -24
- package/dist/radio-group/types.d.ts.map +1 -1
- package/dist/rating/index.d.ts.map +1 -1
- package/dist/rating/index.js +2 -2
- package/dist/rating/types.d.ts +2 -2
- package/dist/rating/types.d.ts.map +1 -1
- package/dist/scroll-area/index.d.ts.map +1 -1
- package/dist/scroll-area/index.js +2 -2
- package/dist/select/index.d.ts.map +1 -1
- package/dist/select/index.js +7 -6
- package/dist/select/types.d.ts +8 -3
- package/dist/select/types.d.ts.map +1 -1
- package/dist/shared/useSelectBase.d.ts +4 -2
- package/dist/shared/useSelectBase.d.ts.map +1 -1
- package/dist/skeleton/index.d.ts.map +1 -1
- package/dist/skeleton/index.js +3 -3
- package/dist/skeleton/types.d.ts +1 -1
- package/dist/skeleton/types.d.ts.map +1 -1
- package/dist/slider/index.d.ts.map +1 -1
- package/dist/slider/index.js +3 -2
- package/dist/slider/types.d.ts +2 -36
- package/dist/slider/types.d.ts.map +1 -1
- package/dist/spinner/index.d.ts +2 -1
- package/dist/spinner/index.d.ts.map +1 -1
- package/dist/spinner/index.js +3 -3
- package/dist/spinner/types.d.ts +1 -1
- package/dist/spinner/types.d.ts.map +1 -1
- package/dist/stepper/index.d.ts.map +1 -1
- package/dist/stepper/index.js +3 -2
- package/dist/stepper/types.d.ts +3 -2
- package/dist/stepper/types.d.ts.map +1 -1
- package/dist/switch/index.d.ts.map +1 -1
- package/dist/switch/index.js +3 -3
- package/dist/switch/types.d.ts +2 -31
- package/dist/switch/types.d.ts.map +1 -1
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +11 -11
- package/dist/table/types.d.ts +2 -2
- package/dist/table/types.d.ts.map +1 -1
- package/dist/tabs/index.d.ts.map +1 -1
- package/dist/tabs/index.js +3 -3
- package/dist/tabs/types.d.ts +3 -53
- package/dist/tabs/types.d.ts.map +1 -1
- package/dist/tag/index.d.ts +1 -1
- package/dist/tag/index.d.ts.map +1 -1
- package/dist/tag/index.js +3 -3
- package/dist/tag/types.d.ts +1 -1
- package/dist/tag/types.d.ts.map +1 -1
- package/dist/textarea/index.d.ts.map +1 -1
- package/dist/textarea/index.js +2 -2
- package/dist/textarea/types.d.ts +3 -54
- package/dist/textarea/types.d.ts.map +1 -1
- package/dist/theme/types.d.ts +0 -12
- package/dist/theme/types.d.ts.map +1 -1
- package/dist/timeline/index.d.ts.map +1 -1
- package/dist/timeline/index.js +2 -2
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toast/index.js +3 -3
- package/dist/toast/types.d.ts +0 -6
- package/dist/toast/types.d.ts.map +1 -1
- package/dist/toggle/index.d.ts.map +1 -1
- package/dist/toggle/index.js +4 -3
- package/dist/toggle/types.d.ts +3 -26
- package/dist/toggle/types.d.ts.map +1 -1
- package/dist/toggle-group/index.d.ts.map +1 -1
- package/dist/toggle-group/index.js +4 -3
- package/dist/toggle-group/types.d.ts +3 -44
- package/dist/toggle-group/types.d.ts.map +1 -1
- package/dist/tooltip/index.d.ts.map +1 -1
- package/dist/tooltip/index.js +3 -3
- package/dist/tooltip/types.d.ts +2 -44
- package/dist/tooltip/types.d.ts.map +1 -1
- package/dist/transfer/index.d.ts.map +1 -1
- package/dist/transfer/index.js +4 -4
- package/dist/transfer/types.d.ts +0 -20
- package/dist/transfer/types.d.ts.map +1 -1
- package/dist/transfer/utils.d.ts.map +1 -1
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +2 -2
- package/dist/tree/types.d.ts +2 -73
- package/dist/tree/types.d.ts.map +1 -1
- package/dist/tree-select/index.d.ts.map +1 -1
- package/dist/tree-select/index.js +5 -5
- package/dist/tree-select/types.d.ts +3 -91
- package/dist/tree-select/types.d.ts.map +1 -1
- package/dist/types.d.ts +1 -35
- package/dist/types.d.ts.map +1 -1
- package/dist/upload/index.d.ts.map +1 -1
- package/dist/upload/index.js +3 -3
- package/dist/upload/types.d.ts +5 -32
- package/dist/upload/types.d.ts.map +1 -1
- package/dist/upload/utils.d.ts +1 -0
- package/dist/upload/utils.d.ts.map +1 -1
- package/dist/utils.d.ts +0 -39
- package/dist/utils.d.ts.map +1 -1
- package/dist/variants.d.ts +3 -314
- package/dist/variants.d.ts.map +1 -1
- package/package.json +1 -1
- package/styles/global.css +300 -977
- package/dist/chunk-2PNLIQYM.js.map +0 -1
- package/dist/chunk-2TLOWZE4.js.map +0 -1
- package/dist/chunk-2WZVD7P3.js.map +0 -1
- package/dist/chunk-3BIV3QE2.js.map +0 -1
- package/dist/chunk-3BZE6BBJ.js.map +0 -1
- package/dist/chunk-3PWILVOE.js.map +0 -1
- package/dist/chunk-4FFVNUTK.js.map +0 -1
- package/dist/chunk-64NHVOZS.js.map +0 -1
- package/dist/chunk-674JC24S.js.map +0 -1
- package/dist/chunk-6BAP6QUT.js +0 -72
- package/dist/chunk-6BAP6QUT.js.map +0 -1
- package/dist/chunk-6G3BMY4N.js.map +0 -1
- package/dist/chunk-6HGUDHHE.js.map +0 -1
- package/dist/chunk-6JGNJI5T.js.map +0 -1
- package/dist/chunk-6LYRMQOI.js.map +0 -1
- package/dist/chunk-6YOOKE6C.js +0 -138
- package/dist/chunk-6YOOKE6C.js.map +0 -1
- package/dist/chunk-764UKE6X.js.map +0 -1
- package/dist/chunk-7UCNBMCV.js.map +0 -1
- package/dist/chunk-BPRCBPVJ.js.map +0 -1
- package/dist/chunk-BVO2BNFG.js.map +0 -1
- package/dist/chunk-C5IGZLIT.js.map +0 -1
- package/dist/chunk-CN74CNAN.js.map +0 -1
- package/dist/chunk-D4SUSZDN.js.map +0 -1
- package/dist/chunk-DUIL5BYS.js.map +0 -1
- package/dist/chunk-EHWXPH76.js.map +0 -1
- package/dist/chunk-ERRZ2CSG.js.map +0 -1
- package/dist/chunk-EZGK67T6.js +0 -383
- package/dist/chunk-EZGK67T6.js.map +0 -1
- package/dist/chunk-FZSCLZF6.js.map +0 -1
- package/dist/chunk-G6NVGBYZ.js.map +0 -1
- package/dist/chunk-GJPZOMFE.js.map +0 -1
- package/dist/chunk-GOLARX5K.js.map +0 -1
- package/dist/chunk-GVVP5TZM.js.map +0 -1
- package/dist/chunk-H6G4BUPA.js.map +0 -1
- package/dist/chunk-HCOTO5WX.js.map +0 -1
- package/dist/chunk-HECAAILV.js.map +0 -1
- package/dist/chunk-HUXODBIO.js.map +0 -1
- package/dist/chunk-I32ZQUYY.js.map +0 -1
- package/dist/chunk-JWTWPZ32.js.map +0 -1
- package/dist/chunk-KH577UDI.js.map +0 -1
- package/dist/chunk-KJTMZJ7V.js.map +0 -1
- package/dist/chunk-L5UYN5LX.js.map +0 -1
- package/dist/chunk-LOYLJRCF.js.map +0 -1
- package/dist/chunk-LX4FDH4J.js.map +0 -1
- package/dist/chunk-N2WHJ3FI.js.map +0 -1
- package/dist/chunk-NGYLRX6F.js.map +0 -1
- package/dist/chunk-O3V3BTIJ.js.map +0 -1
- package/dist/chunk-OLTQAMV2.js.map +0 -1
- package/dist/chunk-ON2CMF6J.js.map +0 -1
- package/dist/chunk-ONGJXAYQ.js.map +0 -1
- package/dist/chunk-OQFYIKWR.js.map +0 -1
- package/dist/chunk-POLVJ36Y.js.map +0 -1
- package/dist/chunk-POXI7JJ4.js +0 -351
- package/dist/chunk-POXI7JJ4.js.map +0 -1
- package/dist/chunk-R3TLU26W.js.map +0 -1
- package/dist/chunk-RFHTC6AH.js.map +0 -1
- package/dist/chunk-ROA7BYGB.js.map +0 -1
- package/dist/chunk-SGRACNBP.js.map +0 -1
- package/dist/chunk-TLNHWOQQ.js.map +0 -1
- package/dist/chunk-UTWQ2FZK.js.map +0 -1
- package/dist/chunk-VOODO2ZE.js.map +0 -1
- package/dist/chunk-WRSG7WU5.js.map +0 -1
- package/dist/chunk-X3YNHX77.js.map +0 -1
- package/dist/chunk-Y4XAXZHB.js.map +0 -1
- package/dist/chunk-YJOLLSHH.js.map +0 -1
- package/dist/chunk-YS5AIY4A.js.map +0 -1
- package/dist/chunk-YXLIGJTN.js.map +0 -1
- package/dist/chunk-ZIYA7TGX.js.map +0 -1
- package/dist/chunk-ZJNGZCRB.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/input-group/index.tsx"],"names":[],"mappings":"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","file":"chunk-3YP7HY3Y.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport React, { memo } from \"react\";\n\nimport { cn } from \"../utils\";\nimport type {\n InputGroupAddonProps,\n InputGroupClassNames,\n InputGroupInputProps,\n InputGroupProps,\n InputGroupSize,\n} from \"./types\";\n\nconst inputGroupVariants = cva(\n \"relative flex items-center w-full bg-background border border-border rounded-md transition-colors focus-within:border-primary\",\n {\n variants: {\n size: {\n xs: \"h-(--input-height-xs)\",\n sm: \"h-(--input-height-sm)\",\n md: \"h-(--input-height-md)\",\n lg: \"h-(--input-height-lg)\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\nconst inputGroupInputVariants = cva(\n \"flex-1 w-full h-full bg-transparent outline-none text-text-primary placeholder:text-text-secondary/50 disabled:opacity-50 disabled:cursor-not-allowed read-only:cursor-default\",\n {\n variants: {\n size: {\n xs: \"px-(--input-padding-x-xs) text-xs\",\n sm: \"px-(--input-padding-x-sm) text-sm\",\n md: \"px-(--input-padding-x-md) text-base\",\n lg: \"px-(--input-padding-x-lg) text-lg\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\nconst inputGroupAddonVariants = cva(\n \"flex items-center gap-2 text-text-secondary shrink-0\",\n {\n variants: {\n size: {\n xs: \"last:pr-2 pl-2 text-xs\",\n sm: \"last:pr-2.5 pl-2.5 text-sm\",\n md: \"last:pr-3 pl-3 text-base\",\n lg: \"last:pr-4 pl-4 text-lg\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\nconst InputGroup = memo<InputGroupProps>(\n ({ children, size = \"md\", className, classNames, 'aria-label': ariaLabel }) => {\n return (\n <div\n data-slot=\"inputGroup_root\"\n className={cn(\n \"inputGroup_root\",\n inputGroupVariants({ size }),\n classNames?.root,\n className,\n )}\n aria-label={ariaLabel}\n >\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n const displayName = (child.type as { displayName?: string })\n ?.displayName;\n if (\n displayName === \"InputGroupInput\" ||\n displayName === \"InputGroupAddon\"\n ) {\n return React.cloneElement(\n child as React.ReactElement<{\n size?: InputGroupSize;\n classNames?: InputGroupClassNames;\n }>,\n { size, classNames },\n );\n }\n }\n return child;\n })}\n </div>\n );\n },\n);\n\nInputGroup.displayName = \"InputGroup\";\n\nexport const InputGroupInput = memo<InputGroupInputProps>(\n ({ className, size = \"md\", classNames, ref, ...props }) => {\n return (\n <input\n ref={ref}\n data-slot=\"inputGroup_input\"\n className={cn(\n \"inputGroup_input\",\n inputGroupInputVariants({ size }),\n classNames?.input,\n className,\n )}\n {...props}\n />\n );\n },\n);\n\nInputGroupInput.displayName = \"InputGroupInput\";\n\nexport const InputGroupAddon = memo<InputGroupAddonProps>(\n ({ children, size = \"md\", className, classNames }) => {\n return (\n <div\n data-slot=\"inputGroup_addon\"\n className={cn(\n \"inputGroup_addon\",\n inputGroupAddonVariants({ size }),\n classNames?.addon,\n className,\n )}\n >\n {children}\n </div>\n );\n },\n);\n\nInputGroupAddon.displayName = \"InputGroupAddon\";\n\nexport type { InputGroupClassNames } from \"./types\";\nexport type * from \"./types\";\nexport default InputGroup;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { colorVars } from './chunk-GLJDHW73.js';
|
|
2
|
+
import { cn } from './chunk-RAS6HUEI.js';
|
|
3
3
|
import { cva } from 'class-variance-authority';
|
|
4
4
|
import { Loader2, X, Info, AlertTriangle, AlertCircle, CheckCircle2 } from 'lucide-react';
|
|
5
5
|
import React, { createContext, useCallback, useMemo, useContext } from 'react';
|
|
@@ -11,28 +11,13 @@ var toastVariants = cva(
|
|
|
11
11
|
{
|
|
12
12
|
variants: {
|
|
13
13
|
variant: {
|
|
14
|
-
default: "",
|
|
15
|
-
solid: "",
|
|
16
|
-
outline: "border-2",
|
|
17
|
-
soft: "backdrop-blur-[5px] will-change-[backdrop-filter]"
|
|
14
|
+
default: "bg-slot border border-slot text-slot-fg",
|
|
15
|
+
solid: "bg-slot text-slot-fg",
|
|
16
|
+
outline: "bg-background border-2 border-slot border-l-4 border-l-slot text-slot",
|
|
17
|
+
soft: "bg-slot-10 border-l-4 border-l-slot text-slot backdrop-blur-[5px] will-change-[backdrop-filter]"
|
|
18
18
|
},
|
|
19
|
-
color:
|
|
20
|
-
default: "",
|
|
21
|
-
primary: "",
|
|
22
|
-
secondary: "",
|
|
23
|
-
accent: "",
|
|
24
|
-
success: "",
|
|
25
|
-
error: "",
|
|
26
|
-
warning: "",
|
|
27
|
-
info: ""
|
|
28
|
-
}
|
|
19
|
+
color: colorVars
|
|
29
20
|
},
|
|
30
|
-
compoundVariants: createNotificationColorVariants(componentColors, [
|
|
31
|
-
"default",
|
|
32
|
-
"solid",
|
|
33
|
-
"outline",
|
|
34
|
-
"soft"
|
|
35
|
-
]),
|
|
36
21
|
defaultVariants: {
|
|
37
22
|
variant: "soft",
|
|
38
23
|
color: "default"
|
|
@@ -206,5 +191,5 @@ var useToast = () => {
|
|
|
206
191
|
};
|
|
207
192
|
|
|
208
193
|
export { ToastProvider, useToast };
|
|
209
|
-
//# sourceMappingURL=chunk-
|
|
210
|
-
//# sourceMappingURL=chunk-
|
|
194
|
+
//# sourceMappingURL=chunk-442OQLPK.js.map
|
|
195
|
+
//# sourceMappingURL=chunk-442OQLPK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/toast/index.tsx"],"names":["sonnerToast","toast"],"mappings":"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","file":"chunk-442OQLPK.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport {\n AlertCircle,\n AlertTriangle,\n CheckCircle2,\n Info,\n Loader2,\n X,\n} from \"lucide-react\";\nimport React, { useCallback, useContext, createContext, useMemo } from \"react\";\nimport { Toaster, toast as sonnerToast } from \"sonner\";\n\nimport { cn } from \"../utils\";\nimport { colorVars } from \"../variants\";\nimport type {\n ToastContextValue,\n ToastOptions,\n ToastProviderProps,\n} from \"./types\";\n\n/**\n * Toast CVA — reuses the shared notification color variant system\n */\nconst toastVariants = cva(\n \"relative flex items-start gap-3 rounded-lg p-3 text-sm w-full min-w-[300px]\",\n {\n variants: {\n variant: {\n default: 'bg-slot border border-slot text-slot-fg',\n solid: 'bg-slot text-slot-fg',\n outline: 'bg-background border-2 border-slot border-l-4 border-l-slot text-slot',\n soft: 'bg-slot-10 border-l-4 border-l-slot text-slot backdrop-blur-[5px] will-change-[backdrop-filter]',\n },\n color: colorVars,\n },\n defaultVariants: {\n variant: \"soft\",\n color: \"default\",\n },\n },\n);\n\n/**\n * Default icons per semantic color\n */\nconst defaultIcons: Partial<Record<string, React.ReactElement>> = {\n success: <CheckCircle2 className=\"w-5 h-5\" />,\n error: <AlertCircle className=\"w-5 h-5\" />,\n warning: <AlertTriangle className=\"w-5 h-5\" />,\n info: <Info className=\"w-5 h-5\" />,\n};\n\n/**\n * Internal toast renderer — styled with our CVA system\n */\nconst ToastRenderer = ({\n id,\n options,\n}: {\n id: string | number;\n options: Omit<ToastOptions, \"duration\"> & { loading?: boolean };\n}) => {\n const variant = options.variant ?? \"default\";\n const color = options.color ?? \"default\";\n const closable = options.closable ?? !options.loading;\n const icon = options.loading ? (\n <Loader2 className=\"w-5 h-5 animate-spin\" />\n ) : options.icon !== undefined ? (\n options.icon\n ) : (\n defaultIcons[color]\n );\n\n return (\n <div className={cn(toastVariants({ variant, color }))}>\n {icon && <div className=\"shrink-0 mt-0.5\">{icon}</div>}\n <div className=\"flex-1 min-w-0\">\n {options.title && <div className=\"font-semibold\">{options.title}</div>}\n {options.description && (\n <div className=\"opacity-90 mt-0.5\">{options.description}</div>\n )}\n {options.action && (\n <button\n type=\"button\"\n onClick={options.action.onClick}\n className=\"mt-2 text-sm font-medium underline hover:no-underline\"\n >\n {options.action.label}\n </button>\n )}\n </div>\n {closable && (\n <button\n type=\"button\"\n onClick={() => sonnerToast.dismiss(id)}\n className=\"shrink-0 rounded-sm opacity-70 hover:opacity-100 transition-opacity\"\n aria-label=\"Close\"\n >\n <X className=\"w-4 h-4\" aria-hidden=\"true\" />\n </button>\n )}\n </div>\n );\n};\n\n/**\n * Fire a toast with custom renderer\n */\nconst fireToast = (options: ToastOptions): string | number =>\n sonnerToast.custom((id) => <ToastRenderer id={id} options={options} />, {\n duration: options.duration === 0 ? Infinity : options.duration,\n dismissible: options.closable ?? true,\n onDismiss: options.onClose,\n }) as string | number;\n\n/**\n * Toast Context\n */\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\n/**\n * Toast Provider — Sonner handles positioning/stacking, we handle rendering\n */\nexport const ToastProvider = React.memo<ToastProviderProps>(\n ({\n children,\n position = \"top-right\",\n maxToasts = 5,\n offset = 16,\n theme = \"system\",\n closeButton = false,\n duration = 5000,\n className,\n }) => {\n const toast = useCallback(\n (options: ToastOptions): string | number => fireToast(options),\n [],\n );\n\n const success = useCallback(\n (title: string, description?: string): string | number =>\n fireToast({ title, description, color: \"success\" }),\n [],\n );\n\n const error = useCallback(\n (title: string, description?: string): string | number =>\n fireToast({ title, description, color: \"error\" }),\n [],\n );\n\n const warning = useCallback(\n (title: string, description?: string): string | number =>\n fireToast({ title, description, color: \"warning\" }),\n [],\n );\n\n const info = useCallback(\n (title: string, description?: string): string | number =>\n fireToast({ title, description, color: \"info\" }),\n [],\n );\n\n const promise = useCallback(\n <T,>(\n p: Promise<T>,\n opts: {\n loading: string;\n success: string | ((data: T) => string);\n error: string | ((err: unknown) => string);\n },\n ): string | number => {\n const id = sonnerToast.custom((tid) => (\n <ToastRenderer\n id={tid}\n options={{ title: opts.loading, loading: true }}\n />\n )) as string | number;\n\n p.then((data) => {\n sonnerToast.custom(\n (tid) => (\n <ToastRenderer\n id={tid}\n options={{\n title:\n typeof opts.success === \"function\"\n ? opts.success(data)\n : opts.success,\n color: \"success\",\n }}\n />\n ),\n { id },\n );\n }).catch((err) => {\n sonnerToast.custom(\n (tid) => (\n <ToastRenderer\n id={tid}\n options={{\n title:\n typeof opts.error === \"function\"\n ? opts.error(err)\n : opts.error,\n color: \"error\",\n }}\n />\n ),\n { id },\n );\n });\n\n return id;\n },\n [],\n );\n\n const dismiss = useCallback((id: string | number) => {\n sonnerToast.dismiss(id);\n }, []);\n\n const dismissAll = useCallback(() => {\n sonnerToast.dismiss();\n }, []);\n\n const contextValue = useMemo<ToastContextValue>(\n () => ({\n toast,\n success,\n error,\n warning,\n info,\n promise,\n dismiss,\n dismissAll,\n }),\n [toast, success, error, warning, info, promise, dismiss, dismissAll],\n );\n\n return (\n <ToastContext.Provider value={contextValue}>\n {children}\n <Toaster\n position={position}\n visibleToasts={maxToasts}\n offset={offset}\n theme={theme}\n closeButton={closeButton}\n duration={duration}\n className={className}\n toastOptions={{ unstyled: true }}\n />\n </ToastContext.Provider>\n );\n },\n);\n\nToastProvider.displayName = \"ToastProvider\";\n\n/**\n * useToast Hook\n */\nexport const useToast = (): ToastContextValue => {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error(\"useToast must be used within a ToastProvider\");\n }\n return context;\n};\n\nexport type * from \"./types\";\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-RAS6HUEI.js';
|
|
2
2
|
import { useState, useRef, useCallback } from 'react';
|
|
3
3
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
4
4
|
|
|
@@ -70,5 +70,5 @@ var RippleContainer = ({ ripples, className, onAnimationEnd }) => {
|
|
|
70
70
|
};
|
|
71
71
|
|
|
72
72
|
export { RippleContainer, useRipple };
|
|
73
|
-
//# sourceMappingURL=chunk-
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
73
|
+
//# sourceMappingURL=chunk-4TEZWGX7.js.map
|
|
74
|
+
//# sourceMappingURL=chunk-4TEZWGX7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useRipple.tsx"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useRipple.tsx"],"names":[],"mappings":"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","file":"chunk-4TEZWGX7.js","sourcesContent":["import React, { useCallback, useRef, useState } from 'react'\n\nimport { cn } from '../utils'\n\ninterface RippleEntry {\n key: number\n x: number\n y: number\n size: number\n}\n\n/**\n * Lightweight ripple effect hook — GPU-composited (transform + opacity only).\n * Returns ripple state and handlers to attach to any interactive element.\n *\n * Animation uses only `transform: scale()` and `opacity` for 60fps performance.\n */\nexport function useRipple(enabled: boolean) {\n const [ripples, setRipples] = useState<RippleEntry[]>([])\n const counter = useRef(0)\n\n const onPointerDown = useCallback(\n (e: React.PointerEvent<HTMLElement>) => {\n if (!enabled) return\n\n const el = e.currentTarget\n const rect = el.getBoundingClientRect()\n const size = Math.max(rect.width, rect.height) * 2\n const x = e.clientX - rect.left - size / 2\n const y = e.clientY - rect.top - size / 2\n\n const key = ++counter.current\n setRipples((prev) => [...prev, { key, x, y, size }])\n },\n [enabled],\n )\n\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n if (!enabled) return\n if (e.key !== 'Enter' && e.key !== ' ') return\n\n const el = e.currentTarget\n const rect = el.getBoundingClientRect()\n const size = Math.max(rect.width, rect.height) * 2\n // For keyboard events, center the ripple\n const x = rect.width / 2 - size / 2\n const y = rect.height / 2 - size / 2\n\n const key = ++counter.current\n setRipples((prev) => [...prev, { key, x, y, size }])\n },\n [enabled],\n )\n\n const onAnimationEnd = useCallback((key: number) => {\n setRipples((prev) => prev.filter((r) => r.key !== key))\n }, [])\n\n return { ripples, onPointerDown, onKeyDown, onAnimationEnd } as const\n}\n\n// GPU-only animation (transform + opacity) — shared ripple span\nconst RippleSpan: React.FC<{\n x: number\n y: number\n size: number\n className?: string\n onAnimationEnd: () => void\n}> = ({ x, y, size, className, onAnimationEnd }) => (\n <span\n className={cn(\n 'absolute rounded-full bg-current opacity-25 pointer-events-none animate-[ripple_600ms_ease-out_forwards]',\n className,\n )}\n style={{\n left: x,\n top: y,\n width: size,\n height: size,\n }}\n onAnimationEnd={onAnimationEnd}\n aria-hidden=\"true\"\n />\n)\n\n/**\n * Renders all active ripple spans. Drop this inside any `relative overflow-hidden` element.\n */\nexport const RippleContainer: React.FC<{\n ripples: RippleEntry[]\n className?: string\n onAnimationEnd: (key: number) => void\n}> = ({ ripples, className, onAnimationEnd }) => {\n if (ripples.length === 0) return null\n return (\n <>\n {ripples.map((r) => (\n <RippleSpan\n key={r.key}\n x={r.x}\n y={r.y}\n size={r.size}\n className={className}\n onAnimationEnd={() => onAnimationEnd(r.key)}\n />\n ))}\n </>\n )\n}\n"]}
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
import { colorVars } from './chunk-GLJDHW73.js';
|
|
2
|
+
import { cn, iconSizes } from './chunk-RAS6HUEI.js';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { ChevronDown } from 'lucide-react';
|
|
5
|
+
import React, { useRef, useCallback, useLayoutEffect, useId, useState } from 'react';
|
|
6
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var accordionContainerVariants = cva("w-full", {
|
|
9
|
+
variants: {
|
|
10
|
+
variant: {
|
|
11
|
+
default: "space-y-0 divide-y divide-border rounded-lg overflow-hidden",
|
|
12
|
+
solid: "space-y-0 divide-y divide-border/50 rounded-lg overflow-hidden",
|
|
13
|
+
soft: "space-y-0 divide-y divide-border/30 rounded-lg overflow-hidden",
|
|
14
|
+
bordered: "space-y-0 divide-y border border-slot rounded-lg overflow-hidden",
|
|
15
|
+
splitted: "space-y-2"
|
|
16
|
+
},
|
|
17
|
+
color: colorVars,
|
|
18
|
+
showDivider: {
|
|
19
|
+
true: "",
|
|
20
|
+
false: ""
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
compoundVariants: [
|
|
24
|
+
{ variant: "default", showDivider: false, class: "divide-y-0" },
|
|
25
|
+
{ variant: "solid", showDivider: false, class: "divide-y-0" },
|
|
26
|
+
{ variant: "soft", showDivider: false, class: "divide-y-0" },
|
|
27
|
+
{ variant: "bordered", showDivider: false, class: "divide-y-0" },
|
|
28
|
+
{ variant: "bordered", color: "default", class: "divide-border" }
|
|
29
|
+
],
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
variant: "default",
|
|
32
|
+
color: "default",
|
|
33
|
+
showDivider: true
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
var accordionItemVariants = cva("", {
|
|
37
|
+
variants: {
|
|
38
|
+
variant: {
|
|
39
|
+
default: "bg-transparent",
|
|
40
|
+
solid: "bg-slot text-slot-fg",
|
|
41
|
+
soft: "bg-slot-10",
|
|
42
|
+
bordered: "bg-transparent border-slot-20",
|
|
43
|
+
splitted: "border rounded-lg overflow-hidden border-slot"
|
|
44
|
+
},
|
|
45
|
+
color: colorVars
|
|
46
|
+
},
|
|
47
|
+
compoundVariants: [
|
|
48
|
+
{ variant: "soft", color: "default", class: "bg-surface/50" },
|
|
49
|
+
{ variant: "bordered", color: "default", class: "border-border" }
|
|
50
|
+
],
|
|
51
|
+
defaultVariants: {
|
|
52
|
+
variant: "default",
|
|
53
|
+
color: "default"
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
var accordionHeaderVariants = cva(
|
|
57
|
+
[
|
|
58
|
+
"flex items-center w-full text-left font-medium touch-manipulation",
|
|
59
|
+
"focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:ring-slot",
|
|
60
|
+
"disabled:opacity-50 disabled:cursor-not-allowed"
|
|
61
|
+
],
|
|
62
|
+
{
|
|
63
|
+
variants: {
|
|
64
|
+
size: {
|
|
65
|
+
xs: "px-(--accordion-padding-x-xs) py-(--accordion-padding-y-xs) text-xs gap-2",
|
|
66
|
+
sm: "px-(--accordion-padding-x-sm) py-(--accordion-padding-y-sm) text-sm gap-2",
|
|
67
|
+
md: "px-(--accordion-padding-x-md) py-(--accordion-padding-y-md) text-base gap-3",
|
|
68
|
+
lg: "px-(--accordion-padding-x-lg) py-(--accordion-padding-y-lg) text-lg gap-3"
|
|
69
|
+
},
|
|
70
|
+
color: colorVars,
|
|
71
|
+
disabled: {
|
|
72
|
+
true: "cursor-not-allowed",
|
|
73
|
+
false: "cursor-pointer hover:bg-surface/50"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
defaultVariants: {
|
|
77
|
+
size: "md",
|
|
78
|
+
color: "default",
|
|
79
|
+
disabled: false
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
);
|
|
83
|
+
var accordionContentVariants = cva("text-text-secondary", {
|
|
84
|
+
variants: {
|
|
85
|
+
size: {
|
|
86
|
+
xs: "px-(--accordion-padding-x-xs) pb-(--accordion-padding-y-xs) text-xs",
|
|
87
|
+
sm: "px-(--accordion-padding-x-sm) pb-(--accordion-padding-y-sm) text-sm",
|
|
88
|
+
md: "px-(--accordion-padding-x-md) pb-(--accordion-padding-y-md) text-base",
|
|
89
|
+
lg: "px-(--accordion-padding-x-lg) pb-(--accordion-padding-y-lg) text-lg"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
defaultVariants: {
|
|
93
|
+
size: "md"
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
var getIconColor = (_color, isExpanded) => {
|
|
97
|
+
if (!isExpanded) return "text-text-secondary";
|
|
98
|
+
return "text-slot";
|
|
99
|
+
};
|
|
100
|
+
var AccordionItemComponent = React.memo(
|
|
101
|
+
({
|
|
102
|
+
item,
|
|
103
|
+
isActive: isItemActive,
|
|
104
|
+
baseId,
|
|
105
|
+
size,
|
|
106
|
+
color,
|
|
107
|
+
variant,
|
|
108
|
+
isSolidColored,
|
|
109
|
+
expandIcon,
|
|
110
|
+
expandIconPosition,
|
|
111
|
+
destroyOnClose,
|
|
112
|
+
onToggle,
|
|
113
|
+
classNames,
|
|
114
|
+
itemClassName
|
|
115
|
+
}) => {
|
|
116
|
+
const headerId = `${baseId}-header-${item.key}`;
|
|
117
|
+
const panelId = `${baseId}-panel-${item.key}`;
|
|
118
|
+
const panelRef = useRef(null);
|
|
119
|
+
const contentRef = useRef(null);
|
|
120
|
+
const prevActiveRef = useRef(isItemActive);
|
|
121
|
+
const cachedHeightRef = useRef(0);
|
|
122
|
+
const animRef = useRef(null);
|
|
123
|
+
const handlePointerEnter = useCallback(() => {
|
|
124
|
+
if (contentRef.current) {
|
|
125
|
+
cachedHeightRef.current = contentRef.current.scrollHeight;
|
|
126
|
+
}
|
|
127
|
+
}, []);
|
|
128
|
+
useLayoutEffect(() => {
|
|
129
|
+
if (panelRef.current) {
|
|
130
|
+
panelRef.current.style.height = isItemActive ? "auto" : "0";
|
|
131
|
+
}
|
|
132
|
+
}, []);
|
|
133
|
+
useLayoutEffect(() => {
|
|
134
|
+
const panel = panelRef.current;
|
|
135
|
+
const content = contentRef.current;
|
|
136
|
+
if (!panel || !content) return;
|
|
137
|
+
const wasActive = prevActiveRef.current;
|
|
138
|
+
prevActiveRef.current = isItemActive;
|
|
139
|
+
if (isItemActive === wasActive) return;
|
|
140
|
+
if (animRef.current) animRef.current.cancel();
|
|
141
|
+
const height = cachedHeightRef.current || content.scrollHeight;
|
|
142
|
+
cachedHeightRef.current = 0;
|
|
143
|
+
const prefersReducedMotion = typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;
|
|
144
|
+
const duration = prefersReducedMotion ? 0 : 200;
|
|
145
|
+
const anim = panel.animate(
|
|
146
|
+
isItemActive ? [{ height: "0px" }, { height: `${height}px` }] : [{ height: `${height}px` }, { height: "0px" }],
|
|
147
|
+
{ duration, easing: "ease-out", fill: "forwards" }
|
|
148
|
+
);
|
|
149
|
+
anim.onfinish = () => {
|
|
150
|
+
panel.style.height = isItemActive ? "auto" : "0";
|
|
151
|
+
anim.cancel();
|
|
152
|
+
};
|
|
153
|
+
animRef.current = anim;
|
|
154
|
+
}, [isItemActive]);
|
|
155
|
+
const renderExpandIcon = (isExpanded) => {
|
|
156
|
+
if (expandIcon === false) return null;
|
|
157
|
+
if (typeof expandIcon === "function") {
|
|
158
|
+
return expandIcon(isExpanded);
|
|
159
|
+
}
|
|
160
|
+
if (expandIcon) {
|
|
161
|
+
return /* @__PURE__ */ jsx(
|
|
162
|
+
"span",
|
|
163
|
+
{
|
|
164
|
+
className: cn(
|
|
165
|
+
"shrink-0 transition-transform duration-300",
|
|
166
|
+
isExpanded && "rotate-180"
|
|
167
|
+
),
|
|
168
|
+
children: expandIcon
|
|
169
|
+
}
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
return /* @__PURE__ */ jsx(
|
|
173
|
+
ChevronDown,
|
|
174
|
+
{
|
|
175
|
+
className: cn(
|
|
176
|
+
"shrink-0 transition-transform duration-300",
|
|
177
|
+
isExpanded && "rotate-180",
|
|
178
|
+
isSolidColored ? "text-inherit" : getIconColor(color, isExpanded),
|
|
179
|
+
iconSizes[size]
|
|
180
|
+
)
|
|
181
|
+
}
|
|
182
|
+
);
|
|
183
|
+
};
|
|
184
|
+
return /* @__PURE__ */ jsxs(
|
|
185
|
+
"div",
|
|
186
|
+
{
|
|
187
|
+
"data-slot": "item",
|
|
188
|
+
className: cn(
|
|
189
|
+
"accordion_item",
|
|
190
|
+
accordionItemVariants({ variant, color }),
|
|
191
|
+
item.disabled && "opacity-50",
|
|
192
|
+
classNames?.item,
|
|
193
|
+
itemClassName
|
|
194
|
+
),
|
|
195
|
+
children: [
|
|
196
|
+
/* @__PURE__ */ jsxs(
|
|
197
|
+
"button",
|
|
198
|
+
{
|
|
199
|
+
type: "button",
|
|
200
|
+
id: headerId,
|
|
201
|
+
"aria-expanded": isItemActive,
|
|
202
|
+
"aria-controls": panelId,
|
|
203
|
+
"aria-disabled": item.disabled,
|
|
204
|
+
disabled: item.disabled,
|
|
205
|
+
onClick: () => onToggle(item.key, item.disabled),
|
|
206
|
+
onPointerEnter: handlePointerEnter,
|
|
207
|
+
"data-slot": "trigger",
|
|
208
|
+
className: cn(
|
|
209
|
+
"accordion_trigger",
|
|
210
|
+
accordionHeaderVariants({
|
|
211
|
+
size,
|
|
212
|
+
color,
|
|
213
|
+
disabled: item.disabled
|
|
214
|
+
}),
|
|
215
|
+
classNames?.trigger
|
|
216
|
+
),
|
|
217
|
+
children: [
|
|
218
|
+
expandIconPosition === "left" && renderExpandIcon(isItemActive),
|
|
219
|
+
item.icon && /* @__PURE__ */ jsx(
|
|
220
|
+
"span",
|
|
221
|
+
{
|
|
222
|
+
"data-slot": "icon",
|
|
223
|
+
className: cn(
|
|
224
|
+
"accordion_icon",
|
|
225
|
+
"shrink-0",
|
|
226
|
+
isSolidColored ? "text-inherit" : getIconColor(color, isItemActive),
|
|
227
|
+
classNames?.icon
|
|
228
|
+
),
|
|
229
|
+
children: item.icon
|
|
230
|
+
}
|
|
231
|
+
),
|
|
232
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
233
|
+
/* @__PURE__ */ jsx(
|
|
234
|
+
"div",
|
|
235
|
+
{
|
|
236
|
+
className: cn(
|
|
237
|
+
!isSolidColored && isItemActive && color !== "default" && "text-slot"
|
|
238
|
+
),
|
|
239
|
+
children: item.title
|
|
240
|
+
}
|
|
241
|
+
),
|
|
242
|
+
item.subtitle && /* @__PURE__ */ jsx("div", { className: cn(
|
|
243
|
+
"font-normal mt-0.5",
|
|
244
|
+
isSolidColored ? "text-inherit opacity-80" : "text-text-secondary"
|
|
245
|
+
), children: item.subtitle })
|
|
246
|
+
] }),
|
|
247
|
+
item.extra && /* @__PURE__ */ jsx("span", { className: cn(
|
|
248
|
+
"shrink-0",
|
|
249
|
+
isSolidColored ? "text-inherit opacity-80" : "text-text-secondary"
|
|
250
|
+
), children: item.extra }),
|
|
251
|
+
expandIconPosition === "right" && renderExpandIcon(isItemActive)
|
|
252
|
+
]
|
|
253
|
+
}
|
|
254
|
+
),
|
|
255
|
+
/* @__PURE__ */ jsx(
|
|
256
|
+
"div",
|
|
257
|
+
{
|
|
258
|
+
ref: panelRef,
|
|
259
|
+
id: panelId,
|
|
260
|
+
role: "region",
|
|
261
|
+
"aria-labelledby": headerId,
|
|
262
|
+
"aria-hidden": !isItemActive,
|
|
263
|
+
className: "overflow-hidden",
|
|
264
|
+
style: { contain: "content" },
|
|
265
|
+
children: /* @__PURE__ */ jsx("div", { ref: contentRef, children: (!destroyOnClose || isItemActive) && /* @__PURE__ */ jsx(
|
|
266
|
+
"div",
|
|
267
|
+
{
|
|
268
|
+
"data-slot": "content",
|
|
269
|
+
className: cn(
|
|
270
|
+
"accordion_content",
|
|
271
|
+
accordionContentVariants({ size }),
|
|
272
|
+
isSolidColored && "text-inherit opacity-90",
|
|
273
|
+
classNames?.content
|
|
274
|
+
),
|
|
275
|
+
children: item.content
|
|
276
|
+
}
|
|
277
|
+
) })
|
|
278
|
+
}
|
|
279
|
+
)
|
|
280
|
+
]
|
|
281
|
+
}
|
|
282
|
+
);
|
|
283
|
+
}
|
|
284
|
+
);
|
|
285
|
+
AccordionItemComponent.displayName = "AccordionItem";
|
|
286
|
+
var Accordion = React.memo(
|
|
287
|
+
({
|
|
288
|
+
items,
|
|
289
|
+
color = "default",
|
|
290
|
+
size = "md",
|
|
291
|
+
variant = "default",
|
|
292
|
+
defaultActiveKey,
|
|
293
|
+
activeKey: controlledActiveKey,
|
|
294
|
+
onChange,
|
|
295
|
+
multiple = false,
|
|
296
|
+
expandIcon,
|
|
297
|
+
expandIconPosition = "right",
|
|
298
|
+
collapsible = true,
|
|
299
|
+
destroyOnClose = false,
|
|
300
|
+
showDivider = true,
|
|
301
|
+
className,
|
|
302
|
+
itemClassName,
|
|
303
|
+
classNames,
|
|
304
|
+
ref
|
|
305
|
+
}) => {
|
|
306
|
+
const isSolidColored = variant === "solid" && color !== "default";
|
|
307
|
+
const baseId = useId();
|
|
308
|
+
const [internalActiveKey, setInternalActiveKey] = useState(
|
|
309
|
+
defaultActiveKey ? multiple && !Array.isArray(defaultActiveKey) ? [defaultActiveKey] : defaultActiveKey : multiple ? [] : ""
|
|
310
|
+
);
|
|
311
|
+
const activeKey = controlledActiveKey !== void 0 ? controlledActiveKey : internalActiveKey;
|
|
312
|
+
const isActive = useCallback((key) => {
|
|
313
|
+
if (Array.isArray(activeKey)) {
|
|
314
|
+
return activeKey.includes(key);
|
|
315
|
+
}
|
|
316
|
+
return activeKey === key;
|
|
317
|
+
}, [activeKey]);
|
|
318
|
+
const handleToggle = useCallback((key, disabled) => {
|
|
319
|
+
if (disabled) return;
|
|
320
|
+
let newActiveKey;
|
|
321
|
+
if (multiple) {
|
|
322
|
+
const currentKeys = Array.isArray(activeKey) ? activeKey : activeKey ? [activeKey] : [];
|
|
323
|
+
newActiveKey = currentKeys.includes(key) ? currentKeys.filter((k) => k !== key) : [...currentKeys, key];
|
|
324
|
+
} else {
|
|
325
|
+
if (!collapsible && activeKey === key) {
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
newActiveKey = activeKey === key ? "" : key;
|
|
329
|
+
}
|
|
330
|
+
if (controlledActiveKey === void 0) {
|
|
331
|
+
setInternalActiveKey(newActiveKey);
|
|
332
|
+
}
|
|
333
|
+
onChange?.(newActiveKey);
|
|
334
|
+
}, [multiple, activeKey, collapsible, controlledActiveKey, onChange]);
|
|
335
|
+
return /* @__PURE__ */ jsx(
|
|
336
|
+
"div",
|
|
337
|
+
{
|
|
338
|
+
ref,
|
|
339
|
+
"data-slot": "root",
|
|
340
|
+
className: cn(
|
|
341
|
+
"accordion_root",
|
|
342
|
+
accordionContainerVariants({
|
|
343
|
+
variant,
|
|
344
|
+
color,
|
|
345
|
+
showDivider: showDivider && variant !== "splitted"
|
|
346
|
+
}),
|
|
347
|
+
classNames?.root,
|
|
348
|
+
className
|
|
349
|
+
),
|
|
350
|
+
children: items.map((item) => /* @__PURE__ */ jsx(
|
|
351
|
+
AccordionItemComponent,
|
|
352
|
+
{
|
|
353
|
+
item,
|
|
354
|
+
isActive: isActive(item.key),
|
|
355
|
+
baseId,
|
|
356
|
+
size,
|
|
357
|
+
color,
|
|
358
|
+
variant,
|
|
359
|
+
isSolidColored,
|
|
360
|
+
expandIcon,
|
|
361
|
+
expandIconPosition,
|
|
362
|
+
destroyOnClose,
|
|
363
|
+
onToggle: handleToggle,
|
|
364
|
+
classNames,
|
|
365
|
+
itemClassName
|
|
366
|
+
},
|
|
367
|
+
item.key
|
|
368
|
+
))
|
|
369
|
+
}
|
|
370
|
+
);
|
|
371
|
+
}
|
|
372
|
+
);
|
|
373
|
+
Accordion.displayName = "Accordion";
|
|
374
|
+
var accordion_default = Accordion;
|
|
375
|
+
|
|
376
|
+
export { accordion_default };
|
|
377
|
+
//# sourceMappingURL=chunk-4WZDQI22.js.map
|
|
378
|
+
//# sourceMappingURL=chunk-4WZDQI22.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/accordion/index.tsx"],"names":[],"mappings":"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","file":"chunk-4WZDQI22.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport { ChevronDown } from \"lucide-react\";\nimport React, { useCallback, useId, useLayoutEffect, useRef, useState } from \"react\";\n\nimport { cn, iconSizes } from \"../utils\";\nimport { colorVars } from \"../variants\";\nimport type { AccordionItem as AccordionItemType, AccordionProps, AccordionSize } from \"./types\";\n\nconst accordionContainerVariants = cva(\"w-full\", {\n variants: {\n variant: {\n default: \"space-y-0 divide-y divide-border rounded-lg overflow-hidden\",\n solid: \"space-y-0 divide-y divide-border/50 rounded-lg overflow-hidden\",\n soft: \"space-y-0 divide-y divide-border/30 rounded-lg overflow-hidden\",\n bordered: \"space-y-0 divide-y border border-slot rounded-lg overflow-hidden\",\n splitted: \"space-y-2\",\n },\n color: colorVars,\n showDivider: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n { variant: \"default\", showDivider: false, class: \"divide-y-0\" },\n { variant: \"solid\", showDivider: false, class: \"divide-y-0\" },\n { variant: \"soft\", showDivider: false, class: \"divide-y-0\" },\n { variant: \"bordered\", showDivider: false, class: \"divide-y-0\" },\n { variant: \"bordered\", color: \"default\", class: \"divide-border\" },\n ],\n defaultVariants: {\n variant: \"default\",\n color: \"default\",\n showDivider: true,\n },\n});\n\nconst accordionItemVariants = cva(\"\", {\n variants: {\n variant: {\n default: \"bg-transparent\",\n solid: \"bg-slot text-slot-fg\",\n soft: \"bg-slot-10\",\n bordered: \"bg-transparent border-slot-20\",\n splitted: \"border rounded-lg overflow-hidden border-slot\",\n },\n color: colorVars,\n },\n compoundVariants: [\n { variant: \"soft\", color: \"default\", class: \"bg-surface/50\" },\n { variant: \"bordered\", color: \"default\", class: \"border-border\" },\n ],\n defaultVariants: {\n variant: \"default\",\n color: \"default\",\n },\n});\n\nconst accordionHeaderVariants = cva(\n [\n \"flex items-center w-full text-left font-medium touch-manipulation\",\n \"focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:ring-slot\",\n \"disabled:opacity-50 disabled:cursor-not-allowed\",\n ],\n {\n variants: {\n size: {\n xs: \"px-(--accordion-padding-x-xs) py-(--accordion-padding-y-xs) text-xs gap-2\",\n sm: \"px-(--accordion-padding-x-sm) py-(--accordion-padding-y-sm) text-sm gap-2\",\n md: \"px-(--accordion-padding-x-md) py-(--accordion-padding-y-md) text-base gap-3\",\n lg: \"px-(--accordion-padding-x-lg) py-(--accordion-padding-y-lg) text-lg gap-3\",\n },\n color: colorVars,\n disabled: {\n true: \"cursor-not-allowed\",\n false: \"cursor-pointer hover:bg-surface/50\",\n },\n },\n defaultVariants: {\n size: \"md\",\n color: \"default\",\n disabled: false,\n },\n },\n);\n\nconst accordionContentVariants = cva(\"text-text-secondary\", {\n variants: {\n size: {\n xs: \"px-(--accordion-padding-x-xs) pb-(--accordion-padding-y-xs) text-xs\",\n sm: \"px-(--accordion-padding-x-sm) pb-(--accordion-padding-y-sm) text-sm\",\n md: \"px-(--accordion-padding-x-md) pb-(--accordion-padding-y-md) text-base\",\n lg: \"px-(--accordion-padding-x-lg) pb-(--accordion-padding-y-lg) text-lg\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst getIconColor = (_color: AccordionProps[\"color\"], isExpanded: boolean) => {\n if (!isExpanded) return \"text-text-secondary\";\n return \"text-slot\";\n};\n\ninterface AccordionItemComponentProps {\n item: AccordionItemType;\n isActive: boolean;\n baseId: string;\n size: AccordionSize;\n color: NonNullable<AccordionProps[\"color\"]>;\n variant: NonNullable<AccordionProps[\"variant\"]>;\n isSolidColored: boolean;\n expandIcon: AccordionProps[\"expandIcon\"];\n expandIconPosition: NonNullable<AccordionProps[\"expandIconPosition\"]>;\n destroyOnClose: boolean;\n onToggle: (key: string, disabled?: boolean) => void;\n classNames?: AccordionProps[\"classNames\"];\n itemClassName?: string;\n}\n\nconst AccordionItemComponent = React.memo<AccordionItemComponentProps>(\n ({\n item,\n isActive: isItemActive,\n baseId,\n size,\n color,\n variant,\n isSolidColored,\n expandIcon,\n expandIconPosition,\n destroyOnClose,\n onToggle,\n classNames,\n itemClassName,\n }) => {\n const headerId = `${baseId}-header-${item.key}`;\n const panelId = `${baseId}-panel-${item.key}`;\n const panelRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const prevActiveRef = useRef(isItemActive);\n const cachedHeightRef = useRef<number>(0);\n const animRef = useRef<Animation | null>(null);\n\n // Pre-measure on hover so click has zero reflow cost\n const handlePointerEnter = useCallback(() => {\n if (contentRef.current) {\n cachedHeightRef.current = contentRef.current.scrollHeight;\n }\n }, []);\n\n // Set initial height before first paint (no animation on mount)\n useLayoutEffect(() => {\n if (panelRef.current) {\n panelRef.current.style.height = isItemActive ? \"auto\" : \"0\";\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // WAAPI animation — browser pre-computes full path, cancellable on rapid clicks\n useLayoutEffect(() => {\n const panel = panelRef.current;\n const content = contentRef.current;\n if (!panel || !content) return;\n\n const wasActive = prevActiveRef.current;\n prevActiveRef.current = isItemActive;\n if (isItemActive === wasActive) return;\n\n if (animRef.current) animRef.current.cancel();\n\n const height = cachedHeightRef.current || content.scrollHeight;\n cachedHeightRef.current = 0;\n\n // Check for prefers-reduced-motion\n const prefersReducedMotion = typeof window !== 'undefined' && window.matchMedia?.('(prefers-reduced-motion: reduce)').matches;\n const duration = prefersReducedMotion ? 0 : 200;\n\n const anim = panel.animate(\n isItemActive\n ? [{ height: \"0px\" }, { height: `${height}px` }]\n : [{ height: `${height}px` }, { height: \"0px\" }],\n { duration, easing: \"ease-out\", fill: \"forwards\" },\n );\n\n anim.onfinish = () => {\n panel.style.height = isItemActive ? \"auto\" : \"0\";\n anim.cancel();\n };\n\n animRef.current = anim;\n }, [isItemActive]);\n\n const renderExpandIcon = (isExpanded: boolean) => {\n if (expandIcon === false) return null;\n\n if (typeof expandIcon === \"function\") {\n return expandIcon(isExpanded);\n }\n\n if (expandIcon) {\n return (\n <span\n className={cn(\n \"shrink-0 transition-transform duration-300\",\n isExpanded && \"rotate-180\",\n )}\n >\n {expandIcon}\n </span>\n );\n }\n\n return (\n <ChevronDown\n className={cn(\n \"shrink-0 transition-transform duration-300\",\n isExpanded && \"rotate-180\",\n isSolidColored ? \"text-inherit\" : getIconColor(color, isExpanded),\n iconSizes[size],\n )}\n />\n );\n };\n\n return (\n <div\n data-slot=\"item\"\n className={cn(\n \"accordion_item\",\n accordionItemVariants({ variant, color }),\n item.disabled && \"opacity-50\",\n classNames?.item,\n itemClassName,\n )}\n >\n <button\n type=\"button\"\n id={headerId}\n aria-expanded={isItemActive}\n aria-controls={panelId}\n aria-disabled={item.disabled}\n disabled={item.disabled}\n onClick={() => onToggle(item.key, item.disabled)}\n onPointerEnter={handlePointerEnter}\n data-slot=\"trigger\"\n className={cn(\n \"accordion_trigger\",\n accordionHeaderVariants({\n size,\n color,\n disabled: item.disabled,\n }),\n classNames?.trigger,\n )}\n >\n {expandIconPosition === \"left\" && renderExpandIcon(isItemActive)}\n\n {item.icon && (\n <span\n data-slot=\"icon\"\n className={cn(\n \"accordion_icon\",\n \"shrink-0\",\n isSolidColored ? \"text-inherit\" : getIconColor(color, isItemActive),\n classNames?.icon,\n )}\n >\n {item.icon}\n </span>\n )}\n\n <div className=\"flex-1 min-w-0\">\n <div\n className={cn(\n !isSolidColored &&\n isItemActive &&\n color !== \"default\" &&\n \"text-slot\",\n )}\n >\n {item.title}\n </div>\n {item.subtitle && (\n <div className={cn(\n \"font-normal mt-0.5\",\n isSolidColored ? \"text-inherit opacity-80\" : \"text-text-secondary\",\n )}>\n {item.subtitle}\n </div>\n )}\n </div>\n\n {item.extra && (\n <span className={cn(\n \"shrink-0\",\n isSolidColored ? \"text-inherit opacity-80\" : \"text-text-secondary\",\n )}>\n {item.extra}\n </span>\n )}\n\n {expandIconPosition === \"right\" && renderExpandIcon(isItemActive)}\n </button>\n\n <div\n ref={panelRef}\n id={panelId}\n role=\"region\"\n aria-labelledby={headerId}\n aria-hidden={!isItemActive}\n className=\"overflow-hidden\"\n style={{ contain: \"content\" }}\n >\n <div ref={contentRef}>\n {(!destroyOnClose || isItemActive) && (\n <div\n data-slot=\"content\"\n className={cn(\n \"accordion_content\",\n accordionContentVariants({ size }),\n isSolidColored && \"text-inherit opacity-90\",\n classNames?.content,\n )}\n >\n {item.content}\n </div>\n )}\n </div>\n </div>\n </div>\n );\n },\n);\n\nAccordionItemComponent.displayName = \"AccordionItem\";\n\nconst Accordion = React.memo<AccordionProps>(\n ({\n items,\n color = \"default\",\n size = \"md\",\n variant = \"default\",\n defaultActiveKey,\n activeKey: controlledActiveKey,\n onChange,\n multiple = false,\n expandIcon,\n expandIconPosition = \"right\",\n collapsible = true,\n destroyOnClose = false,\n showDivider = true,\n className,\n itemClassName,\n classNames,\n ref,\n }) => {\n const isSolidColored = variant === \"solid\" && color !== \"default\";\n const baseId = useId();\n const [internalActiveKey, setInternalActiveKey] = useState<\n string | string[]\n >(\n defaultActiveKey\n ? multiple && !Array.isArray(defaultActiveKey)\n ? [defaultActiveKey]\n : defaultActiveKey\n : multiple\n ? []\n : \"\",\n );\n\n const activeKey =\n controlledActiveKey !== undefined\n ? controlledActiveKey\n : internalActiveKey;\n\n const isActive = useCallback((key: string) => {\n if (Array.isArray(activeKey)) {\n return activeKey.includes(key);\n }\n return activeKey === key;\n }, [activeKey]);\n\n const handleToggle = useCallback((key: string, disabled?: boolean) => {\n if (disabled) return;\n\n let newActiveKey: string | string[];\n\n if (multiple) {\n const currentKeys = Array.isArray(activeKey)\n ? activeKey\n : activeKey\n ? [activeKey]\n : [];\n newActiveKey = currentKeys.includes(key)\n ? currentKeys.filter((k) => k !== key)\n : [...currentKeys, key];\n } else {\n if (!collapsible && activeKey === key) {\n return;\n }\n newActiveKey = activeKey === key ? \"\" : key;\n }\n\n if (controlledActiveKey === undefined) {\n setInternalActiveKey(newActiveKey);\n }\n onChange?.(newActiveKey);\n }, [multiple, activeKey, collapsible, controlledActiveKey, onChange]);\n\n return (\n <div\n ref={ref}\n data-slot=\"root\"\n className={cn(\n \"accordion_root\",\n accordionContainerVariants({\n variant,\n color,\n showDivider: showDivider && variant !== \"splitted\",\n }),\n classNames?.root,\n className,\n )}\n >\n {items.map((item) => (\n <AccordionItemComponent\n key={item.key}\n item={item}\n isActive={isActive(item.key)}\n baseId={baseId}\n size={size as AccordionSize}\n color={color}\n variant={variant}\n isSolidColored={isSolidColored}\n expandIcon={expandIcon}\n expandIconPosition={expandIconPosition}\n destroyOnClose={destroyOnClose}\n onToggle={handleToggle}\n classNames={classNames}\n itemClassName={itemClassName}\n />\n ))}\n </div>\n );\n },\n);\n\nAccordion.displayName = \"Accordion\";\n\nexport type * from \"./types\";\nexport default Accordion;\n"]}
|