@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/tooltip/index.tsx"],"names":[],"mappings":";;;;;;;AAcA,IAAM,sBAAA,GAAyB,GAAA;AAAA,EAC7B,slBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA,QACJ,EAAA,EAAI,qBAAA;AAAA,QACJ,EAAA,EAAI,uBAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACN;AAAA,MACA,KAAA,EAAO,wBAAA;AAAA,MACP,OAAA,EAAS;AAAA,QACP,KAAA,EAAO,EAAA;AAAA,QACP,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,gBAAA,EAAkB,+BAA+B,eAAe,CAAA;AAAA,IAChE,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM,IAAA;AAAA,MACN,KAAA,EAAO,SAAA;AAAA,MACP,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;AAEO,IAAM,eAAA,GAAmC,gBAAA,CAAA;AAUhD,IAAM,UAAU,KAAA,CAAM,IAAA;AAAA,EACpB,CAAC;AAAA,IACC,OAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA,GAAQ,SAAA;AAAA,IACR,IAAA,GAAO,IAAA;AAAA,IACP,OAAA,GAAU,OAAA;AAAA,IACV,IAAA,GAAO,KAAA;AAAA,IACP,KAAA,GAAQ,QAAA;AAAA,IACR,aAAA,GAAgB,GAAA;AAAA,IAChB,QAAA,GAAW,KAAA;AAAA,IACX,SAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAM;AACJ,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,uCAAU,QAAA,EAAS,CAAA;AAAA,IACrB;AAEA,IAAA,uBACE,IAAA,CAAkB,gBAAA,CAAA,IAAA,EAAjB,EAAsB,aAAA,EACrB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAkB,gBAAA,CAAA,OAAA,EAAjB,EAAyB,OAAA,EAAO,IAAA,EAAE,QAAA,EAAS,CAAA;AAAA,sBAC5C,GAAA,CAAkB,yBAAjB,EACC,QAAA,kBAAA,GAAA;AAAA,QAAkB,gBAAA,CAAA,OAAA;AAAA,QAAjB;AAAA,UACC,IAAA;AAAA,UACA,KAAA;AAAA,UACA,SAAA,EAAW,EAAA;AAAA,YACT,iBAAA;AAAA,YACA,sBAAA,CAAuB,EAAE,IAAA,EAAM,KAAA,EAAO,SAAS,CAAA;AAAA,YAC/C,SAAA;AAAA,YACA,UAAA,EAAY;AAAA,WACd;AAAA,UACA,UAAA,EAAY,CAAA;AAAA,UACX,GAAG,KAAA;AAAA,UAEH,QAAA,EAAA;AAAA;AAAA,OACH,EACF;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AACF,CAAA;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA;AAGtB,IAAO,eAAA,GAAQ","file":"chunk-HCOTO5WX.js","sourcesContent":["'use client'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport {\n componentColors,\n createTooltipSoftColorVariants,\n tooltipSolidColorClasses,\n} from '../variants'\nimport type { TooltipProps } from './types'\n\nconst tooltipContentVariants = cva(\n 'z-50 overflow-hidden rounded px-3 py-1.5 text-sm will-change-[transform,_opacity] animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2',\n {\n variants: {\n size: {\n xs: 'text-xs px-2 py-1',\n sm: 'text-sm px-2.5 py-1',\n md: 'text-base px-3 py-1.5',\n lg: 'text-lg px-4 py-2',\n },\n color: tooltipSolidColorClasses,\n variant: {\n solid: '',\n soft: 'border',\n },\n },\n compoundVariants: createTooltipSoftColorVariants(componentColors),\n defaultVariants: {\n size: 'sm',\n color: 'default',\n variant: 'solid',\n },\n },\n)\n\nexport const TooltipProvider = TooltipPrimitive.Provider\n\nexport type {\n TooltipProps,\n TooltipProviderProps,\n TooltipColor,\n TooltipSize,\n TooltipVariant,\n} from './types'\n\nconst Tooltip = React.memo<TooltipProps>(\n ({\n content,\n children,\n color = 'default',\n size = 'sm',\n variant = 'solid',\n side = 'top',\n align = 'center',\n delayDuration = 200,\n disabled = false,\n className,\n classNames,\n ...props\n }) => {\n if (disabled) {\n return <>{children}</>\n }\n\n return (\n <TooltipPrimitive.Root delayDuration={delayDuration}>\n <TooltipPrimitive.Trigger asChild>{children}</TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n side={side}\n align={align}\n className={cn(\n 'tooltip_content',\n tooltipContentVariants({ size, color, variant }),\n className,\n classNames?.content,\n )}\n sideOffset={4}\n {...props}\n >\n {content}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n )\n },\n)\n\nTooltip.displayName = 'Tooltip'\n\nexport type * from './types'\nexport default Tooltip\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/image/index.tsx"],"names":[],"mappings":"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","file":"chunk-HECAAILV.js","sourcesContent":["'use client'\n\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { cn } from '../utils'\n\nimport { ImageProps } from './types'\n\nconst Image = React.memo<ImageProps>(({\n src,\n withBlur,\n className,\n classNames,\n fallbackSrc,\n fetchPriority = 'auto',\n ...props\n}) => {\n const [imageError, setImageError] = useState(false)\n const [isLoaded, setIsLoaded] = useState(false)\n const imageRef = useRef<HTMLImageElement>(null)\n\n useEffect(() => {\n setImageError(false)\n setIsLoaded(false)\n }, [src])\n\n useEffect(() => {\n const handleLoad = () => {\n if (imageRef.current) {\n setIsLoaded(true)\n }\n }\n\n const img = imageRef.current\n if (img?.complete && img?.naturalWidth > 0) {\n handleLoad()\n } else {\n img?.addEventListener('load', handleLoad)\n }\n\n return () => img?.removeEventListener('load', handleLoad)\n }, [src])\n\n const imgElement = (\n <img\n ref={imageRef}\n onError={() => setImageError(true)}\n src={imageError ? fallbackSrc : src}\n className={cn(\n 'image_image',\n !isLoaded && 'opacity-0',\n isLoaded && 'opacity-100',\n 'transition-opacity duration-500 ease-in-out',\n imageError && 'image_error',\n imageError && classNames?.error,\n classNames?.image,\n className,\n )}\n {...props}\n alt={props.alt}\n loading=\"lazy\"\n fetchPriority={fetchPriority}\n />\n )\n\n // Without blur: render img directly, no wrapper\n if (!withBlur) {\n return imgElement\n }\n\n // With blur: wrapper needed for placeholder overlay\n return (\n <div\n data-slot=\"root\"\n className={cn(\n 'image_root',\n 'relative overflow-hidden',\n classNames?.root,\n )}\n style={{\n width: props.width ? `${props.width}px` : undefined,\n height: props.height ? `${props.height}px` : undefined,\n }}\n >\n {!isLoaded && (\n <div\n className={cn(\n 'image_placeholder',\n 'absolute inset-0 animate-pulse bg-gradient-to-r from-surface via-background to-surface',\n classNames?.placeholder\n )}\n />\n )}\n {imgElement}\n </div>\n )\n})\n\nImage.displayName = 'Image'\n\nexport type * from './types'\nexport default Image\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pagination/index.tsx"],"names":[],"mappings":"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","file":"chunk-HUXODBIO.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport {\n ChevronLeft,\n ChevronRight,\n ChevronsLeft,\n ChevronsRight,\n MoreHorizontal,\n} from 'lucide-react'\nimport React, { useState } from 'react'\n\nimport { useRipple, RippleContainer } from '../hooks/useRipple'\nimport { cn, iconSizes } from '../utils'\nimport type { PaginationProps } from './types'\n\nconst paginationVariants = cva('inline-flex items-center gap-1', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst paginationItemVariants = cva(\n 'inline-flex items-center justify-center rounded-md font-medium outline-none cursor-pointer border min-w-fit',\n {\n variants: {\n size: {\n xs: 'h-6 min-w-6 px-1.5 text-xs',\n sm: 'h-8 min-w-8 px-2 text-sm',\n md: 'h-10 min-w-10 px-3 text-base',\n lg: 'h-12 min-w-12 px-4 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 colorStyles = {\n default: {\n default:\n 'border-border bg-background text-text-primary hover:bg-surface hover:border-text-primary',\n solid: 'border-surface bg-surface text-text-primary hover:bg-surface/80',\n soft: 'border-border bg-surface/50 text-text-primary hover:bg-surface',\n },\n primary: {\n default:\n 'border-border bg-background text-text-primary hover:bg-primary/10 hover:border-primary',\n solid: 'border-primary bg-primary text-background hover:bg-primary/90',\n soft: 'border-primary/30 bg-primary/10 text-primary hover:bg-primary/20',\n },\n secondary: {\n default:\n 'border-border bg-background text-text-primary hover:bg-secondary/10 hover:border-secondary',\n solid:\n 'border-secondary bg-secondary text-background hover:bg-secondary/90',\n soft: 'border-secondary/30 bg-secondary/10 text-secondary hover:bg-secondary/20',\n },\n accent: {\n default:\n 'border-border bg-background text-text-primary hover:bg-accent/10 hover:border-accent',\n solid: 'border-accent bg-accent text-background hover:bg-accent/90',\n soft: 'border-accent/30 bg-accent/10 text-accent hover:bg-accent/20',\n },\n success: {\n default:\n 'border-border bg-background text-text-primary hover:bg-success/10 hover:border-success',\n solid: 'border-success bg-success text-background hover:bg-success/90',\n soft: 'border-success/30 bg-success/10 text-success hover:bg-success/20',\n },\n error: {\n default:\n 'border-border bg-background text-text-primary hover:bg-error/10 hover:border-error',\n solid: 'border-error bg-error text-background hover:bg-error/90',\n soft: 'border-error/30 bg-error/10 text-error hover:bg-error/20',\n },\n warning: {\n default:\n 'border-border bg-background text-text-primary hover:bg-warning/10 hover:border-warning',\n solid: 'border-warning bg-warning text-background hover:bg-warning/90',\n soft: 'border-warning/30 bg-warning/10 text-warning hover:bg-warning/20',\n },\n info: {\n default:\n 'border-border bg-background text-text-primary hover:bg-info/10 hover:border-info',\n solid: 'border-info bg-info text-background hover:bg-info/90',\n soft: 'border-info/30 bg-info/10 text-info hover:bg-info/20',\n },\n}\n\nconst activeColorStyles = {\n default: {\n default: 'border-text-primary bg-surface text-text-primary',\n solid: 'border-border bg-surface text-text-primary',\n soft: 'border-border bg-surface text-text-primary',\n },\n primary: {\n default: 'border-primary bg-primary/10 text-primary',\n solid: 'border-primary bg-primary-hover text-background',\n soft: 'border-primary bg-primary/20 text-primary',\n },\n secondary: {\n default: 'border-secondary bg-secondary/10 text-secondary',\n solid: 'border-secondary bg-secondary text-background',\n soft: 'border-secondary bg-secondary/20 text-secondary',\n },\n accent: {\n default: 'border-accent bg-accent/10 text-accent',\n solid: 'border-accent bg-accent text-background',\n soft: 'border-accent bg-accent/20 text-accent',\n },\n success: {\n default: 'border-success bg-success/10 text-success',\n solid: 'border-success bg-success text-background',\n soft: 'border-success bg-success/20 text-success',\n },\n error: {\n default: 'border-error bg-error/10 text-error',\n solid: 'border-error bg-error text-background',\n soft: 'border-error bg-error/20 text-error',\n },\n warning: {\n default: 'border-warning bg-warning/10 text-warning',\n solid: 'border-warning bg-warning text-background',\n soft: 'border-warning bg-warning/20 text-warning',\n },\n info: {\n default: 'border-info bg-info/10 text-info',\n solid: 'border-info bg-info text-background',\n soft: 'border-info bg-info/20 text-info',\n },\n}\n\nconst PaginationButton: React.FC<{ children: React.ReactNode; disabled?: boolean; className?: string; [key: string]: any }> = ({ children, disabled, className, ...props }) => {\n const { ripples, onPointerDown, onKeyDown, onAnimationEnd } = useRipple(!disabled)\n return (\n <button className={cn(className, 'relative overflow-hidden')} onPointerDown={onPointerDown} onKeyDown={onKeyDown} disabled={disabled} {...props}>\n {children}\n <RippleContainer ripples={ripples} onAnimationEnd={onAnimationEnd} />\n </button>\n )\n}\n\nconst Pagination = React.memo<PaginationProps>(\n ({\n total,\n current: controlledCurrent,\n defaultCurrent = 1,\n pageSize: controlledPageSize,\n defaultPageSize = 10,\n onChange,\n onShowSizeChange,\n color = 'default',\n size = 'md',\n variant = 'default',\n showSizeChanger = false,\n pageSizeOptions = [10, 20, 50, 100],\n showQuickJumper = false,\n showFirstLastButtons = false,\n showTotal,\n disabled = false,\n className,\n classNames,\n }) => {\n const [internalCurrent, setInternalCurrent] = useState(defaultCurrent)\n const [internalPageSize, setInternalPageSize] = useState(defaultPageSize)\n\n const current =\n controlledCurrent !== undefined ? controlledCurrent : internalCurrent\n const pageSize =\n controlledPageSize !== undefined ? controlledPageSize : internalPageSize\n const totalPages = Math.ceil(total / pageSize)\n\n const handlePageChange = (page: number) => {\n if (disabled || page === current || page < 1 || page > totalPages) return\n\n if (controlledCurrent === undefined) {\n setInternalCurrent(page)\n }\n onChange?.(page, pageSize)\n }\n\n const handlePageSizeChange = (newSize: number) => {\n if (disabled) return\n\n const newTotalPages = Math.ceil(total / newSize)\n const newCurrent = current > newTotalPages ? newTotalPages : current\n\n if (controlledPageSize === undefined) {\n setInternalPageSize(newSize)\n }\n if (controlledCurrent === undefined && newCurrent !== current) {\n setInternalCurrent(newCurrent)\n }\n\n onShowSizeChange?.(newCurrent, newSize)\n onChange?.(newCurrent, newSize)\n }\n\n const getPageNumbers = () => {\n const pages: (number | 'ellipsis')[] = []\n\n if (totalPages <= 7) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i)\n }\n } else if (current <= 4) {\n // Near start: always 7 items [1, 2, 3, 4, 5, ..., last]\n for (let i = 1; i <= 5; i++) pages.push(i)\n pages.push('ellipsis')\n pages.push(totalPages)\n } else if (current >= totalPages - 3) {\n // Near end: always 7 items [1, ..., last-4, last-3, last-2, last-1, last]\n pages.push(1)\n pages.push('ellipsis')\n for (let i = totalPages - 4; i <= totalPages; i++) pages.push(i)\n } else {\n // Middle: always 7 items [1, ..., c-1, c, c+1, ..., last]\n pages.push(1)\n pages.push('ellipsis')\n pages.push(current - 1)\n pages.push(current)\n pages.push(current + 1)\n pages.push('ellipsis')\n pages.push(totalPages)\n }\n\n return pages\n }\n\n const range: [number, number] = [\n (current - 1) * pageSize + 1,\n Math.min(current * pageSize, total),\n ]\n\n return (\n <div\n className={cn(\n 'pagination_root',\n 'flex items-center gap-4',\n classNames?.root,\n className,\n )}\n >\n {showTotal && (\n <div\n className={cn(\n 'pagination_info',\n 'text-text-secondary text-sm',\n classNames?.info,\n )}\n >\n {showTotal(total, range)}\n </div>\n )}\n\n <div\n className={cn(\n 'pagination_list',\n paginationVariants({ size }),\n classNames?.list,\n )}\n >\n {/* First Page Button */}\n {showFirstLastButtons && (\n <PaginationButton\n type=\"button\"\n onClick={() => handlePageChange(1)}\n disabled={disabled || current === 1}\n className={cn(\n 'pagination_button',\n paginationItemVariants({\n size,\n disabled: disabled || current === 1,\n }),\n colorStyles[color][variant],\n classNames?.button,\n )}\n aria-label=\"First page\"\n >\n <ChevronsLeft className={iconSizes[size]} />\n </PaginationButton>\n )}\n\n {/* Previous Button */}\n <PaginationButton\n type=\"button\"\n onClick={() => handlePageChange(current - 1)}\n disabled={disabled || current === 1}\n className={cn(\n 'pagination_button',\n paginationItemVariants({\n size,\n disabled: disabled || current === 1,\n }),\n colorStyles[color][variant],\n classNames?.button,\n )}\n aria-label=\"Previous page\"\n >\n <ChevronLeft className={iconSizes[size]} />\n </PaginationButton>\n\n {/* Page Numbers */}\n {getPageNumbers().map((page, index) =>\n page === 'ellipsis' ? (\n <span\n key={`slot-${index}`}\n className={cn(\n 'pagination_ellipsis',\n paginationItemVariants({ size, disabled: false }),\n colorStyles[color]['soft'],\n 'border-none pointer-events-none',\n classNames?.ellipsis,\n )}\n aria-hidden=\"true\"\n >\n <MoreHorizontal className={iconSizes[size]} />\n </span>\n ) : (\n <PaginationButton\n type=\"button\"\n key={`slot-${index}`}\n onClick={() => handlePageChange(page)}\n disabled={disabled}\n aria-label={`Go to page ${page}`}\n aria-current={current === page ? 'page' : undefined}\n className={cn(\n 'pagination_button',\n paginationItemVariants({ size, disabled }),\n current === page\n ? activeColorStyles[color][variant]\n : colorStyles[color][variant],\n current === page ? classNames?.buttonActive : classNames?.button,\n )}\n >\n {page}\n </PaginationButton>\n ),\n )}\n\n {/* Next Button */}\n <PaginationButton\n type=\"button\"\n onClick={() => handlePageChange(current + 1)}\n disabled={disabled || current === totalPages}\n className={cn(\n 'pagination_button',\n paginationItemVariants({\n size,\n disabled: disabled || current === totalPages,\n }),\n colorStyles[color][variant],\n classNames?.button,\n )}\n aria-label=\"Next page\"\n >\n <ChevronRight className={iconSizes[size]} />\n </PaginationButton>\n\n {/* Last Page Button */}\n {showFirstLastButtons && (\n <PaginationButton\n type=\"button\"\n onClick={() => handlePageChange(totalPages)}\n disabled={disabled || current === totalPages}\n className={cn(\n 'pagination_button',\n paginationItemVariants({\n size,\n disabled: disabled || current === totalPages,\n }),\n colorStyles[color][variant],\n classNames?.button,\n )}\n aria-label=\"Last page\"\n >\n <ChevronsRight className={iconSizes[size]} />\n </PaginationButton>\n )}\n </div>\n\n {/* Page Size Changer */}\n {showSizeChanger && (\n <select\n value={pageSize}\n onChange={(e) => handlePageSizeChange(Number(e.target.value))}\n disabled={disabled}\n aria-label=\"Items per page\"\n className={cn(\n paginationItemVariants({ size, disabled }),\n colorStyles[color][variant],\n 'cursor-pointer',\n )}\n >\n {pageSizeOptions.map((option) => (\n <option\n key={option}\n value={option}\n >\n {option} / page\n </option>\n ))}\n </select>\n )}\n\n {/* Quick Jumper */}\n {showQuickJumper && (\n <div className=\"flex items-center gap-2\">\n <span className=\"text-text-secondary text-sm\">Go to</span>\n <input\n type=\"number\"\n min={1}\n max={totalPages}\n disabled={disabled}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n const inputEl = e.target as HTMLInputElement\n const value = parseInt(inputEl.value)\n if (!isNaN(value)) {\n const clampedValue = Math.max(1, Math.min(totalPages, value))\n handlePageChange(clampedValue)\n inputEl.value = ''\n }\n }\n }}\n onBlur={(e) => {\n const inputEl = e.target as HTMLInputElement\n const value = parseInt(inputEl.value)\n if (!isNaN(value) && inputEl.value !== '') {\n const clampedValue = Math.max(1, Math.min(totalPages, value))\n if (clampedValue !== value) {\n inputEl.value = String(clampedValue)\n }\n }\n }}\n className={cn(\n paginationItemVariants({ size, disabled }),\n colorStyles[color][variant],\n 'w-16 text-center',\n )}\n />\n </div>\n )}\n </div>\n )\n },\n)\n\nPagination.displayName = 'Pagination'\n\nexport type * from './types'\nexport default Pagination\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/checkbox/index.tsx"],"names":[],"mappings":"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","file":"chunk-I32ZQUYY.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { Check, Minus } from \"lucide-react\";\nimport React, { useState, useCallback, useEffect, useId } from \"react\";\n\nimport { cn, iconSizes } from \"../utils\";\nimport {\n checkboxBorderColorClasses,\n focusRingColorClasses,\n textColorClasses,\n} from \"../variants\";\nimport type { CheckboxProps } from \"./types\";\n\n/**\n * Merges multiple refs into a single callback ref.\n * Handles both callback refs and RefObject refs safely.\n */\nfunction useMergeRefs<T>(\n ...refs: (React.Ref<T> | undefined)[]\n): React.RefCallback<T> {\n // Store refs in a ref to avoid dependency array issues\n const refsRef = React.useRef(refs);\n refsRef.current = refs;\n\n return useCallback((instance: T | null) => {\n refsRef.current.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (ref && typeof ref === \"object\") {\n (ref as React.MutableRefObject<T | null>).current = instance;\n }\n });\n }, []);\n}\n\nconst checkboxVariants = cva(\n \"appearance-none rounded border bg-background cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n {\n variants: {\n color: checkboxBorderColorClasses,\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 Checkbox = React.memo<CheckboxProps>(\n ({\n color = \"primary\",\n size = \"md\",\n label,\n helperText,\n error,\n indeterminate = false,\n className,\n checked,\n defaultChecked,\n ref,\n classNames,\n ...props\n }) => {\n const [internalChecked, setInternalChecked] = useState(\n defaultChecked ?? false,\n );\n const internalRef = React.useRef<HTMLInputElement>(null);\n\n // Generate unique ID for accessibility\n const uniqueId = useId();\n const checkboxId = props.id || `checkbox-${uniqueId}`;\n const helperId = `checkbox-helper-${uniqueId}`;\n const hasHelperText = !!(helperText || error);\n\n // Safely merge refs - handles both callback refs and RefObject refs\n const mergedRef = useMergeRefs(ref, internalRef);\n\n // Determine if controlled\n const isControlled = checked !== undefined;\n const currentChecked = isControlled ? checked : internalChecked;\n\n const onChangeRef = React.useRef(props.onChange);\n onChangeRef.current = props.onChange;\n\n const onChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalChecked(event.target.checked);\n }\n onChangeRef.current?.(event);\n },\n [isControlled],\n );\n\n useEffect(() => {\n if (internalRef.current) {\n internalRef.current.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n\n const checkboxElement = (\n <span className=\"relative inline-flex\" data-slot=\"wrapper\">\n <input\n ref={mergedRef}\n type=\"checkbox\"\n className={cn(\n \"checkbox_checkbox\",\n checkboxVariants({ color, size, error: !!error }),\n focusRingColorClasses[color],\n className,\n classNames?.checkbox,\n )}\n aria-checked={indeterminate ? \"mixed\" : currentChecked}\n aria-invalid={!!error || undefined}\n aria-describedby={hasHelperText ? helperId : undefined}\n {...props}\n id={checkboxId}\n onChange={onChange}\n checked={currentChecked}\n data-slot=\"checkbox\"\n />\n {(currentChecked || indeterminate) && (\n <span\n className={cn(\n \"checkbox_indicator\",\n \"absolute inset-0 flex items-center justify-center pointer-events-none\",\n classNames?.indicator,\n )}\n data-slot=\"indicator\"\n >\n {indeterminate ? (\n <Minus\n className={cn(iconSizes[size], textColorClasses[color])}\n strokeWidth={3}\n />\n ) : (\n <Check className={cn(iconSizes[size], textColorClasses[color])} />\n )}\n </span>\n )}\n </span>\n );\n\n return (\n <div\n className={cn(\"checkbox_root\", label && \"w-full\", classNames?.root)}\n data-slot=\"root\"\n >\n <label\n htmlFor={checkboxId}\n className={cn(\n \"flex items-center gap-2\",\n !props.disabled && \"cursor-pointer\",\n )}\n >\n {checkboxElement}\n {label && (\n <span\n className={cn(\n \"checkbox_label\",\n \"text-sm text-text-primary select-none\",\n error && \"text-error\",\n props.disabled && \"opacity-50\",\n classNames?.label,\n )}\n data-slot=\"label\"\n >\n {label}\n </span>\n )}\n </label>\n {(helperText || error) && (\n <p\n id={helperId}\n className={cn(\n \"checkbox_description\",\n \"mt-1 ml-0 text-xs\",\n error ? \"text-error\" : \"text-text-secondary\",\n classNames?.description,\n )}\n data-slot=\"description\"\n >\n {typeof error === \"string\" ? error : helperText}\n </p>\n )}\n </div>\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n\nexport type * from \"./types\";\nexport default Checkbox;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/number-input/index.tsx"],"names":[],"mappings":"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","file":"chunk-JWTWPZ32.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { Plus, Minus } from \"lucide-react\";\nimport React, { useId, useMemo, useCallback, useState } from \"react\";\n\nimport { useRipple, RippleContainer } from \"../hooks/useRipple\";\nimport Spinner from \"../spinner\";\n\nimport {\n cn,\n getValidationStatus,\n iconSizes,\n statusMessageVariants,\n} from \"../utils\";\nimport type { NumberInputProps } from \"./types\";\n\nconst numberInputVariants = cva(\n \"w-full placeholder:text-text-secondary/50 rounded-md disabled:opacity-50 disabled:cursor-not-allowed read-only:bg-surface read-only:cursor-default outline-none text-text-primary transition-colors\",\n {\n variants: {\n status: {\n default: \"bg-background border border-border focus:border-primary\",\n error: \"bg-background border border-error focus:border-error\",\n warning: \"bg-background border border-warning focus:border-warning\",\n info: \"bg-background border border-info focus:border-info\",\n success: \"bg-background border border-success focus:border-success\",\n },\n size: {\n xs: \"h-(--input-height-xs) px-(--input-padding-x-xs) text-xs\",\n sm: \"h-(--input-height-sm) px-(--input-padding-x-sm) text-sm\",\n md: \"h-(--input-height-md) px-(--input-padding-x-md) text-base\",\n lg: \"h-(--input-height-lg) px-(--input-padding-x-lg) text-lg\",\n },\n fullWidth: {\n true: \"w-full\",\n false: \"max-w-full\",\n },\n controlsPosition: {\n right: \"\",\n sides: \"\",\n },\n },\n defaultVariants: {\n status: \"default\",\n size: \"md\",\n fullWidth: true,\n controlsPosition: \"right\",\n },\n },\n);\n\nconst controlButtonVariants = cva(\n \"flex items-center justify-center cursor-pointer transition-colors disabled:opacity-30 disabled:cursor-not-allowed\",\n {\n variants: {\n size: {\n xs: \"w-6 h-6\",\n sm: \"w-7 h-7\",\n md: \"w-8 h-8\",\n lg: \"w-10 h-10\",\n },\n position: {\n right: \"hover:bg-surface-hover\",\n sides: \"hover:bg-surface-hover\",\n },\n },\n defaultVariants: {\n size: \"md\",\n position: \"right\",\n },\n },\n);\n\nconst ControlButton: React.FC<{ children: React.ReactNode; disabled?: boolean; className?: string; [key: string]: any }> = ({ children, disabled, className, ...props }) => {\n const { ripples, onPointerDown, onKeyDown, onAnimationEnd } = useRipple(!disabled)\n return (\n <button className={cn(className, 'relative overflow-hidden')} onPointerDown={onPointerDown} onKeyDown={onKeyDown} disabled={disabled} {...props}>\n {children}\n <RippleContainer ripples={ripples} onAnimationEnd={onAnimationEnd} />\n </button>\n )\n}\n\nconst NumberInput = React.memo<NumberInputProps>(\n ({\n value,\n defaultValue,\n onChange,\n min,\n max,\n step = 1,\n precision,\n size = \"md\",\n label,\n placeholder,\n disabled = false,\n readOnly = false,\n required = false,\n controls = true,\n controlsPosition = \"right\",\n clampOnBlur = true,\n className,\n classNames,\n error,\n warning,\n info,\n success,\n helperText,\n loading = false,\n fullWidth = true,\n ref,\n id,\n name,\n }) => {\n // Internal state for uncontrolled mode\n const [internalValue, setInternalValue] = useState<number | undefined>(\n defaultValue,\n );\n const currentValue = value !== undefined ? value : internalValue;\n\n // Generate unique IDs for accessibility\n const uniqueId = useId();\n const inputId = id || `number-input-${uniqueId}`;\n const helperId = `number-input-helper-${uniqueId}`;\n\n // Use shared validation status utility - memoized\n const { status, message: helperMessage } = useMemo(\n () => getValidationStatus({ error, warning, info, success, helperText }),\n [error, warning, info, success, helperText],\n );\n\n // Format number to precision\n const formatValue = useCallback(\n (val: number | undefined): string => {\n if (val === undefined || isNaN(val)) return \"\";\n if (precision !== undefined) {\n return val.toFixed(precision);\n }\n return String(val);\n },\n [precision],\n );\n\n // Parse string to number\n const parseValue = useCallback((str: string): number | undefined => {\n if (str === \"\" || str === \"-\") return undefined;\n const parsed = parseFloat(str);\n return isNaN(parsed) ? undefined : parsed;\n }, []);\n\n // Clamp value to min/max\n const clampValue = useCallback(\n (val: number | undefined): number | undefined => {\n if (val === undefined) return undefined;\n let clamped = val;\n if (min !== undefined && clamped < min) clamped = min;\n if (max !== undefined && clamped > max) clamped = max;\n return clamped;\n },\n [min, max],\n );\n\n // Update value\n const updateValue = useCallback(\n (newValue: number | undefined) => {\n if (value === undefined) {\n setInternalValue(newValue);\n }\n onChange?.(newValue);\n },\n [value, onChange],\n );\n\n // Handle input change\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n\n // Allow empty, minus sign, and valid numbers\n if (inputValue === \"\" || inputValue === \"-\") {\n updateValue(undefined);\n return;\n }\n\n const parsed = parseValue(inputValue);\n updateValue(parsed);\n },\n [parseValue, updateValue],\n );\n\n // Handle blur - clamp if needed\n const handleBlur = useCallback(() => {\n if (clampOnBlur && currentValue !== undefined) {\n const clamped = clampValue(currentValue);\n if (clamped !== currentValue) {\n updateValue(clamped);\n }\n }\n }, [clampOnBlur, currentValue, clampValue, updateValue]);\n\n // Increment value\n const handleIncrement = useCallback(() => {\n const newValue = (currentValue ?? 0) + step;\n const clamped = clampValue(newValue);\n updateValue(clamped);\n }, [currentValue, step, clampValue, updateValue]);\n\n // Decrement value\n const handleDecrement = useCallback(() => {\n const newValue = (currentValue ?? 0) - step;\n const clamped = clampValue(newValue);\n updateValue(clamped);\n }, [currentValue, step, clampValue, updateValue]);\n\n // Handle keyboard events\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (readOnly || disabled) return;\n\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n handleIncrement();\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n handleDecrement();\n }\n },\n [readOnly, disabled, handleIncrement, handleDecrement],\n );\n\n // Check if buttons should be disabled\n const isIncrementDisabled = useMemo(() => {\n if (disabled || readOnly || loading) return true;\n if (\n max !== undefined &&\n currentValue !== undefined &&\n currentValue >= max\n )\n return true;\n return false;\n }, [disabled, readOnly, loading, max, currentValue]);\n\n const isDecrementDisabled = useMemo(() => {\n if (disabled || readOnly || loading) return true;\n if (\n min !== undefined &&\n currentValue !== undefined &&\n currentValue <= min\n )\n return true;\n return false;\n }, [disabled, readOnly, loading, min, currentValue]);\n\n // Memoize aria-describedby\n const ariaDescribedBy = useMemo(() => {\n return helperMessage ? helperId : undefined;\n }, [helperMessage, helperId]);\n\n // Memoized className computations\n const rootClass = useMemo(\n () =>\n cn(\n \"number-input_root\",\n \"w-full flex flex-col relative\",\n !fullWidth && \"inline-block\",\n classNames?.root,\n ),\n [fullWidth, classNames?.root],\n );\n\n const labelClass = useMemo(\n () =>\n cn(\n \"number-input_label\",\n \"text-sm font-medium text-text-secondary mb-0.5\",\n classNames?.label,\n ),\n [classNames?.label],\n );\n\n const wrapperClass = useMemo(\n () =>\n cn(\n \"number-input_wrapper\",\n \"relative flex items-center\",\n loading && \"opacity-50 cursor-not-allowed\",\n controlsPosition === \"sides\" && \"gap-1\",\n classNames?.wrapper,\n ),\n [loading, controlsPosition, classNames?.wrapper],\n );\n\n const inputClass = useMemo(\n () =>\n cn(\n \"number-input_input\",\n numberInputVariants({ status, size, fullWidth, controlsPosition }),\n controls && controlsPosition === \"right\" && \"pr-16\",\n controls && controlsPosition === \"sides\" && \"text-center\",\n className,\n classNames?.input,\n ),\n [\n status,\n size,\n fullWidth,\n controlsPosition,\n controls,\n className,\n classNames?.input,\n ],\n );\n\n const controlsClass = useMemo(\n () =>\n cn(\n \"number-input_controls\",\n \"flex\",\n controlsPosition === \"right\" &&\n \"absolute right-0 top-0 h-full border-l border-border\",\n controlsPosition === \"sides\" && \"gap-1\",\n classNames?.controls,\n ),\n [controlsPosition, classNames?.controls],\n );\n\n const helperClass = useMemo(\n () =>\n cn(\n \"number-input_helper\",\n statusMessageVariants({ status }),\n \"mt-0.5\",\n status === \"error\" ? classNames?.error : classNames?.helper,\n ),\n [status, classNames?.error, classNames?.helper],\n );\n\n const iconSize = iconSizes[size];\n\n const incrementButton = (\n <ControlButton\n type=\"button\"\n onClick={handleIncrement}\n disabled={isIncrementDisabled}\n data-slot=\"increment\"\n className={cn(\n \"number-input_increment h-full!\",\n controlButtonVariants({ size, position: controlsPosition }),\n controlsPosition === \"right\" && \"\",\n classNames?.increment,\n )}\n aria-label=\"Increment value\"\n tabIndex={-1}\n >\n <Plus className={iconSize} aria-hidden=\"true\" />\n </ControlButton>\n );\n\n const decrementButton = (\n <ControlButton\n type=\"button\"\n onClick={handleDecrement}\n disabled={isDecrementDisabled}\n data-slot=\"decrement\"\n className={cn(\n \"number-input_decrement h-full!\",\n controlButtonVariants({ size, position: controlsPosition }),\n controlsPosition === \"right\" && \"border-r border-border\",\n classNames?.decrement,\n )}\n aria-label=\"Decrement value\"\n tabIndex={-1}\n >\n <Minus className={iconSize} aria-hidden=\"true\" />\n </ControlButton>\n );\n\n const inputElement = (\n <div data-slot=\"wrapper\" className={wrapperClass}>\n {controls && controlsPosition === \"sides\" && decrementButton}\n <input\n ref={ref}\n id={inputId}\n name={name}\n type=\"text\"\n inputMode=\"decimal\"\n data-slot=\"input\"\n className={inputClass}\n value={formatValue(currentValue)}\n onChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder}\n aria-invalid={status === \"error\"}\n aria-describedby={ariaDescribedBy}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={currentValue}\n />\n {controls && controlsPosition === \"right\" && (\n <div data-slot=\"controls\" className={controlsClass}>\n <div className=\"flex flex-row h-full\">\n {decrementButton}\n {incrementButton}\n </div>\n </div>\n )}\n {controls && controlsPosition === \"sides\" && incrementButton}\n {loading && (\n <div className=\"absolute right-3 flex items-center\">\n <Spinner aria-hidden=\"true\" />\n </div>\n )}\n </div>\n );\n\n return (\n <div data-slot=\"root\" className={rootClass}>\n {label && (\n <label htmlFor={inputId} data-slot=\"label\" className={labelClass}>\n {label}\n {required && <span className=\"text-error ml-1\">*</span>}\n </label>\n )}\n {inputElement}\n {helperMessage && (\n <p id={helperId} data-slot=\"helper\" className={helperClass}>\n {helperMessage}\n </p>\n )}\n </div>\n );\n },\n);\n\nNumberInput.displayName = \"NumberInput\";\n\nexport type * from \"./types\";\nexport default NumberInput;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/input/index.tsx"],"names":[],"mappings":"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","file":"chunk-KH577UDI.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\nimport React, { useId, useMemo } from \"react\";\n\nimport Spinner from \"../spinner\";\n\nimport {\n cn,\n getValidationStatus,\n iconSizes,\n statusMessageVariants,\n} from \"../utils\";\nimport type { InputProps } from \"./types\";\n\nconst inputVariants = cva(\n \"w-full placeholder:text-text-secondary/50 rounded-md disabled:opacity-50 disabled:cursor-not-allowed read-only:bg-surface read-only:cursor-default outline-none text-text-primary transition-colors\",\n {\n variants: {\n variant: {\n outline: \"bg-background border border-border focus:border-primary\",\n filled: \"bg-surface border border-transparent focus:border-primary\",\n },\n status: {\n default: \"\",\n error: \"border-error focus:border-error\",\n warning: \"border-warning focus:border-warning\",\n info: \"border-info focus:border-info\",\n success: \"border-success focus:border-success\",\n },\n size: {\n xs: \"h-(--input-height-xs) px-(--input-padding-x-xs) text-xs\",\n sm: \"h-(--input-height-sm) px-(--input-padding-x-sm) text-sm\",\n md: \"h-(--input-height-md) px-(--input-padding-x-md) text-base\",\n lg: \"h-(--input-height-lg) px-(--input-padding-x-lg) text-lg\",\n },\n fullWidth: {\n true: \"w-full\",\n false: \"max-w-full\",\n },\n },\n defaultVariants: {\n variant: \"outline\",\n status: \"default\",\n size: \"md\",\n fullWidth: true,\n },\n },\n);\n\nconst Input = React.memo<InputProps>(\n ({\n variant = \"outline\",\n size = \"md\",\n label,\n error,\n warning,\n info,\n success,\n helperText,\n messagePosition = \"bottom\",\n leftIcon,\n rightIcon,\n clearable = false,\n onClear,\n loading = false,\n maxLength,\n showCount = false,\n fullWidth = true,\n className,\n wrapperClassName,\n classNames,\n value,\n onChange,\n ref,\n ...props\n }) => {\n const [internalValue, setInternalValue] = React.useState(\"\");\n const currentValue = value !== undefined ? value : internalValue;\n\n // Generate unique IDs for accessibility\n const uniqueId = useId();\n const inputId = props.id || `input-${uniqueId}`;\n const helperId = `input-helper-${uniqueId}`;\n const loadingId = `input-loading-${uniqueId}`;\n\n // Use shared validation status utility - memoized\n const { status, message: helperMessage } = useMemo(\n () => getValidationStatus({ error, warning, info, success, helperText }),\n [error, warning, info, success, helperText],\n );\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (value === undefined) setInternalValue(e.target.value);\n onChange?.(e);\n },\n [value, onChange],\n );\n\n const handleClear = React.useCallback(() => {\n if (value === undefined) setInternalValue(\"\");\n onClear?.();\n }, [value, onClear]);\n\n const showClear =\n clearable && currentValue && !props.disabled && !props.readOnly;\n const hasRightIcon = rightIcon || showClear || loading;\n\n // Memoize aria-describedby to avoid array recreation on every render\n const ariaDescribedBy = useMemo(() => {\n const parts: string[] = [];\n if (helperMessage) parts.push(helperId);\n if (loading) parts.push(loadingId);\n return parts.length > 0 ? parts.join(\" \") : undefined;\n }, [helperMessage, helperId, loading, loadingId]);\n\n const wrapperClass = cn(\n \"input_wrapper\",\n \"relative w-full\",\n wrapperClassName,\n loading && \"opacity-50 cursor-not-allowed\",\n classNames?.wrapper,\n );\n\n const leftIconClass = cn(\n \"input_leftIcon\",\n \"absolute left-3 flex items-center h-full top-0 text-text-secondary\",\n classNames?.leftIcon,\n );\n\n const inputClass = cn(\n \"input_input\",\n inputVariants({ variant, status, size, fullWidth }),\n !!leftIcon && \"pl-10\",\n !!hasRightIcon && \"pr-8\",\n className,\n classNames?.input,\n );\n\n const rightIconClass = cn(\n \"input_rightIcon\",\n \"absolute right-3 flex gap-2 items-center h-full top-0 text-text-secondary\",\n classNames?.rightIcon,\n );\n\n const clearButtonClass = cn(\n \"input_clearButton\",\n \"flex items-center h-full top-0 text-text-secondary hover:text-text-primary\",\n classNames?.clearButton,\n );\n\n const rootClass = cn(\n \"input_root\",\n \"w-full flex flex-col relative\",\n !fullWidth && \"inline-block\",\n classNames?.root,\n );\n\n const labelClass = cn(\n \"input_label\",\n \"text-sm font-medium text-text-secondary\",\n classNames?.label,\n );\n\n const helperClass = cn(\n \"input_helper\",\n statusMessageVariants({ status }),\n status === \"error\" ? classNames?.error : classNames?.helper,\n );\n\n const helperBottomClass = cn(\n \"input_helper\",\n statusMessageVariants({ status }),\n \"mt-0.5\",\n status === \"error\" ? classNames?.error : classNames?.helper,\n );\n\n const iconSize = iconSizes[size];\n\n const inputElement = (\n <div data-slot=\"wrapper\" className={wrapperClass}>\n {leftIcon && (\n <div\n data-slot=\"leftIcon\"\n className={leftIconClass}\n aria-hidden=\"true\"\n >\n {leftIcon}\n </div>\n )}\n <input\n ref={ref}\n id={inputId}\n data-slot=\"input\"\n className={inputClass}\n value={currentValue}\n onChange={handleChange}\n maxLength={maxLength}\n aria-invalid={status === \"error\"}\n aria-busy={loading}\n aria-describedby={ariaDescribedBy}\n {...props}\n />\n <div data-slot=\"rightIcon\" className={rightIconClass}>\n {showClear && !loading && (\n <button\n type=\"button\"\n onClick={handleClear}\n data-slot=\"clearButton\"\n className={clearButtonClass}\n aria-label=\"Clear input\"\n >\n <X className={iconSize} aria-hidden=\"true\" />\n </button>\n )}\n {loading ? (\n <>\n <Spinner aria-hidden=\"true\" />\n <span id={loadingId} className=\"sr-only\">\n Loading\n </span>\n </>\n ) : (\n rightIcon && <span aria-hidden=\"true\">{rightIcon}</span>\n )}\n </div>\n </div>\n );\n\n return (\n <div data-slot=\"root\" className={rootClass}>\n <div className=\"flex gap-2 items-center relative mb-0.5\">\n {label && (\n <label htmlFor={inputId} data-slot=\"label\" className={labelClass}>\n {label}\n {props.required && <span className=\"text-error ml-1\">*</span>}\n </label>\n )}\n {helperMessage && messagePosition === \"top\" && (\n <p id={helperId} data-slot=\"helper\" className={helperClass}>\n {helperMessage}\n </p>\n )}\n {showCount && maxLength && (\n <span className=\"text-xs text-text-secondary absolute right-0\">\n {String(currentValue).length}/{maxLength}\n </span>\n )}\n </div>\n {inputElement}\n {helperMessage && messagePosition === \"bottom\" && (\n <p id={helperId} data-slot=\"helper\" className={helperBottomClass}>\n {helperMessage}\n </p>\n )}\n </div>\n );\n },\n);\n\nInput.displayName = \"Input\";\n\nexport type * from \"./types\";\nexport default Input;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/input-otp/index.tsx"],"names":[],"mappings":";;;;AAUA,SAAS,oBACP,KAAA,EACsD;AACtD,EAAA,IAAI,KAAA,CAAM,OAAO,OAAO,OAAA;AACxB,EAAA,IAAI,KAAA,CAAM,SAAS,OAAO,SAAA;AAC1B,EAAA,IAAI,KAAA,CAAM,MAAM,OAAO,MAAA;AACvB,EAAA,IAAI,KAAA,CAAM,SAAS,OAAO,SAAA;AAC1B,EAAA,OAAO,SAAA;AACT;AAKA,SAAS,qBAAqB,KAAA,EAA0C;AACtE,EAAA,MAAM,MAAA,GAAS,oBAAoB,KAAK,CAAA;AACxC,EAAA,IAAI,WAAW,OAAA,IAAW,OAAO,MAAM,KAAA,KAAU,QAAA,SAAiB,KAAA,CAAM,KAAA;AACxE,EAAA,IAAI,MAAA,KAAW,SAAA,IAAa,OAAO,KAAA,CAAM,OAAA,KAAY,QAAA;AACnD,IAAA,OAAO,KAAA,CAAM,OAAA;AACf,EAAA,IAAI,WAAW,MAAA,IAAU,OAAO,MAAM,IAAA,KAAS,QAAA,SAAiB,KAAA,CAAM,IAAA;AACtE,EAAA,IAAI,MAAA,KAAW,SAAA,IAAa,OAAO,KAAA,CAAM,OAAA,KAAY,QAAA;AACnD,IAAA,OAAO,KAAA,CAAM,OAAA;AACf,EAAA,OAAO,KAAA,CAAM,UAAA;AACf;AAEA,IAAM,WAAW,KAAA,CAAM,IAAA;AAAA,EACrB,CAAC;AAAA,IACC,MAAA,GAAS,CAAA;AAAA,IACT,IAAA,GAAO,IAAA;AAAA,IACP,KAAA,GAAQ,EAAA;AAAA,IACR,QAAA;AAAA,IACA,UAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA,GAAW,KAAA;AAAA,IACX,SAAA,GAAY,KAAA;AAAA,IACZ,IAAA,GAAO,MAAA;AAAA,IACP,OAAA;AAAA,IACA,KAAA;AAAA,IACA,eAAA,GAAkB,QAAA;AAAA,IAClB,SAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF,KAAM;AACJ,IAAA,MAAM,SAAA,GAAY,KAAA,CAAM,MAAA,CAAoC,EAAE,CAAA;AAC9D,IAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAI,KAAA,CAAM,QAAA;AAAA,MAC1B,MAAM,KAAA,CAAM,EAAE,CAAA,CAAE,KAAA,CAAM,GAAG,MAAM;AAAA,KACjC;AAGA,IAAA,KAAA,CAAM,UAAU,MAAM;AACpB,MAAA,MAAA,CAAO,MAAM,KAAA,CAAM,EAAE,EAAE,KAAA,CAAM,CAAA,EAAG,MAAM,CAAC,CAAA;AAAA,IACzC,CAAA,EAAG,CAAC,KAAA,EAAO,MAAM,CAAC,CAAA;AAGlB,IAAA,KAAA,CAAM,UAAU,MAAM;AACpB,MAAA,IAAI,SAAA,IAAa,SAAA,CAAU,OAAA,CAAQ,CAAC,CAAA,EAAG;AACrC,QAAA,SAAA,CAAU,OAAA,CAAQ,CAAC,CAAA,CAAE,KAAA,EAAM;AAAA,MAC7B;AAAA,IACF,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,IAAA,MAAM,eAAe,KAAA,CAAM,WAAA;AAAA,MACzB,CAAC,OAAe,QAAA,KAAqB;AAEnC,QAAA,MAAM,IAAA,GAAO,QAAA,CAAS,KAAA,CAAM,EAAE,CAAA;AAG9B,QAAA,IAAI,OAAA,IAAW,QAAQ,CAAC,IAAI,OAAO,OAAO,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA,EAAG;AACtD,UAAA;AAAA,QACF;AAEA,QAAA,MAAM,MAAA,GAAS,CAAC,GAAG,GAAG,CAAA;AACtB,QAAA,MAAA,CAAO,KAAK,CAAA,GAAI,IAAA;AAChB,QAAA,MAAA,CAAO,MAAM,CAAA;AAEb,QAAA,MAAM,QAAA,GAAW,MAAA,CAAO,IAAA,CAAK,EAAE,CAAA;AAC/B,QAAA,QAAA,GAAW,QAAQ,CAAA;AAGnB,QAAA,IAAI,IAAA,IAAQ,KAAA,GAAQ,MAAA,GAAS,CAAA,EAAG;AAC9B,UAAA,SAAA,CAAU,OAAA,CAAQ,KAAA,GAAQ,CAAC,CAAA,EAAG,KAAA,EAAM;AAAA,QACtC;AAGA,QAAA,IAAI,QAAA,CAAS,WAAW,MAAA,EAAQ;AAC9B,UAAA,UAAA,GAAa,QAAQ,CAAA;AAAA,QACvB;AAAA,MACF,CAAA;AAAA,MACA,CAAC,GAAA,EAAK,MAAA,EAAQ,QAAA,EAAU,YAAY,OAAO;AAAA,KAC7C;AAEA,IAAA,MAAM,gBAAgB,KAAA,CAAM,WAAA;AAAA,MAC1B,CAAC,OAAe,CAAA,KAA6C;AAC3D,QAAA,IAAI,CAAA,CAAE,QAAQ,WAAA,EAAa;AACzB,UAAA,IAAI,CAAC,GAAA,CAAI,KAAK,CAAA,IAAK,QAAQ,CAAA,EAAG;AAE5B,YAAA,SAAA,CAAU,OAAA,CAAQ,KAAA,GAAQ,CAAC,CAAA,EAAG,KAAA,EAAM;AAAA,UACtC;AAAA,QACF,CAAA,MAAA,IAAW,CAAA,CAAE,GAAA,KAAQ,WAAA,IAAe,QAAQ,CAAA,EAAG;AAC7C,UAAA,SAAA,CAAU,OAAA,CAAQ,KAAA,GAAQ,CAAC,CAAA,EAAG,KAAA,EAAM;AAAA,QACtC,WAAW,CAAA,CAAE,GAAA,KAAQ,YAAA,IAAgB,KAAA,GAAQ,SAAS,CAAA,EAAG;AACvD,UAAA,SAAA,CAAU,OAAA,CAAQ,KAAA,GAAQ,CAAC,CAAA,EAAG,KAAA,EAAM;AAAA,QACtC;AAAA,MACF,CAAA;AAAA,MACA,CAAC,KAAK,MAAM;AAAA,KACd;AAEA,IAAA,MAAM,cAAc,KAAA,CAAM,WAAA;AAAA,MACxB,CAAC,CAAA,KAA4B;AAC3B,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,MAAM,UAAA,GAAa,EAAE,aAAA,CAAc,OAAA,CAAQ,MAAM,CAAA,CAAE,KAAA,CAAM,GAAG,MAAM,CAAA;AAGlE,QAAA,IAAI,OAAA,IAAW,CAAC,IAAI,MAAA,CAAO,CAAA,CAAA,EAAI,OAAO,CAAA,EAAA,CAAI,CAAA,CAAE,IAAA,CAAK,UAAU,CAAA,EAAG;AAC5D,UAAA;AAAA,QACF;AAEA,QAAA,MAAM,SAAS,UAAA,CAAW,KAAA,CAAM,EAAE,CAAA,CAAE,KAAA,CAAM,GAAG,MAAM,CAAA;AACnD,QAAA,MAAA,CAAO,MAAM,CAAA;AAEb,QAAA,MAAM,QAAA,GAAW,MAAA,CAAO,IAAA,CAAK,EAAE,CAAA;AAC/B,QAAA,QAAA,GAAW,QAAQ,CAAA;AAGnB,QAAA,MAAM,aAAa,IAAA,CAAK,GAAA,CAAI,MAAA,CAAO,MAAA,EAAQ,SAAS,CAAC,CAAA;AACrD,QAAA,SAAA,CAAU,OAAA,CAAQ,UAAU,CAAA,EAAG,KAAA,EAAM;AAGrC,QAAA,IAAI,QAAA,CAAS,WAAW,MAAA,EAAQ;AAC9B,UAAA,UAAA,GAAa,QAAQ,CAAA;AAAA,QACvB;AAAA,MACF,CAAA;AAAA,MACA,CAAC,MAAA,EAAQ,QAAA,EAAU,UAAA,EAAY,OAAO;AAAA,KACxC;AAEA,IAAA,MAAM,SAAS,mBAAA,CAAoB;AAAA,MACjC,KAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA;AAAA,MACA,OAEF,CAAC,CAAA;AACD,IAAA,MAAM,UAAU,oBAAA,CAAqB;AAAA,MACnC,KAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,WAAA,GAAc;AAAA,MAClB,EAAA,EAAI,6CAAA;AAAA,MACJ,EAAA,EAAI,6CAAA;AAAA,MACJ,EAAA,EAAI,+CAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAEA,IAAA,MAAM,mBAAA,GAAsB;AAAA,MAC1B,OAAA,EAAS,oCAAA;AAAA,MACT,KAAA,EAAO,iCAAA;AAAA,MACP,OAAA,EAAS,qCAAA;AAAA,MACT,IAAA,EAAM,+BAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAEA,IAAA,MAAM,iBAAA,GAAoB;AAAA,MACxB,OAAA,EAAS,qBAAA;AAAA,MACT,KAAA,EAAO,YAAA;AAAA,MACP,OAAA,EAAS,cAAA;AAAA,MACT,IAAA,EAAM,WAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAEA,IAAA,MAAM,mBAAmB,OAAA,oBACvB,GAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,iBAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,iBAAA;AAAA,UACA,cAAA;AAAA,UACA,kBAAkB,MAAM,CAAA;AAAA,UACxB,UAAA,EAAY;AAAA,SACd;AAAA,QAEC,QAAA,EAAA;AAAA;AAAA,KACH;AAGF,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAA,EAAU,eAAA;AAAA,QACV,WAAW,EAAA,CAAG,eAAA,EAAiB,QAAA,EAAU,UAAA,EAAY,MAAM,SAAS,CAAA;AAAA,QAEnE,QAAA,EAAA;AAAA,UAAA,KAAA,IAAS,oBAAoB,KAAA,oBAC5B,GAAA;AAAA,YAAC,OAAA;AAAA,YAAA;AAAA,cACC,WAAA,EAAU,gBAAA;AAAA,cACV,SAAA,EAAW,EAAA;AAAA,gBACT,gBAAA;AAAA,gBACA,oDAAA;AAAA,gBACA,UAAA,EAAY;AAAA,eACd;AAAA,cAEC,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,UAED,oBAAoB,KAAA,IAAS,gBAAA;AAAA,0BAE9B,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,WAAA,EAAU,kBAAA;AAAA,cACV,SAAA,EAAW,EAAA,CAAG,kBAAA,EAAoB,YAAA,EAAc,YAAY,OAAO,CAAA;AAAA,cAElE,QAAA,EAAA,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,EAAG,KAAA,KAAU;AACxC,gBAAA,MAAM,WAAW,GAAA,CAAI,KAAK,MAAM,MAAA,IAAa,GAAA,CAAI,KAAK,CAAA,KAAM,EAAA;AAC5D,gBAAA,uBACE,GAAA;AAAA,kBAAC,OAAA;AAAA,kBAAA;AAAA,oBAEC,GAAA,EAAK,CAAC,EAAA,KAAO;AACX,sBAAA,SAAA,CAAU,OAAA,CAAQ,KAAK,CAAA,GAAI,EAAA;AAAA,oBAC7B,CAAA;AAAA,oBACA,IAAA,EAAK,MAAA;AAAA,oBACL,SAAA,EAAW,IAAA,KAAS,QAAA,GAAW,SAAA,GAAY,MAAA;AAAA,oBAC3C,SAAA,EAAW,CAAA;AAAA,oBACX,KAAA,EAAO,GAAA,CAAI,KAAK,CAAA,IAAK,EAAA;AAAA,oBACrB,UAAU,CAAC,CAAA,KAAM,aAAa,KAAA,EAAO,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,oBACnD,SAAA,EAAW,CAAC,CAAA,KAAM,aAAA,CAAc,OAAO,CAAC,CAAA;AAAA,oBACxC,OAAA,EAAS,WAAA;AAAA,oBACT,QAAA;AAAA,oBACA,WAAA,EAAU,eAAA;AAAA,oBACV,SAAA,EAAW,EAAA;AAAA,sBACT,eAAA;AAAA,sBACA,2BAAA;AAAA,sBACA,kDAAA;AAAA,sBACA,iDAAA;AAAA,sBACA,yBAAA;AAAA,sBACA,oDAAA;AAAA,sBACA,mBAAA;AAAA,sBACA,YAAY,IAAI,CAAA;AAAA,sBAChB,oBAAoB,MAAM,CAAA;AAAA,sBAC1B,UAAA,EAAY,IAAA;AAAA,sBACZ,YAAY,UAAA,EAAY;AAAA,qBAC1B;AAAA,oBACA,YAAA,EAAY,CAAA,UAAA,EAAa,KAAA,GAAQ,CAAC,CAAA;AAAA,mBAAA;AAAA,kBA1B7B;AAAA,iBA2BP;AAAA,cAEJ,CAAC;AAAA;AAAA,WACH;AAAA,UAEC,KAAA,IAAS,oBAAoB,QAAA,oBAC5B,GAAA;AAAA,YAAC,OAAA;AAAA,YAAA;AAAA,cACC,WAAA,EAAU,gBAAA;AAAA,cACV,SAAA,EAAW,EAAA;AAAA,gBACT,gBAAA;AAAA,gBACA,oDAAA;AAAA,gBACA,UAAA,EAAY;AAAA,eACd;AAAA,cAEC,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,UAED,oBAAoB,QAAA,IAAY;AAAA;AAAA;AAAA,KACnC;AAAA,EAEJ;AACF,CAAA;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;AAIvB,IAAO,iBAAA,GAAQ","file":"chunk-KJTMZJ7V.js","sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport type { InputOTPProps } from './types'\n\n/**\n * Determine the current validation status\n */\nfunction getValidationStatus(\n props: InputOTPProps,\n): 'default' | 'error' | 'warning' | 'info' | 'success' {\n if (props.error) return 'error'\n if (props.warning) return 'warning'\n if (props.info) return 'info'\n if (props.success) return 'success'\n return 'default'\n}\n\n/**\n * Get the validation message to display\n */\nfunction getValidationMessage(props: InputOTPProps): string | undefined {\n const status = getValidationStatus(props)\n if (status === 'error' && typeof props.error === 'string') return props.error\n if (status === 'warning' && typeof props.warning === 'string')\n return props.warning\n if (status === 'info' && typeof props.info === 'string') return props.info\n if (status === 'success' && typeof props.success === 'string')\n return props.success\n return props.helperText\n}\n\nconst InputOTP = React.memo<InputOTPProps>(\n ({\n length = 6,\n size = 'md',\n value = '',\n onChange,\n onComplete,\n error,\n warning,\n info,\n success,\n helperText,\n disabled = false,\n autoFocus = false,\n type = 'text',\n pattern,\n label,\n messagePosition = 'bottom',\n className,\n classNames,\n ref,\n }) => {\n const inputRefs = React.useRef<(HTMLInputElement | null)[]>([])\n const [otp, setOtp] = React.useState<string[]>(\n value.split('').slice(0, length),\n )\n\n // Update OTP when controlled value changes\n React.useEffect(() => {\n setOtp(value.split('').slice(0, length))\n }, [value, length])\n\n // Auto-focus first input\n React.useEffect(() => {\n if (autoFocus && inputRefs.current[0]) {\n inputRefs.current[0].focus()\n }\n }, [autoFocus])\n\n const handleChange = React.useCallback(\n (index: number, newValue: string) => {\n // Only allow single character or clear\n const char = newValue.slice(-1)\n\n // Validate pattern if provided\n if (pattern && char && !new RegExp(pattern).test(char)) {\n return\n }\n\n const newOtp = [...otp]\n newOtp[index] = char\n setOtp(newOtp)\n\n const otpValue = newOtp.join('')\n onChange?.(otpValue)\n\n // Auto-focus next input\n if (char && index < length - 1) {\n inputRefs.current[index + 1]?.focus()\n }\n\n // Call onComplete when all fields filled\n if (otpValue.length === length) {\n onComplete?.(otpValue)\n }\n },\n [otp, length, onChange, onComplete, pattern],\n )\n\n const handleKeyDown = React.useCallback(\n (index: number, e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Backspace') {\n if (!otp[index] && index > 0) {\n // Move to previous input if current is empty\n inputRefs.current[index - 1]?.focus()\n }\n } else if (e.key === 'ArrowLeft' && index > 0) {\n inputRefs.current[index - 1]?.focus()\n } else if (e.key === 'ArrowRight' && index < length - 1) {\n inputRefs.current[index + 1]?.focus()\n }\n },\n [otp, length],\n )\n\n const handlePaste = React.useCallback(\n (e: React.ClipboardEvent) => {\n e.preventDefault()\n const pastedData = e.clipboardData.getData('text').slice(0, length)\n\n // Validate pasted data against pattern if provided\n if (pattern && !new RegExp(`^${pattern}*$`).test(pastedData)) {\n return\n }\n\n const newOtp = pastedData.split('').slice(0, length)\n setOtp(newOtp)\n\n const otpValue = newOtp.join('')\n onChange?.(otpValue)\n\n // Focus last filled input or first empty\n const focusIndex = Math.min(newOtp.length, length - 1)\n inputRefs.current[focusIndex]?.focus()\n\n // Call onComplete if all fields filled\n if (otpValue.length === length) {\n onComplete?.(otpValue)\n }\n },\n [length, onChange, onComplete, pattern],\n )\n\n const status = getValidationStatus({\n error,\n warning,\n info,\n success,\n helperText,\n })\n const message = getValidationMessage({\n error,\n warning,\n info,\n success,\n helperText,\n })\n\n const sizeClasses = {\n xs: 'h-(--otp-size-xs) w-(--otp-size-xs) text-xs',\n sm: 'h-(--otp-size-sm) w-(--otp-size-sm) text-sm',\n md: 'h-(--otp-size-md) w-(--otp-size-md) text-base',\n lg: 'h-(--otp-size-lg) w-(--otp-size-lg) text-lg',\n }\n\n const statusBorderClasses = {\n default: 'border-border focus:border-primary',\n error: 'border-error focus:border-error',\n warning: 'border-warning focus:border-warning',\n info: 'border-info focus:border-info',\n success: 'border-success focus:border-success',\n }\n\n const statusTextClasses = {\n default: 'text-text-secondary',\n error: 'text-error',\n warning: 'text-warning',\n info: 'text-info',\n success: 'text-success',\n }\n\n const MessageComponent = message && (\n <p\n data-slot=\"inputOTP_helper\"\n className={cn(\n 'inputOTP_helper',\n 'text-xs mt-1',\n statusTextClasses[status],\n classNames?.helper,\n )}\n >\n {message}\n </p>\n )\n\n return (\n <div\n ref={ref}\n data-slot=\"inputOTP_root\"\n className={cn('inputOTP_root', 'w-full', classNames?.root, className)}\n >\n {label && messagePosition === 'top' && (\n <label\n data-slot=\"inputOTP_label\"\n className={cn(\n 'inputOTP_label',\n 'block text-sm font-medium text-text-primary mb-1.5',\n classNames?.label,\n )}\n >\n {label}\n </label>\n )}\n {messagePosition === 'top' && MessageComponent}\n\n <div\n data-slot=\"inputOTP_wrapper\"\n className={cn('inputOTP_wrapper', 'flex gap-2', classNames?.wrapper)}\n >\n {Array.from({ length }).map((_, index) => {\n const isActive = otp[index] !== undefined && otp[index] !== ''\n return (\n <input\n key={index}\n ref={(el) => {\n inputRefs.current[index] = el\n }}\n type=\"text\"\n inputMode={type === 'number' ? 'numeric' : 'text'}\n maxLength={1}\n value={otp[index] || ''}\n onChange={(e) => handleChange(index, e.target.value)}\n onKeyDown={(e) => handleKeyDown(index, e)}\n onPaste={handlePaste}\n disabled={disabled}\n data-slot=\"inputOTP_slot\"\n className={cn(\n 'inputOTP_slot',\n 'text-center font-semibold',\n 'border rounded-md outline-none transition-colors',\n 'disabled:opacity-50 disabled:cursor-not-allowed',\n 'hover:border-primary/50',\n 'focus-visible:ring-1 focus-visible:ring-primary/20',\n 'text-text-primary',\n sizeClasses[size],\n statusBorderClasses[status],\n classNames?.slot,\n isActive && classNames?.slotActive,\n )}\n aria-label={`OTP digit ${index + 1}`}\n />\n )\n })}\n </div>\n\n {label && messagePosition === 'bottom' && (\n <label\n data-slot=\"inputOTP_label\"\n className={cn(\n 'inputOTP_label',\n 'block text-sm font-medium text-text-primary mt-1.5',\n classNames?.label,\n )}\n >\n {label}\n </label>\n )}\n {messagePosition === 'bottom' && MessageComponent}\n </div>\n )\n },\n)\n\nInputOTP.displayName = 'InputOTP'\n\nexport type { InputOTPClassNames } from './types'\nexport type * from './types'\nexport default InputOTP\n"]}
|