@mdigital_ui/ui 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -5
- 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/alert/index.d.ts +6 -0
- package/dist/alert/index.d.ts.map +1 -0
- package/dist/alert/index.js +5 -0
- package/dist/alert/types.d.ts +24 -0
- package/dist/alert/types.d.ts.map +1 -0
- package/dist/anchor/index.d.ts +6 -0
- package/dist/anchor/index.d.ts.map +1 -0
- package/dist/anchor/types.d.ts +26 -0
- package/dist/anchor/types.d.ts.map +1 -0
- package/dist/autocomplete/index.d.ts +6 -0
- package/dist/autocomplete/index.d.ts.map +1 -0
- package/dist/autocomplete/types.d.ts +39 -0
- package/dist/autocomplete/types.d.ts.map +1 -0
- package/dist/avatar/index.d.ts +0 -6
- package/dist/avatar/index.d.ts.map +1 -1
- package/dist/avatar/index.js +3 -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/calendar/index.d.ts +6 -0
- package/dist/calendar/index.d.ts.map +1 -0
- package/dist/calendar/types.d.ts +29 -0
- package/dist/calendar/types.d.ts.map +1 -0
- package/dist/card/index.d.ts +1 -41
- 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/carousel-navigation.d.ts.map +1 -1
- package/dist/carousel/index.d.ts +5 -2
- package/dist/carousel/index.d.ts.map +1 -1
- package/dist/carousel/index.js +2 -2
- package/dist/carousel/styles.d.ts +12 -0
- package/dist/carousel/styles.d.ts.map +1 -0
- package/dist/cascader/CascaderMenu.d.ts +41 -0
- package/dist/cascader/CascaderMenu.d.ts.map +1 -0
- 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-HCOTO5WX.js → chunk-253JZOYG.js} +8 -9
- package/dist/chunk-253JZOYG.js.map +1 -0
- package/dist/{chunk-FZSCLZF6.js → chunk-3D77IPKB.js} +68 -113
- package/dist/chunk-3D77IPKB.js.map +1 -0
- package/dist/{chunk-GJPZOMFE.js → chunk-3XOHSE3X.js} +71 -34
- package/dist/chunk-3XOHSE3X.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-4HKPDSA6.js +378 -0
- package/dist/chunk-4HKPDSA6.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-TLNHWOQQ.js → chunk-4ZXHLPRS.js} +53 -44
- package/dist/chunk-4ZXHLPRS.js.map +1 -0
- package/dist/{chunk-6LYRMQOI.js → chunk-5MBKTMDW.js} +21 -16
- package/dist/chunk-5MBKTMDW.js.map +1 -0
- package/dist/{chunk-CN74CNAN.js → chunk-5SEVPU6C.js} +8 -22
- package/dist/chunk-5SEVPU6C.js.map +1 -0
- package/dist/{chunk-6JGNJI5T.js → chunk-7RT65ZGV.js} +38 -26
- package/dist/chunk-7RT65ZGV.js.map +1 -0
- package/dist/{chunk-I32ZQUYY.js → chunk-A4MYCEGM.js} +15 -16
- package/dist/chunk-A4MYCEGM.js.map +1 -0
- package/dist/{chunk-KJTMZJ7V.js → chunk-ADZWWBAX.js} +76 -110
- package/dist/chunk-ADZWWBAX.js.map +1 -0
- package/dist/{chunk-YXLIGJTN.js → chunk-AFW2ORFT.js} +16 -8
- package/dist/chunk-AFW2ORFT.js.map +1 -0
- package/dist/{chunk-OLTQAMV2.js → chunk-BGMYX7L5.js} +9 -24
- package/dist/chunk-BGMYX7L5.js.map +1 -0
- package/dist/chunk-BKLJDEUX.js +857 -0
- package/dist/chunk-BKLJDEUX.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-DUIL5BYS.js → chunk-BS4PZPY6.js} +82 -53
- package/dist/chunk-BS4PZPY6.js.map +1 -0
- package/dist/{chunk-POLVJ36Y.js → chunk-C32HL4XU.js} +13 -38
- package/dist/chunk-C32HL4XU.js.map +1 -0
- package/dist/chunk-C65SCJD6.js +138 -0
- package/dist/chunk-C65SCJD6.js.map +1 -0
- package/dist/{chunk-3BZE6BBJ.js → chunk-CUXQZRDI.js} +45 -34
- package/dist/chunk-CUXQZRDI.js.map +1 -0
- package/dist/{chunk-674JC24S.js → chunk-DDZCRCTQ.js} +28 -29
- package/dist/chunk-DDZCRCTQ.js.map +1 -0
- package/dist/{chunk-64NHVOZS.js → chunk-FU5Q4WVX.js} +26 -16
- package/dist/chunk-FU5Q4WVX.js.map +1 -0
- package/dist/chunk-G6QIIWKU.js +24 -0
- package/dist/chunk-G6QIIWKU.js.map +1 -0
- package/dist/{chunk-UTWQ2FZK.js → chunk-GOBUFGGJ.js} +45 -108
- package/dist/chunk-GOBUFGGJ.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-ZJNGZCRB.js → chunk-HR5TGNOF.js} +54 -153
- package/dist/chunk-HR5TGNOF.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-LX4FDH4J.js → chunk-HSMO2BR4.js} +13 -22
- package/dist/chunk-HSMO2BR4.js.map +1 -0
- package/dist/chunk-HVHQA34X.js +534 -0
- package/dist/chunk-HVHQA34X.js.map +1 -0
- package/dist/{chunk-6G3BMY4N.js → chunk-I5AD247M.js} +80 -85
- package/dist/chunk-I5AD247M.js.map +1 -0
- package/dist/chunk-I7HJBHQU.js +99 -0
- package/dist/chunk-I7HJBHQU.js.map +1 -0
- package/dist/{chunk-3PWILVOE.js → chunk-J2WIZULN.js} +50 -50
- package/dist/chunk-J2WIZULN.js.map +1 -0
- package/dist/{chunk-VOODO2ZE.js → chunk-JFTSWOGE.js} +12 -32
- package/dist/chunk-JFTSWOGE.js.map +1 -0
- package/dist/{chunk-LOYLJRCF.js → chunk-JIXINKUJ.js} +8 -17
- package/dist/chunk-JIXINKUJ.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-LJOQ2C5W.js +81 -0
- package/dist/chunk-LJOQ2C5W.js.map +1 -0
- package/dist/chunk-LWYZCSX4.js +531 -0
- package/dist/chunk-LWYZCSX4.js.map +1 -0
- package/dist/{chunk-3BIV3QE2.js → chunk-LXHFGQOI.js} +61 -29
- package/dist/chunk-LXHFGQOI.js.map +1 -0
- package/dist/{chunk-ZIYA7TGX.js → chunk-NMP4HY6M.js} +13 -23
- package/dist/chunk-NMP4HY6M.js.map +1 -0
- package/dist/{chunk-2TLOWZE4.js → chunk-NTCAZ2LF.js} +64 -183
- package/dist/chunk-NTCAZ2LF.js.map +1 -0
- package/dist/chunk-NZHKNUGE.js +96 -0
- package/dist/chunk-NZHKNUGE.js.map +1 -0
- package/dist/{chunk-764UKE6X.js → chunk-OGB5QPNZ.js} +11 -92
- package/dist/chunk-OGB5QPNZ.js.map +1 -0
- package/dist/chunk-OJAHIPPP.js +198 -0
- package/dist/chunk-OJAHIPPP.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-HUXODBIO.js → chunk-PB5VGXS5.js} +42 -101
- package/dist/chunk-PB5VGXS5.js.map +1 -0
- package/dist/chunk-PQOIW5CM.js +27 -0
- package/dist/chunk-PQOIW5CM.js.map +1 -0
- package/dist/{chunk-BVO2BNFG.js → chunk-PRDJLQLB.js} +23 -103
- package/dist/chunk-PRDJLQLB.js.map +1 -0
- package/dist/{chunk-N2WHJ3FI.js → chunk-QEAALOJC.js} +14 -16
- package/dist/chunk-QEAALOJC.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-C5IGZLIT.js → chunk-ROQGBDET.js} +9 -23
- package/dist/chunk-ROQGBDET.js.map +1 -0
- package/dist/{chunk-Y4XAXZHB.js → chunk-RRPMZYVN.js} +9 -8
- package/dist/chunk-RRPMZYVN.js.map +1 -0
- package/dist/{chunk-D4SUSZDN.js → chunk-S6HO7HUY.js} +19 -17
- package/dist/chunk-S6HO7HUY.js.map +1 -0
- package/dist/{chunk-YS5AIY4A.js → chunk-SFP77VS3.js} +6 -5
- package/dist/chunk-SFP77VS3.js.map +1 -0
- package/dist/{chunk-RFHTC6AH.js → chunk-SJLH5ZDW.js} +16 -38
- package/dist/chunk-SJLH5ZDW.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-ON2CMF6J.js → chunk-TBKPQOXF.js} +58 -35
- package/dist/chunk-TBKPQOXF.js.map +1 -0
- package/dist/{chunk-GOLARX5K.js → chunk-TDNPACQD.js} +14 -11
- package/dist/chunk-TDNPACQD.js.map +1 -0
- package/dist/{chunk-7UCNBMCV.js → chunk-TQEMGWZ2.js} +27 -34
- package/dist/chunk-TQEMGWZ2.js.map +1 -0
- package/dist/{chunk-X3YNHX77.js → chunk-U4JPTWK6.js} +33 -34
- package/dist/chunk-U4JPTWK6.js.map +1 -0
- package/dist/{chunk-R3TLU26W.js → chunk-UFC3RGIN.js} +9 -7
- package/dist/chunk-UFC3RGIN.js.map +1 -0
- package/dist/{chunk-KH577UDI.js → chunk-W5VLFE4U.js} +11 -8
- package/dist/chunk-W5VLFE4U.js.map +1 -0
- package/dist/{chunk-G6NVGBYZ.js → chunk-WG5AYAC6.js} +27 -35
- package/dist/chunk-WG5AYAC6.js.map +1 -0
- package/dist/{chunk-YJOLLSHH.js → chunk-WQT24BGG.js} +44 -49
- package/dist/chunk-WQT24BGG.js.map +1 -0
- package/dist/{chunk-JWTWPZ32.js → chunk-X7MF3TIF.js} +15 -19
- package/dist/chunk-X7MF3TIF.js.map +1 -0
- package/dist/chunk-XAM5EKOS.js +150 -0
- package/dist/chunk-XAM5EKOS.js.map +1 -0
- package/dist/{chunk-EHWXPH76.js → chunk-XBXPY7U3.js} +9 -7
- package/dist/chunk-XBXPY7U3.js.map +1 -0
- package/dist/{chunk-5PUATOLR.js → chunk-XCK62GVU.js} +4 -4
- package/dist/chunk-XCK62GVU.js.map +1 -0
- package/dist/{chunk-ONGJXAYQ.js → chunk-XMBZBXXS.js} +9 -16
- package/dist/chunk-XMBZBXXS.js.map +1 -0
- package/dist/{chunk-H6G4BUPA.js → chunk-XOEEAMMY.js} +210 -183
- package/dist/chunk-XOEEAMMY.js.map +1 -0
- package/dist/{chunk-O3V3BTIJ.js → chunk-Z3DIBMBQ.js} +60 -107
- package/dist/chunk-Z3DIBMBQ.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 +4 -3
- package/dist/collapse/types.d.ts +2 -35
- package/dist/collapse/types.d.ts.map +1 -1
- package/dist/color-picker/index.d.ts +8 -0
- package/dist/color-picker/index.d.ts.map +1 -0
- package/dist/color-picker/types.d.ts +42 -0
- package/dist/color-picker/types.d.ts.map +1 -0
- package/dist/command/index.d.ts +39 -66
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +4 -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 +2 -46
- package/dist/context-menu/index.d.ts.map +1 -1
- package/dist/context-menu/index.js +5 -3
- package/dist/context-menu/types.d.ts +21 -63
- package/dist/context-menu/types.d.ts.map +1 -1
- package/dist/date-picker/CalendarHeader.d.ts +18 -0
- package/dist/date-picker/CalendarHeader.d.ts.map +1 -0
- package/dist/date-picker/MonthSelector.d.ts +11 -0
- package/dist/date-picker/MonthSelector.d.ts.map +1 -0
- package/dist/date-picker/PickerWrapper.d.ts +18 -0
- package/dist/date-picker/PickerWrapper.d.ts.map +1 -0
- package/dist/date-picker/RangePicker.d.ts +4 -0
- package/dist/date-picker/RangePicker.d.ts.map +1 -0
- package/dist/date-picker/TimePicker.d.ts +4 -0
- package/dist/date-picker/TimePicker.d.ts.map +1 -0
- package/dist/date-picker/YearSelector.d.ts +10 -0
- package/dist/date-picker/YearSelector.d.ts.map +1 -0
- package/dist/date-picker/index.d.ts +6 -6
- package/dist/date-picker/index.d.ts.map +1 -1
- package/dist/date-picker/index.js +4 -4
- package/dist/date-picker/shared.d.ts +3 -0
- package/dist/date-picker/shared.d.ts.map +1 -0
- package/dist/date-picker/types.d.ts +2 -2
- package/dist/date-picker/types.d.ts.map +1 -1
- package/dist/date-picker/utils.d.ts +1 -1
- package/dist/date-picker/utils.d.ts.map +1 -1
- package/dist/descriptions/index.d.ts.map +1 -1
- package/dist/descriptions/index.js +3 -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/fetching-overlay/index.d.ts.map +1 -1
- package/dist/fetching-overlay/index.js +4 -4
- package/dist/float-button/index.d.ts +9 -0
- package/dist/float-button/index.d.ts.map +1 -0
- package/dist/float-button/types.d.ts +45 -0
- package/dist/float-button/types.d.ts.map +1 -0
- 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 +30 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3030 -90
- 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 +3 -2
- package/dist/mentions/index.d.ts +6 -0
- package/dist/mentions/index.d.ts.map +1 -0
- package/dist/mentions/types.d.ts +36 -0
- package/dist/mentions/types.d.ts.map +1 -0
- package/dist/menubar/index.d.ts.map +1 -1
- package/dist/menubar/index.js +5 -4
- package/dist/modal/index.d.ts +1 -1
- package/dist/modal/index.d.ts.map +1 -1
- package/dist/modal/index.js +2 -2
- package/dist/modal/types.d.ts +7 -41
- 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 +8 -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.d.ts.map +1 -1
- package/dist/navigation-menu/index.js +2 -2
- package/dist/navigation-menu/types.d.ts +2 -0
- package/dist/navigation-menu/types.d.ts.map +1 -1
- 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 +6 -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/qr-code/index.d.ts +6 -0
- package/dist/qr-code/index.d.ts.map +1 -0
- package/dist/qr-code/types.d.ts +49 -0
- package/dist/qr-code/types.d.ts.map +1 -0
- 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 +3 -2
- package/dist/rating/types.d.ts +2 -2
- package/dist/rating/types.d.ts.map +1 -1
- package/dist/resizable/index.d.ts +7 -0
- package/dist/resizable/index.d.ts.map +1 -0
- package/dist/resizable/types.d.ts +8 -0
- package/dist/resizable/types.d.ts.map +1 -0
- package/dist/result/index.d.ts +6 -0
- package/dist/result/index.d.ts.map +1 -0
- package/dist/result/types.d.ts +22 -0
- package/dist/result/types.d.ts.map +1 -0
- 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 +8 -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 +3 -3
- 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/TableHeaderCell.d.ts.map +1 -1
- package/dist/table/index.d.ts +1 -1
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +11 -11
- package/dist/table/types.d.ts +8 -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/tags-input/index.d.ts +6 -0
- package/dist/tags-input/index.d.ts.map +1 -0
- package/dist/tags-input/types.d.ts +36 -0
- package/dist/tags-input/types.d.ts.map +1 -0
- 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/ThemeProvider.d.ts +11 -3
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/index.js +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 +3 -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/tour/index.d.ts +6 -0
- package/dist/tour/index.d.ts.map +1 -0
- package/dist/tour/types.d.ts +45 -0
- package/dist/tour/types.d.ts.map +1 -0
- 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/typography/index.d.ts +8 -0
- package/dist/typography/index.d.ts.map +1 -0
- package/dist/typography/types.d.ts +33 -0
- package/dist/typography/types.d.ts.map +1 -0
- package/dist/upload/index.d.ts.map +1 -1
- package/dist/upload/index.js +4 -3
- package/dist/upload/types.d.ts +5 -32
- package/dist/upload/types.d.ts.map +1 -1
- package/dist/upload/utils.d.ts +2 -1
- 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/dist/watermark/index.d.ts +6 -0
- package/dist/watermark/index.d.ts.map +1 -0
- package/dist/watermark/types.d.ts +24 -0
- package/dist/watermark/types.d.ts.map +1 -0
- package/package.json +5 -2
- package/styles/global.css +575 -2012
- package/styles/themes/dark.css +15 -5
- package/styles/themes/light.css +20 -2
- package/styles/themes/presets/corporate.css +2 -0
- package/styles/themes/presets/minimal.css +2 -0
- package/styles/themes/presets/vibrant.css +2 -0
- package/dist/chunk-2PNLIQYM.js.map +0 -1
- package/dist/chunk-2TLOWZE4.js.map +0 -1
- package/dist/chunk-2WZVD7P3.js +0 -145
- 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-5PUATOLR.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 +0 -253
- 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 +0 -192
- 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 +0 -506
- 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 +0 -787
- 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 +0 -1264
- 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
- package/dist/empty/index.d.ts +0 -6
- package/dist/empty/index.d.ts.map +0 -1
- package/dist/empty/index.js +0 -4
- package/dist/empty/types.d.ts +0 -62
- package/dist/empty/types.d.ts.map +0 -1
- package/dist/styles/tokens.d.ts +0 -428
- package/dist/styles/tokens.d.ts.map +0 -1
- /package/dist/{empty → alert}/index.js.map +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/variants.ts"],"names":[],"mappings":"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","file":"chunk-POXI7JJ4.js","sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority'\n\nimport type { ButtonColor, ComponentColor } from './types'\n\n// ============================================================================\n// Color Variant Generators\n// ============================================================================\n\n/**\n * Factory function to create color variant generators\n */\nfunction createColorVariantGenerator<\n V extends string,\n P extends 'class' | 'className' = 'class'\n>(\n variant: V,\n classMap: Record<ComponentColor, string>,\n propertyName?: P,\n) {\n const prop = (propertyName ?? 'class') as P extends undefined ? 'class' : P\n return (colors: readonly string[]) =>\n colors.map((color) => ({\n variant,\n color: color as ComponentColor | ButtonColor,\n [prop]: classMap[color as ComponentColor],\n }))\n}\n\n/**\n * Color palette for component variants\n * Maps to Tailwind CSS v4 theme variables (--color-primary, --color-secondary, etc.)\n */\nexport const componentColors = [\n 'default',\n 'primary',\n 'secondary',\n 'accent',\n 'success',\n 'error',\n 'warning',\n 'info',\n] as const\n\nexport const buttonColors = [\n 'primary',\n 'secondary',\n 'accent',\n 'success',\n 'error',\n 'warning',\n 'info',\n] as const\n\n/**\n * Static class maps for Tailwind JIT compatibility\n * Template literals like `bg-${color}` don't work with Tailwind's JIT compiler\n */\nconst defaultVariantClasses: Record<ComponentColor, string> = {\n default: 'bg-background border border-border text-text-primary',\n primary: 'bg-background border border-primary text-text-primary',\n secondary: 'bg-background border border-secondary text-text-primary',\n accent: 'bg-background border border-accent text-text-primary',\n success: 'bg-background border border-success text-text-primary',\n error: 'bg-background border border-error text-text-primary',\n warning: 'bg-background border border-warning text-text-primary',\n info: 'bg-background border border-info text-text-primary',\n}\n\nexport const createDefaultColorVariants = createColorVariantGenerator('default', defaultVariantClasses)\n\nconst solidVariantClasses: Record<ComponentColor, string> = {\n default: 'bg-surface border border-border text-text-primary',\n primary: 'bg-primary text-background hover:bg-primary/90',\n secondary: 'bg-secondary text-background hover:bg-secondary/90',\n accent: 'bg-accent text-background hover:bg-accent/90',\n success: 'bg-success text-background hover:bg-success/90',\n error: 'bg-error text-background hover:bg-error/90',\n warning: 'bg-warning text-background hover:bg-warning/90',\n info: 'bg-info text-background hover:bg-info/90',\n}\n\nexport const createSolidColorVariants = createColorVariantGenerator('solid', solidVariantClasses)\n\nconst outlineVariantClasses: Record<ComponentColor, string> = {\n default: 'border border-border text-text-primary',\n primary: 'border border-primary text-primary hover:bg-primary/10',\n secondary: 'border border-secondary text-secondary hover:bg-secondary/10',\n accent: 'border border-accent text-accent hover:bg-accent/10',\n success: 'border border-success text-success hover:bg-success/10',\n error: 'border border-error text-error hover:bg-error/10',\n warning: 'border border-warning text-warning hover:bg-warning/10',\n info: 'border border-info text-info hover:bg-info/10',\n}\n\nexport const createOutlineColorVariants = createColorVariantGenerator('outline', outlineVariantClasses)\n\nconst softVariantClasses: Record<ComponentColor, string> = {\n default: 'bg-surface border border-border text-text-primary',\n primary: 'bg-primary/10 text-primary',\n secondary: 'bg-secondary/10 text-secondary',\n accent: 'bg-accent/10 text-accent',\n success: 'bg-success/10 text-success',\n error: 'bg-error/10 text-error',\n warning: 'bg-warning/10 text-warning',\n info: 'bg-info/10 text-info',\n}\n\nexport const createSoftColorVariants = createColorVariantGenerator('soft', softVariantClasses)\n\nconst dashedVariantClasses: Record<ComponentColor, string> = {\n default: 'border-dashed border-border text-text-primary',\n primary: 'border-dashed border-primary text-primary hover:bg-primary/10',\n secondary: 'border-dashed border-secondary text-secondary hover:bg-secondary/10',\n accent: 'border-dashed border-accent text-accent hover:bg-accent/10',\n success: 'border-dashed border-success text-success hover:bg-success/10',\n error: 'border-dashed border-error text-error hover:bg-error/10',\n warning: 'border-dashed border-warning text-warning hover:bg-warning/10',\n info: 'border-dashed border-info text-info hover:bg-info/10',\n}\n\nexport const createDashedColorVariants = createColorVariantGenerator('dashed', dashedVariantClasses)\n\nconst linkVariantClasses: Record<ComponentColor, string> = {\n default: 'text-text-primary hover:text-text-primary/80',\n primary: 'text-primary hover:text-primary/80',\n secondary: 'text-secondary hover:text-secondary/80',\n accent: 'text-accent hover:text-accent/80',\n success: 'text-success hover:text-success/80',\n error: 'text-error hover:text-error/80',\n warning: 'text-warning hover:text-warning/80',\n info: 'text-info hover:text-info/80',\n}\n\nexport const createLinkColorVariants = createColorVariantGenerator('link', linkVariantClasses)\n\nconst ghostVariantClasses: Record<ComponentColor, string> = {\n default: 'text-text-primary hover:bg-surface',\n primary: 'text-primary hover:bg-primary/10',\n secondary: 'text-secondary hover:bg-secondary/10',\n accent: 'text-accent hover:bg-accent/10',\n success: 'text-success hover:bg-success/10',\n error: 'text-error hover:bg-error/10',\n warning: 'text-warning hover:bg-warning/10',\n info: 'text-info hover:bg-info/10',\n}\n\nexport const createGhostColorVariants = createColorVariantGenerator('ghost', ghostVariantClasses)\n\n/**\n * Complete color variant generator for components with multiple style variants\n * Combines all color variant generators into a single array\n *\n * @example\n * const buttonVariants = cva(\"base-classes\", {\n * variants: {\n * variant: { solid: \"\", outline: \"\", ghost: \"\" },\n * color: { primary: \"\", secondary: \"\", ... }\n * },\n * compoundVariants: createAllColorVariants(buttonColors, ['solid', 'outline', 'ghost'])\n * })\n */\n/**\n * Supported variant types for compound variant generation\n */\nexport type StyleVariantType = 'default' | 'solid' | 'outline' | 'soft' | 'dashed' | 'link' | 'ghost'\n\n/**\n * Complete color variant generator for components with multiple style variants\n * Combines all color variant generators into a single array\n *\n * Returns `any[]` for CVA (class-variance-authority) compatibility:\n * - CVA's CompoundVariant type is extremely complex and deeply nested\n * - Using specific types causes TypeScript inference failures in consuming components\n * - The `any` type allows CVA to properly infer variant combinations\n * - This is the recommended approach per CVA documentation for dynamic variant generation\n *\n * @param colors - Array of color names to generate variants for\n * @param variants - Array of style variant types to generate\n * @returns Array of compound variant objects for CVA\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function createAllColorVariants<V extends StyleVariantType>(\n colors: readonly string[],\n variants: V[],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any[] {\n const variantGenerators = {\n default: createDefaultColorVariants,\n solid: createSolidColorVariants,\n outline: createOutlineColorVariants,\n soft: createSoftColorVariants,\n dashed: createDashedColorVariants,\n link: createLinkColorVariants,\n ghost: createGhostColorVariants,\n } as const\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return variants.flatMap((variant) => variantGenerators[variant](colors) as any[])\n}\n\n// ============================================================================\n// Shared Color Classes\n// ============================================================================\n\n/**\n * Text color classes for all component colors\n * Used by: Checkbox icons, Spinner, text elements\n */\nexport const textColorClasses = {\n default: 'text-text-primary',\n primary: 'text-primary',\n secondary: 'text-secondary',\n accent: 'text-accent',\n success: 'text-success',\n error: 'text-error',\n warning: 'text-warning',\n info: 'text-info',\n} as const\n\n/**\n * Background color classes for skeleton/placeholder (50% opacity)\n * Used by: Skeleton component\n */\nexport const bgSkeletonColorClasses = {\n default: 'bg-surface',\n primary: 'bg-primary/50',\n secondary: 'bg-secondary/50',\n accent: 'bg-accent/50',\n success: 'bg-success/50',\n error: 'bg-error/50',\n warning: 'bg-warning/50',\n info: 'bg-info/50',\n} as const\n\n/**\n * Focus ring color classes\n * Used by: Button, Switch, form elements\n */\nexport const focusRingColorClasses = {\n default: 'focus-visible:ring-border',\n primary: 'focus-visible:ring-primary',\n secondary: 'focus-visible:ring-secondary',\n accent: 'focus-visible:ring-accent',\n success: 'focus-visible:ring-success',\n error: 'focus-visible:ring-error',\n warning: 'focus-visible:ring-warning',\n info: 'focus-visible:ring-info',\n} as const\n\n/**\n * Combined background + border for checked/selected state\n * Used by: Checkbox, Radio checked states\n */\nexport const checkedColorClasses = {\n primary: 'bg-primary border-primary',\n secondary: 'bg-secondary border-secondary',\n accent: 'bg-accent border-accent',\n success: 'bg-success border-success',\n error: 'bg-error border-error',\n warning: 'bg-warning border-warning',\n info: 'bg-info border-info',\n} as const\n\n/**\n * Switch track colors (unchecked -> checked)\n * Used by: Switch component\n */\nexport const switchTrackColorClasses = {\n primary: 'bg-border peer-checked:bg-primary peer-focus-visible:ring-primary',\n secondary: 'bg-border peer-checked:bg-secondary peer-focus-visible:ring-secondary',\n accent: 'bg-border peer-checked:bg-accent peer-focus-visible:ring-accent',\n success: 'bg-border peer-checked:bg-success peer-focus-visible:ring-success',\n error: 'bg-border peer-checked:bg-error peer-focus-visible:ring-error',\n warning: 'bg-border peer-checked:bg-warning peer-focus-visible:ring-warning',\n info: 'bg-border peer-checked:bg-info peer-focus-visible:ring-info',\n} as const\n\n/**\n * Checkbox border colors (default -> checked)\n * Used by: Checkbox component\n */\nexport const checkboxBorderColorClasses = {\n primary: 'border-border checked:border-primary indeterminate:border-primary',\n secondary: 'border-border checked:border-secondary indeterminate:border-secondary',\n accent: 'border-border checked:border-accent indeterminate:border-accent',\n success: 'border-border checked:border-success indeterminate:border-success',\n error: 'border-border checked:border-error indeterminate:border-error',\n warning: 'border-border checked:border-warning indeterminate:border-warning',\n info: 'border-border checked:border-info indeterminate:border-info',\n} as const\n\n/**\n * Radio button inset shadow colors for checked state\n * Used by: Radio component\n */\nexport const radioCheckedColorClasses = {\n primary: 'checked:border-primary checked:shadow-[inset_0_0_0_2px_var(--color-background),inset_0_0_0_13px_var(--color-primary)]',\n secondary: 'checked:border-secondary checked:shadow-[inset_0_0_0_2px_var(--color-background),inset_0_0_0_13px_var(--color-secondary)]',\n accent: 'checked:border-accent checked:shadow-[inset_0_0_0_2px_var(--color-background),inset_0_0_0_13px_var(--color-accent)]',\n success: 'checked:border-success checked:shadow-[inset_0_0_0_2px_var(--color-background),inset_0_0_0_13px_var(--color-success)]',\n error: 'checked:border-error checked:shadow-[inset_0_0_0_2px_var(--color-background),inset_0_0_0_13px_var(--color-error)]',\n warning: 'checked:border-warning checked:shadow-[inset_0_0_0_2px_var(--color-background),inset_0_0_0_13px_var(--color-warning)]',\n info: 'checked:border-info checked:shadow-[inset_0_0_0_2px_var(--color-background),inset_0_0_0_13px_var(--color-info)]',\n} as const\n\n\n// ============================================================================\n// Shared Text Color Variants\n// ============================================================================\n\n/**\n * Text-only color variants (no background)\n * Used by: Breadcrumbs, Text components, Labels\n */\nexport const textColorVariants = cva('', {\n variants: {\n color: {\n default: 'text-text-primary',\n primary: 'text-primary',\n secondary: 'text-secondary',\n accent: 'text-accent',\n success: 'text-success',\n error: 'text-error',\n warning: 'text-warning',\n info: 'text-info',\n },\n },\n defaultVariants: {\n color: 'default',\n },\n})\n\nexport type TextColorVariants = VariantProps<typeof textColorVariants>\n\n\n\n// ============================================================================\n// Notification/Alert Variant Generators\n// ============================================================================\n\nconst notificationSolidClasses: Record<ComponentColor, string> = {\n default: 'bg-surface text-text-primary',\n primary: 'bg-primary text-background',\n secondary: 'bg-secondary text-background',\n accent: 'bg-accent text-background',\n success: 'bg-success text-background',\n error: 'bg-error text-background',\n warning: 'bg-warning text-background',\n info: 'bg-info text-background',\n}\n\nconst notificationOutlinedClasses: Record<ComponentColor, string> = {\n default: 'bg-background border-border border-l-border text-text-primary',\n primary: 'bg-background border-primary border-l-primary text-primary',\n secondary: 'bg-background border-secondary border-l-secondary text-secondary',\n accent: 'bg-background border-accent border-l-accent text-accent',\n success: 'bg-background border-success border-l-success text-success',\n error: 'bg-background border-error border-l-error text-error',\n warning: 'bg-background border-warning border-l-warning text-warning',\n info: 'bg-background border-info border-l-info text-info',\n}\n\nconst notificationSoftClasses: Record<ComponentColor, string> = {\n default: 'bg-surface/50 text-text-primary border-l-border',\n primary: 'bg-primary/10 text-primary border-l-primary',\n secondary: 'bg-secondary/10 text-secondary border-l-secondary',\n accent: 'bg-accent/10 text-accent border-l-accent',\n success: 'bg-success/10 text-success border-l-success',\n error: 'bg-error/10 text-error border-l-error',\n warning: 'bg-warning/10 text-warning border-l-warning',\n info: 'bg-info/10 text-info border-l-info',\n}\n\nexport const createNotificationSolidColorVariants = createColorVariantGenerator('solid', notificationSolidClasses)\n\nexport const createNotificationOutlineColorVariants = createColorVariantGenerator('outline', notificationOutlinedClasses)\n\nexport const createNotificationSoftColorVariants = createColorVariantGenerator('soft', notificationSoftClasses)\n\n/**\n * Notification variant type\n */\nexport type NotificationVariantType = 'default' | 'solid' | 'outline' | 'soft'\n\n/**\n * Complete notification color variant generator\n *\n * Returns `any[]` for CVA (class-variance-authority) compatibility.\n * See createAllColorVariants for detailed explanation.\n *\n * @param colors - Array of color names to generate variants for\n * @param variants - Array of notification variant types to generate\n * @returns Array of compound variant objects for CVA\n */\nexport function createNotificationColorVariants(\n colors: readonly string[],\n variants: NotificationVariantType[],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any[] {\n const variantGenerators = {\n default: createDefaultColorVariants,\n solid: createNotificationSolidColorVariants,\n outline: createNotificationOutlineColorVariants,\n soft: createNotificationSoftColorVariants,\n } as const\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return variants.flatMap((variant) => variantGenerators[variant](colors) as any[])\n}\n\n// ============================================================================\n// Tooltip Variant Generators\n// ============================================================================\n\n/**\n * Tooltip solid color classes (background with contrasting text)\n * Used by: Tooltip component solid variant\n */\nexport const tooltipSolidColorClasses = {\n default: 'bg-text-primary text-background',\n primary: 'bg-primary text-background',\n secondary: 'bg-secondary text-background',\n accent: 'bg-accent text-background',\n success: 'bg-success text-background',\n error: 'bg-error text-background',\n warning: 'bg-warning text-background',\n info: 'bg-info text-background',\n} as const\n\nconst tooltipSoftClasses: Record<ComponentColor, string> = {\n default: 'bg-surface text-text-primary border-border',\n primary: 'bg-primary/20 text-primary border-primary/30',\n secondary: 'bg-secondary/20 text-secondary border-secondary/30',\n accent: 'bg-accent/20 text-accent border-accent/30',\n success: 'bg-success/20 text-success border-success/30',\n error: 'bg-error/20 text-error border-error/30',\n warning: 'bg-warning/20 text-warning border-warning/30',\n info: 'bg-info/20 text-info border-info/30',\n}\n\nexport const createTooltipSoftColorVariants = createColorVariantGenerator('soft', tooltipSoftClasses, 'className')\n\n// ============================================================================\n// Kbd Variant Generators\n// ============================================================================\n\nconst kbdSolidClasses: Record<ComponentColor, string> = {\n default: 'bg-text-secondary border-text-secondary text-background',\n primary: 'bg-primary border-primary text-background',\n secondary: 'bg-secondary border-secondary text-background',\n accent: 'bg-accent border-accent text-background',\n success: 'bg-success border-success text-background',\n error: 'bg-error border-error text-background',\n warning: 'bg-warning border-warning text-background',\n info: 'bg-info border-info text-background',\n}\n\nconst kbdOutlineClasses: Record<ComponentColor, string> = {\n default: 'bg-background border-border text-text-secondary',\n primary: 'bg-background border-primary text-primary',\n secondary: 'bg-background border-secondary text-secondary',\n accent: 'bg-background border-accent text-accent',\n success: 'bg-background border-success text-success',\n error: 'bg-background border-error text-error',\n warning: 'bg-background border-warning text-warning',\n info: 'bg-background border-info text-info',\n}\n\nconst kbdSoftClasses: Record<ComponentColor, string> = {\n default: 'bg-surface border-border text-text-secondary',\n primary: 'bg-primary/10 border-primary/20 text-primary',\n secondary: 'bg-secondary/10 border-secondary/20 text-secondary',\n accent: 'bg-accent/10 border-accent/20 text-accent',\n success: 'bg-success/10 border-success/20 text-success',\n error: 'bg-error/10 border-error/20 text-error',\n warning: 'bg-warning/10 border-warning/20 text-warning',\n info: 'bg-info/10 border-info/20 text-info',\n}\n\nexport const createKbdSolidColorVariants = createColorVariantGenerator('solid', kbdSolidClasses)\n\nexport const createKbdOutlineColorVariants = createColorVariantGenerator('outline', kbdOutlineClasses)\n\nexport const createKbdSoftColorVariants = createColorVariantGenerator('soft', kbdSoftClasses)\n\n/**\n * Kbd variant type\n */\nexport type KbdVariantType = 'solid' | 'outline' | 'soft'\n\n/**\n * Complete Kbd color variant generator\n *\n * Returns `any[]` for CVA (class-variance-authority) compatibility.\n * See createAllColorVariants for detailed explanation.\n *\n * @param colors - Array of color names to generate variants for\n * @param variants - Array of kbd variant types to generate\n * @returns Array of compound variant objects for CVA\n */\nexport function createKbdColorVariants(\n colors: readonly string[],\n variants: KbdVariantType[],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any[] {\n const variantGenerators = {\n solid: createKbdSolidColorVariants,\n outline: createKbdOutlineColorVariants,\n soft: createKbdSoftColorVariants,\n } as const\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return variants.flatMap((variant) => variantGenerators[variant](colors) as any[])\n}\n\n// ============================================================================\n// Popover Variant Generators\n// ============================================================================\n\nconst popoverDefaultClasses: Record<ComponentColor, string> = {\n default: 'bg-background border-border text-text-primary',\n primary: 'bg-background border-primary text-text-primary',\n secondary: 'bg-background border-secondary text-text-primary',\n accent: 'bg-background border-accent text-text-primary',\n success: 'bg-background border-success text-text-primary',\n error: 'bg-background border-error text-text-primary',\n warning: 'bg-background border-warning text-text-primary',\n info: 'bg-background border-info text-text-primary',\n}\n\nconst popoverSolidClasses: Record<ComponentColor, string> = {\n default: 'bg-surface border-border text-text-primary',\n primary: 'bg-primary border-primary text-background',\n secondary: 'bg-secondary border-secondary text-background',\n accent: 'bg-accent border-accent text-background',\n success: 'bg-success border-success text-background',\n error: 'bg-error border-error text-background',\n warning: 'bg-warning border-warning text-background',\n info: 'bg-info border-info text-background',\n}\n\nconst popoverSoftClasses: Record<ComponentColor, string> = {\n default: 'backdrop-blur-sm bg-surface/80 border-border text-text-primary',\n primary: 'backdrop-blur-sm bg-primary/10 border-primary/30 text-primary',\n secondary: 'backdrop-blur-sm bg-secondary/10 border-secondary/30 text-secondary',\n accent: 'backdrop-blur-sm bg-accent/10 border-accent/30 text-accent',\n success: 'backdrop-blur-sm bg-success/10 border-success/30 text-success',\n error: 'backdrop-blur-sm bg-error/10 border-error/30 text-error',\n warning: 'backdrop-blur-sm bg-warning/10 border-warning/30 text-warning',\n info: 'backdrop-blur-sm bg-info/10 border-info/30 text-info',\n}\n\nexport const createPopoverDefaultColorVariants = createColorVariantGenerator('default', popoverDefaultClasses)\n\nexport const createPopoverSolidColorVariants = createColorVariantGenerator('solid', popoverSolidClasses)\n\nexport const createPopoverSoftColorVariants = createColorVariantGenerator('soft', popoverSoftClasses)\n\n/**\n * Popover variant type\n */\nexport type PopoverVariantType = 'default' | 'solid' | 'soft'\n\n/**\n * Complete Popover color variant generator\n *\n * Returns `any[]` for CVA (class-variance-authority) compatibility.\n * See createAllColorVariants for detailed explanation.\n *\n * @param colors - Array of color names to generate variants for\n * @param variants - Array of popover variant types to generate\n * @returns Array of compound variant objects for CVA\n */\nexport function createPopoverColorVariants(\n colors: readonly string[],\n variants: PopoverVariantType[],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any[] {\n const variantGenerators = {\n default: createPopoverDefaultColorVariants,\n solid: createPopoverSolidColorVariants,\n soft: createPopoverSoftColorVariants,\n } as const\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return variants.flatMap((variant) => variantGenerators[variant](colors) as any[])\n}\n\n// ============================================================================\n// Export Usage Note\n// ============================================================================\n\n/**\n * To use these utilities in your components:\n *\n * @example Button component\n * import { createAllColorVariants, buttonColors } from \"../variants\";\n * compoundVariants: createAllColorVariants(buttonColors, ['solid', 'outline', 'dashed', 'link', 'ghost'])\n *\n * @example Badge component\n * import { createAllColorVariants, componentColors } from \"../variants\";\n * compoundVariants: createAllColorVariants(componentColors, ['solid', 'outline', 'soft'])\n *\n * @example Notification component\n * import { createNotificationColorVariants, componentColors } from \"../variants\";\n * compoundVariants: createNotificationColorVariants(componentColors, ['default', 'solid', 'outline', 'soft'])\n *\n * @example Tooltip component\n * import { tooltipSolidColorClasses, createTooltipSoftColorVariants, componentColors } from \"../variants\";\n * color: tooltipSolidColorClasses,\n * compoundVariants: createTooltipSoftColorVariants(componentColors)\n *\n * @example Kbd component\n * import { createKbdColorVariants, componentColors } from \"../variants\";\n * compoundVariants: createKbdColorVariants(componentColors, ['solid', 'outline', 'soft'])\n *\n * @example Popover component\n * import { createPopoverColorVariants, componentColors } from \"../variants\";\n * compoundVariants: createPopoverColorVariants(componentColors, ['default', 'solid', 'soft'])\n */\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/radio/index.tsx"],"names":[],"mappings":"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","file":"chunk-R3TLU26W.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport React, { useId } from \"react\";\n\nimport { cn } from \"../utils\";\nimport { radioCheckedColorClasses } from \"../variants\";\nimport type { RadioProps } from \"./types\";\n\nconst radioVariants = cva(\n \"appearance-none rounded-full border-border border bg-background cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed outline-none transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary\",\n {\n variants: {\n color: radioCheckedColorClasses,\n size: {\n xs: \"w-(--checkbox-size-xs) h-(--checkbox-size-xs)\",\n sm: \"w-(--checkbox-size-sm) h-(--checkbox-size-sm)\",\n md: \"w-(--checkbox-size-md) h-(--checkbox-size-md)\",\n lg: \"w-(--checkbox-size-lg) h-(--checkbox-size-lg)\",\n },\n error: {\n true: \"border-error checked:border-error\",\n false: \"\",\n },\n },\n defaultVariants: {\n color: \"primary\",\n size: \"md\",\n },\n },\n);\n\nconst Radio = React.memo<RadioProps>(\n ({\n color = \"primary\",\n size = \"md\",\n label,\n helperText,\n error,\n className,\n ref,\n classNames,\n ...props\n }) => {\n // Generate unique ID for accessibility\n const uniqueId = useId();\n const radioId = props.id || `radio-${uniqueId}`;\n const helperId = `radio-helper-${uniqueId}`;\n const hasHelperText = !!(helperText || error);\n\n const radioElement = (\n <input\n ref={ref}\n type=\"radio\"\n className={cn(\n \"radio_radio\",\n radioVariants({ color, size, error: !!error }),\n className,\n classNames?.radio,\n )}\n aria-invalid={!!error || undefined}\n aria-describedby={hasHelperText ? helperId : undefined}\n {...props}\n id={radioId}\n />\n );\n\n return (\n <div className={cn(\"radio_root\", \"w-full\", classNames?.root)}>\n <label\n htmlFor={radioId}\n className={cn(\n \"flex items-center gap-2\",\n !props.disabled && \"cursor-pointer\",\n )}\n >\n {radioElement}\n {label && (\n <span\n className={cn(\n \"radio_label\",\n \"text-sm text-text-secondary select-none\",\n error && \"text-error\",\n props.disabled && \"opacity-50\",\n classNames?.label,\n )}\n >\n {label}\n </span>\n )}\n </label>\n {(helperText || error) && (\n <p\n id={helperId}\n className={cn(\n \"radio_description\",\n \"mt-1 ml-0 text-xs\",\n error ? \"text-error\" : \"text-text-secondary\",\n classNames?.description,\n )}\n >\n {typeof error === \"string\" ? error : helperText}\n </p>\n )}\n </div>\n );\n },\n);\n\nRadio.displayName = \"Radio\";\n\nexport type * from \"./types\";\nexport default Radio;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/button/index.tsx"],"names":[],"mappings":"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","file":"chunk-RFHTC6AH.js","sourcesContent":["'use client'\n\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport React from \"react\";\n\nimport { Spinner } from \"../spinner\";\nimport { cn } from \"../utils\";\nimport { buttonColors, createAllColorVariants } from \"../variants\";\nimport type { ButtonProps, ButtonColor } from \"./types\";\nimport { useRipple, RippleContainer } from \"../hooks/useRipple\";\n\n// ============================================================================\n// CVA Variants — 60fps GPU-composited animations\n// ============================================================================\n\nconst buttonVariants = cva(\n [\n \"inline-flex cursor-pointer text-center font-medium items-center justify-center\",\n // 60fps: only animate opacity (GPU-composited, no paint/layout)\n \"transition-[opacity] duration-200 ease-[cubic-bezier(0.34,1.56,0.64,1)]\",\n \"disabled:opacity-50 disabled:pointer-events-none\",\n // Focus ring for accessibility\n \"focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n // Accessibility: respect prefers-reduced-motion\n \"motion-reduce:transition-none\",\n ],\n {\n variants: {\n variant: {\n solid: \"border\",\n outline: \"border bg-transparent\",\n soft: \"border-none\",\n dashed: \"border border-dashed bg-transparent\",\n link: \"border-none bg-transparent hover:underline\",\n ghost: \"border-none bg-transparent\",\n },\n color: {\n primary: \"border-primary focus-visible:ring-primary\",\n secondary: \"border-secondary focus-visible:ring-secondary\",\n accent: \"border-accent focus-visible:ring-accent\",\n success: \"border-success focus-visible:ring-success\",\n error: \"border-error focus-visible:ring-error\",\n warning: \"border-warning focus-visible:ring-warning\",\n info: \"border-info focus-visible:ring-info\",\n },\n size: {\n xs: \"h-(--button-height-xs) px-(--button-padding-x-xs) text-xs gap-1.5\",\n sm: \"h-(--button-height-sm) px-(--button-padding-x-sm) text-sm gap-2\",\n md: \"h-(--button-height-md) px-(--button-padding-x-md) text-base gap-2\",\n lg: \"h-(--button-height-lg) px-(--button-padding-x-lg) text-lg gap-2.5\",\n },\n shape: {\n rounded: \"rounded-md\",\n pill: \"rounded-full\",\n square: \"rounded-none\",\n },\n fullWidth: {\n true: \"w-full\",\n false: \"\",\n },\n iconOnly: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n // Icon-only buttons: square aspect ratio\n { iconOnly: true, size: \"xs\", class: \"w-(--button-height-xs) px-0\" },\n { iconOnly: true, size: \"sm\", class: \"w-(--button-height-sm) px-0\" },\n { iconOnly: true, size: \"md\", class: \"w-(--button-height-md) px-0\" },\n { iconOnly: true, size: \"lg\", class: \"w-(--button-height-lg) px-0\" },\n // Color variants\n ...createAllColorVariants(buttonColors, [\n \"solid\",\n \"outline\",\n \"soft\",\n \"dashed\",\n \"link\",\n \"ghost\",\n ]),\n ],\n defaultVariants: {\n variant: \"solid\",\n color: \"primary\",\n size: \"md\",\n shape: \"rounded\",\n fullWidth: false,\n iconOnly: false,\n },\n },\n);\n\n// Map button size to spinner size\nconst spinnerSizeMap: Record<\n NonNullable<ButtonProps[\"size\"]>,\n \"xs\" | \"sm\" | \"md\" | \"lg\"\n> = {\n xs: \"xs\",\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n\n// Get spinner color based on button variant\nfunction getSpinnerColor(\n variant: ButtonProps[\"variant\"],\n color: ButtonColor,\n): ButtonColor | \"default\" {\n if (variant === \"solid\") {\n return \"default\";\n }\n return color;\n}\n\n// ============================================================================\n// Button Component\n// ============================================================================\n\nconst Button = React.memo<ButtonProps>(\n ({\n variant = \"solid\",\n color = \"primary\",\n size = \"md\",\n shape = \"rounded\",\n loading = false,\n loadingText,\n loadingPosition = \"left\",\n icon,\n iconPlacement = \"left\",\n leftIcon: leftIconProp,\n rightIcon: rightIconProp,\n fullWidth = false,\n iconOnly = false,\n asChild = false,\n pressed,\n ripple = false,\n className,\n classNames,\n children,\n disabled,\n onClick,\n ref,\n ...props\n }) => {\n const isDisabled = disabled || loading;\n const spinnerSize = spinnerSizeMap[size];\n const spinnerColor = getSpinnerColor(variant, color);\n\n // Ripple effect — GPU-composited (transform + opacity only)\n const {\n ripples,\n onPointerDown: ripplePointerDown,\n onKeyDown: rippleKeyDown,\n onAnimationEnd: rippleAnimationEnd,\n } = useRipple(ripple && !isDisabled);\n\n // Dev warning for icon-only buttons without aria-label\n if (import.meta.env?.DEV && iconOnly && !props['aria-label'] && !props['aria-labelledby']) {\n console.warn('Button: icon-only buttons should have an aria-label or aria-labelledby prop for accessibility.')\n }\n\n // Resolve icons: leftIcon/rightIcon take precedence over icon+iconPlacement\n const leftIcon = leftIconProp ?? (iconPlacement === \"left\" ? icon : undefined);\n const rightIcon = rightIconProp ?? (iconPlacement === \"right\" ? icon : undefined);\n\n // Determine what to render\n const showLeftIcon = !loading && leftIcon;\n const showRightIcon = !loading && rightIcon;\n const showSpinnerLeft = loading && loadingPosition === \"left\";\n const showSpinnerRight = loading && loadingPosition === \"right\";\n\n // Content: loadingText when loading, otherwise children\n const content = loading && loadingText ? loadingText : children;\n\n // For icon-only buttons with loading, just show spinner\n const iconOnlyLoading = iconOnly && loading;\n\n const buttonClassName = cn(\n \"button_root\",\n buttonVariants({ color, size, variant, shape, fullWidth, iconOnly }),\n // Pressed toggle visual\n pressed && \"data-[pressed=true]:ring-2 data-[pressed=true]:ring-current/30\",\n // Ripple needs relative + overflow-hidden\n ripple && \"relative overflow-hidden\",\n classNames?.root,\n className,\n );\n\n // Shared props for both button and Slot\n const sharedProps = {\n className: buttonClassName,\n disabled: asChild ? undefined : isDisabled,\n \"aria-busy\": loading || undefined,\n \"aria-disabled\": isDisabled || undefined,\n \"aria-pressed\": pressed,\n \"data-pressed\": pressed != null ? String(pressed) : undefined,\n \"data-slot\": \"root\",\n onClick,\n onPointerDown: ripplePointerDown,\n onKeyDown: rippleKeyDown,\n ...props,\n };\n\n const innerContent = iconOnlyLoading ? (\n <>\n <span\n className={cn(\"button_spinner inline-flex items-center\", classNames?.spinner)}\n data-slot=\"spinner\"\n >\n <Spinner size={spinnerSize} color={spinnerColor} />\n </span>\n <span className=\"sr-only\">Loading</span>\n </>\n ) : (\n <>\n {showSpinnerLeft && (\n <span\n className={cn(\"button_spinner inline-flex items-center\", classNames?.spinner)}\n data-slot=\"spinner\"\n >\n <Spinner size={spinnerSize} color={spinnerColor} />\n </span>\n )}\n {showLeftIcon && (\n <span\n className={cn(\"button_icon shrink-0\", classNames?.icon, classNames?.leftIcon)}\n data-slot=\"icon\"\n >\n {leftIcon}\n </span>\n )}\n {content}\n {showRightIcon && (\n <span\n className={cn(\"button_icon shrink-0\", classNames?.icon, classNames?.rightIcon)}\n data-slot=\"icon\"\n >\n {rightIcon}\n </span>\n )}\n {showSpinnerRight && (\n <span\n className={cn(\"button_spinner inline-flex items-center\", classNames?.spinner)}\n data-slot=\"spinner\"\n >\n <Spinner size={spinnerSize} color={spinnerColor} />\n </span>\n )}\n {loading && <span className=\"sr-only\">Loading</span>}\n </>\n );\n\n const rippleElements = (\n <RippleContainer\n ripples={ripples}\n className={classNames?.ripple}\n onAnimationEnd={rippleAnimationEnd}\n />\n );\n\n if (asChild) {\n return (\n <Slot ref={ref} {...sharedProps}>\n {React.isValidElement(children)\n ? React.cloneElement(\n children as React.ReactElement<{ children?: React.ReactNode }>,\n {},\n <>\n {(children as React.ReactElement<{ children?: React.ReactNode }>).props.children}\n {rippleElements}\n </>,\n )\n : children}\n </Slot>\n );\n }\n\n return (\n <button\n ref={ref}\n type={props.type ?? \"button\"}\n {...sharedProps}\n >\n {innerContent}\n {rippleElements}\n </button>\n );\n },\n);\n\nButton.displayName = \"Button\";\n\nexport { buttonVariants };\nexport type * from \"./types\";\nexport default Button;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/input-group/index.tsx"],"names":[],"mappings":";;;;;AAYA,IAAM,kBAAA,GAAqB,GAAA;AAAA,EACzB,+HAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,uBAAA;AAAA,QACJ,EAAA,EAAI,uBAAA;AAAA,QACJ,EAAA,EAAI,uBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,uBAAA,GAA0B,GAAA;AAAA,EAC9B,gLAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,mCAAA;AAAA,QACJ,EAAA,EAAI,mCAAA;AAAA,QACJ,EAAA,EAAI,qCAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,uBAAA,GAA0B,GAAA;AAAA,EAC9B,sDAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,wBAAA;AAAA,QACJ,EAAA,EAAI,4BAAA;AAAA,QACJ,EAAA,EAAI,0BAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,UAAA,GAAa,IAAA;AAAA,EACjB,CAAC,EAAE,QAAA,EAAU,OAAO,IAAA,EAAM,SAAA,EAAW,YAAW,KAAM;AACpD,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,iBAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,iBAAA;AAAA,UACA,kBAAA,CAAmB,EAAE,IAAA,EAAM,CAAA;AAAA,UAC3B,UAAA,EAAY,IAAA;AAAA,UACZ;AAAA,SACF;AAAA,QAEC,QAAA,EAAA,KAAA,CAAM,QAAA,CAAS,GAAA,CAAI,QAAA,EAAU,CAAC,KAAA,KAAU;AACvC,UAAA,IAAI,KAAA,CAAM,cAAA,CAAe,KAAK,CAAA,EAAG;AAC/B,YAAA,MAAM,WAAA,GAAe,MAAM,IAAA,EACvB,WAAA;AACJ,YAAA,IACE,WAAA,KAAgB,iBAAA,IAChB,WAAA,KAAgB,iBAAA,EAChB;AACA,cAAA,OAAO,KAAA,CAAM,YAAA;AAAA,gBACX,KAAA;AAAA,gBAIA,EAAE,MAAM,UAAA;AAAW,eACrB;AAAA,YACF;AAAA,UACF;AACA,UAAA,OAAO,KAAA;AAAA,QACT,CAAC;AAAA;AAAA,KACH;AAAA,EAEJ;AACF,CAAA;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;AAElB,IAAM,eAAA,GAAkB,IAAA;AAAA,EAC7B,CAAC,EAAE,SAAA,EAAW,IAAA,GAAO,MAAM,UAAA,EAAY,GAAG,OAAM,KAAM;AACpD,IAAA,uBACE,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,kBAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,kBAAA;AAAA,UACA,uBAAA,CAAwB,EAAE,IAAA,EAAM,CAAA;AAAA,UAChC,UAAA,EAAY,KAAA;AAAA,UACZ;AAAA,SACF;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAEA,eAAA,CAAgB,WAAA,GAAc,iBAAA;AAEvB,IAAM,eAAA,GAAkB,IAAA;AAAA,EAC7B,CAAC,EAAE,QAAA,EAAU,OAAO,IAAA,EAAM,SAAA,EAAW,YAAW,KAAM;AACpD,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,kBAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,kBAAA;AAAA,UACA,uBAAA,CAAwB,EAAE,IAAA,EAAM,CAAA;AAAA,UAChC,UAAA,EAAY,KAAA;AAAA,UACZ;AAAA,SACF;AAAA,QAEC;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,eAAA,CAAgB,WAAA,GAAc,iBAAA;AAI9B,IAAO,mBAAA,GAAQ","file":"chunk-ROA7BYGB.js","sourcesContent":["import { 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 }) => {\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 >\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, ...props }) => {\n return (\n <input\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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/radio-group/index.tsx"],"names":[],"mappings":";;;;AAKO,IAAM,aAAa,KAAA,CAAM,IAAA;AAAA,EAC9B,CAAC;AAAA,IACC,KAAA;AAAA,IACA,UAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA,GAAc,UAAA;AAAA,IACd,SAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAM;AACJ,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAW,EAAA,CAAG,iBAAA,EAAmB,QAAA,EAAU,SAAA,EAAW,YAAY,IAAI,CAAA;AAAA,QACtE,IAAA,EAAK,YAAA;AAAA,QACJ,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA,UAAA,KAAA,oBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EACb,8BAAC,MAAA,EAAA,EAAK,SAAA,EAAW,EAAA,CAAG,kBAAA,EAAoB,yCAAA,EAA2C,UAAA,EAAY,KAAK,CAAA,EACjG,iBACH,CAAA,EACF,CAAA;AAAA,0BAEF,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,EAAA;AAAA,gBACT,kBAAA;AAAA,gBACA,MAAA;AAAA,gBACA,WAAA,KAAgB,aACZ,gBAAA,GACA,0BAAA;AAAA,gBACJ,UAAA,EAAY;AAAA,eACd;AAAA,cAEC;AAAA;AAAA,WACH;AAAA,UAAA,CACE,cAAc,KAAA,qBACd,GAAA;AAAA,YAAC,GAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,EAAA;AAAA,gBACT,QAAQ,kBAAA,GAAqB,mBAAA;AAAA,gBAC7B,cAAA;AAAA,gBACA,QAAQ,YAAA,GAAe,qBAAA;AAAA,gBACvB,KAAA,GAAQ,UAAA,EAAY,KAAA,GAAQ,UAAA,EAAY;AAAA,eAC1C;AAAA,cAEC,QAAA,EAAA,KAAA,IAAS;AAAA;AAAA;AACZ;AAAA;AAAA,KAEJ;AAAA,EAEJ;AACF;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;AAGzB,IAAO,mBAAA,GAAQ","file":"chunk-SGRACNBP.js","sourcesContent":["import React from 'react'\n\nimport { cn } from '../utils'\nimport type { RadioGroupProps } from './types'\n\nexport const RadioGroup = React.memo<RadioGroupProps>(\n ({\n label,\n helperText,\n error,\n orientation = 'vertical',\n className,\n classNames,\n children,\n ref,\n ...props\n }) => {\n return (\n <div\n ref={ref}\n className={cn('radioGroup_root', 'w-full', className, classNames?.root)}\n role=\"radiogroup\"\n {...props}\n >\n {label && (\n <div className=\"mb-2\">\n <span className={cn('radioGroup_label', 'text-sm font-medium text-text-secondary', classNames?.label)}>\n {label}\n </span>\n </div>\n )}\n <div\n className={cn(\n 'radioGroup_group',\n 'flex',\n orientation === 'vertical'\n ? 'flex-col gap-2'\n : 'flex-row flex-wrap gap-4',\n classNames?.group,\n )}\n >\n {children}\n </div>\n {(helperText || error) && (\n <p\n className={cn(\n error ? 'radioGroup_error' : 'radioGroup_helper',\n 'mt-2 text-xs',\n error ? 'text-error' : 'text-text-secondary',\n error ? classNames?.error : classNames?.helper,\n )}\n >\n {error || helperText}\n </p>\n )}\n </div>\n )\n },\n)\n\nRadioGroup.displayName = 'RadioGroup'\n\nexport type * from './types'\nexport default RadioGroup\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/table/EditableCell.tsx","../src/table/TableActions.tsx","../src/table/variants.ts","../src/table/TableCell.tsx","../src/table/TableHeaderCell.tsx","../src/table/TableRow.tsx","../src/table/TableSkeleton.tsx","../src/table/index.tsx"],"names":["jsx","jsxs","_","useState","useRef","useEffect","table","ChevronDown","Pin","PinOff","Fragment","pageSize"],"mappings":"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","file":"chunk-TLNHWOQQ.js","sourcesContent":["'use client'\n\nimport { useEffect, useRef, useState } from 'react'\n\nimport Input from '../input'\nimport { cn } from '../utils'\nimport type { TableSize } from './types'\n\ninterface EditableCellProps<TValue = unknown> {\n value: TValue\n onValueChange: (value: TValue) => void\n size?: TableSize\n className?: string\n}\n\nexport function EditableCell<TValue = unknown>({\n value,\n onValueChange,\n size = 'md',\n className,\n}: EditableCellProps<TValue>) {\n const [isEditing, setIsEditing] = useState(false)\n const [editValue, setEditValue] = useState(String(value ?? ''))\n const inputRef = useRef<HTMLInputElement>(null)\n const containerRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (isEditing && inputRef.current) {\n inputRef.current.focus()\n inputRef.current.select()\n }\n }, [isEditing])\n\n useEffect(() => {\n setEditValue(String(value ?? ''))\n }, [value])\n\n const handleSave = () => {\n setIsEditing(false)\n if (editValue !== String(value ?? '')) {\n onValueChange(editValue as TValue)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n handleSave()\n } else if (e.key === 'Escape') {\n setEditValue(String(value ?? ''))\n setIsEditing(false)\n }\n }\n\n const sizeClasses = {\n xs: 'text-xs py-0.5',\n sm: 'text-sm py-1',\n md: 'text-base py-1.5',\n lg: 'text-lg py-2',\n }\n\n const inputSizeMap = {\n xs: 'sm' as const,\n sm: 'sm' as const,\n md: 'md' as const,\n lg: 'lg' as const,\n }\n\n return (\n <div\n ref={containerRef}\n className={cn('table_editableCell relative w-full max-w-full overflow-hidden', className)}\n >\n {isEditing ? (\n <div className=\"w-full\">\n <Input\n ref={inputRef}\n type=\"text\"\n value={editValue}\n onChange={(e) => setEditValue(e.target.value)}\n onBlur={handleSave}\n onKeyDown={handleKeyDown}\n size={inputSizeMap[size]}\n className=\"w-full min-w-0 max-w-full\"\n />\n </div>\n ) : (\n <div\n onClick={() => setIsEditing(true)}\n className={cn(\n 'cursor-text hover:bg-surface/50 rounded transition-colors min-h-[20px] px-3 w-full overflow-hidden text-ellipsis whitespace-nowrap',\n sizeClasses[size],\n )}\n title=\"Click to edit\"\n >\n {String(value ?? '')}\n </div>\n )}\n </div>\n )\n}\n\nEditableCell.displayName = 'EditableCell'\n","'use client'\n\nimport { Columns3, Search } from 'lucide-react'\n\nimport Button from '../button'\nimport Checkbox from '../checkbox'\nimport Input from '../input'\nimport { Popover, PopoverContent, PopoverTrigger } from '../popover'\nimport ToggleGroup from '../toggle-group'\nimport { cn, iconSizes } from '../utils'\nimport type { TableColor, TableSize } from './types'\n\ninterface TableActionsProps {\n searchValue: string\n onSearchChange: (value: string) => void\n visibleColumns: string[]\n allColumns: Array<{ id: string; label: string }>\n onVisibleColumnsChange: (columns: string[]) => void\n size: TableSize\n onSizeChange: (size: TableSize) => void\n color?: TableColor\n className?: string\n}\n\nexport function TableActions({\n searchValue,\n onSearchChange,\n visibleColumns,\n allColumns,\n onVisibleColumnsChange,\n size,\n onSizeChange,\n color = 'default',\n className,\n}: TableActionsProps) {\n const handleColumnToggle = (columnId: string) => {\n if (visibleColumns.includes(columnId)) {\n onVisibleColumnsChange(visibleColumns.filter((id) => id !== columnId))\n } else {\n onVisibleColumnsChange([...visibleColumns, columnId])\n }\n }\n\n const sizeOptions = [\n { value: 'sm', label: 'SM' },\n { value: 'md', label: 'MD' },\n { value: 'lg', label: 'LG' },\n ]\n\n return (\n <div className={cn('table_actions flex flex-wrap items-center gap-4 rounded-md', className)}>\n {/* Search Input - Left */}\n <div className=\"w-auto mr-auto\">\n <Input\n type=\"text\"\n placeholder=\"Search...\"\n value={searchValue}\n onChange={(e) => onSearchChange(e.target.value)}\n size=\"sm\"\n rightIcon={<Search className={iconSizes[size]} />}\n />\n </div>\n\n {/* Column Visibility Selector */}\n <Popover>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n size=\"sm\"\n leftIcon={<Columns3 className={iconSizes[size]} />}\n >\n Columns\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-56 p-2\">\n <div className=\"space-y-1 max-h-[300px] overflow-y-auto\">\n {allColumns.map((col) => (\n <label\n key={col.id}\n className=\"flex items-center gap-2 px-3 py-2 hover:bg-surface rounded cursor-pointer\"\n >\n <Checkbox\n checked={visibleColumns.includes(col.id)}\n onChange={() => handleColumnToggle(col.id)}\n color={color === 'default' ? 'primary' : color}\n size=\"sm\"\n />\n <span className=\"text-sm text-text-primary\">{col.label}</span>\n </label>\n ))}\n </div>\n </PopoverContent>\n </Popover>\n\n {/* Size Toggle Group */}\n <ToggleGroup\n options={sizeOptions}\n value={size}\n onChange={(value) => onSizeChange(value as TableSize)}\n color={color}\n size=\"sm\"\n variant=\"default\"\n />\n </div>\n )\n}\n\nTableActions.displayName = 'TableActions'\n","import { cva } from 'class-variance-authority'\n\nexport const cellVariants = cva('text-left transition-colors', {\n variants: {\n size: {\n xs: 'px-2 py-1 text-xs',\n sm: 'px-3 py-2 text-sm',\n md: 'px-4 py-3 text-base',\n lg: 'px-6 py-4 text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n","import { cn } from '../utils'\nimport type { TableSize } from './types'\nimport { cellVariants } from './variants'\n\ninterface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n size?: TableSize\n bordered?: boolean\n fixed?: 'left' | 'right'\n}\n\nexport const TableCell = ({\n size = 'md',\n bordered = false,\n fixed,\n className,\n children,\n ...props\n}: TableCellProps) => {\n return (\n <td\n className={cn(\n 'table_cell',\n cellVariants({ size }),\n 'text-text-primary',\n bordered && 'border-r border-border last:border-r-0',\n fixed === 'left' && 'sticky left-0 bg-background z-10',\n fixed === 'right' && 'sticky right-0 bg-background z-10',\n className,\n )}\n {...props}\n >\n {children}\n </td>\n )\n}\n\nTableCell.displayName = 'TableCell'\n","'use client'\n\nimport type { Header } from '@tanstack/react-table'\nimport { ChevronDown, ChevronsUpDown, Pin, PinOff } from 'lucide-react'\n\nimport { cn } from '../utils'\nimport type { TableColor, TableSize, TableVariant } from './types'\nimport { cellVariants } from './variants'\n\ninterface TableHeaderCellProps<TData>\n extends React.ThHTMLAttributes<HTMLTableCellElement> {\n header: Header<TData, unknown>\n size?: TableSize\n variant?: TableVariant\n color?: TableColor\n bordered?: boolean\n enableColumnPinning?: boolean\n}\n\nexport function TableHeaderCell<TData>({\n header,\n size = 'md',\n variant = 'outline',\n color = 'default',\n bordered = false,\n enableColumnPinning = false,\n className,\n ...props\n}: TableHeaderCellProps<TData>) {\n const isPinnedLeft = header.column.getIsPinned() === 'left'\n const isPinnedRight = header.column.getIsPinned() === 'right'\n\n const colorHoverClasses = {\n default: 'hover:bg-surface',\n primary: 'hover:bg-primary/10',\n secondary: 'hover:bg-secondary/10',\n accent: 'hover:bg-accent/10',\n success: 'hover:bg-success/10',\n error: 'hover:bg-error/10',\n warning: 'hover:bg-warning/10',\n info: 'hover:bg-info/10',\n }\n\n const colorIconClasses = {\n default: 'text-text-primary',\n primary: 'text-primary',\n secondary: 'text-secondary',\n accent: 'text-accent',\n success: 'text-success',\n error: 'text-error',\n warning: 'text-warning',\n info: 'text-info',\n }\n\n return (\n <th\n className={cn(\n 'table_headerCell',\n cellVariants({ size }),\n 'font-semibold text-text-primary border-b border-border relative group',\n variant === 'line' && 'border-b-2',\n bordered && 'border-r border-border last:border-r-0',\n header.column.getCanSort() &&\n 'cursor-pointer select-none hover:bg-background',\n isPinnedLeft && 'sticky left-0 bg-surface z-20',\n isPinnedRight && 'sticky right-0 bg-surface z-20',\n className,\n )}\n onClick={header.column.getToggleSortingHandler()}\n {...props}\n >\n <div className=\"flex items-center justify-between gap-2\">\n <span className=\"flex-1\">\n {header.isPlaceholder\n ? null\n : typeof header.column.columnDef.header === 'function'\n ? header.column.columnDef.header(header.getContext())\n : header.column.columnDef.header}\n </span>\n <div className=\"flex items-center gap-1\">\n {header.column.getCanSort() && (\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation()\n header.column.toggleSorting()\n }}\n className={cn(\n 'p-1 rounded transition-[colors,opacity]',\n header.column.getIsSorted()\n ? `opacity-100 ${colorHoverClasses[color]}`\n : `opacity-0 group-hover:opacity-100 ${colorHoverClasses[color]}`,\n header.column.getIsSorted() && colorIconClasses[color],\n )}\n >\n {header.column.getIsSorted() === 'asc' ? (\n <ChevronDown className=\"w-3.5 h-3.5 rotate-180\" />\n ) : header.column.getIsSorted() === 'desc' ? (\n <ChevronDown className=\"w-3.5 h-3.5\" />\n ) : (\n <ChevronsUpDown className=\"w-3.5 h-3.5\" />\n )}\n </button>\n )}\n {enableColumnPinning && header.column.getCanPin() && (\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation()\n const isPinned = header.column.getIsPinned()\n if (isPinned) {\n header.column.pin(false)\n } else {\n header.column.pin('left')\n }\n }}\n className={cn(\n 'p-1 rounded transition-[colors,opacity]',\n isPinnedLeft || isPinnedRight\n ? `opacity-100 ${colorHoverClasses[color]} ${colorIconClasses[color]}`\n : `opacity-0 group-hover:opacity-100 ${colorHoverClasses[color]}`,\n )}\n >\n {isPinnedLeft || isPinnedRight ? (\n <PinOff className=\"w-3.5 h-3.5\" />\n ) : (\n <Pin className=\"w-3.5 h-3.5\" />\n )}\n </button>\n )}\n </div>\n </div>\n </th>\n )\n}\n\nTableHeaderCell.displayName = 'TableHeaderCell'\n","'use client'\n\nimport type { Row } from '@tanstack/react-table'\n\nimport { cn } from '../utils'\n\ninterface TableRowProps<TData>\n extends React.HTMLAttributes<HTMLTableRowElement> {\n row: Row<TData>\n index: number\n striped?: boolean\n hoverable?: boolean\n onRowClick?: (row: TData) => void\n isPinned?: boolean\n isExpanded?: boolean\n}\n\nexport function TableRow<TData>({\n row,\n index,\n striped = false,\n hoverable = true,\n onRowClick,\n isPinned = false,\n isExpanded = false,\n className,\n children,\n ...props\n}: TableRowProps<TData>) {\n const handleKeyDown = (e: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (onRowClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault()\n onRowClick(row.original)\n }\n }\n\n return (\n <tr\n className={cn(\n 'table_row border-b border-border last:border-b-0 transition-colors duration-150',\n striped && index % 2 === 1 && 'bg-surface/50',\n hoverable && 'hover:bg-surface cursor-pointer',\n onRowClick && 'cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary',\n isPinned && 'bg-primary/5 border-primary/20',\n row.getIsSelected() && 'bg-primary/10',\n className,\n )}\n onClick={() => onRowClick?.(row.original)}\n onKeyDown={handleKeyDown}\n tabIndex={onRowClick ? 0 : undefined}\n role={onRowClick ? 'button' : undefined}\n {...props}\n >\n {children}\n </tr>\n )\n}\n\nTableRow.displayName = 'TableRow'\n","import { cn } from '../utils'\nimport type { TableSize } from './types'\nimport { cellVariants } from './variants'\n\ninterface TableSkeletonProps {\n rows?: number\n columns: number\n size?: TableSize\n className?: string\n}\n\nexport const TableSkeleton = ({\n rows = 5,\n columns,\n size = 'md',\n className,\n}: TableSkeletonProps) => {\n return (\n <>\n {Array.from({ length: rows }).map((_, rowIndex) => (\n <tr\n key={rowIndex}\n className={cn('table_skeleton border-b border-border', className)}\n >\n {Array.from({ length: columns }).map((_, colIndex) => (\n <td\n key={colIndex}\n className={cn(cellVariants({ size }))}\n >\n <div className=\"animate-pulse\">\n <div className=\"h-4 bg-surface rounded w-full\" />\n </div>\n </td>\n ))}\n </tr>\n ))}\n </>\n )\n}\n\nTableSkeleton.displayName = 'TableSkeleton'\n","'use client'\n\nimport {\n flexRender,\n getCoreRowModel,\n getExpandedRowModel,\n getFilteredRowModel,\n getGroupedRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable,\n type ColumnFiltersState,\n type ColumnPinningState,\n type ExpandedState,\n type GroupingState,\n type Row,\n type SortingState,\n type VisibilityState,\n} from '@tanstack/react-table'\nimport { useVirtualizer } from '@tanstack/react-virtual'\nimport { ChevronDown, ChevronRight, Inbox, Pin, PinOff } from 'lucide-react'\nimport React, { useEffect, useMemo, useRef, useState } from 'react'\n\nimport Checkbox from '../checkbox'\nimport Pagination from '../pagination'\nimport { cn, iconSizes } from '../utils'\nimport { EditableCell } from './EditableCell'\nimport { TableActions } from './TableActions'\nimport { TableCell } from './TableCell'\nimport { TableHeaderCell } from './TableHeaderCell'\nimport { TableRow } from './TableRow'\nimport { TableSkeleton } from './TableSkeleton'\nimport type {\n TableCellContext,\n TableHeaderContext,\n TableProps,\n TableSize,\n} from './types'\nimport { cellVariants } from './variants'\n\nfunction TableComponent<TData>({\n data,\n columns,\n columnGroups,\n caption,\n showCaption = false,\n 'aria-label': ariaLabel,\n variant = 'outline',\n size: initialSize = 'md',\n color = 'default',\n striped = false,\n hoverable = true,\n bordered = false,\n enableSorting = true,\n enableFiltering = false,\n enablePagination = false,\n enableRowSelection = false,\n enableMultiRowSelection = true,\n enableRowPinning = false,\n enableExpandable = false,\n enableGrouping = false,\n enableVirtualization = false,\n enableClickToSelect = false,\n enableColumnPinning = false,\n enableActions = false,\n paginationPosition = 'bottomcenter',\n expandedContent,\n footer,\n emptyState,\n loading = false,\n loadingRows = 5,\n pageSize = 10,\n pageSizeOptions = [5, 10, 20, 50],\n onRowClick,\n onSelectionChange,\n onCellEdit,\n pinnedRowIds = [],\n onPinnedRowsChange,\n className,\n classNames,\n}: TableProps<TData>) {\n const [sorting, setSorting] = useState<SortingState>([])\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n const [rowSelection, setRowSelection] = useState({})\n const [expanded, setExpanded] = useState<ExpandedState>({})\n const [grouping, setGrouping] = useState<GroupingState>([])\n const [pinnedRows, setPinnedRows] = useState<string[]>(pinnedRowIds)\n const [columnPinning, setColumnPinning] = useState<ColumnPinningState>({\n left: [],\n right: [],\n })\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({})\n const [searchValue, setSearchValue] = useState('')\n const [size, setSize] = useState<TableSize>(initialSize)\n\n const tableContainerRef = useRef<HTMLDivElement>(null)\n const prevAutoPinnedIdsRef = useRef<string>('')\n\n // Memoize auto-pinned IDs to prevent infinite loops\n const autoPinnedIds = useMemo(() => {\n if (!enableRowPinning || data.length === 0) return []\n\n return data\n .map((row, index) => ({ row, id: String(index) }))\n .filter(({ row }) => (row as Record<string, unknown>).pin === true)\n .map(({ id }) => id)\n }, [data, enableRowPinning])\n\n // Initialize pinned rows from data\n useEffect(() => {\n if (autoPinnedIds.length > 0) {\n const combinedPinnedIds = [\n ...new Set([...pinnedRowIds, ...autoPinnedIds]),\n ]\n\n // Only update if auto-pinned IDs changed (use string comparison to avoid array reference issues)\n const autoPinnedIdsStr = autoPinnedIds.sort().join(',')\n if (autoPinnedIdsStr !== prevAutoPinnedIdsRef.current) {\n prevAutoPinnedIdsRef.current = autoPinnedIdsStr\n setPinnedRows(combinedPinnedIds)\n }\n }\n }, [autoPinnedIds, pinnedRowIds])\n\n // Initialize column pinning from column definitions\n useEffect(() => {\n if (enableColumnPinning && columns.length > 0) {\n const leftPinned = columns\n .filter((col) => (col as unknown as Record<string, unknown>).pin === 'left')\n .map(\n (col) =>\n (col.id as string) ||\n ((col as unknown as Record<string, unknown>).accessorKey as string),\n )\n const rightPinned = columns\n .filter((col) => (col as unknown as Record<string, unknown>).pin === 'right')\n .map(\n (col) =>\n (col.id as string) ||\n ((col as unknown as Record<string, unknown>).accessorKey as string),\n )\n\n if (leftPinned.length > 0 || rightPinned.length > 0) {\n setColumnPinning({\n left: leftPinned,\n right: rightPinned,\n })\n }\n }\n }, [columns, enableColumnPinning])\n\n // Add selection column if row selection is enabled\n const enhancedColumns = useMemo(\n () =>\n enableRowSelection\n ? [\n {\n id: 'select',\n header: ({ table }: TableHeaderContext<TData>) =>\n enableMultiRowSelection ? (\n <Checkbox\n checked={table.getIsAllRowsSelected()}\n indeterminate={table.getIsSomeRowsSelected()}\n onChange={table.getToggleAllRowsSelectedHandler()}\n size=\"sm\"\n />\n ) : null,\n cell: ({ row }: TableCellContext<TData>) => (\n <Checkbox\n checked={row.getIsSelected()}\n disabled={!row.getCanSelect()}\n onChange={row.getToggleSelectedHandler()}\n size=\"sm\"\n />\n ),\n size: 50,\n },\n ...columns,\n ]\n : columns,\n [columns, enableRowSelection, enableMultiRowSelection],\n )\n\n // Add expand column if expandable is enabled\n const finalColumns = useMemo(\n () =>\n enableExpandable\n ? [\n {\n id: 'expand',\n header: () => null,\n cell: ({ row }: TableCellContext<TData>) => (\n <button\n onClick={(e) => {\n e.stopPropagation()\n row.toggleExpanded()\n }}\n className=\"text-text-secondary hover:text-text-primary transition-colors\"\n aria-label={\n row.getIsExpanded() ? 'Collapse row' : 'Expand row'\n }\n aria-expanded={row.getIsExpanded()}\n >\n {row.getIsExpanded() ? (\n <ChevronDown\n className={iconSizes[size]}\n aria-hidden=\"true\"\n />\n ) : (\n <ChevronRight\n className={iconSizes[size]}\n aria-hidden=\"true\"\n />\n )}\n </button>\n ),\n size: 50,\n },\n ...enhancedColumns,\n ]\n : enhancedColumns,\n [enhancedColumns, enableExpandable, size],\n )\n\n // Add pin column if row pinning is enabled\n const columnsWithPinning = useMemo(\n () =>\n enableRowPinning\n ? [\n ...finalColumns,\n {\n id: 'pin',\n header: () => <Pin className=\"w-4 h-4 text-text-secondary\" />,\n cell: ({ row }: TableCellContext<TData>) => {\n const rowId = row.id\n const isPinned = pinnedRows.includes(rowId)\n\n return (\n <button\n onClick={(e) => {\n e.stopPropagation()\n const newPinnedRows = isPinned\n ? pinnedRows.filter((id) => id !== rowId)\n : [...pinnedRows, rowId]\n setPinnedRows(newPinnedRows)\n onPinnedRowsChange?.(newPinnedRows)\n }}\n className={cn(\n 'text-text-secondary hover:text-text-primary transition-colors',\n isPinned && 'text-primary',\n )}\n aria-label={isPinned ? 'Unpin row' : 'Pin row'}\n aria-pressed={isPinned}\n >\n {isPinned ? (\n <PinOff\n className={iconSizes[size]}\n aria-hidden=\"true\"\n />\n ) : (\n <Pin\n className={iconSizes[size]}\n aria-hidden=\"true\"\n />\n )}\n </button>\n )\n },\n size: 50,\n },\n ]\n : finalColumns,\n [finalColumns, enableRowPinning, pinnedRows, onPinnedRowsChange, size],\n )\n\n // Wrap editable columns with EditableCell\n const columnsWithEditable = useMemo(\n () =>\n columnsWithPinning.map((col) => {\n const colAny = col as unknown as Record<string, unknown>\n if (colAny.editable && onCellEdit) {\n return {\n ...col,\n cell: ({ row, getValue }: TableCellContext<TData>) => {\n const value =\n getValue?.() ??\n (row.original as Record<string, unknown>)[\n colAny.accessorKey as string\n ]\n return (\n <EditableCell\n value={value}\n size={size}\n onValueChange={(newValue) => {\n onCellEdit({\n rowIndex: row.index,\n columnId:\n (colAny.id as string) || (colAny.accessorKey as string),\n value: newValue,\n row: row.original,\n })\n }}\n />\n )\n },\n }\n }\n return col\n }),\n [columnsWithPinning, onCellEdit, size],\n )\n\n // Filter data based on search\n const filteredData = useMemo(() => {\n if (!enableActions || !searchValue.trim()) {\n return data\n }\n\n const searchLower = searchValue.toLowerCase()\n return data.filter((row) => {\n return Object.values(row as Record<string, unknown>).some((value) =>\n String(value).toLowerCase().includes(searchLower),\n )\n })\n }, [data, searchValue, enableActions])\n\n // Build column list for actions\n const allColumnsList = useMemo(() => {\n return columns.map((col) => {\n const colAny = col as unknown as Record<string, unknown>\n return {\n id: (col.id as string) || (colAny.accessorKey as string),\n label:\n typeof colAny.header === 'string'\n ? colAny.header\n : (col.id as string) || (colAny.accessorKey as string),\n }\n })\n }, [columns])\n\n const visibleColumnIds = useMemo(() => {\n return Object.keys(columnVisibility).length === 0\n ? allColumnsList.map((c) => c.id)\n : allColumnsList\n .filter((c) => columnVisibility[c.id] !== false)\n .map((c) => c.id)\n }, [columnVisibility, allColumnsList])\n\n const table = useReactTable({\n data: filteredData,\n columns: columnsWithEditable as typeof columns,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: enableSorting ? getSortedRowModel() : undefined,\n getFilteredRowModel: enableFiltering ? getFilteredRowModel() : undefined,\n getPaginationRowModel:\n enablePagination && !enableVirtualization\n ? getPaginationRowModel()\n : undefined,\n getExpandedRowModel: enableExpandable ? getExpandedRowModel() : undefined,\n getGroupedRowModel: enableGrouping ? getGroupedRowModel() : undefined,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onRowSelectionChange: setRowSelection,\n onExpandedChange: setExpanded,\n onGroupingChange: setGrouping,\n onColumnPinningChange: setColumnPinning,\n onColumnVisibilityChange: setColumnVisibility,\n enableRowSelection,\n enableMultiRowSelection,\n enableGrouping,\n enableColumnPinning,\n getRowCanExpand: enableExpandable ? () => true : undefined,\n state: {\n sorting,\n columnFilters,\n rowSelection,\n expanded,\n grouping,\n columnPinning,\n columnVisibility,\n },\n initialState: {\n pagination: {\n pageSize,\n },\n },\n })\n\n // Notify parent of selection changes\n useEffect(() => {\n if (onSelectionChange) {\n const selectedRows = table\n .getSelectedRowModel()\n .rows.map((row) => row.original)\n onSelectionChange(selectedRows)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [rowSelection, onSelectionChange])\n\n // Separate pinned and unpinned rows\n const rows = table.getRowModel().rows\n const allRowsOrdered = useMemo(() => {\n const pinned = rows.filter((row) => pinnedRows.includes(row.id))\n const unpinned = rows.filter((row) => !pinnedRows.includes(row.id))\n return [...pinned, ...unpinned]\n }, [rows, pinnedRows])\n\n // Virtualization setup\n const rowVirtualizer = useVirtualizer({\n count: allRowsOrdered.length,\n getScrollElement: () => tableContainerRef.current,\n estimateSize: () => (size === 'sm' ? 44 : size === 'lg' ? 68 : 56),\n overscan: 5,\n enabled: enableVirtualization,\n })\n\n const handleRowClick = (row: Row<TData>, rowData: TData) => {\n if (enableClickToSelect && enableRowSelection) {\n row.toggleSelected()\n }\n onRowClick?.(rowData)\n }\n\n const renderColumnGroups = () => {\n if (!columnGroups || columnGroups.length === 0) return null\n\n const headerGroups = table.getHeaderGroups()[0]\n if (!headerGroups) return null\n\n const groupedHeaders: Array<{\n header: string\n span: number\n startIndex: number\n }> = []\n const processedCols = new Set<string>()\n\n headerGroups.headers.forEach((header, index) => {\n const colId = header.column.id\n\n if (processedCols.has(colId)) return\n\n const group = columnGroups.find((g) => g.columns.includes(colId))\n\n if (group) {\n // Mark all columns in this group as processed\n group.columns.forEach((c) => processedCols.add(c))\n\n groupedHeaders.push({\n header: group.header,\n span: group.columns.length,\n startIndex: index,\n })\n } else {\n groupedHeaders.push({\n header: '',\n span: 1,\n startIndex: index,\n })\n }\n })\n\n return (\n <tr className=\"border-b border-border\">\n {groupedHeaders.map((group, idx) => (\n <th\n key={idx}\n colSpan={group.span}\n className={cn(\n cellVariants({ size }),\n 'font-bold text-text-primary bg-surface/70 border-border text-center',\n bordered && 'border-r border-border last:border-r-0',\n )}\n >\n {group.header}\n </th>\n ))}\n </tr>\n )\n }\n\n const renderRows = () => {\n if (loading) {\n return (\n <TableSkeleton\n rows={loadingRows}\n columns={columnsWithPinning.length}\n size={size}\n className={classNames?.skeleton}\n />\n )\n }\n\n if (allRowsOrdered.length === 0) {\n return (\n <tr className=\"table_empty\">\n <td\n colSpan={columnsWithPinning.length}\n className={cn('px-4 py-12 text-center', classNames?.empty)}\n >\n {emptyState || (\n <div className=\"flex flex-col items-center justify-center gap-2 text-text-secondary\">\n <Inbox className=\"w-12 h-12 opacity-20\" />\n <p className=\"text-sm\">No data available</p>\n </div>\n )}\n </td>\n </tr>\n )\n }\n\n if (enableVirtualization) {\n const virtualRows = rowVirtualizer.getVirtualItems()\n const paddingTop = virtualRows.length > 0 ? virtualRows[0]?.start || 0 : 0\n const paddingBottom =\n virtualRows.length > 0\n ? rowVirtualizer.getTotalSize() -\n (virtualRows[virtualRows.length - 1]?.end || 0)\n : 0\n\n return (\n <>\n {paddingTop > 0 && (\n <tr>\n <td\n colSpan={columnsWithPinning.length}\n style={{ height: `${paddingTop}px`, padding: 0, border: 0 }}\n />\n </tr>\n )}\n {virtualRows.map((virtualRow) => {\n const row = allRowsOrdered[virtualRow.index]\n if (!row) return null\n\n const isLastVirtualRow =\n virtualRow.index === allRowsOrdered.length - 1\n\n return (\n <TableRow\n key={row.id}\n row={row}\n index={virtualRow.index}\n striped={striped}\n hoverable={hoverable}\n onRowClick={() => handleRowClick(row, row.original)}\n isPinned={pinnedRows.includes(row.id)}\n className={cn(isLastVirtualRow && 'border-b-0', classNames?.row)}\n >\n {row.getVisibleCells().map((cell) => {\n const isPinnedLeft = cell.column.getIsPinned() === 'left'\n const isPinnedRight = cell.column.getIsPinned() === 'right'\n\n return (\n <TableCell\n key={cell.id}\n size={size}\n bordered={bordered}\n fixed={\n isPinnedLeft\n ? 'left'\n : isPinnedRight\n ? 'right'\n : undefined\n }\n className={classNames?.cell}\n >\n {cell.getIsGrouped() ? (\n <div className=\"flex items-center gap-2\">\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation()\n row.toggleExpanded()\n }}\n className=\"text-text-secondary hover:text-text-primary\"\n aria-label={row.getIsExpanded() ? 'Collapse group' : 'Expand group'}\n aria-expanded={row.getIsExpanded()}\n >\n {row.getIsExpanded() ? (\n <ChevronDown className={iconSizes[size]} aria-hidden=\"true\" />\n ) : (\n <ChevronRight className={iconSizes[size]} aria-hidden=\"true\" />\n )}\n </button>\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}{' '}\n ({row.subRows.length})\n </div>\n ) : cell.getIsAggregated() ? (\n flexRender(\n cell.column.columnDef.aggregatedCell ??\n cell.column.columnDef.cell,\n cell.getContext(),\n )\n ) : cell.getIsPlaceholder() ? null : (\n flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )\n )}\n </TableCell>\n )\n })}\n </TableRow>\n )\n })}\n {paddingBottom > 0 && (\n <tr>\n <td\n colSpan={columnsWithPinning.length}\n style={{ height: `${paddingBottom}px`, padding: 0, border: 0 }}\n />\n </tr>\n )}\n </>\n )\n }\n\n return allRowsOrdered.map((row, index) => (\n <React.Fragment key={row.id}>\n <TableRow\n row={row}\n index={index}\n striped={striped}\n hoverable={hoverable}\n onRowClick={() => handleRowClick(row, row.original)}\n isPinned={pinnedRows.includes(row.id)}\n className={classNames?.row}\n >\n {row.getVisibleCells().map((cell) => {\n const isPinnedLeft = cell.column.getIsPinned() === 'left'\n const isPinnedRight = cell.column.getIsPinned() === 'right'\n\n return (\n <TableCell\n key={cell.id}\n size={size}\n bordered={bordered}\n fixed={\n isPinnedLeft ? 'left' : isPinnedRight ? 'right' : undefined\n }\n className={classNames?.cell}\n >\n {cell.getIsGrouped() ? (\n <div className=\"flex items-center gap-2\">\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation()\n row.toggleExpanded()\n }}\n className=\"text-text-secondary hover:text-text-primary\"\n aria-label={row.getIsExpanded() ? 'Collapse group' : 'Expand group'}\n aria-expanded={row.getIsExpanded()}\n >\n {row.getIsExpanded() ? (\n <ChevronDown className={iconSizes[size]} aria-hidden=\"true\" />\n ) : (\n <ChevronRight className={iconSizes[size]} aria-hidden=\"true\" />\n )}\n </button>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}{' '}\n ({row.subRows.length})\n </div>\n ) : cell.getIsAggregated() ? (\n flexRender(\n cell.column.columnDef.aggregatedCell ??\n cell.column.columnDef.cell,\n cell.getContext(),\n )\n ) : cell.getIsPlaceholder() ? null : (\n flexRender(cell.column.columnDef.cell, cell.getContext())\n )}\n </TableCell>\n )\n })}\n </TableRow>\n {/* Expanded Content Row */}\n {enableExpandable && row.getIsExpanded() && expandedContent && (\n <tr>\n <td\n colSpan={row.getVisibleCells().length}\n className=\"bg-surface/30 border-b border-border p-4\"\n >\n {expandedContent(row)}\n </td>\n </tr>\n )}\n </React.Fragment>\n ))\n }\n\n const renderPagination = () => {\n if (\n !enablePagination ||\n table.getPageCount() === 0 ||\n loading ||\n enableVirtualization\n ) {\n return null\n }\n\n const getPaginationPositionClasses = () => {\n const positionClasses = {\n topleft: 'justify-start',\n topcenter: 'w-full justify-between',\n topright: 'justify-end',\n bottomleft: 'justify-start',\n bottomcenter: 'w-full justify-between',\n bottomright: 'justify-end',\n }\n return positionClasses[paginationPosition]\n }\n\n return (\n <Pagination\n total={table.getFilteredRowModel().rows.length}\n current={table.getState().pagination.pageIndex + 1}\n pageSize={table.getState().pagination.pageSize}\n onChange={(page, pageSize) => {\n table.setPageIndex(page - 1)\n table.setPageSize(pageSize)\n }}\n showSizeChanger\n pageSizeOptions={pageSizeOptions}\n showTotal={(total, range) => (\n <>\n Showing {range[0]}-{range[1]} of {total} rows\n </>\n )}\n color={color}\n size=\"sm\"\n className={cn('table_pagination flex', getPaginationPositionClasses(), classNames?.pagination)}\n />\n )\n }\n\n const shouldShowTopPagination = paginationPosition.startsWith('top')\n const shouldShowBottomPagination = paginationPosition.startsWith('bottom')\n\n const handleVisibleColumnsChange = (newVisibleColumns: string[]) => {\n const newVisibility: VisibilityState = {}\n allColumnsList.forEach((col) => {\n newVisibility[col.id] = newVisibleColumns.includes(col.id)\n })\n setColumnVisibility(newVisibility)\n }\n\n return (\n <div className={cn('table_root w-full space-y-4', classNames?.root)}>\n {enableActions && (\n <TableActions\n searchValue={searchValue}\n onSearchChange={setSearchValue}\n visibleColumns={visibleColumnIds}\n allColumns={allColumnsList}\n onVisibleColumnsChange={handleVisibleColumnsChange}\n size={size}\n onSizeChange={setSize}\n color={color}\n className={classNames?.actions}\n />\n )}\n\n {shouldShowTopPagination && renderPagination()}\n\n <div\n ref={tableContainerRef}\n className={cn(\n 'table_wrapper overflow-auto rounded-md',\n enableVirtualization && 'max-h-[500px]',\n variant === 'outline' && 'border border-border',\n classNames?.wrapper,\n )}\n >\n <table\n className={cn(\n 'w-full border-collapse',\n variant === 'line' && 'border-0',\n variant === 'ghost' && 'border-0',\n className,\n )}\n aria-label={ariaLabel}\n >\n {caption && (\n <caption className={cn(!showCaption && 'sr-only')}>\n {caption}\n </caption>\n )}\n <thead className={cn('table_header bg-surface sticky top-0 z-30', classNames?.header)}>\n {renderColumnGroups()}\n {table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id} className={cn('table_headerRow', classNames?.headerRow)}>\n {headerGroup.headers.map((header) => (\n <TableHeaderCell\n key={header.id}\n header={header}\n size={size}\n variant={variant}\n color={color}\n bordered={bordered}\n enableColumnPinning={enableColumnPinning}\n className={classNames?.headerCell}\n />\n ))}\n </tr>\n ))}\n </thead>\n <tbody className={cn('table_body', classNames?.body)}>{renderRows()}</tbody>\n {footer && (\n <tfoot className={cn('table_footer bg-surface border-t border-border sticky bottom-0 z-30', classNames?.footer)}>\n {table.getFooterGroups().map((footerGroup) => (\n <tr key={footerGroup.id}>\n {footerGroup.headers.map((header) => {\n const isPinnedLeft = header.column.getIsPinned() === 'left'\n const isPinnedRight =\n header.column.getIsPinned() === 'right'\n\n return (\n <th\n key={header.id}\n className={cn(\n 'px-4 py-3 text-left font-semibold text-text-primary',\n bordered && 'border-r border-border last:border-r-0',\n isPinnedLeft && 'sticky left-0 bg-surface z-20',\n isPinnedRight && 'sticky right-0 bg-surface z-20',\n )}\n >\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.footer,\n header.getContext(),\n )}\n </th>\n )\n })}\n </tr>\n ))}\n </tfoot>\n )}\n </table>\n </div>\n\n {shouldShowBottomPagination && renderPagination()}\n </div>\n )\n}\n\nTableComponent.displayName = 'Table'\n\n// Wrap with React.memo for performance - prevents unnecessary re-renders\nconst Table = React.memo(TableComponent) as typeof TableComponent\n\nexport { TableCell } from './TableCell'\nexport { TableHeaderCell } from './TableHeaderCell'\nexport { TableRow } from './TableRow'\nexport { TableSkeleton } from './TableSkeleton'\nexport { TableActions } from './TableActions'\nexport { EditableCell } from './EditableCell'\nexport type * from './types'\nexport default Table\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/dropdown/index.tsx"],"names":[],"mappings":"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","file":"chunk-UTWQ2FZK.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport React, {\n useCallback,\n useRef,\n useId,\n useState,\n useEffect,\n useMemo,\n} from \"react\";\n\nimport { useRipple, RippleContainer } from \"../hooks/useRipple\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"../popover\";\nimport type { ComponentColor } from \"../types\";\nimport { cn } from \"../utils\";\nimport type { DropdownProps } from \"./types\";\n\nconst dropdownItemVariants = cva(\n \"cursor-pointer select-none text-text-primary transition-colors flex items-center gap-2 rounded-sm outline-none\",\n {\n variants: {\n size: {\n xs: \"px-2 py-1 text-xs\",\n sm: \"px-3 py-1.5 text-sm\",\n md: \"px-4 py-2 text-base\",\n lg: \"px-5 py-2.5 text-lg\",\n },\n disabled: {\n true: \"opacity-50 cursor-not-allowed\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n disabled: false,\n },\n },\n);\n\nconst dropdownItemHoverClasses: Record<ComponentColor, string> = {\n default: \"hover:bg-surface focus:bg-surface\",\n primary: \"hover:bg-primary/10 focus:bg-primary/10\",\n secondary: \"hover:bg-secondary/10 focus:bg-secondary/10\",\n accent: \"hover:bg-accent/10 focus:bg-accent/10\",\n success: \"hover:bg-success/10 focus:bg-success/10\",\n error: \"hover:bg-error/10 focus:bg-error/10\",\n warning: \"hover:bg-warning/10 focus:bg-warning/10\",\n info: \"hover:bg-info/10 focus:bg-info/10\",\n};\n\nconst dropdownItemHighlightClasses: Record<ComponentColor, string> = {\n default: \"bg-surface\",\n primary: \"bg-primary/10\",\n secondary: \"bg-secondary/10\",\n accent: \"bg-accent/10\",\n success: \"bg-success/10\",\n error: \"bg-error/10\",\n warning: \"bg-warning/10\",\n info: \"bg-info/10\",\n};\n\nconst DropdownItemDiv: React.FC<{\n children: React.ReactNode;\n disabled?: boolean;\n className?: string;\n onKeyDown?: (e: React.KeyboardEvent<HTMLDivElement>) => void;\n [key: string]: any;\n}> = ({\n children,\n disabled,\n className,\n onKeyDown: externalOnKeyDown,\n ...props\n}) => {\n const {\n ripples,\n onPointerDown,\n onKeyDown: rippleOnKeyDown,\n onAnimationEnd,\n } = useRipple(!disabled);\n return (\n <div\n className={cn(className, \"relative overflow-hidden\")}\n onPointerDown={onPointerDown}\n onKeyDown={(e) => {\n rippleOnKeyDown(e);\n externalOnKeyDown?.(e);\n }}\n {...props}\n >\n {children}\n <RippleContainer ripples={ripples} onAnimationEnd={onAnimationEnd} />\n </div>\n );\n};\n\nconst Dropdown = React.memo<DropdownProps>(\n ({\n children,\n items,\n render,\n color = \"default\",\n size = \"md\",\n position = \"left\",\n maxHeight = 300,\n disabled = false,\n fullWidth = false,\n hover = false,\n className,\n classNames,\n onItemClick,\n ref,\n }) => {\n const [isOpen, setIsOpen] = useState(false);\n const [highlightedIndex, setHighlightedIndex] = useState(-1);\n const menuRef = useRef<HTMLDivElement>(null);\n const itemRefs = useRef<(HTMLDivElement | null)[]>([]);\n\n // Generate unique IDs for accessibility\n const uniqueId = useId();\n const menuId = `dropdown-menu-${uniqueId}`;\n const triggerId = `dropdown-trigger-${uniqueId}`;\n\n // Get enabled items indices\n const enabledIndices = useMemo(\n () =>\n items\n ?.map((item, i) => (!item.disabled ? i : -1))\n .filter((i) => i !== -1) || [],\n [items],\n );\n\n // Reset highlighted index when menu closes\n useEffect(() => {\n if (!isOpen) {\n setHighlightedIndex(-1);\n }\n }, [isOpen]);\n\n // Scroll highlighted item into view\n useEffect(() => {\n if (highlightedIndex >= 0 && itemRefs.current[highlightedIndex]) {\n itemRefs.current[highlightedIndex]?.scrollIntoView({\n block: \"nearest\",\n });\n }\n }, [highlightedIndex]);\n\n const handleItemClick = useCallback(\n (item: NonNullable<typeof items>[0]) => {\n if (!item.disabled) {\n item.onClick?.();\n if (item.value !== undefined) {\n onItemClick?.(item.value);\n }\n setIsOpen(false);\n }\n },\n [onItemClick],\n );\n\n const handleClose = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const handleOpen = useCallback(() => {\n if (!disabled) {\n setIsOpen(true);\n }\n }, [disabled]);\n\n const handleToggle = useCallback(() => {\n if (!disabled) {\n setIsOpen((prev) => !prev);\n }\n }, [disabled]);\n\n // Keyboard navigation\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (disabled) return;\n if (!items?.length) return;\n\n const currentEnabledPosition = enabledIndices.indexOf(highlightedIndex);\n\n switch (event.key) {\n case \"ArrowDown\":\n event.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n setHighlightedIndex(enabledIndices[0] ?? -1);\n } else {\n const nextIndex =\n currentEnabledPosition < enabledIndices.length - 1\n ? enabledIndices[currentEnabledPosition + 1]\n : enabledIndices[0];\n setHighlightedIndex(nextIndex ?? -1);\n }\n break;\n\n case \"ArrowUp\":\n event.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n setHighlightedIndex(\n enabledIndices[enabledIndices.length - 1] ?? -1,\n );\n } else {\n const prevIndex =\n currentEnabledPosition > 0\n ? enabledIndices[currentEnabledPosition - 1]\n : enabledIndices[enabledIndices.length - 1];\n setHighlightedIndex(prevIndex ?? -1);\n }\n break;\n\n case \"Home\":\n event.preventDefault();\n if (isOpen) {\n setHighlightedIndex(enabledIndices[0] ?? -1);\n }\n break;\n\n case \"End\":\n event.preventDefault();\n if (isOpen) {\n setHighlightedIndex(\n enabledIndices[enabledIndices.length - 1] ?? -1,\n );\n }\n break;\n\n case \"Enter\":\n case \" \":\n event.preventDefault();\n if (isOpen && highlightedIndex >= 0 && items[highlightedIndex]) {\n handleItemClick(items[highlightedIndex]);\n } else if (!isOpen) {\n setIsOpen(true);\n }\n break;\n\n case \"Escape\":\n event.preventDefault();\n setIsOpen(false);\n break;\n\n case \"Tab\":\n setIsOpen(false);\n break;\n }\n },\n [items, isOpen, highlightedIndex, enabledIndices, handleItemClick],\n );\n\n // Handle mouse enter on items\n const handleItemMouseEnter = useCallback((index: number) => {\n setHighlightedIndex(index);\n }, []);\n\n return (\n <div\n ref={ref}\n data-slot=\"dropdown\"\n className={cn(\n \"dropdown_root relative\",\n fullWidth ? \"w-full\" : \"inline-block\",\n className,\n classNames?.root,\n )}\n onMouseEnter={hover ? handleOpen : undefined}\n onMouseLeave={hover ? handleClose : undefined}\n >\n <Popover open={isOpen} onOpenChange={setIsOpen}>\n <PopoverTrigger asChild>\n <div\n id={triggerId}\n data-slot=\"dropdown-trigger\"\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-haspopup=\"menu\"\n aria-expanded={isOpen}\n aria-controls={isOpen ? menuId : undefined}\n aria-disabled={disabled}\n onClick={hover ? undefined : handleToggle}\n onKeyDown={handleKeyDown}\n className={cn(\n \"dropdown_trigger flex outline-none\",\n !hover && \"cursor-pointer\",\n fullWidth && \"w-full\",\n disabled && \"opacity-50 cursor-not-allowed\",\n classNames?.trigger,\n )}\n >\n {children}\n </div>\n </PopoverTrigger>\n\n <PopoverContent\n className=\"p-0 min-w-[140px]\"\n align={position === \"left\" ? \"start\" : \"end\"}\n sideOffset={4}\n color={color}\n style={{ maxHeight }}\n onOpenAutoFocus={(e: Event) => e.preventDefault()}\n >\n <div\n ref={menuRef}\n id={menuId}\n data-slot=\"dropdown-menu\"\n role=\"menu\"\n aria-labelledby={triggerId}\n className={cn(\"dropdown_menu overflow-auto\", classNames?.menu)}\n style={{ maxHeight }}\n onKeyDown={handleKeyDown}\n >\n {render\n ? render({ close: handleClose })\n : items?.map((item, idx) => (\n <DropdownItemDiv\n key={`${item.value}-${idx}`}\n ref={(el: HTMLDivElement | null) => {\n itemRefs.current[idx] = el;\n }}\n data-slot=\"dropdown-item\"\n role=\"menuitem\"\n tabIndex={item.disabled ? -1 : 0}\n aria-disabled={item.disabled}\n disabled={!!item.disabled}\n className={cn(\n \"dropdown_item\",\n dropdownItemVariants({\n size,\n disabled: !!item.disabled,\n }),\n !item.disabled && dropdownItemHoverClasses[color],\n highlightedIndex === idx &&\n !item.disabled &&\n dropdownItemHighlightClasses[color],\n classNames?.item,\n )}\n onClick={() => handleItemClick(item)}\n onMouseEnter={() => handleItemMouseEnter(idx)}\n onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleItemClick(item);\n }\n }}\n >\n {item.icon && (\n <span\n data-slot=\"dropdown-item-icon\"\n className={cn(\n \"dropdown_itemIcon shrink-0\",\n classNames?.itemIcon,\n )}\n aria-hidden=\"true\"\n >\n {item.icon}\n </span>\n )}\n <span\n data-slot=\"dropdown-item-label\"\n className={cn(\n \"dropdown_itemLabel flex-1\",\n classNames?.itemLabel,\n )}\n >\n {item.label}\n </span>\n </DropdownItemDiv>\n ))}\n </div>\n </PopoverContent>\n </Popover>\n </div>\n );\n },\n);\n\nDropdown.displayName = \"Dropdown\";\n\nexport type * from \"./types\";\nexport default Dropdown;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/divider/index.tsx"],"names":[],"mappings":";;;;;AAWA,IAAM,eAAA,GAAkB,IAAI,EAAA,EAAI;AAAA,EAC9B,QAAA,EAAU;AAAA,IACR,WAAA,EAAa;AAAA,MACX,UAAA,EAAY,QAAA;AAAA,MACZ,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,OAAA,EAAS;AAAA,MACP,KAAA,EAAO,cAAA;AAAA,MACP,MAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAQ;AAAA;AACV,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,WAAA,EAAa,YAAA;AAAA,IACb,OAAA,EAAS;AAAA;AAEb,CAAC,CAAA;AAKD,IAAM,yBAAA,GAA4D;AAAA,EAChE,OAAA,EAAS,eAAA;AAAA,EACT,OAAA,EAAS,gBAAA;AAAA,EACT,SAAA,EAAW,kBAAA;AAAA,EACX,MAAA,EAAQ,eAAA;AAAA,EACR,OAAA,EAAS,gBAAA;AAAA,EACT,KAAA,EAAO,cAAA;AAAA,EACP,OAAA,EAAS,gBAAA;AAAA,EACT,IAAA,EAAM;AACR,CAAA;AAKA,IAAM,wBAAA,GAA2D;AAAA,EAC/D,OAAA,EAAS,qBAAA;AAAA,EACT,OAAA,EAAS,cAAA;AAAA,EACT,SAAA,EAAW,gBAAA;AAAA,EACX,MAAA,EAAQ,aAAA;AAAA,EACR,OAAA,EAAS,cAAA;AAAA,EACT,KAAA,EAAO,YAAA;AAAA,EACP,OAAA,EAAS,cAAA;AAAA,EACT,IAAA,EAAM;AACR,CAAA;AAOA,IAAM,gBAAA,GAAmB;AAAA,EACvB,IAAA,EAAM;AAAA,IACJ,MAAA,EAAQ,iCAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ,mCAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,KAAA,EAAO;AAAA,IACL,MAAA,EAAQ,kCAAA;AAAA,IACR,KAAA,EAAO;AAAA;AAEX,CAAA;AAmCA,IAAM,UAAU,KAAA,CAAM,IAAA;AAAA,EACpB,CAAC;AAAA,IACC,WAAA,GAAc,YAAA;AAAA,IACd,OAAA,GAAU,OAAA;AAAA,IACV,KAAA,GAAQ,SAAA;AAAA,IACR,QAAA;AAAA,IACA,SAAA,GAAY,QAAA;AAAA,IACZ,OAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAM;AACJ,IAAA,MAAM,OAAA,GAAU,QAAQ,QAAQ,CAAA;AAMhC,IAAA,IAAI,gBAAgB,YAAA,EAAc;AAChC,MAAA,IAAI,OAAA,EAAS;AACX,QAAA,uBACE,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,GAAA;AAAA,YACA,IAAA,EAAK,WAAA;AAAA,YACL,kBAAA,EAAiB,YAAA;AAAA,YACjB,WAAA,EAAU,MAAA;AAAA,YACV,SAAA,EAAW,EAAA;AAAA,cACT,cAAA;AAAA,cACA,+CAAA;AAAA,cACA,yBAAyB,KAAK,CAAA;AAAA,cAC9B,SAAA;AAAA,cACA,UAAA,EAAY;AAAA,aACd;AAAA,YACA,KAAA,EAAO,OAAA,GAAU,EAAE,MAAA,EAAQ,SAAQ,GAAI,MAAA;AAAA,YACtC,GAAG,KAAA;AAAA,YAEJ,QAAA,EAAA;AAAA,8BAAA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,WAAA,EAAU,MAAA;AAAA,kBACV,SAAA,EAAW,EAAA;AAAA,oBACT,cAAA;AAAA,oBACA,UAAA;AAAA,oBACA,eAAA,CAAgB,EAAE,OAAA,EAAS,CAAA;AAAA,oBAC3B,0BAA0B,KAAK,CAAA;AAAA,oBAC/B,gBAAA,CAAiB,SAAS,CAAA,CAAE,MAAA;AAAA,oBAC5B,UAAA,EAAY;AAAA;AACd;AAAA,eACF;AAAA,8BACA,GAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,WAAA,EAAU,OAAA;AAAA,kBACV,SAAA,EAAW,EAAA;AAAA,oBACT,eAAA;AAAA,oBACA,iCAAA;AAAA,oBACA,UAAA,EAAY;AAAA,mBACd;AAAA,kBAEC;AAAA;AAAA,eACH;AAAA,8BACA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,WAAA,EAAU,MAAA;AAAA,kBACV,SAAA,EAAW,EAAA;AAAA,oBACT,cAAA;AAAA,oBACA,UAAA;AAAA,oBACA,eAAA,CAAgB,EAAE,OAAA,EAAS,CAAA;AAAA,oBAC3B,0BAA0B,KAAK,CAAA;AAAA,oBAC/B,gBAAA,CAAiB,SAAS,CAAA,CAAE,KAAA;AAAA,oBAC5B,UAAA,EAAY;AAAA;AACd;AAAA;AACF;AAAA;AAAA,SACF;AAAA,MAEJ;AAEA,MAAA,uBACE,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,IAAA,EAAK,WAAA;AAAA,UACL,kBAAA,EAAiB,YAAA;AAAA,UACjB,WAAA,EAAU,MAAA;AAAA,UACV,SAAA,EAAW,EAAA;AAAA,YACT,cAAA;AAAA,YACA,UAAA;AAAA,YACA,eAAA,CAAgB,EAAE,WAAA,EAAa,OAAA,EAAS,CAAA;AAAA,YACxC,0BAA0B,KAAK,CAAA;AAAA,YAC/B,SAAA;AAAA,YACA,UAAA,EAAY;AAAA,WACd;AAAA,UACA,KAAA,EAAO,OAAA,GAAU,EAAE,MAAA,EAAQ,SAAQ,GAAI,MAAA;AAAA,UACtC,GAAG;AAAA;AAAA,OACN;AAAA,IAEJ;AAOA,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAK,WAAA;AAAA,QACL,kBAAA,EAAiB,UAAA;AAAA,QACjB,WAAA,EAAU,MAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,cAAA;AAAA,UACA,yCAAA;AAAA,UACA,eAAA,CAAgB,EAAE,OAAA,EAAS,CAAA;AAAA,UAC3B,0BAA0B,KAAK,CAAA;AAAA,UAC/B,SAAA;AAAA,UACA,UAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAO,OAAA,GAAU,EAAE,MAAA,EAAQ,SAAQ,GAAI,MAAA;AAAA,QACtC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF,CAAA;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA;AAGtB,IAAO,eAAA,GAAQ","file":"chunk-VOODO2ZE.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport type { ComponentColor } from '../types'\nimport { cn } from '../utils'\nimport type { DividerProps } from './types'\n\n/**\n * Class variance authority configuration for the Divider component\n * Defines style variants for orientation, line style, and text alignment\n */\nconst dividerVariants = cva('', {\n variants: {\n orientation: {\n horizontal: 'w-full',\n vertical: 'h-full',\n },\n variant: {\n solid: 'border-solid',\n dashed: 'border-dashed',\n dotted: 'border-dotted',\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n variant: 'solid',\n },\n})\n\n/**\n * Border color classes for the divider line\n */\nconst dividerBorderColorClasses: Record<ComponentColor, string> = {\n default: 'border-border',\n primary: 'border-primary',\n secondary: 'border-secondary',\n accent: 'border-accent',\n success: 'border-success',\n error: 'border-error',\n warning: 'border-warning',\n info: 'border-info',\n}\n\n/**\n * Text color classes for the divider label\n */\nconst dividerLabelColorClasses: Record<ComponentColor, string> = {\n default: 'text-text-secondary',\n primary: 'text-primary',\n secondary: 'text-secondary',\n accent: 'text-accent',\n success: 'text-success',\n error: 'text-error',\n warning: 'text-warning',\n info: 'text-info',\n}\n\n/**\n * Text alignment styles for the label within the divider\n * Defines the width distribution of divider lines before and after the label\n * Uses design tokens for customizability\n */\nconst textAlignClasses = {\n left: {\n before: 'w-(--divider-left-before-width)',\n after: 'w-(--divider-left-after-width)',\n },\n center: {\n before: 'w-(--divider-center-before-width)',\n after: 'w-(--divider-center-after-width)',\n },\n right: {\n before: 'w-(--divider-right-before-width)',\n after: 'w-(--divider-right-after-width)',\n },\n}\n\n/**\n * Divider Component\n *\n * A visual separator that can be used to divide content sections.\n * Supports horizontal and vertical orientations, different line styles,\n * color variants, and optional label text.\n *\n * @component\n * @example\n * // Basic horizontal divider\n * <Divider />\n *\n * @example\n * // Divider with text label\n * <Divider>Section Title</Divider>\n *\n * @example\n * // Colored divider\n * <Divider color=\"primary\" />\n *\n * @example\n * // Vertical divider\n * <Divider orientation=\"vertical\" />\n *\n * @example\n * // Dashed divider with left-aligned text\n * <Divider variant=\"dashed\" textAlign=\"left\" color=\"accent\">\n * Options\n * </Divider>\n *\n * @param {DividerProps} props - Component props\n * @returns {JSX.Element} Rendered divider component\n */\nconst Divider = React.memo<DividerProps>(\n ({\n orientation = 'horizontal',\n variant = 'solid',\n color = 'default',\n children,\n textAlign = 'center',\n spacing,\n className,\n classNames,\n ref,\n ...props\n }) => {\n const hasText = Boolean(children)\n\n /**\n * Render horizontal divider\n * Supports optional text label with configurable alignment\n */\n if (orientation === 'horizontal') {\n if (hasText) {\n return (\n <div\n ref={ref as React.Ref<HTMLDivElement>}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n data-slot=\"root\"\n className={cn(\n 'divider_root',\n 'flex items-center gap-(--divider-gap) text-sm',\n dividerLabelColorClasses[color],\n className,\n classNames?.root,\n )}\n style={spacing ? { margin: spacing } : undefined}\n {...props}\n >\n <div\n data-slot=\"line\"\n className={cn(\n 'divider_line',\n 'border-t',\n dividerVariants({ variant }),\n dividerBorderColorClasses[color],\n textAlignClasses[textAlign].before,\n classNames?.line,\n )}\n />\n <span\n data-slot=\"label\"\n className={cn(\n 'divider_label',\n 'whitespace-nowrap flex-shrink-0',\n classNames?.label,\n )}\n >\n {children}\n </span>\n <div\n data-slot=\"line\"\n className={cn(\n 'divider_line',\n 'border-t',\n dividerVariants({ variant }),\n dividerBorderColorClasses[color],\n textAlignClasses[textAlign].after,\n classNames?.line,\n )}\n />\n </div>\n )\n }\n\n return (\n <hr\n ref={ref as React.Ref<HTMLHRElement>}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n data-slot=\"root\"\n className={cn(\n 'divider_root',\n 'border-t',\n dividerVariants({ orientation, variant }),\n dividerBorderColorClasses[color],\n className,\n classNames?.root,\n )}\n style={spacing ? { margin: spacing } : undefined}\n {...props}\n />\n )\n }\n\n /**\n * Render vertical divider\n * Text labels are not supported in vertical orientation\n */\n\n return (\n <div\n ref={ref as React.Ref<HTMLDivElement>}\n role=\"separator\"\n aria-orientation=\"vertical\"\n data-slot=\"root\"\n className={cn(\n 'divider_root',\n 'inline-block w-px border-l self-stretch',\n dividerVariants({ variant }),\n dividerBorderColorClasses[color],\n className,\n classNames?.root,\n )}\n style={spacing ? { margin: spacing } : undefined}\n {...props}\n />\n )\n },\n)\n\nDivider.displayName = 'Divider'\n\nexport type * from './types'\nexport default Divider\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/shared/useSelectBase.ts"],"names":[],"mappings":";;;;AAwCO,SAAS,cACd,MAAA,EACA;AACA,EAAA,MAAM;AAAA,IACJ,OAAA;AAAA,IACA,mBAAA,GAAsB,EAAA;AAAA,IACtB,iBAAA,GAAoB,GAAA;AAAA,IACpB,KAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF,GAAI,MAAA;AAGJ,EAAA,MAAM,WAAW,KAAA,EAAM;AACvB,EAAA,MAAM,OAAA,GAAU,CAAA,EAAG,QAAQ,CAAA,OAAA,EAAU,QAAQ,CAAA,CAAA;AAC7C,EAAA,MAAM,SAAA,GAAY,CAAA,EAAG,QAAQ,CAAA,SAAA,EAAY,QAAQ,CAAA,CAAA;AACjD,EAAA,MAAM,QAAA,GAAW,CAAA,EAAG,QAAQ,CAAA,QAAA,EAAW,QAAQ,CAAA,CAAA;AAE/C,EAAA,MAAM,EAAE,MAAA,EAAQ,OAAA,EAAS,aAAA,KAAkB,mBAAA,CAAoB;AAAA,IAC7D,KAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACD,CAAA;AAGD,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,KAAA,CAAM,SAAS,KAAK,CAAA;AAChD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,KAAA,CAAM,QAAA;AAAA,IACxC;AAAA,GACF;AACA,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,KAAA,CAAM,SAAS,EAAE,CAAA;AACvD,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,KAAA,CAAM,SAAS,EAAE,CAAA;AACjE,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,KAAA,CAAM,SAAS,KAAK,CAAA;AAC5D,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAI,KAAA,CAAM,SAAS,KAAK,CAAA;AAGlE,EAAA,MAAM,UAAA,GAAa,KAAA,CAAM,MAAA,CAA0B,IAAI,CAAA;AACvD,EAAA,MAAM,QAAA,GAAW,KAAA,CAAM,MAAA,CAAyB,IAAI,CAAA;AACpD,EAAA,MAAM,kBAAA,GAAqB,KAAA,CAAM,MAAA,CAAuB,IAAI,CAAA;AAG5D,EAAA,MAAM,WAAA,GAAc,KAAA,CAAM,MAAA,CAAO,MAAA,CAAO,cAAc,CAAA;AACtD,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,WAAA,CAAY,UAAU,MAAA,CAAO,cAAA;AAAA,EAC/B,CAAA,EAAG,CAAC,MAAA,CAAO,cAAc,CAAC,CAAA;AAG1B,EAAA,MAAM,cAAA,GAAiB,KAAA,CAAM,OAAA,CAAQ,MAAM;AACzC,IAAA,MAAM,SAA8B,EAAC;AACrC,IAAA,MAAM,YAAiB,EAAC;AAExB,IAAA,OAAA,CAAQ,OAAA,CAAQ,CAAC,MAAA,KAAW;AAC1B,MAAA,IAAI,OAAO,KAAA,EAAO;AAChB,QAAA,IAAI,CAAC,MAAA,CAAO,MAAA,CAAO,KAAK,CAAA,EAAG;AACzB,UAAA,MAAA,CAAO,MAAA,CAAO,KAAK,CAAA,GAAI,EAAC;AAAA,QAC1B;AACA,QAAA,MAAA,CAAO,MAAA,CAAO,KAAK,CAAA,CAAG,IAAA,CAAK,MAAM,CAAA;AAAA,MACnC,CAAA,MAAO;AACL,QAAA,SAAA,CAAU,KAAK,MAAM,CAAA;AAAA,MACvB;AAAA,IACF,CAAC,CAAA;AAED,IAAA,OAAO,EAAE,QAAQ,SAAA,EAAU;AAAA,EAC7B,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,MAAM,gBAAA,GAAmB,KAAA,CAAM,OAAA,CAAQ,MAAM;AAC3C,IAAA,MAAM,QAAiC,EAAC;AAExC,IAAA,cAAA,CAAe,SAAA,CAAU,OAAA,CAAQ,CAAC,MAAA,KAAW;AAC3C,MAAA,KAAA,CAAM,KAAK,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,QAAQ,CAAA;AAAA,IAC7C,CAAC,CAAA;AAED,IAAA,MAAA,CAAO,OAAA,CAAQ,cAAA,CAAe,MAAM,CAAA,CAAE,OAAA;AAAA,MACpC,CAAC,CAAC,SAAA,EAAW,YAAY,CAAA,KAAM;AAC7B,QAAA,KAAA,CAAM,KAAK,EAAE,IAAA,EAAM,OAAA,EAAS,IAAA,EAAM,WAAW,CAAA;AAC7C,QAAC,YAAA,CAAqB,OAAA,CAAQ,CAAC,MAAA,KAAW;AACxC,UAAA,KAAA,CAAM,KAAK,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,QAAQ,CAAA;AAAA,QAC7C,CAAC,CAAA;AAAA,MACH;AAAA,KACF;AAEA,IAAA,OAAO,KAAA;AAAA,EACT,CAAA,EAAG,CAAC,cAAc,CAAC,CAAA;AAEnB,EAAA,MAAM,eAAA,GAAkB,KAAA,CAAM,OAAA,CAAQ,MAAM;AAC1C,IAAA,IAAI,CAAC,aAAa,OAAO,gBAAA;AAEzB,IAAA,MAAM,KAAA,GAAQ,YAAY,WAAA,EAAY;AACtC,IAAA,MAAM,kBAAkB,IAAI,GAAA;AAAA,MAC1B,gBAAA,CAAiB,MAAA;AAAA,QACf,CAAC,IAAA,KACC,IAAA,CAAK,IAAA,KAAS,QAAA,IACb,IAAA,CAAK,IAAA,CAAW,KAAA,CAAM,WAAA,EAAY,CAAE,QAAA,CAAS,KAAK;AAAA;AACvD,KACF;AAEA,IAAA,OAAO,gBAAA,CAAiB,MAAA,CAAO,CAAC,IAAA,KAAS;AACvC,MAAA,IAAI,IAAA,CAAK,SAAS,OAAA,EAAS;AACzB,QAAA,MAAM,YAAY,IAAA,CAAK,IAAA;AACvB,QAAA,OAAO,gBAAA,CAAiB,IAAA;AAAA,UACtB,CAAC,KAAA,KACC,KAAA,CAAM,IAAA,KAAS,QAAA,IACd,KAAA,CAAM,IAAA,CAAW,KAAA,KAAU,SAAA,IAC5B,eAAA,CAAgB,GAAA,CAAI,KAAK;AAAA,SAC7B;AAAA,MACF;AACA,MAAA,OAAO,eAAA,CAAgB,IAAI,IAAI,CAAA;AAAA,IACjC,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,gBAAA,EAAkB,WAAW,CAAC,CAAA;AAElC,EAAA,MAAM,oBAAoB,KAAA,CAAM,OAAA;AAAA,IAC9B,MACE,eAAA,CAAgB,MAAA;AAAA,MACd,CAAC,IAAA,KAAS,IAAA,CAAK,SAAS,QAAA,IAAY,CAAE,KAAK,IAAA,CAAW;AAAA,KACxD;AAAA,IACF,CAAC,eAAe;AAAA,GAClB;AAEA,EAAA,MAAM,gBAAA,GAAmB,gBAAgB,MAAA,GAAS,mBAAA;AAGlD,EAAA,MAAM,cAAc,cAAA,CAAe;AAAA,IACjC,OAAO,eAAA,CAAgB,MAAA;AAAA,IACvB,kBAAkB,MAAM,UAAA;AAAA,IACxB,cAAc,MAAM,EAAA;AAAA,IACpB,OAAA,EAAS,gBAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,KAAA,CAAM,MAAA,CAAO,WAAW,CAAA;AAC/C,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,cAAA,CAAe,OAAA,GAAU,WAAA;AAAA,EAC3B,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAEhB,EAAA,MAAM,WAAA,GAAc,WAAA,CAAY,CAAC,IAAA,KAAyB;AACxD,IAAA,IAAI,IAAA,EAAM;AACR,MAAA,aAAA,CAAc,IAAI,CAAA;AAClB,MAAA,kBAAA,CAAmB,OAAA,GAAU,IAAA;AAAA,IAC/B;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAGL,EAAA,MAAM,oBAAoB,KAAA,CAAM,WAAA;AAAA,IAC9B,CAAC,CAAA,KAA2C;AAC1C,MAAA,cAAA,CAAe,CAAA,CAAE,OAAO,KAAK,CAAA;AAC7B,MAAA,IAAI,CAAC,MAAA,EAAQ,SAAA,CAAU,IAAI,CAAA;AAAA,IAC7B,CAAA;AAAA,IACA,CAAC,MAAM;AAAA,GACT;AAEA,EAAA,MAAM,mBAAmB,KAAA,CAAM,WAAA;AAAA,IAC7B,CAAC,CAAA,KAAwB;AACvB,MAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,MAAA,IAAI,CAAC,MAAA,EAAQ,SAAA,CAAU,IAAI,CAAA;AAAA,IAC7B,CAAA;AAAA,IACA,CAAC,MAAM;AAAA,GACT;AAEA,EAAA,MAAM,eAAe,KAAA,CAAM,WAAA;AAAA,IACzB,CAAC,CAAA,KAAqC;AACpC,MAAA,MAAM,UAAU,CAAA,CAAE,aAAA;AAClB,MAAA,MAAM,EAAE,SAAA,EAAW,YAAA,EAAc,YAAA,EAAa,GAAI,OAAA;AAElD,MAAA,eAAA,CAAgB,YAAY,CAAC,CAAA;AAC7B,MAAA,kBAAA,CAAmB,SAAA,GAAY,YAAA,GAAe,YAAA,GAAe,CAAC,CAAA;AAAA,IAChE,CAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,MAAM,gBAAgB,KAAA,CAAM,WAAA;AAAA,IAC1B,CAAC,CAAA,KAA2B;AAC1B,MAAA,IAAI,CAAC,MAAA,IAAU,CAAA,CAAE,GAAA,KAAQ,KAAA,EAAO;AAC9B,QAAA,IAAI,CAAA,CAAE,QAAQ,OAAA,IAAW,CAAA,CAAE,QAAQ,GAAA,IAAO,CAAA,CAAE,QAAQ,WAAA,EAAa;AAC/D,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,SAAA,CAAU,IAAI,CAAA;AAAA,QAChB;AACA,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,2BAA2B,eAAA,CAAgB,MAAA;AAAA,QAC/C,CAAC,IAAA,KAAS,IAAA,CAAK,SAAS,QAAA,IAAY,CAAE,KAAK,IAAA,CAAW;AAAA,OACxD;AAEA,MAAA,QAAQ,EAAE,GAAA;AAAK,QACb,KAAK,QAAA;AACH,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,SAAA,CAAU,KAAK,CAAA;AACf,UAAA,cAAA,CAAe,EAAE,CAAA;AACjB,UAAA,mBAAA,CAAoB,EAAE,CAAA;AACtB,UAAA,QAAA,CAAS,SAAS,IAAA,EAAK;AACvB,UAAA;AAAA,QAEF,KAAK,WAAA;AACH,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,mBAAA,CAAoB,CAAC,IAAA,KAAS;AAC5B,YAAA,MAAM,YAAY,IAAA,CAAK,GAAA;AAAA,cACrB,IAAA,GAAO,CAAA;AAAA,cACP,yBAAyB,MAAA,GAAS;AAAA,aACpC;AACA,YAAA,MAAM,MAAA,GAAS,yBAAyB,SAAS,CAAA;AACjD,YAAA,IAAI,MAAA,EAAQ;AACV,cAAA,MAAM,WAAA,GAAc,eAAA,CAAgB,OAAA,CAAQ,MAAM,CAAA;AAClD,cAAA,IAAI,gBAAA,IAAoB,eAAe,OAAA,EAAS;AAC9C,gBAAA,cAAA,CAAe,OAAA,CAAQ,cAAc,WAAA,EAAa;AAAA,kBAChD,KAAA,EAAO;AAAA,iBACR,CAAA;AAAA,cACH;AAAA,YACF;AACA,YAAA,OAAO,SAAA;AAAA,UACT,CAAC,CAAA;AACD,UAAA;AAAA,QAEF,KAAK,SAAA;AACH,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,mBAAA,CAAoB,CAAC,IAAA,KAAS;AAC5B,YAAA,MAAM,SAAA,GAAY,IAAA,CAAK,GAAA,CAAI,IAAA,GAAO,GAAG,CAAC,CAAA;AACtC,YAAA,MAAM,MAAA,GAAS,yBAAyB,SAAS,CAAA;AACjD,YAAA,IAAI,MAAA,EAAQ;AACV,cAAA,MAAM,WAAA,GAAc,eAAA,CAAgB,OAAA,CAAQ,MAAM,CAAA;AAClD,cAAA,IAAI,gBAAA,IAAoB,eAAe,OAAA,EAAS;AAC9C,gBAAA,cAAA,CAAe,OAAA,CAAQ,cAAc,WAAA,EAAa;AAAA,kBAChD,KAAA,EAAO;AAAA,iBACR,CAAA;AAAA,cACH;AAAA,YACF;AACA,YAAA,OAAO,SAAA;AAAA,UACT,CAAC,CAAA;AACD,UAAA;AAAA,QAEF,KAAK,OAAA;AACH,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,IACE,gBAAA,IAAoB,CAAA,IACpB,gBAAA,GAAmB,wBAAA,CAAyB,MAAA,EAC5C;AACA,YAAA,MAAM,IAAA,GAAO,yBAAyB,gBAAgB,CAAA;AACtD,YAAA,IAAI,IAAA,EAAM;AACR,cAAA,MAAM,SAAS,IAAA,CAAK,IAAA;AACpB,cAAA,WAAA,CAAY,QAAQ,MAAM,CAAA;AAAA,YAC5B;AAAA,UACF;AACA,UAAA;AAAA,QAEF,KAAK,MAAA;AACH,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,mBAAA,CAAoB,CAAC,CAAA;AACrB,UAAA,IAAI,gBAAA,IAAoB,eAAe,OAAA,EAAS;AAC9C,YAAA,cAAA,CAAe,OAAA,CAAQ,cAAc,CAAC,CAAA;AAAA,UACxC;AACA,UAAA;AAAA,QAEF,KAAK,KAAA;AACH,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,mBAAA,CAAoB,wBAAA,CAAyB,SAAS,CAAC,CAAA;AACvD,UAAA,IAAI,gBAAA,IAAoB,eAAe,OAAA,EAAS;AAC9C,YAAA,cAAA,CAAe,OAAA,CAAQ,aAAA,CAAc,eAAA,CAAgB,MAAA,GAAS,CAAC,CAAA;AAAA,UACjE;AACA,UAAA;AAGA;AACJ,IACF,CAAA;AAAA,IACA,CAAC,MAAA,EAAQ,eAAA,EAAiB,gBAAA,EAAkB,gBAAgB;AAAA,GAC9D;AAIA,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,MAAA,EAAQ;AACV,MAAA,MAAM,SAAA,GAAY,WAAW,MAAM;AACjC,QAAA,MAAM,UAAU,kBAAA,CAAmB,OAAA;AACnC,QAAA,IAAI,OAAA,EAAS;AACX,UAAA,MAAM,EAAE,SAAA,EAAW,YAAA,EAAc,YAAA,EAAa,GAAI,OAAA;AAClD,UAAA,eAAA,CAAgB,YAAY,CAAC,CAAA;AAC7B,UAAA,kBAAA,CAAmB,SAAA,GAAY,YAAA,GAAe,YAAA,GAAe,CAAC,CAAA;AAAA,QAChE;AAAA,MACF,GAAG,EAAE,CAAA;AAEL,MAAA,OAAO,MAAM,aAAa,SAAS,CAAA;AAAA,IACrC,CAAA,MAAO;AACL,MAAA,eAAA,CAAgB,KAAK,CAAA;AACrB,MAAA,kBAAA,CAAmB,KAAK,CAAA;AACxB,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF,CAAA,EAAG,CAAC,MAAA,EAAQ,eAAA,EAAiB,gBAAgB,CAAC,CAAA;AAG9C,EAAA,OAAO;AAAA;AAAA,IAEL,MAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,mBAAA;AAAA,IACA,YAAA;AAAA,IACA,eAAA;AAAA;AAAA,IAGA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,kBAAA;AAAA;AAAA,IAGA,eAAA;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA,WAAA;AAAA,IACA,iBAAA;AAAA,IACA,KAAA;AAAA;AAAA,IAGA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,aAAA;AAAA;AAAA,IAGA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-WRSG7WU5.js","sourcesContent":["import { useVirtualizer } from \"@tanstack/react-virtual\";\nimport React, { useCallback, useId } from \"react\";\n\nimport { getValidationStatus } from \"../utils\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface SelectBaseOption {\n value: string | number;\n label: string;\n disabled?: boolean;\n group?: string;\n}\n\nexport interface UseSelectBaseConfig<O extends SelectBaseOption> {\n options: O[];\n /** Called when the user presses Enter on a highlighted option (or clicks one via the hook's helpers). */\n onSelectOption: (option: O) => void;\n virtualizeThreshold?: number;\n maxDropdownHeight?: number;\n label?: string;\n idPrefix: string; // 'select' or 'multiselect'\n error?: string | boolean;\n warning?: string | boolean;\n info?: string | boolean;\n success?: string | boolean;\n helperText?: string;\n}\n\nexport interface FlattenedItem<O extends SelectBaseOption> {\n type: \"option\" | \"group\";\n data: O | string;\n}\n\n// ---------------------------------------------------------------------------\n// Hook\n// ---------------------------------------------------------------------------\n\nexport function useSelectBase<O extends SelectBaseOption>(\n config: UseSelectBaseConfig<O>,\n) {\n const {\n options,\n virtualizeThreshold = 50,\n maxDropdownHeight = 300,\n label,\n idPrefix,\n error,\n warning,\n info,\n success,\n helperText,\n } = config;\n\n // -- IDs / validation -------------------------------------------------------\n const uniqueId = useId();\n const labelId = `${idPrefix}-label-${uniqueId}`;\n const listboxId = `${idPrefix}-listbox-${uniqueId}`;\n const helperId = `${idPrefix}-helper-${uniqueId}`;\n\n const { status, message: helperMessage } = getValidationStatus({\n error,\n warning,\n info,\n success,\n helperText,\n });\n\n // -- State ------------------------------------------------------------------\n const [isOpen, setIsOpen] = React.useState(false);\n const [parentNode, setParentNode] = React.useState<HTMLDivElement | null>(\n null,\n );\n const [searchQuery, setSearchQuery] = React.useState(\"\");\n const [highlightedIndex, setHighlightedIndex] = React.useState(-1);\n const [showTopArrow, setShowTopArrow] = React.useState(false);\n const [showBottomArrow, setShowBottomArrow] = React.useState(false);\n\n // -- Refs -------------------------------------------------------------------\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const scrollContainerRef = React.useRef<HTMLDivElement>(null);\n\n // Store onSelectOption in a ref so handleKeyDown doesn't depend on it\n const onSelectRef = React.useRef(config.onSelectOption);\n React.useEffect(() => {\n onSelectRef.current = config.onSelectOption;\n }, [config.onSelectOption]);\n\n // -- Memos ------------------------------------------------------------------\n const groupedOptions = React.useMemo(() => {\n const groups: Record<string, O[]> = {};\n const ungrouped: O[] = [];\n\n options.forEach((option) => {\n if (option.group) {\n if (!groups[option.group]) {\n groups[option.group] = [];\n }\n groups[option.group]!.push(option);\n } else {\n ungrouped.push(option);\n }\n });\n\n return { groups, ungrouped };\n }, [options]);\n\n const flattenedOptions = React.useMemo(() => {\n const items: Array<FlattenedItem<O>> = [];\n\n groupedOptions.ungrouped.forEach((option) => {\n items.push({ type: \"option\", data: option });\n });\n\n Object.entries(groupedOptions.groups).forEach(\n ([groupName, groupOptions]) => {\n items.push({ type: \"group\", data: groupName });\n (groupOptions as O[]).forEach((option) => {\n items.push({ type: \"option\", data: option });\n });\n },\n );\n\n return items;\n }, [groupedOptions]);\n\n const filteredOptions = React.useMemo(() => {\n if (!searchQuery) return flattenedOptions;\n\n const query = searchQuery.toLowerCase();\n const matchingOptions = new Set(\n flattenedOptions.filter(\n (item) =>\n item.type === \"option\" &&\n (item.data as O).label.toLowerCase().includes(query),\n ),\n );\n\n return flattenedOptions.filter((item) => {\n if (item.type === \"group\") {\n const groupName = item.data as string;\n return flattenedOptions.some(\n (other) =>\n other.type === \"option\" &&\n (other.data as O).group === groupName &&\n matchingOptions.has(other),\n );\n }\n return matchingOptions.has(item);\n });\n }, [flattenedOptions, searchQuery]);\n\n const selectableOptions = React.useMemo(\n () =>\n filteredOptions.filter(\n (item) => item.type === \"option\" && !(item.data as O).disabled,\n ),\n [filteredOptions],\n );\n\n const shouldVirtualize = filteredOptions.length > virtualizeThreshold;\n\n // -- Virtualizer ------------------------------------------------------------\n const virtualizer = useVirtualizer({\n count: filteredOptions.length,\n getScrollElement: () => parentNode,\n estimateSize: () => 40,\n enabled: shouldVirtualize,\n overscan: 10,\n });\n\n const virtualizerRef = React.useRef(virtualizer);\n React.useEffect(() => {\n virtualizerRef.current = virtualizer;\n }, [virtualizer]);\n\n const refCallback = useCallback((node: HTMLDivElement) => {\n if (node) {\n setParentNode(node);\n scrollContainerRef.current = node;\n }\n }, []);\n\n // -- Handlers ---------------------------------------------------------------\n const handleInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchQuery(e.target.value);\n if (!isOpen) setIsOpen(true);\n },\n [isOpen],\n );\n\n const handleInputClick = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (!isOpen) setIsOpen(true);\n },\n [isOpen],\n );\n\n const handleScroll = React.useCallback(\n (e: React.UIEvent<HTMLDivElement>) => {\n const element = e.currentTarget;\n const { scrollTop, scrollHeight, clientHeight } = element;\n\n setShowTopArrow(scrollTop > 0);\n setShowBottomArrow(scrollTop + clientHeight < scrollHeight - 1);\n },\n [],\n );\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (!isOpen && e.key !== \"Tab\") {\n if (e.key === \"Enter\" || e.key === \" \" || e.key === \"ArrowDown\") {\n e.preventDefault();\n setIsOpen(true);\n }\n return;\n }\n\n const currentSelectableOptions = filteredOptions.filter(\n (item) => item.type === \"option\" && !(item.data as O).disabled,\n );\n\n switch (e.key) {\n case \"Escape\":\n e.preventDefault();\n setIsOpen(false);\n setSearchQuery(\"\");\n setHighlightedIndex(-1);\n inputRef.current?.blur();\n break;\n\n case \"ArrowDown\":\n e.preventDefault();\n setHighlightedIndex((prev) => {\n const nextIndex = Math.min(\n prev + 1,\n currentSelectableOptions.length - 1,\n );\n const option = currentSelectableOptions[nextIndex];\n if (option) {\n const optionIndex = filteredOptions.indexOf(option);\n if (shouldVirtualize && virtualizerRef.current) {\n virtualizerRef.current.scrollToIndex(optionIndex, {\n align: \"auto\",\n });\n }\n }\n return nextIndex;\n });\n break;\n\n case \"ArrowUp\":\n e.preventDefault();\n setHighlightedIndex((prev) => {\n const nextIndex = Math.max(prev - 1, 0);\n const option = currentSelectableOptions[nextIndex];\n if (option) {\n const optionIndex = filteredOptions.indexOf(option);\n if (shouldVirtualize && virtualizerRef.current) {\n virtualizerRef.current.scrollToIndex(optionIndex, {\n align: \"auto\",\n });\n }\n }\n return nextIndex;\n });\n break;\n\n case \"Enter\":\n e.preventDefault();\n if (\n highlightedIndex >= 0 &&\n highlightedIndex < currentSelectableOptions.length\n ) {\n const item = currentSelectableOptions[highlightedIndex];\n if (item) {\n const option = item.data as O;\n onSelectRef.current(option);\n }\n }\n break;\n\n case \"Home\":\n e.preventDefault();\n setHighlightedIndex(0);\n if (shouldVirtualize && virtualizerRef.current) {\n virtualizerRef.current.scrollToIndex(0);\n }\n break;\n\n case \"End\":\n e.preventDefault();\n setHighlightedIndex(currentSelectableOptions.length - 1);\n if (shouldVirtualize && virtualizerRef.current) {\n virtualizerRef.current.scrollToIndex(filteredOptions.length - 1);\n }\n break;\n\n default:\n break;\n }\n },\n [isOpen, filteredOptions, highlightedIndex, shouldVirtualize],\n );\n\n // -- Effects ----------------------------------------------------------------\n // Check initial scroll state when dropdown opens\n React.useEffect(() => {\n if (isOpen) {\n const timeoutId = setTimeout(() => {\n const element = scrollContainerRef.current;\n if (element) {\n const { scrollTop, scrollHeight, clientHeight } = element;\n setShowTopArrow(scrollTop > 0);\n setShowBottomArrow(scrollTop + clientHeight < scrollHeight - 1);\n }\n }, 50);\n\n return () => clearTimeout(timeoutId);\n } else {\n setShowTopArrow(false);\n setShowBottomArrow(false);\n return undefined;\n }\n }, [isOpen, filteredOptions, shouldVirtualize]);\n\n // -- Return -----------------------------------------------------------------\n return {\n // State\n isOpen,\n setIsOpen,\n searchQuery,\n setSearchQuery,\n highlightedIndex,\n setHighlightedIndex,\n showTopArrow,\n showBottomArrow,\n\n // Refs\n triggerRef,\n inputRef,\n scrollContainerRef,\n\n // Computed\n filteredOptions,\n selectableOptions,\n shouldVirtualize,\n virtualizer,\n maxDropdownHeight,\n label,\n\n // IDs & validation\n uniqueId,\n labelId,\n listboxId,\n helperId,\n status,\n helperMessage,\n\n // Handlers\n handleInputChange,\n handleInputClick,\n handleScroll,\n handleKeyDown,\n refCallback,\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/notification/index.tsx"],"names":[],"mappings":"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","file":"chunk-X3YNHX77.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport { X } from 'lucide-react'\nimport React from 'react'\n\nimport { cn, iconSizes } from '../utils'\nimport { componentColors, createNotificationColorVariants } from '../variants'\nimport type { NotificationProps } from './types'\n\nconst notificationVariants = cva(\n 'relative flex gap-3 rounded-md transition-colors',\n {\n variants: {\n variant: {\n default: '',\n solid: '',\n outline: 'border-2 border-l-6',\n soft: 'border-l-6',\n },\n color: {\n default: '',\n primary: '',\n secondary: '',\n accent: '',\n success: '',\n error: '',\n warning: '',\n info: '',\n },\n size: {\n xs: 'p-2 text-xs gap-2',\n sm: 'p-3 text-sm gap-2.5',\n md: 'p-4 text-base gap-3',\n lg: 'p-5 text-lg gap-3.5',\n },\n },\n compoundVariants: createNotificationColorVariants(componentColors, [\n 'default',\n 'solid',\n 'outline',\n 'soft',\n ]),\n defaultVariants: {\n variant: 'default',\n color: 'default',\n size: 'md',\n },\n },\n)\n\nconst Notification = React.memo<NotificationProps>(\n ({\n title,\n description,\n variant = 'default',\n color = 'default',\n size = 'md',\n closable = true,\n onClose,\n action,\n className,\n classNames,\n children,\n }) => {\n return (\n <div\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className={cn(\n 'notification_root',\n notificationVariants({ variant, color, size }),\n className,\n classNames?.root,\n )}\n >\n <div className={cn('flex-1 min-w-0', 'notification_content', classNames?.content)}>\n {title && <div className={cn('font-semibold mb-1 text-sm', 'notification_title', classNames?.title)}>{title}</div>}\n {description && (\n <div className={cn('text-sm opacity-90', 'notification_description', classNames?.description)}>{description}</div>\n )}\n {children && <div className=\"mt-2\">{children}</div>}\n {action && (\n <button\n type=\"button\"\n onClick={action.onClick}\n className={cn('mt-2 text-sm font-medium underline hover:no-underline', 'notification_action', classNames?.action)}\n >\n {action.label}\n </button>\n )}\n </div>\n\n {closable && (\n <button\n type=\"button\"\n onClick={onClose}\n className={cn('shrink-0 rounded-sm opacity-70 hover:opacity-100 transition-opacity', 'notification_closeButton', classNames?.closeButton)}\n aria-label=\"Close notification\"\n >\n <X className={cn(iconSizes[size], 'notification_icon', classNames?.icon)} aria-hidden=\"true\" />\n </button>\n )}\n </div>\n )\n },\n)\n\nNotification.displayName = 'Notification'\n\nexport type * from './types'\nexport default Notification\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/spinner/index.tsx"],"names":[],"mappings":";;;;;AAOA,IAAM,eAAA,GAAkB,GAAA;AAAA,EACtB,mFAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,gBAAA;AAAA,QACJ,EAAA,EAAI,gBAAA;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACN;AAAA,MACA,KAAA,EAAO;AAAA,KACT;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM,IAAA;AAAA,MACN,KAAA,EAAO;AAAA;AACT;AAEJ,CAAA;AAEO,IAAM,OAAA,GAAkC,CAAC,EAAE,IAAA,GAAO,MAAM,KAAA,GAAQ,SAAA,EAAW,KAAA,EAAO,SAAA,EAAU,KAAM;AACvG,EAAA,uBACE,IAAA,CAAC,SAAI,WAAA,EAAU,MAAA,EAAO,WAAW,EAAA,CAAG,cAAA,EAAgB,yCAAA,EAA2C,SAAS,CAAA,EACtG,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,eAAA,CAAgB,EAAE,IAAA,EAAM,OAAO,CAAA;AAAA,QAC1C,IAAA,EAAK,QAAA;AAAA,QACL,cAAY,KAAA,IAAS;AAAA;AAAA,KACvB;AAAA,IACC,KAAA,oBAAS,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,+BAA+B,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACjE,CAAA;AAEJ;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA;AAGtB,IAAO,eAAA,GAAQ","file":"chunk-Y4XAXZHB.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport { textColorClasses } from '../variants'\nimport type { SpinnerProps } from './types'\n\nconst spinnerVariants = cva(\n 'inline-block border border-current border-t-transparent rounded-full animate-spin',\n {\n variants: {\n size: {\n xs: 'w-3 h-3 border',\n sm: 'w-4 h-4 border',\n md: 'w-6 h-6 border-2',\n lg: 'w-8 h-8 border-2',\n },\n color: textColorClasses,\n },\n defaultVariants: {\n size: 'sm',\n color: 'primary',\n },\n },\n)\n\nexport const Spinner: React.FC<SpinnerProps> = ({ size = 'sm', color = 'primary', label, className }) => {\n return (\n <div data-slot=\"root\" className={cn('spinner_root', 'inline-flex flex-col items-center gap-2', className)}>\n <div\n className={spinnerVariants({ size, color })}\n role=\"status\"\n aria-label={label || 'Loading'}\n />\n {label && <span className=\"text-sm text-text-secondary\">{label}</span>}\n </div>\n )\n}\n\nSpinner.displayName = 'Spinner'\n\nexport type * from './types'\nexport default Spinner\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scroll-area/index.tsx"],"names":[],"mappings":"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","file":"chunk-YJOLLSHH.js","sourcesContent":["'use client'\n\nimport React, { useId } from 'react'\nimport { cva } from 'class-variance-authority'\n\nimport { cn } from '../utils'\nimport type { ScrollAreaProps, ScrollAreaSize } from './types'\n\n/**\n * Scrollbar thickness by size\n */\nconst scrollbarSizes: Record<ScrollAreaSize, string> = {\n xs: '4px',\n sm: '6px',\n md: '8px',\n lg: '10px',\n}\n\n/**\n * ScrollArea root variants\n */\nconst scrollAreaVariants = cva('scroll-area_root relative overflow-hidden', {\n variants: {\n size: {\n xs: '',\n sm: '',\n md: '',\n lg: '',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\n/**\n * ScrollArea Component\n * Provides a customizable scrollable container with styled scrollbars\n */\nconst ScrollArea = React.memo<ScrollAreaProps>(\n ({\n children,\n maxHeight,\n maxWidth,\n direction = 'vertical',\n size = 'md',\n scrollbarVisibility = 'auto',\n className,\n classNames,\n ref,\n style,\n ...props\n }) => {\n const scrollId = useId().replace(/:/g, '')\n const scrollClass = `scroll-area-${scrollId}`\n const thickness = scrollbarSizes[size]\n\n // Determine overflow based on direction\n const getOverflowClass = () => {\n if (direction === 'vertical') return 'overflow-y-auto overflow-x-hidden'\n if (direction === 'horizontal') return 'overflow-x-auto overflow-y-hidden'\n return 'overflow-auto'\n }\n\n // Build style object\n const viewportStyle: React.CSSProperties = {\n ...style,\n ...(maxHeight && { maxHeight: typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight }),\n ...(maxWidth && { maxWidth: typeof maxWidth === 'number' ? `${maxWidth}px` : maxWidth }),\n }\n\n // Generate scrollbar CSS based on visibility\n const getScrollbarStyles = () => {\n const baseOpacity = scrollbarVisibility === 'hover' ? '0' : '1'\n const hoverOpacity = '1'\n\n return `\n /* Firefox */\n .${scrollClass} {\n scrollbar-width: thin;\n scrollbar-color: hsl(var(--color-border)) transparent;\n }\n\n /* Webkit (Chrome, Safari, Edge) */\n .${scrollClass}::-webkit-scrollbar {\n width: ${direction !== 'horizontal' ? thickness : '0'};\n height: ${direction !== 'vertical' ? thickness : '0'};\n }\n\n .${scrollClass}::-webkit-scrollbar-track {\n background: transparent;\n border-radius: ${thickness};\n }\n\n .${scrollClass}::-webkit-scrollbar-thumb {\n background: hsl(var(--color-border));\n border-radius: ${thickness};\n opacity: ${baseOpacity};\n transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;\n }\n\n .${scrollClass}::-webkit-scrollbar-thumb:hover {\n background: hsl(var(--color-border-strong));\n }\n\n ${\n scrollbarVisibility === 'hover'\n ? `\n .${scrollClass}:hover::-webkit-scrollbar-thumb {\n opacity: ${hoverOpacity};\n }\n `\n : ''\n }\n\n .${scrollClass}::-webkit-scrollbar-corner {\n background: transparent;\n }\n `\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n scrollAreaVariants({ size }),\n classNames?.root,\n className,\n )}\n data-slot=\"root\"\n {...props}\n >\n <style dangerouslySetInnerHTML={{ __html: getScrollbarStyles() }} />\n <div\n className={cn(\n 'scroll-area_viewport',\n scrollClass,\n getOverflowClass(),\n classNames?.viewport,\n )}\n style={viewportStyle}\n data-slot=\"viewport\"\n >\n {children}\n </div>\n </div>\n )\n },\n)\n\nScrollArea.displayName = 'ScrollArea'\n\nexport type * from './types'\nexport default ScrollArea\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/skeleton/index.tsx"],"names":[],"mappings":";;;;;;AAOA,IAAM,gBAAA,GAAmB,IAAI,uBAAA,EAAyB;AAAA,EACpD,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,KAAA;AAAA,MACJ,EAAA,EAAI,KAAA;AAAA,MACJ,EAAA,EAAI,KAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAAA,IACA,KAAA,EAAO;AAAA,GACT;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,IAAA;AAAA,IACN,KAAA,EAAO;AAAA;AAEX,CAAC,CAAA;AAED,IAAM,WAAW,KAAA,CAAM,IAAA;AAAA,EACrB,CAAC,EAAE,KAAA,GAAQ,SAAA,EAAW,OAAO,IAAA,EAAM,SAAA,EAAW,MAAA,GAAS,KAAA,EAAM,KAAM;AACjE,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,MAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,eAAA;AAAA,UACA,gBAAA,CAAiB,EAAE,IAAA,EAAM,KAAA,EAAO,CAAA;AAAA,UAChC,MAAA,IAAU,4BAAA;AAAA,UACV;AAAA;AACF;AAAA,KACF;AAAA,EAEJ;AACF,CAAA;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;AAGvB,IAAO,gBAAA,GAAQ","file":"chunk-YS5AIY4A.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport { bgSkeletonColorClasses } from '../variants'\nimport type { SkeletonProps } from './types'\n\nconst skeletonVariants = cva('animate-pulse rounded', {\n variants: {\n size: {\n xs: 'h-3',\n sm: 'h-4',\n md: 'h-5',\n lg: 'h-6',\n },\n color: bgSkeletonColorClasses,\n },\n defaultVariants: {\n size: 'md',\n color: 'default',\n },\n})\n\nconst Skeleton = React.memo<SkeletonProps>(\n ({ color = 'default', size = 'md', className, circle = false }) => {\n return (\n <div\n data-slot=\"root\"\n className={cn(\n 'skeleton_root',\n skeletonVariants({ size, color }),\n circle && 'rounded-full aspect-square',\n className,\n )}\n />\n )\n },\n)\n\nSkeleton.displayName = 'Skeleton'\n\nexport type * from './types'\nexport default Skeleton\n"]}
|