@mdigital_ui/ui 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion/index.d.ts +6 -0
- package/dist/accordion/index.d.ts.map +1 -0
- package/dist/accordion/index.js +5 -0
- package/dist/accordion/index.js.map +1 -0
- package/dist/accordion/types.d.ts +126 -0
- package/dist/accordion/types.d.ts.map +1 -0
- package/dist/avatar/index.d.ts +14 -0
- package/dist/avatar/index.d.ts.map +1 -0
- package/dist/avatar/index.js +4 -0
- package/dist/avatar/index.js.map +1 -0
- package/dist/avatar/types.d.ts +147 -0
- package/dist/avatar/types.d.ts.map +1 -0
- package/dist/badge/index.d.ts +28 -0
- package/dist/badge/index.d.ts.map +1 -0
- package/dist/badge/index.js +5 -0
- package/dist/badge/index.js.map +1 -0
- package/dist/badge/types.d.ts +97 -0
- package/dist/badge/types.d.ts.map +1 -0
- package/dist/breadcrumbs/index.d.ts +13 -0
- package/dist/breadcrumbs/index.d.ts.map +1 -0
- package/dist/breadcrumbs/index.js +8 -0
- package/dist/breadcrumbs/index.js.map +1 -0
- package/dist/breadcrumbs/types.d.ts +118 -0
- package/dist/breadcrumbs/types.d.ts.map +1 -0
- package/dist/button/index.d.ts +15 -0
- package/dist/button/index.d.ts.map +1 -0
- package/dist/button/index.js +7 -0
- package/dist/button/index.js.map +1 -0
- package/dist/button/types.d.ts +103 -0
- package/dist/button/types.d.ts.map +1 -0
- package/dist/button-group/index.d.ts +34 -0
- package/dist/button-group/index.d.ts.map +1 -0
- package/dist/button-group/index.js +4 -0
- package/dist/button-group/index.js.map +1 -0
- package/dist/button-group/types.d.ts +75 -0
- package/dist/button-group/types.d.ts.map +1 -0
- package/dist/card/index.d.ts +71 -0
- package/dist/card/index.d.ts.map +1 -0
- package/dist/card/index.js +5 -0
- package/dist/card/index.js.map +1 -0
- package/dist/card/types.d.ts +136 -0
- package/dist/card/types.d.ts.map +1 -0
- package/dist/carousel/carousel-navigation.d.ts +9 -0
- package/dist/carousel/carousel-navigation.d.ts.map +1 -0
- package/dist/carousel/index.d.ts +50 -0
- package/dist/carousel/index.d.ts.map +1 -0
- package/dist/carousel/index.js +4 -0
- package/dist/carousel/index.js.map +1 -0
- package/dist/cascader/index.d.ts +27 -0
- package/dist/cascader/index.d.ts.map +1 -0
- package/dist/cascader/index.js +5 -0
- package/dist/cascader/index.js.map +1 -0
- package/dist/cascader/types.d.ts +220 -0
- package/dist/cascader/types.d.ts.map +1 -0
- package/dist/checkbox/index.d.ts +6 -0
- package/dist/checkbox/index.d.ts.map +1 -0
- package/dist/checkbox/index.js +5 -0
- package/dist/checkbox/index.js.map +1 -0
- package/dist/checkbox/types.d.ts +21 -0
- package/dist/checkbox/types.d.ts.map +1 -0
- package/dist/checkbox-group/index.d.ts +6 -0
- package/dist/checkbox-group/index.d.ts.map +1 -0
- package/dist/checkbox-group/index.js +4 -0
- package/dist/checkbox-group/index.js.map +1 -0
- package/dist/checkbox-group/types.d.ts +43 -0
- package/dist/checkbox-group/types.d.ts.map +1 -0
- package/dist/chunk-2PNLIQYM.js +76 -0
- package/dist/chunk-2PNLIQYM.js.map +1 -0
- package/dist/chunk-2TLOWZE4.js +689 -0
- package/dist/chunk-2TLOWZE4.js.map +1 -0
- package/dist/chunk-2WZVD7P3.js +145 -0
- package/dist/chunk-2WZVD7P3.js.map +1 -0
- package/dist/chunk-3BIV3QE2.js +353 -0
- package/dist/chunk-3BIV3QE2.js.map +1 -0
- package/dist/chunk-3BZE6BBJ.js +758 -0
- package/dist/chunk-3BZE6BBJ.js.map +1 -0
- package/dist/chunk-3PWILVOE.js +182 -0
- package/dist/chunk-3PWILVOE.js.map +1 -0
- package/dist/chunk-4FFVNUTK.js +35 -0
- package/dist/chunk-4FFVNUTK.js.map +1 -0
- package/dist/chunk-5PUATOLR.js +127 -0
- package/dist/chunk-5PUATOLR.js.map +1 -0
- package/dist/chunk-64NHVOZS.js +272 -0
- package/dist/chunk-64NHVOZS.js.map +1 -0
- package/dist/chunk-674JC24S.js +414 -0
- package/dist/chunk-674JC24S.js.map +1 -0
- package/dist/chunk-6BAP6QUT.js +72 -0
- package/dist/chunk-6BAP6QUT.js.map +1 -0
- package/dist/chunk-6G3BMY4N.js +349 -0
- package/dist/chunk-6G3BMY4N.js.map +1 -0
- package/dist/chunk-6HGUDHHE.js +86 -0
- package/dist/chunk-6HGUDHHE.js.map +1 -0
- package/dist/chunk-6JGNJI5T.js +174 -0
- package/dist/chunk-6JGNJI5T.js.map +1 -0
- package/dist/chunk-6LYRMQOI.js +328 -0
- package/dist/chunk-6LYRMQOI.js.map +1 -0
- package/dist/chunk-6YOOKE6C.js +138 -0
- package/dist/chunk-6YOOKE6C.js.map +1 -0
- package/dist/chunk-764UKE6X.js +359 -0
- package/dist/chunk-764UKE6X.js.map +1 -0
- package/dist/chunk-7UCNBMCV.js +261 -0
- package/dist/chunk-7UCNBMCV.js.map +1 -0
- package/dist/chunk-BPRCBPVJ.js +253 -0
- package/dist/chunk-BPRCBPVJ.js.map +1 -0
- package/dist/chunk-BVO2BNFG.js +437 -0
- package/dist/chunk-BVO2BNFG.js.map +1 -0
- package/dist/chunk-C5IGZLIT.js +107 -0
- package/dist/chunk-C5IGZLIT.js.map +1 -0
- package/dist/chunk-CN74CNAN.js +75 -0
- package/dist/chunk-CN74CNAN.js.map +1 -0
- package/dist/chunk-D4SUSZDN.js +360 -0
- package/dist/chunk-D4SUSZDN.js.map +1 -0
- package/dist/chunk-DUIL5BYS.js +293 -0
- package/dist/chunk-DUIL5BYS.js.map +1 -0
- package/dist/chunk-EHWXPH76.js +42 -0
- package/dist/chunk-EHWXPH76.js.map +1 -0
- package/dist/chunk-ERRZ2CSG.js +192 -0
- package/dist/chunk-ERRZ2CSG.js.map +1 -0
- package/dist/chunk-EZGK67T6.js +383 -0
- package/dist/chunk-EZGK67T6.js.map +1 -0
- package/dist/chunk-FZSCLZF6.js +552 -0
- package/dist/chunk-FZSCLZF6.js.map +1 -0
- package/dist/chunk-G6NVGBYZ.js +334 -0
- package/dist/chunk-G6NVGBYZ.js.map +1 -0
- package/dist/chunk-GJPZOMFE.js +407 -0
- package/dist/chunk-GJPZOMFE.js.map +1 -0
- package/dist/chunk-GOLARX5K.js +310 -0
- package/dist/chunk-GOLARX5K.js.map +1 -0
- package/dist/chunk-GVVP5TZM.js +506 -0
- package/dist/chunk-GVVP5TZM.js.map +1 -0
- package/dist/chunk-H6G4BUPA.js +586 -0
- package/dist/chunk-H6G4BUPA.js.map +1 -0
- package/dist/chunk-HCOTO5WX.js +77 -0
- package/dist/chunk-HCOTO5WX.js.map +1 -0
- package/dist/chunk-HECAAILV.js +94 -0
- package/dist/chunk-HECAAILV.js.map +1 -0
- package/dist/chunk-HUXODBIO.js +424 -0
- package/dist/chunk-HUXODBIO.js.map +1 -0
- package/dist/chunk-I32ZQUYY.js +184 -0
- package/dist/chunk-I32ZQUYY.js.map +1 -0
- package/dist/chunk-JWTWPZ32.js +355 -0
- package/dist/chunk-JWTWPZ32.js.map +1 -0
- package/dist/chunk-KH577UDI.js +218 -0
- package/dist/chunk-KH577UDI.js.map +1 -0
- package/dist/chunk-KJTMZJ7V.js +239 -0
- package/dist/chunk-KJTMZJ7V.js.map +1 -0
- package/dist/chunk-L5UYN5LX.js +787 -0
- package/dist/chunk-L5UYN5LX.js.map +1 -0
- package/dist/chunk-LOYLJRCF.js +485 -0
- package/dist/chunk-LOYLJRCF.js.map +1 -0
- package/dist/chunk-LX4FDH4J.js +299 -0
- package/dist/chunk-LX4FDH4J.js.map +1 -0
- package/dist/chunk-N2WHJ3FI.js +130 -0
- package/dist/chunk-N2WHJ3FI.js.map +1 -0
- package/dist/chunk-NGYLRX6F.js +42 -0
- package/dist/chunk-NGYLRX6F.js.map +1 -0
- package/dist/chunk-O3V3BTIJ.js +419 -0
- package/dist/chunk-O3V3BTIJ.js.map +1 -0
- package/dist/chunk-OFUPJH35.js +74 -0
- package/dist/chunk-OFUPJH35.js.map +1 -0
- package/dist/chunk-OLTQAMV2.js +210 -0
- package/dist/chunk-OLTQAMV2.js.map +1 -0
- package/dist/chunk-ON2CMF6J.js +503 -0
- package/dist/chunk-ON2CMF6J.js.map +1 -0
- package/dist/chunk-ONGJXAYQ.js +144 -0
- package/dist/chunk-ONGJXAYQ.js.map +1 -0
- package/dist/chunk-OQFYIKWR.js +1264 -0
- package/dist/chunk-OQFYIKWR.js.map +1 -0
- package/dist/chunk-POLVJ36Y.js +210 -0
- package/dist/chunk-POLVJ36Y.js.map +1 -0
- package/dist/chunk-POXI7JJ4.js +351 -0
- package/dist/chunk-POXI7JJ4.js.map +1 -0
- package/dist/chunk-R3TLU26W.js +110 -0
- package/dist/chunk-R3TLU26W.js.map +1 -0
- package/dist/chunk-RFHTC6AH.js +250 -0
- package/dist/chunk-RFHTC6AH.js.map +1 -0
- package/dist/chunk-ROA7BYGB.js +123 -0
- package/dist/chunk-ROA7BYGB.js.map +1 -0
- package/dist/chunk-SGRACNBP.js +60 -0
- package/dist/chunk-SGRACNBP.js.map +1 -0
- package/dist/chunk-TLNHWOQQ.js +1026 -0
- package/dist/chunk-TLNHWOQQ.js.map +1 -0
- package/dist/chunk-UTWQ2FZK.js +337 -0
- package/dist/chunk-UTWQ2FZK.js.map +1 -0
- package/dist/chunk-VOODO2ZE.js +180 -0
- package/dist/chunk-VOODO2ZE.js.map +1 -0
- package/dist/chunk-WRSG7WU5.js +278 -0
- package/dist/chunk-WRSG7WU5.js.map +1 -0
- package/dist/chunk-X3YNHX77.js +109 -0
- package/dist/chunk-X3YNHX77.js.map +1 -0
- package/dist/chunk-Y4XAXZHB.js +42 -0
- package/dist/chunk-Y4XAXZHB.js.map +1 -0
- package/dist/chunk-YJOLLSHH.js +132 -0
- package/dist/chunk-YJOLLSHH.js.map +1 -0
- package/dist/chunk-YS5AIY4A.js +43 -0
- package/dist/chunk-YS5AIY4A.js.map +1 -0
- package/dist/chunk-YXLIGJTN.js +336 -0
- package/dist/chunk-YXLIGJTN.js.map +1 -0
- package/dist/chunk-ZIYA7TGX.js +141 -0
- package/dist/chunk-ZIYA7TGX.js.map +1 -0
- package/dist/chunk-ZJNGZCRB.js +440 -0
- package/dist/chunk-ZJNGZCRB.js.map +1 -0
- package/dist/clipboard/index.d.ts +6 -0
- package/dist/clipboard/index.d.ts.map +1 -0
- package/dist/clipboard/index.js +6 -0
- package/dist/clipboard/index.js.map +1 -0
- package/dist/clipboard/types.d.ts +65 -0
- package/dist/clipboard/types.d.ts.map +1 -0
- package/dist/collapse/index.d.ts +6 -0
- package/dist/collapse/index.d.ts.map +1 -0
- package/dist/collapse/index.js +5 -0
- package/dist/collapse/index.js.map +1 -0
- package/dist/collapse/types.d.ts +60 -0
- package/dist/collapse/types.d.ts.map +1 -0
- package/dist/command/index.d.ts +74 -0
- package/dist/command/index.d.ts.map +1 -0
- package/dist/command/index.js +5 -0
- package/dist/command/index.js.map +1 -0
- package/dist/command/types.d.ts +24 -0
- package/dist/command/types.d.ts.map +1 -0
- package/dist/context-menu/index.d.ts +63 -0
- package/dist/context-menu/index.d.ts.map +1 -0
- package/dist/context-menu/index.js +5 -0
- package/dist/context-menu/index.js.map +1 -0
- package/dist/context-menu/types.d.ts +109 -0
- package/dist/context-menu/types.d.ts.map +1 -0
- package/dist/date-picker/index.d.ts +12 -0
- package/dist/date-picker/index.d.ts.map +1 -0
- package/dist/date-picker/index.js +6 -0
- package/dist/date-picker/index.js.map +1 -0
- package/dist/date-picker/types.d.ts +64 -0
- package/dist/date-picker/types.d.ts.map +1 -0
- package/dist/date-picker/utils.d.ts +10 -0
- package/dist/date-picker/utils.d.ts.map +1 -0
- package/dist/descriptions/index.d.ts +6 -0
- package/dist/descriptions/index.d.ts.map +1 -0
- package/dist/descriptions/index.js +4 -0
- package/dist/descriptions/index.js.map +1 -0
- package/dist/descriptions/types.d.ts +34 -0
- package/dist/descriptions/types.d.ts.map +1 -0
- package/dist/divider/index.d.ts +39 -0
- package/dist/divider/index.d.ts.map +1 -0
- package/dist/divider/index.js +4 -0
- package/dist/divider/index.js.map +1 -0
- package/dist/divider/types.d.ts +63 -0
- package/dist/divider/types.d.ts.map +1 -0
- package/dist/drawer/index.d.ts +23 -0
- package/dist/drawer/index.d.ts.map +1 -0
- package/dist/drawer/index.js +4 -0
- package/dist/drawer/index.js.map +1 -0
- package/dist/drawer/types.d.ts +309 -0
- package/dist/drawer/types.d.ts.map +1 -0
- package/dist/dropdown/index.d.ts +6 -0
- package/dist/dropdown/index.d.ts.map +1 -0
- package/dist/dropdown/index.js +7 -0
- package/dist/dropdown/index.js.map +1 -0
- package/dist/dropdown/types.d.ts +116 -0
- package/dist/dropdown/types.d.ts.map +1 -0
- package/dist/empty/index.d.ts +6 -0
- package/dist/empty/index.d.ts.map +1 -0
- package/dist/empty/index.js +4 -0
- package/dist/empty/index.js.map +1 -0
- package/dist/empty/types.d.ts +62 -0
- package/dist/empty/types.d.ts.map +1 -0
- package/dist/fetching-overlay/index.d.ts +10 -0
- package/dist/fetching-overlay/index.d.ts.map +1 -0
- package/dist/fetching-overlay/index.js +6 -0
- package/dist/fetching-overlay/index.js.map +1 -0
- package/dist/float-input/index.d.ts +6 -0
- package/dist/float-input/index.d.ts.map +1 -0
- package/dist/float-input/index.js +6 -0
- package/dist/float-input/index.js.map +1 -0
- package/dist/float-input/types.d.ts +23 -0
- package/dist/float-input/types.d.ts.map +1 -0
- package/dist/grid/index.d.ts +6 -0
- package/dist/grid/index.d.ts.map +1 -0
- package/dist/grid/index.js +4 -0
- package/dist/grid/index.js.map +1 -0
- package/dist/grid/types.d.ts +21 -0
- package/dist/grid/types.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/useControllable.d.ts +6 -0
- package/dist/hooks/useControllable.d.ts.map +1 -0
- package/dist/hooks/useDebounce.d.ts +2 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/hooks/useMediaQuery.d.ts +2 -0
- package/dist/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/hooks/useRipple.d.ts +29 -0
- package/dist/hooks/useRipple.d.ts.map +1 -0
- package/dist/hooks/useThrottle.d.ts +2 -0
- package/dist/hooks/useThrottle.d.ts.map +1 -0
- package/dist/image/index.d.ts +6 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/image/index.js +4 -0
- package/dist/image/index.js.map +1 -0
- package/dist/image/types.d.ts +57 -0
- package/dist/image/types.d.ts.map +1 -0
- package/dist/index.d.ts +142 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +133 -0
- package/dist/index.js.map +1 -0
- package/dist/input/index.d.ts +6 -0
- package/dist/input/index.d.ts.map +1 -0
- package/dist/input/index.js +6 -0
- package/dist/input/index.js.map +1 -0
- package/dist/input/types.d.ts +28 -0
- package/dist/input/types.d.ts.map +1 -0
- package/dist/input-group/index.d.ts +9 -0
- package/dist/input-group/index.d.ts.map +1 -0
- package/dist/input-group/index.js +4 -0
- package/dist/input-group/index.js.map +1 -0
- package/dist/input-group/types.d.ts +68 -0
- package/dist/input-group/types.d.ts.map +1 -0
- package/dist/input-otp/index.d.ts +7 -0
- package/dist/input-otp/index.d.ts.map +1 -0
- package/dist/input-otp/index.js +4 -0
- package/dist/input-otp/index.js.map +1 -0
- package/dist/input-otp/types.d.ts +111 -0
- package/dist/input-otp/types.d.ts.map +1 -0
- package/dist/input-password/index.d.ts +6 -0
- package/dist/input-password/index.d.ts.map +1 -0
- package/dist/input-password/index.js +7 -0
- package/dist/input-password/index.js.map +1 -0
- package/dist/input-password/types.d.ts +16 -0
- package/dist/input-password/types.d.ts.map +1 -0
- package/dist/kbd/index.d.ts +6 -0
- package/dist/kbd/index.d.ts.map +1 -0
- package/dist/kbd/index.js +5 -0
- package/dist/kbd/index.js.map +1 -0
- package/dist/kbd/types.d.ts +26 -0
- package/dist/kbd/types.d.ts.map +1 -0
- package/dist/link/index.d.ts +9 -0
- package/dist/link/index.d.ts.map +1 -0
- package/dist/link/index.js +4 -0
- package/dist/link/index.js.map +1 -0
- package/dist/link/types.d.ts +30 -0
- package/dist/link/types.d.ts.map +1 -0
- package/dist/menubar/index.d.ts +6 -0
- package/dist/menubar/index.d.ts.map +1 -0
- package/dist/menubar/index.js +6 -0
- package/dist/menubar/index.js.map +1 -0
- package/dist/menubar/types.d.ts +40 -0
- package/dist/menubar/types.d.ts.map +1 -0
- package/dist/modal/index.d.ts +39 -0
- package/dist/modal/index.d.ts.map +1 -0
- package/dist/modal/index.js +4 -0
- package/dist/modal/index.js.map +1 -0
- package/dist/modal/types.d.ts +77 -0
- package/dist/modal/types.d.ts.map +1 -0
- package/dist/multi-select/index.d.ts +6 -0
- package/dist/multi-select/index.d.ts.map +1 -0
- package/dist/multi-select/index.js +8 -0
- package/dist/multi-select/index.js.map +1 -0
- package/dist/multi-select/types.d.ts +81 -0
- package/dist/multi-select/types.d.ts.map +1 -0
- package/dist/multi-select/utils.d.ts +12 -0
- package/dist/multi-select/utils.d.ts.map +1 -0
- package/dist/navigation-menu/index.d.ts +5 -0
- package/dist/navigation-menu/index.d.ts.map +1 -0
- package/dist/navigation-menu/index.js +4 -0
- package/dist/navigation-menu/index.js.map +1 -0
- package/dist/navigation-menu/types.d.ts +37 -0
- package/dist/navigation-menu/types.d.ts.map +1 -0
- package/dist/notification/index.d.ts +6 -0
- package/dist/notification/index.d.ts.map +1 -0
- package/dist/notification/index.js +5 -0
- package/dist/notification/index.js.map +1 -0
- package/dist/notification/types.d.ts +90 -0
- package/dist/notification/types.d.ts.map +1 -0
- package/dist/number-input/index.d.ts +6 -0
- package/dist/number-input/index.d.ts.map +1 -0
- package/dist/number-input/index.js +7 -0
- package/dist/number-input/index.js.map +1 -0
- package/dist/number-input/types.d.ts +28 -0
- package/dist/number-input/types.d.ts.map +1 -0
- package/dist/pagination/index.d.ts +6 -0
- package/dist/pagination/index.d.ts.map +1 -0
- package/dist/pagination/index.js +5 -0
- package/dist/pagination/index.js.map +1 -0
- package/dist/pagination/types.d.ts +87 -0
- package/dist/pagination/types.d.ts.map +1 -0
- package/dist/popover/index.d.ts +19 -0
- package/dist/popover/index.d.ts.map +1 -0
- package/dist/popover/index.js +5 -0
- package/dist/popover/index.js.map +1 -0
- package/dist/popover/types.d.ts +31 -0
- package/dist/popover/types.d.ts.map +1 -0
- package/dist/progress/index.d.ts +6 -0
- package/dist/progress/index.d.ts.map +1 -0
- package/dist/progress/index.js +4 -0
- package/dist/progress/index.js.map +1 -0
- package/dist/progress/styles.d.ts +39 -0
- package/dist/progress/styles.d.ts.map +1 -0
- package/dist/progress/types.d.ts +100 -0
- package/dist/progress/types.d.ts.map +1 -0
- package/dist/radio/index.d.ts +6 -0
- package/dist/radio/index.d.ts.map +1 -0
- package/dist/radio/index.js +5 -0
- package/dist/radio/index.js.map +1 -0
- package/dist/radio/types.d.ts +20 -0
- package/dist/radio/types.d.ts.map +1 -0
- package/dist/radio-group/index.d.ts +6 -0
- package/dist/radio-group/index.d.ts.map +1 -0
- package/dist/radio-group/index.js +4 -0
- package/dist/radio-group/index.js.map +1 -0
- package/dist/radio-group/types.d.ts +43 -0
- package/dist/radio-group/types.d.ts.map +1 -0
- package/dist/rating/index.d.ts +6 -0
- package/dist/rating/index.d.ts.map +1 -0
- package/dist/rating/index.js +4 -0
- package/dist/rating/index.js.map +1 -0
- package/dist/rating/types.d.ts +64 -0
- package/dist/rating/types.d.ts.map +1 -0
- package/dist/scroll-area/index.d.ts +10 -0
- package/dist/scroll-area/index.d.ts.map +1 -0
- package/dist/scroll-area/index.js +4 -0
- package/dist/scroll-area/index.js.map +1 -0
- package/dist/scroll-area/types.d.ts +24 -0
- package/dist/scroll-area/types.d.ts.map +1 -0
- package/dist/select/index.d.ts +6 -0
- package/dist/select/index.d.ts.map +1 -0
- package/dist/select/index.js +8 -0
- package/dist/select/index.js.map +1 -0
- package/dist/select/types.d.ts +34 -0
- package/dist/select/types.d.ts.map +1 -0
- package/dist/shared/useSelectBase.d.ts +56 -0
- package/dist/shared/useSelectBase.d.ts.map +1 -0
- package/dist/skeleton/index.d.ts +6 -0
- package/dist/skeleton/index.d.ts.map +1 -0
- package/dist/skeleton/index.js +5 -0
- package/dist/skeleton/index.js.map +1 -0
- package/dist/skeleton/types.d.ts +10 -0
- package/dist/skeleton/types.d.ts.map +1 -0
- package/dist/slider/index.d.ts +6 -0
- package/dist/slider/index.d.ts.map +1 -0
- package/dist/slider/index.js +4 -0
- package/dist/slider/index.js.map +1 -0
- package/dist/slider/types.d.ts +76 -0
- package/dist/slider/types.d.ts.map +1 -0
- package/dist/spinner/index.d.ts +6 -0
- package/dist/spinner/index.d.ts.map +1 -0
- package/dist/spinner/index.js +5 -0
- package/dist/spinner/index.js.map +1 -0
- package/dist/spinner/types.d.ts +10 -0
- package/dist/spinner/types.d.ts.map +1 -0
- package/dist/stepper/index.d.ts +6 -0
- package/dist/stepper/index.d.ts.map +1 -0
- package/dist/stepper/index.js +4 -0
- package/dist/stepper/index.js.map +1 -0
- package/dist/stepper/types.d.ts +86 -0
- package/dist/stepper/types.d.ts.map +1 -0
- package/dist/styles/themes/index.d.ts +9 -0
- package/dist/styles/themes/index.d.ts.map +1 -0
- package/dist/styles/themes/presets/index.d.ts +21 -0
- package/dist/styles/themes/presets/index.d.ts.map +1 -0
- package/dist/styles/tokens.d.ts +428 -0
- package/dist/styles/tokens.d.ts.map +1 -0
- package/dist/switch/index.d.ts +6 -0
- package/dist/switch/index.d.ts.map +1 -0
- package/dist/switch/index.js +5 -0
- package/dist/switch/index.js.map +1 -0
- package/dist/switch/types.d.ts +80 -0
- package/dist/switch/types.d.ts.map +1 -0
- package/dist/table/EditableCell.d.ts +13 -0
- package/dist/table/EditableCell.d.ts.map +1 -0
- package/dist/table/TableActions.d.ts +21 -0
- package/dist/table/TableActions.d.ts.map +1 -0
- package/dist/table/TableCell.d.ts +12 -0
- package/dist/table/TableCell.d.ts.map +1 -0
- package/dist/table/TableHeaderCell.d.ts +16 -0
- package/dist/table/TableHeaderCell.d.ts.map +1 -0
- package/dist/table/TableRow.d.ts +16 -0
- package/dist/table/TableRow.d.ts.map +1 -0
- package/dist/table/TableSkeleton.d.ts +13 -0
- package/dist/table/TableSkeleton.d.ts.map +1 -0
- package/dist/table/index.d.ts +15 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/table/index.js +13 -0
- package/dist/table/index.js.map +1 -0
- package/dist/table/types.d.ts +110 -0
- package/dist/table/types.d.ts.map +1 -0
- package/dist/table/variants.d.ts +4 -0
- package/dist/table/variants.d.ts.map +1 -0
- package/dist/tabs/index.d.ts +7 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/index.js +5 -0
- package/dist/tabs/index.js.map +1 -0
- package/dist/tabs/types.d.ts +90 -0
- package/dist/tabs/types.d.ts.map +1 -0
- package/dist/tag/index.d.ts +49 -0
- package/dist/tag/index.d.ts.map +1 -0
- package/dist/tag/index.js +5 -0
- package/dist/tag/index.js.map +1 -0
- package/dist/tag/types.d.ts +23 -0
- package/dist/tag/types.d.ts.map +1 -0
- package/dist/textarea/index.d.ts +6 -0
- package/dist/textarea/index.d.ts.map +1 -0
- package/dist/textarea/index.js +4 -0
- package/dist/textarea/index.js.map +1 -0
- package/dist/textarea/types.d.ts +84 -0
- package/dist/textarea/types.d.ts.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +44 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/theme/index.d.ts +7 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +3 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/types.d.ts +47 -0
- package/dist/theme/types.d.ts.map +1 -0
- package/dist/timeline/index.d.ts +6 -0
- package/dist/timeline/index.d.ts.map +1 -0
- package/dist/timeline/index.js +4 -0
- package/dist/timeline/index.js.map +1 -0
- package/dist/timeline/types.d.ts +27 -0
- package/dist/timeline/types.d.ts.map +1 -0
- package/dist/toast/index.d.ts +12 -0
- package/dist/toast/index.d.ts.map +1 -0
- package/dist/toast/index.js +5 -0
- package/dist/toast/index.js.map +1 -0
- package/dist/toast/types.d.ts +49 -0
- package/dist/toast/types.d.ts.map +1 -0
- package/dist/toggle/index.d.ts +6 -0
- package/dist/toggle/index.d.ts.map +1 -0
- package/dist/toggle/index.js +5 -0
- package/dist/toggle/index.js.map +1 -0
- package/dist/toggle/types.d.ts +57 -0
- package/dist/toggle/types.d.ts.map +1 -0
- package/dist/toggle-group/index.d.ts +6 -0
- package/dist/toggle-group/index.d.ts.map +1 -0
- package/dist/toggle-group/index.js +5 -0
- package/dist/toggle-group/index.js.map +1 -0
- package/dist/toggle-group/types.d.ts +80 -0
- package/dist/toggle-group/types.d.ts.map +1 -0
- package/dist/tooltip/index.d.ts +9 -0
- package/dist/tooltip/index.d.ts.map +1 -0
- package/dist/tooltip/index.js +5 -0
- package/dist/tooltip/index.js.map +1 -0
- package/dist/tooltip/types.d.ts +72 -0
- package/dist/tooltip/types.d.ts.map +1 -0
- package/dist/transfer/index.d.ts +5 -0
- package/dist/transfer/index.d.ts.map +1 -0
- package/dist/transfer/index.js +6 -0
- package/dist/transfer/index.js.map +1 -0
- package/dist/transfer/types.d.ts +83 -0
- package/dist/transfer/types.d.ts.map +1 -0
- package/dist/transfer/utils.d.ts +13 -0
- package/dist/transfer/utils.d.ts.map +1 -0
- package/dist/tree/index.d.ts +6 -0
- package/dist/tree/index.d.ts.map +1 -0
- package/dist/tree/index.js +4 -0
- package/dist/tree/index.js.map +1 -0
- package/dist/tree/types.d.ts +143 -0
- package/dist/tree/types.d.ts.map +1 -0
- package/dist/tree-select/index.d.ts +6 -0
- package/dist/tree-select/index.d.ts.map +1 -0
- package/dist/tree-select/index.js +7 -0
- package/dist/tree-select/index.js.map +1 -0
- package/dist/tree-select/types.d.ts +147 -0
- package/dist/tree-select/types.d.ts.map +1 -0
- package/dist/types.d.ts +53 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/upload/index.d.ts +7 -0
- package/dist/upload/index.d.ts.map +1 -0
- package/dist/upload/index.js +5 -0
- package/dist/upload/index.js.map +1 -0
- package/dist/upload/types.d.ts +94 -0
- package/dist/upload/types.d.ts.map +1 -0
- package/dist/upload/utils.d.ts +26 -0
- package/dist/upload/utils.d.ts.map +1 -0
- package/dist/utils.d.ts +63 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/variants.d.ts +315 -0
- package/dist/variants.d.ts.map +1 -0
- package/package.json +1 -1
- package/styles/global.css +179 -245
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
import { componentColors } from './chunk-POXI7JJ4.js';
|
|
2
|
+
import { cn } from './chunk-NGYLRX6F.js';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import React, { useState, useRef, useId, useLayoutEffect, useEffect, useCallback } from 'react';
|
|
5
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
|
|
8
|
+
var pillActiveClasses = {
|
|
9
|
+
default: "text-text-primary",
|
|
10
|
+
primary: "text-white",
|
|
11
|
+
secondary: "text-white",
|
|
12
|
+
accent: "text-white",
|
|
13
|
+
success: "text-white",
|
|
14
|
+
error: "text-white",
|
|
15
|
+
warning: "text-white",
|
|
16
|
+
info: "text-white"
|
|
17
|
+
};
|
|
18
|
+
var defaultActiveClasses = {
|
|
19
|
+
default: "text-text-primary",
|
|
20
|
+
primary: "text-primary",
|
|
21
|
+
secondary: "text-secondary",
|
|
22
|
+
accent: "text-accent",
|
|
23
|
+
success: "text-success",
|
|
24
|
+
error: "text-error",
|
|
25
|
+
warning: "text-warning",
|
|
26
|
+
info: "text-info"
|
|
27
|
+
};
|
|
28
|
+
var softActiveClasses = {
|
|
29
|
+
default: "text-text-primary",
|
|
30
|
+
primary: "text-primary",
|
|
31
|
+
secondary: "text-secondary",
|
|
32
|
+
accent: "text-accent",
|
|
33
|
+
success: "text-success",
|
|
34
|
+
error: "text-error",
|
|
35
|
+
warning: "text-warning",
|
|
36
|
+
info: "text-info"
|
|
37
|
+
};
|
|
38
|
+
var pillIndicatorClasses = {
|
|
39
|
+
default: "bg-background",
|
|
40
|
+
primary: "bg-primary",
|
|
41
|
+
secondary: "bg-secondary",
|
|
42
|
+
accent: "bg-accent",
|
|
43
|
+
success: "bg-success",
|
|
44
|
+
error: "bg-error",
|
|
45
|
+
warning: "bg-warning",
|
|
46
|
+
info: "bg-info"
|
|
47
|
+
};
|
|
48
|
+
var underlineIndicatorClasses = {
|
|
49
|
+
default: "bg-border",
|
|
50
|
+
primary: "bg-primary",
|
|
51
|
+
secondary: "bg-secondary",
|
|
52
|
+
accent: "bg-accent",
|
|
53
|
+
success: "bg-success",
|
|
54
|
+
error: "bg-error",
|
|
55
|
+
warning: "bg-warning",
|
|
56
|
+
info: "bg-info"
|
|
57
|
+
};
|
|
58
|
+
var createActiveTabVariants = (variant, classMap) => {
|
|
59
|
+
return componentColors.map((color) => ({
|
|
60
|
+
variant,
|
|
61
|
+
color,
|
|
62
|
+
active: true,
|
|
63
|
+
className: classMap[color] || classMap.default
|
|
64
|
+
}));
|
|
65
|
+
};
|
|
66
|
+
var tabListVariants = cva("flex relative", {
|
|
67
|
+
variants: {
|
|
68
|
+
size: {
|
|
69
|
+
xs: "gap-(--tabs-gap-xs)",
|
|
70
|
+
sm: "gap-(--tabs-gap-sm)",
|
|
71
|
+
md: "gap-(--tabs-gap-md)",
|
|
72
|
+
lg: "gap-(--tabs-gap-lg)"
|
|
73
|
+
},
|
|
74
|
+
variant: {
|
|
75
|
+
default: "border-b",
|
|
76
|
+
solid: "border-b",
|
|
77
|
+
soft: "border-b",
|
|
78
|
+
pill: "bg-surface p-0.5 rounded-lg border border-border gap-0 w-fit"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
defaultVariants: {
|
|
82
|
+
size: "md",
|
|
83
|
+
variant: "default"
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
var tabItemVariants = cva(
|
|
87
|
+
"relative z-[1] font-medium transition-colors duration-200 ease-out cursor-pointer flex items-center gap-2",
|
|
88
|
+
{
|
|
89
|
+
variants: {
|
|
90
|
+
size: {
|
|
91
|
+
xs: "text-xs px-(--tabs-padding-x-xs) py-(--tabs-padding-y-xs)",
|
|
92
|
+
sm: "text-sm px-(--tabs-padding-x-sm) py-(--tabs-padding-y-sm)",
|
|
93
|
+
md: "text-base px-(--tabs-padding-x-md) py-(--tabs-padding-y-md)",
|
|
94
|
+
lg: "text-lg px-(--tabs-padding-x-lg) py-(--tabs-padding-y-lg)"
|
|
95
|
+
},
|
|
96
|
+
variant: {
|
|
97
|
+
default: "pb-2 -mb-px",
|
|
98
|
+
solid: "pb-2 -mb-px",
|
|
99
|
+
soft: "pb-2 -mb-px",
|
|
100
|
+
pill: "rounded-md"
|
|
101
|
+
},
|
|
102
|
+
color: {
|
|
103
|
+
default: "",
|
|
104
|
+
primary: "",
|
|
105
|
+
secondary: "",
|
|
106
|
+
accent: "",
|
|
107
|
+
success: "",
|
|
108
|
+
error: "",
|
|
109
|
+
warning: "",
|
|
110
|
+
info: ""
|
|
111
|
+
},
|
|
112
|
+
active: {
|
|
113
|
+
true: "",
|
|
114
|
+
false: ""
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
compoundVariants: [
|
|
118
|
+
// Inactive states (all variants)
|
|
119
|
+
...componentColors.map((color) => ({
|
|
120
|
+
color,
|
|
121
|
+
active: false,
|
|
122
|
+
className: "text-text-secondary hover:text-text-primary"
|
|
123
|
+
})),
|
|
124
|
+
// Active pill variant
|
|
125
|
+
...createActiveTabVariants("pill", pillActiveClasses),
|
|
126
|
+
// Active default variant
|
|
127
|
+
...createActiveTabVariants("default", defaultActiveClasses),
|
|
128
|
+
// Active solid variant
|
|
129
|
+
...createActiveTabVariants("solid", defaultActiveClasses),
|
|
130
|
+
// Active soft variant
|
|
131
|
+
...createActiveTabVariants("soft", softActiveClasses),
|
|
132
|
+
// Inactive pill variant hover
|
|
133
|
+
...componentColors.map((color) => ({
|
|
134
|
+
variant: "pill",
|
|
135
|
+
color,
|
|
136
|
+
active: false,
|
|
137
|
+
className: "bg-transparent hover:bg-background/50"
|
|
138
|
+
}))
|
|
139
|
+
],
|
|
140
|
+
defaultVariants: {
|
|
141
|
+
size: "md",
|
|
142
|
+
variant: "default",
|
|
143
|
+
color: "primary",
|
|
144
|
+
active: false
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
);
|
|
148
|
+
var Tabs = React.memo(
|
|
149
|
+
({
|
|
150
|
+
items,
|
|
151
|
+
defaultActiveKey,
|
|
152
|
+
activeKey: controlledActiveKey,
|
|
153
|
+
color = "primary",
|
|
154
|
+
size = "md",
|
|
155
|
+
variant = "default",
|
|
156
|
+
onChange,
|
|
157
|
+
className,
|
|
158
|
+
classNames
|
|
159
|
+
}) => {
|
|
160
|
+
const [internalActiveKey, setInternalActiveKey] = useState(
|
|
161
|
+
defaultActiveKey || items[0]?.key || ""
|
|
162
|
+
);
|
|
163
|
+
const tabListRef = useRef(null);
|
|
164
|
+
const tabRefs = useRef(/* @__PURE__ */ new Map());
|
|
165
|
+
const [indicatorStyle, setIndicatorStyle] = useState(
|
|
166
|
+
{}
|
|
167
|
+
);
|
|
168
|
+
const [hasInitialized, setHasInitialized] = useState(false);
|
|
169
|
+
const uniqueId = useId();
|
|
170
|
+
const activeKey = controlledActiveKey !== void 0 ? controlledActiveKey : internalActiveKey;
|
|
171
|
+
useIsomorphicLayoutEffect(() => {
|
|
172
|
+
const activeTab = tabRefs.current.get(activeKey);
|
|
173
|
+
const tabList = tabListRef.current;
|
|
174
|
+
if (!activeTab || !tabList) return;
|
|
175
|
+
const listRect = tabList.getBoundingClientRect();
|
|
176
|
+
const tabRect = activeTab.getBoundingClientRect();
|
|
177
|
+
const isPill2 = variant === "pill";
|
|
178
|
+
if (isPill2) {
|
|
179
|
+
setIndicatorStyle({
|
|
180
|
+
transform: `translateX(${tabRect.left - listRect.left - 2}px)`,
|
|
181
|
+
width: `${tabRect.width}px`,
|
|
182
|
+
height: `${tabRect.height}px`,
|
|
183
|
+
opacity: 1
|
|
184
|
+
});
|
|
185
|
+
} else {
|
|
186
|
+
setIndicatorStyle({
|
|
187
|
+
transform: `translateX(${tabRect.left - listRect.left - 2}px)`,
|
|
188
|
+
width: `${tabRect.width}px`,
|
|
189
|
+
opacity: 1
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
if (!hasInitialized) {
|
|
193
|
+
requestAnimationFrame(() => setHasInitialized(true));
|
|
194
|
+
}
|
|
195
|
+
}, [activeKey, items, variant, size, hasInitialized]);
|
|
196
|
+
const handleTabClick = useCallback(
|
|
197
|
+
(key, disabled) => {
|
|
198
|
+
if (disabled) return;
|
|
199
|
+
if (controlledActiveKey === void 0) {
|
|
200
|
+
setInternalActiveKey(key);
|
|
201
|
+
}
|
|
202
|
+
onChange?.(key);
|
|
203
|
+
},
|
|
204
|
+
[controlledActiveKey, onChange]
|
|
205
|
+
);
|
|
206
|
+
const handleKeyDown = useCallback(
|
|
207
|
+
(event, currentIndex) => {
|
|
208
|
+
const enabledIndices = items.map((item, i) => !item.disabled ? i : -1).filter((i) => i !== -1);
|
|
209
|
+
const currentEnabledIndex = enabledIndices.indexOf(currentIndex);
|
|
210
|
+
let newIndex;
|
|
211
|
+
switch (event.key) {
|
|
212
|
+
case "ArrowLeft":
|
|
213
|
+
case "ArrowUp":
|
|
214
|
+
event.preventDefault();
|
|
215
|
+
newIndex = enabledIndices[currentEnabledIndex > 0 ? currentEnabledIndex - 1 : enabledIndices.length - 1];
|
|
216
|
+
break;
|
|
217
|
+
case "ArrowRight":
|
|
218
|
+
case "ArrowDown":
|
|
219
|
+
event.preventDefault();
|
|
220
|
+
newIndex = enabledIndices[currentEnabledIndex < enabledIndices.length - 1 ? currentEnabledIndex + 1 : 0];
|
|
221
|
+
break;
|
|
222
|
+
case "Home":
|
|
223
|
+
event.preventDefault();
|
|
224
|
+
newIndex = enabledIndices[0];
|
|
225
|
+
break;
|
|
226
|
+
case "End":
|
|
227
|
+
event.preventDefault();
|
|
228
|
+
newIndex = enabledIndices[enabledIndices.length - 1];
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
231
|
+
if (newIndex !== void 0) {
|
|
232
|
+
const newItem = items[newIndex];
|
|
233
|
+
if (newItem) {
|
|
234
|
+
handleTabClick(newItem.key);
|
|
235
|
+
const btn = tabRefs.current.get(newItem.key);
|
|
236
|
+
btn?.focus();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
[items, handleTabClick]
|
|
241
|
+
);
|
|
242
|
+
const activeItem = items.find((item) => item.key === activeKey);
|
|
243
|
+
const isPill = variant === "pill";
|
|
244
|
+
const indicatorColorClass = isPill ? pillIndicatorClasses[color] || pillIndicatorClasses.default : underlineIndicatorClasses[color] || underlineIndicatorClasses.default;
|
|
245
|
+
return /* @__PURE__ */ jsxs(
|
|
246
|
+
"div",
|
|
247
|
+
{
|
|
248
|
+
"data-slot": "tabs_root",
|
|
249
|
+
className: cn("tabs_root w-full", classNames?.root, className),
|
|
250
|
+
children: [
|
|
251
|
+
/* @__PURE__ */ jsxs(
|
|
252
|
+
"div",
|
|
253
|
+
{
|
|
254
|
+
ref: tabListRef,
|
|
255
|
+
role: "tablist",
|
|
256
|
+
"aria-orientation": "horizontal",
|
|
257
|
+
"data-slot": "tabs_list",
|
|
258
|
+
className: cn(
|
|
259
|
+
"tabs_list",
|
|
260
|
+
tabListVariants({ size, variant }),
|
|
261
|
+
variant !== "pill" && "border-border",
|
|
262
|
+
classNames?.list
|
|
263
|
+
),
|
|
264
|
+
children: [
|
|
265
|
+
/* @__PURE__ */ jsx(
|
|
266
|
+
"span",
|
|
267
|
+
{
|
|
268
|
+
"data-slot": "tabs_indicator",
|
|
269
|
+
className: cn(
|
|
270
|
+
"tabs_indicator absolute pointer-events-none",
|
|
271
|
+
isPill ? cn("rounded-md shadow-sm top-0.5", indicatorColorClass) : cn("bottom-0 h-0.5 rounded-full", indicatorColorClass),
|
|
272
|
+
hasInitialized ? "transition-[transform,width] duration-300 ease-out" : "",
|
|
273
|
+
classNames?.indicator
|
|
274
|
+
),
|
|
275
|
+
style: indicatorStyle,
|
|
276
|
+
"aria-hidden": "true"
|
|
277
|
+
}
|
|
278
|
+
),
|
|
279
|
+
items.map((item, index) => {
|
|
280
|
+
const isActive = item.key === activeKey;
|
|
281
|
+
const tabId = `tab-${uniqueId}-${item.key}`;
|
|
282
|
+
const panelId = `panel-${uniqueId}-${item.key}`;
|
|
283
|
+
return /* @__PURE__ */ jsxs(
|
|
284
|
+
"button",
|
|
285
|
+
{
|
|
286
|
+
ref: (el) => {
|
|
287
|
+
if (el) tabRefs.current.set(item.key, el);
|
|
288
|
+
else tabRefs.current.delete(item.key);
|
|
289
|
+
},
|
|
290
|
+
id: tabId,
|
|
291
|
+
role: "tab",
|
|
292
|
+
type: "button",
|
|
293
|
+
"aria-selected": isActive,
|
|
294
|
+
"aria-controls": panelId,
|
|
295
|
+
tabIndex: isActive ? 0 : -1,
|
|
296
|
+
"data-slot": "tabs_tab",
|
|
297
|
+
className: cn(
|
|
298
|
+
"tabs_tab",
|
|
299
|
+
tabItemVariants({
|
|
300
|
+
size,
|
|
301
|
+
variant,
|
|
302
|
+
color,
|
|
303
|
+
active: isActive
|
|
304
|
+
}),
|
|
305
|
+
item.disabled && "opacity-50 cursor-not-allowed",
|
|
306
|
+
classNames?.tab,
|
|
307
|
+
isActive && classNames?.tabActive
|
|
308
|
+
),
|
|
309
|
+
onClick: () => handleTabClick(item.key, item.disabled),
|
|
310
|
+
onKeyDown: (e) => handleKeyDown(e, index),
|
|
311
|
+
disabled: item.disabled,
|
|
312
|
+
children: [
|
|
313
|
+
item.icon && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: item.icon }),
|
|
314
|
+
item.label
|
|
315
|
+
]
|
|
316
|
+
},
|
|
317
|
+
item.key
|
|
318
|
+
);
|
|
319
|
+
})
|
|
320
|
+
]
|
|
321
|
+
}
|
|
322
|
+
),
|
|
323
|
+
activeItem?.content && /* @__PURE__ */ jsx(
|
|
324
|
+
"div",
|
|
325
|
+
{
|
|
326
|
+
id: `panel-${uniqueId}-${activeItem.key}`,
|
|
327
|
+
role: "tabpanel",
|
|
328
|
+
"aria-labelledby": `tab-${uniqueId}-${activeItem.key}`,
|
|
329
|
+
tabIndex: 0,
|
|
330
|
+
"data-slot": "tabs_panel",
|
|
331
|
+
className: cn(
|
|
332
|
+
"tabs_panel",
|
|
333
|
+
"py-4 animate-in fade-in slide-in-from-bottom-2 duration-300",
|
|
334
|
+
classNames?.panel
|
|
335
|
+
),
|
|
336
|
+
children: activeItem?.content
|
|
337
|
+
}
|
|
338
|
+
)
|
|
339
|
+
]
|
|
340
|
+
}
|
|
341
|
+
);
|
|
342
|
+
}
|
|
343
|
+
);
|
|
344
|
+
Tabs.displayName = "Tabs";
|
|
345
|
+
var tabs_default = Tabs;
|
|
346
|
+
|
|
347
|
+
export { tabs_default };
|
|
348
|
+
//# sourceMappingURL=chunk-6G3BMY4N.js.map
|
|
349
|
+
//# sourceMappingURL=chunk-6G3BMY4N.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tabs/index.tsx"],"names":["isPill"],"mappings":"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","file":"chunk-6G3BMY4N.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport React, {\n useState,\n useId,\n useCallback,\n useRef,\n useLayoutEffect,\n useEffect,\n} from \"react\";\n\nimport { cn } from \"../utils\";\nimport { componentColors } from \"../variants\";\nimport type { TabsColor, TabsProps, TabsVariant } from \"./types\";\n\n// Use useLayoutEffect on client, useEffect on server (SSR safe)\nconst useIsomorphicLayoutEffect =\n typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n\n// Static class mappings for Tailwind JIT compatibility\nconst pillActiveClasses: Record<string, string> = {\n default: \"text-text-primary\",\n primary: \"text-white\",\n secondary: \"text-white\",\n accent: \"text-white\",\n success: \"text-white\",\n error: \"text-white\",\n warning: \"text-white\",\n info: \"text-white\",\n};\n\nconst defaultActiveClasses: Record<string, string> = {\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\nconst softActiveClasses: Record<string, string> = {\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// Sliding indicator background colors for pill variant\nconst pillIndicatorClasses: Record<string, string> = {\n default: \"bg-background\",\n primary: \"bg-primary\",\n secondary: \"bg-secondary\",\n accent: \"bg-accent\",\n success: \"bg-success\",\n error: \"bg-error\",\n warning: \"bg-warning\",\n info: \"bg-info\",\n};\n\n// Sliding indicator colors for underline variants\nconst underlineIndicatorClasses: Record<string, string> = {\n default: \"bg-border\",\n primary: \"bg-primary\",\n secondary: \"bg-secondary\",\n accent: \"bg-accent\",\n success: \"bg-success\",\n error: \"bg-error\",\n warning: \"bg-warning\",\n info: \"bg-info\",\n};\n\n// Tab-specific variant generators for DRY\nconst createActiveTabVariants = (\n variant: TabsVariant,\n classMap: Record<string, string>,\n) => {\n return componentColors.map((color) => ({\n variant,\n color: color as TabsColor,\n active: true as const,\n className: classMap[color] || classMap.default,\n }));\n};\n\nconst tabListVariants = cva(\"flex relative\", {\n variants: {\n size: {\n xs: \"gap-(--tabs-gap-xs)\",\n sm: \"gap-(--tabs-gap-sm)\",\n md: \"gap-(--tabs-gap-md)\",\n lg: \"gap-(--tabs-gap-lg)\",\n },\n variant: {\n default: \"border-b\",\n solid: \"border-b\",\n soft: \"border-b\",\n pill: \"bg-surface p-0.5 rounded-lg border border-border gap-0 w-fit\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n});\n\nconst tabItemVariants = cva(\n \"relative z-[1] font-medium transition-colors duration-200 ease-out cursor-pointer flex items-center gap-2\",\n {\n variants: {\n size: {\n xs: \"text-xs px-(--tabs-padding-x-xs) py-(--tabs-padding-y-xs)\",\n sm: \"text-sm px-(--tabs-padding-x-sm) py-(--tabs-padding-y-sm)\",\n md: \"text-base px-(--tabs-padding-x-md) py-(--tabs-padding-y-md)\",\n lg: \"text-lg px-(--tabs-padding-x-lg) py-(--tabs-padding-y-lg)\",\n },\n variant: {\n default: \"pb-2 -mb-px\",\n solid: \"pb-2 -mb-px\",\n soft: \"pb-2 -mb-px\",\n pill: \"rounded-md\",\n },\n color: {\n default: \"\",\n primary: \"\",\n secondary: \"\",\n accent: \"\",\n success: \"\",\n error: \"\",\n warning: \"\",\n info: \"\",\n },\n active: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n // Inactive states (all variants)\n ...componentColors.map((color) => ({\n color: color as TabsColor,\n active: false as const,\n className: \"text-text-secondary hover:text-text-primary\",\n })),\n\n // Active pill variant\n ...createActiveTabVariants(\"pill\", pillActiveClasses),\n\n // Active default variant\n ...createActiveTabVariants(\"default\", defaultActiveClasses),\n\n // Active solid variant\n ...createActiveTabVariants(\"solid\", defaultActiveClasses),\n\n // Active soft variant\n ...createActiveTabVariants(\"soft\", softActiveClasses),\n\n // Inactive pill variant hover\n ...componentColors.map((color) => ({\n variant: \"pill\" as const,\n color: color as TabsColor,\n active: false as const,\n className: \"bg-transparent hover:bg-background/50\",\n })),\n ],\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n color: \"primary\",\n active: false,\n },\n },\n);\n\nconst Tabs = React.memo<TabsProps>(\n ({\n items,\n defaultActiveKey,\n activeKey: controlledActiveKey,\n color = \"primary\",\n size = \"md\",\n variant = \"default\",\n onChange,\n className,\n classNames,\n }) => {\n const [internalActiveKey, setInternalActiveKey] = useState(\n defaultActiveKey || items[0]?.key || \"\",\n );\n const tabListRef = useRef<HTMLDivElement>(null);\n const tabRefs = useRef<Map<string, HTMLButtonElement>>(new Map());\n const [indicatorStyle, setIndicatorStyle] = useState<React.CSSProperties>(\n {},\n );\n const [hasInitialized, setHasInitialized] = useState(false);\n\n // Generate unique IDs for accessibility\n const uniqueId = useId();\n\n const activeKey =\n controlledActiveKey !== undefined\n ? controlledActiveKey\n : internalActiveKey;\n\n // Measure and position the sliding indicator\n useIsomorphicLayoutEffect(() => {\n const activeTab = tabRefs.current.get(activeKey);\n const tabList = tabListRef.current;\n if (!activeTab || !tabList) return;\n\n const listRect = tabList.getBoundingClientRect();\n const tabRect = activeTab.getBoundingClientRect();\n\n const isPill = variant === \"pill\";\n\n if (isPill) {\n setIndicatorStyle({\n transform: `translateX(${tabRect.left - listRect.left - 2}px)`,\n width: `${tabRect.width}px`,\n height: `${tabRect.height}px`,\n opacity: 1,\n });\n } else {\n setIndicatorStyle({\n transform: `translateX(${tabRect.left - listRect.left - 2}px)`,\n width: `${tabRect.width}px`,\n opacity: 1,\n });\n }\n\n // Enable transitions after initial positioning\n if (!hasInitialized) {\n requestAnimationFrame(() => setHasInitialized(true));\n }\n }, [activeKey, items, variant, size, hasInitialized]);\n\n const handleTabClick = useCallback(\n (key: string, disabled?: boolean) => {\n if (disabled) return;\n\n if (controlledActiveKey === undefined) {\n setInternalActiveKey(key);\n }\n onChange?.(key);\n },\n [controlledActiveKey, onChange],\n );\n\n // Handle keyboard navigation (arrow keys, Home, End)\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>, currentIndex: number) => {\n const enabledIndices = items\n .map((item, i) => (!item.disabled ? i : -1))\n .filter((i): i is number => i !== -1);\n const currentEnabledIndex = enabledIndices.indexOf(currentIndex);\n\n let newIndex: number | undefined;\n\n switch (event.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n event.preventDefault();\n newIndex =\n enabledIndices[\n currentEnabledIndex > 0\n ? currentEnabledIndex - 1\n : enabledIndices.length - 1\n ];\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n event.preventDefault();\n newIndex =\n enabledIndices[\n currentEnabledIndex < enabledIndices.length - 1\n ? currentEnabledIndex + 1\n : 0\n ];\n break;\n case \"Home\":\n event.preventDefault();\n newIndex = enabledIndices[0];\n break;\n case \"End\":\n event.preventDefault();\n newIndex = enabledIndices[enabledIndices.length - 1];\n break;\n }\n\n if (newIndex !== undefined) {\n const newItem = items[newIndex];\n if (newItem) {\n handleTabClick(newItem.key);\n // Focus the new tab\n const btn = tabRefs.current.get(newItem.key);\n btn?.focus();\n }\n }\n },\n [items, handleTabClick],\n );\n\n const activeItem = items.find((item) => item.key === activeKey);\n const isPill = variant === \"pill\";\n\n // Indicator element class based on variant + color\n const indicatorColorClass = isPill\n ? pillIndicatorClasses[color] || pillIndicatorClasses.default\n : underlineIndicatorClasses[color] || underlineIndicatorClasses.default;\n\n return (\n <div\n data-slot=\"tabs_root\"\n className={cn(\"tabs_root w-full\", classNames?.root, className)}\n >\n <div\n ref={tabListRef}\n role=\"tablist\"\n aria-orientation=\"horizontal\"\n data-slot=\"tabs_list\"\n className={cn(\n \"tabs_list\",\n tabListVariants({ size, variant }),\n variant !== \"pill\" && \"border-border\",\n classNames?.list,\n )}\n >\n {/* Sliding indicator */}\n <span\n data-slot=\"tabs_indicator\"\n className={cn(\n \"tabs_indicator absolute pointer-events-none\",\n isPill\n ? cn(\"rounded-md shadow-sm top-0.5\", indicatorColorClass)\n : cn(\"bottom-0 h-0.5 rounded-full\", indicatorColorClass),\n hasInitialized\n ? \"transition-[transform,width] duration-300 ease-out\"\n : \"\",\n classNames?.indicator,\n )}\n style={indicatorStyle}\n aria-hidden=\"true\"\n />\n\n {items.map((item, index) => {\n const isActive = item.key === activeKey;\n const tabId = `tab-${uniqueId}-${item.key}`;\n const panelId = `panel-${uniqueId}-${item.key}`;\n\n return (\n <button\n key={item.key}\n ref={(el) => {\n if (el) tabRefs.current.set(item.key, el);\n else tabRefs.current.delete(item.key);\n }}\n id={tabId}\n role=\"tab\"\n type=\"button\"\n aria-selected={isActive}\n aria-controls={panelId}\n tabIndex={isActive ? 0 : -1}\n data-slot=\"tabs_tab\"\n className={cn(\n \"tabs_tab\",\n tabItemVariants({\n size,\n variant,\n color,\n active: isActive,\n }),\n item.disabled && \"opacity-50 cursor-not-allowed\",\n classNames?.tab,\n isActive && classNames?.tabActive,\n )}\n onClick={() => handleTabClick(item.key, item.disabled)}\n onKeyDown={(e) => handleKeyDown(e, index)}\n disabled={item.disabled}\n >\n {item.icon && <span aria-hidden=\"true\">{item.icon}</span>}\n {item.label}\n </button>\n );\n })}\n </div>\n\n {activeItem?.content && (\n <div\n id={`panel-${uniqueId}-${activeItem.key}`}\n role=\"tabpanel\"\n aria-labelledby={`tab-${uniqueId}-${activeItem.key}`}\n tabIndex={0}\n data-slot=\"tabs_panel\"\n className={cn(\n \"tabs_panel\",\n \"py-4 animate-in fade-in slide-in-from-bottom-2 duration-300\",\n classNames?.panel,\n )}\n >\n {activeItem?.content}\n </div>\n )}\n </div>\n );\n },\n);\n\nTabs.displayName = \"Tabs\";\n\nexport type { TabsClassNames } from \"./types\";\nexport type * from \"./types\";\nexport default Tabs;\n"]}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { cn } from './chunk-NGYLRX6F.js';
|
|
2
|
+
import { cva } from 'class-variance-authority';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var buttonGroupVariants = cva("inline-flex", {
|
|
7
|
+
variants: {
|
|
8
|
+
vertical: {
|
|
9
|
+
true: "flex-col",
|
|
10
|
+
false: "flex-row"
|
|
11
|
+
},
|
|
12
|
+
fullWidth: {
|
|
13
|
+
true: "w-full [&>*]:flex-1",
|
|
14
|
+
false: ""
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
defaultVariants: {
|
|
18
|
+
vertical: false,
|
|
19
|
+
fullWidth: false
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
var attachedHorizontalClasses = "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:last-child)]:border-r-0 [&>*:not(:last-child)]:rounded-r-none";
|
|
23
|
+
var attachedVerticalClasses = "[&>*:not(:first-child)]:rounded-t-none [&>*:not(:last-child)]:border-b-0 [&>*:not(:last-child)]:rounded-b-none";
|
|
24
|
+
var gapClasses = {
|
|
25
|
+
sm: "gap-1",
|
|
26
|
+
md: "gap-2",
|
|
27
|
+
lg: "gap-3"
|
|
28
|
+
};
|
|
29
|
+
var ButtonGroup = React.memo(
|
|
30
|
+
({
|
|
31
|
+
vertical = false,
|
|
32
|
+
attached = true,
|
|
33
|
+
gap = "md",
|
|
34
|
+
fullWidth = false,
|
|
35
|
+
size,
|
|
36
|
+
variant,
|
|
37
|
+
color,
|
|
38
|
+
shape,
|
|
39
|
+
disabled = false,
|
|
40
|
+
className,
|
|
41
|
+
classNames,
|
|
42
|
+
children,
|
|
43
|
+
ref,
|
|
44
|
+
...props
|
|
45
|
+
}) => {
|
|
46
|
+
const enhancedChildren = React.Children.map(children, (child) => {
|
|
47
|
+
if (React.isValidElement(child)) {
|
|
48
|
+
return React.cloneElement(child, {
|
|
49
|
+
// Group props are defaults - child props take precedence
|
|
50
|
+
size: child.props.size ?? size,
|
|
51
|
+
variant: child.props.variant ?? variant,
|
|
52
|
+
color: child.props.color ?? color,
|
|
53
|
+
shape: child.props.shape ?? shape,
|
|
54
|
+
// Disabled is additive - if group is disabled, all children are disabled
|
|
55
|
+
disabled: child.props.disabled || disabled,
|
|
56
|
+
// Apply button classNames from ButtonGroup
|
|
57
|
+
className: cn(classNames?.button, child.props.className)
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return child;
|
|
61
|
+
});
|
|
62
|
+
return /* @__PURE__ */ jsx(
|
|
63
|
+
"div",
|
|
64
|
+
{
|
|
65
|
+
ref,
|
|
66
|
+
role: "group",
|
|
67
|
+
className: cn(
|
|
68
|
+
"buttonGroup_root",
|
|
69
|
+
buttonGroupVariants({ vertical, fullWidth }),
|
|
70
|
+
attached ? vertical ? attachedVerticalClasses : attachedHorizontalClasses : gapClasses[gap],
|
|
71
|
+
classNames?.root,
|
|
72
|
+
className
|
|
73
|
+
),
|
|
74
|
+
"data-slot": "root",
|
|
75
|
+
...props,
|
|
76
|
+
children: enhancedChildren
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
ButtonGroup.displayName = "ButtonGroup";
|
|
82
|
+
var button_group_default = ButtonGroup;
|
|
83
|
+
|
|
84
|
+
export { button_group_default };
|
|
85
|
+
//# sourceMappingURL=chunk-6HGUDHHE.js.map
|
|
86
|
+
//# sourceMappingURL=chunk-6HGUDHHE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/button-group/index.tsx"],"names":[],"mappings":";;;;;AAOA,IAAM,mBAAA,GAAsB,IAAI,aAAA,EAAe;AAAA,EAC7C,QAAA,EAAU;AAAA,IACR,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,UAAA;AAAA,MACN,KAAA,EAAO;AAAA,KACT;AAAA,IACA,SAAA,EAAW;AAAA,MACT,IAAA,EAAM,qBAAA;AAAA,MACN,KAAA,EAAO;AAAA;AACT,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,QAAA,EAAU,KAAA;AAAA,IACV,SAAA,EAAW;AAAA;AAEf,CAAC,CAAA;AAKD,IAAM,yBAAA,GACJ,gHAAA;AAEF,IAAM,uBAAA,GACJ,gHAAA;AAKF,IAAM,UAAA,GAAa;AAAA,EACjB,EAAA,EAAI,OAAA;AAAA,EACJ,EAAA,EAAI,OAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AA8BA,IAAM,cAAc,KAAA,CAAM,IAAA;AAAA,EACxB,CAAC;AAAA,IACC,QAAA,GAAW,KAAA;AAAA,IACX,QAAA,GAAW,IAAA;AAAA,IACX,GAAA,GAAM,IAAA;AAAA,IACN,SAAA,GAAY,KAAA;AAAA,IACZ,IAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA,GAAW,KAAA;AAAA,IACX,SAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAM;AAEJ,IAAA,MAAM,mBAAmB,KAAA,CAAM,QAAA,CAAS,GAAA,CAAI,QAAA,EAAU,CAAC,KAAA,KAAU;AAC/D,MAAA,IAAI,KAAA,CAAM,cAAA,CAA4B,KAAK,CAAA,EAAG;AAC5C,QAAA,OAAO,KAAA,CAAM,aAAa,KAAA,EAAO;AAAA;AAAA,UAE/B,IAAA,EAAM,KAAA,CAAM,KAAA,CAAM,IAAA,IAAQ,IAAA;AAAA,UAC1B,OAAA,EAAS,KAAA,CAAM,KAAA,CAAM,OAAA,IAAW,OAAA;AAAA,UAChC,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,KAAA,IAAS,KAAA;AAAA,UAC5B,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,KAAA,IAAS,KAAA;AAAA;AAAA,UAE5B,QAAA,EAAU,KAAA,CAAM,KAAA,CAAM,QAAA,IAAY,QAAA;AAAA;AAAA,UAElC,WAAW,EAAA,CAAG,UAAA,EAAY,MAAA,EAAQ,KAAA,CAAM,MAAM,SAAS;AAAA,SACxD,CAAA;AAAA,MACH;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAK,OAAA;AAAA,QACL,SAAA,EAAW,EAAA;AAAA,UACT,kBAAA;AAAA,UACA,mBAAA,CAAoB,EAAE,QAAA,EAAU,SAAA,EAAW,CAAA;AAAA,UAC3C,QAAA,GACI,QAAA,GACE,uBAAA,GACA,yBAAA,GACF,WAAW,GAAG,CAAA;AAAA,UAClB,UAAA,EAAY,IAAA;AAAA,UACZ;AAAA,SACF;AAAA,QACA,WAAA,EAAU,MAAA;AAAA,QACT,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACF,CAAA;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA;AAG1B,IAAO,oBAAA,GAAQ","file":"chunk-6HGUDHHE.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport type { ButtonProps } from '../button/types'\nimport { cn } from '../utils'\nimport type { ButtonGroupProps } from './types'\n\nconst buttonGroupVariants = cva('inline-flex', {\n variants: {\n vertical: {\n true: 'flex-col',\n false: 'flex-row',\n },\n fullWidth: {\n true: 'w-full [&>*]:flex-1',\n false: '',\n },\n },\n defaultVariants: {\n vertical: false,\n fullWidth: false,\n },\n})\n\n/**\n * Attached button styling - removes inner borders and rounds only outer corners\n */\nconst attachedHorizontalClasses =\n '[&>*:not(:first-child)]:rounded-l-none [&>*:not(:last-child)]:border-r-0 [&>*:not(:last-child)]:rounded-r-none'\n\nconst attachedVerticalClasses =\n '[&>*:not(:first-child)]:rounded-t-none [&>*:not(:last-child)]:border-b-0 [&>*:not(:last-child)]:rounded-b-none'\n\n/**\n * Gap size classes\n */\nconst gapClasses = {\n sm: 'gap-1',\n md: 'gap-2',\n lg: 'gap-3',\n}\n\n/**\n * ButtonGroup Component\n *\n * Groups multiple buttons together with consistent styling and spacing.\n * Can propagate common props (size, variant, color, disabled) to all child buttons.\n *\n * @example\n * // Basic horizontal group\n * <ButtonGroup>\n * <Button>Save</Button>\n * <Button>Cancel</Button>\n * </ButtonGroup>\n *\n * @example\n * // Vertical group with uniform styling\n * <ButtonGroup vertical variant=\"outline\" size=\"sm\">\n * <Button>Option 1</Button>\n * <Button>Option 2</Button>\n * </ButtonGroup>\n *\n * @example\n * // Separated buttons with gap\n * <ButtonGroup attached={false} gap=\"md\">\n * <Button>A</Button>\n * <Button>B</Button>\n * <Button>C</Button>\n * </ButtonGroup>\n */\nconst ButtonGroup = React.memo<ButtonGroupProps>(\n ({\n vertical = false,\n attached = true,\n gap = 'md',\n fullWidth = false,\n size,\n variant,\n color,\n shape,\n disabled = false,\n className,\n classNames,\n children,\n ref,\n ...props\n }) => {\n // Clone children and inject group props\n const enhancedChildren = React.Children.map(children, (child) => {\n if (React.isValidElement<ButtonProps>(child)) {\n return React.cloneElement(child, {\n // Group props are defaults - child props take precedence\n size: child.props.size ?? size,\n variant: child.props.variant ?? variant,\n color: child.props.color ?? color,\n shape: child.props.shape ?? shape,\n // Disabled is additive - if group is disabled, all children are disabled\n disabled: child.props.disabled || disabled,\n // Apply button classNames from ButtonGroup\n className: cn(classNames?.button, child.props.className),\n })\n }\n return child\n })\n\n return (\n <div\n ref={ref}\n role=\"group\"\n className={cn(\n 'buttonGroup_root',\n buttonGroupVariants({ vertical, fullWidth }),\n attached\n ? vertical\n ? attachedVerticalClasses\n : attachedHorizontalClasses\n : gapClasses[gap],\n classNames?.root,\n className,\n )}\n data-slot=\"root\"\n {...props}\n >\n {enhancedChildren}\n </div>\n )\n },\n)\n\nButtonGroup.displayName = 'ButtonGroup'\n\nexport type * from './types'\nexport default ButtonGroup\n"]}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { getValidationStatus, cn, statusMessageVariants } from './chunk-NGYLRX6F.js';
|
|
2
|
+
import { cva } from 'class-variance-authority';
|
|
3
|
+
import React, { useId } from 'react';
|
|
4
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var textareaVariants = cva(
|
|
7
|
+
"w-full rounded-md focus:border-primary transition-colors text-text-primary placeholder:text-text-secondary/50 disabled:opacity-50 disabled:cursor-not-allowed read-only:bg-surface read-only:cursor-default outline-none",
|
|
8
|
+
{
|
|
9
|
+
variants: {
|
|
10
|
+
variant: {
|
|
11
|
+
outline: "bg-background border border-border",
|
|
12
|
+
filled: "bg-surface border border-transparent"
|
|
13
|
+
},
|
|
14
|
+
status: {
|
|
15
|
+
default: "",
|
|
16
|
+
error: "!border-error focus:!border-error",
|
|
17
|
+
warning: "!border-warning focus:!border-warning",
|
|
18
|
+
info: "!border-info focus:!border-info",
|
|
19
|
+
success: "!border-success focus:!border-success"
|
|
20
|
+
},
|
|
21
|
+
size: {
|
|
22
|
+
xs: "min-h-(--textarea-min-height-xs) p-(--textarea-padding-xs) text-xs",
|
|
23
|
+
sm: "min-h-(--textarea-min-height-sm) p-(--textarea-padding-sm) text-sm",
|
|
24
|
+
md: "min-h-(--textarea-min-height-md) p-(--textarea-padding-md) text-base",
|
|
25
|
+
lg: "min-h-(--textarea-min-height-lg) p-(--textarea-padding-lg) text-lg"
|
|
26
|
+
},
|
|
27
|
+
resize: {
|
|
28
|
+
none: "resize-none",
|
|
29
|
+
vertical: "resize-y",
|
|
30
|
+
horizontal: "resize-x",
|
|
31
|
+
both: "resize"
|
|
32
|
+
},
|
|
33
|
+
fullWidth: {
|
|
34
|
+
true: "w-full",
|
|
35
|
+
false: "max-w-full"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
defaultVariants: {
|
|
39
|
+
variant: "outline",
|
|
40
|
+
status: "default",
|
|
41
|
+
size: "md",
|
|
42
|
+
resize: "vertical",
|
|
43
|
+
fullWidth: true
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
var Textarea = React.memo(
|
|
48
|
+
({
|
|
49
|
+
variant = "outline",
|
|
50
|
+
size = "md",
|
|
51
|
+
label,
|
|
52
|
+
helperText,
|
|
53
|
+
messagePosition = "bottom",
|
|
54
|
+
error,
|
|
55
|
+
warning,
|
|
56
|
+
info,
|
|
57
|
+
success,
|
|
58
|
+
resize = "vertical",
|
|
59
|
+
showCount = false,
|
|
60
|
+
maxLength,
|
|
61
|
+
autoResize = false,
|
|
62
|
+
fullWidth = true,
|
|
63
|
+
className,
|
|
64
|
+
classNames,
|
|
65
|
+
value,
|
|
66
|
+
onChange,
|
|
67
|
+
ref,
|
|
68
|
+
...props
|
|
69
|
+
}) => {
|
|
70
|
+
const internalRef = React.useRef(null);
|
|
71
|
+
const textareaRef = ref || internalRef;
|
|
72
|
+
const [internalValue, setInternalValue] = React.useState(value || "");
|
|
73
|
+
const currentValue = value !== void 0 ? value : internalValue;
|
|
74
|
+
const currentLength = String(currentValue).length;
|
|
75
|
+
const uniqueId = useId();
|
|
76
|
+
const textareaId = props.id || `textarea-${uniqueId}`;
|
|
77
|
+
const helperId = `textarea-helper-${uniqueId}`;
|
|
78
|
+
const { status, message: helperMessage } = getValidationStatus({
|
|
79
|
+
error,
|
|
80
|
+
warning,
|
|
81
|
+
info,
|
|
82
|
+
success,
|
|
83
|
+
helperText
|
|
84
|
+
});
|
|
85
|
+
const handleChange = React.useCallback(
|
|
86
|
+
(e) => {
|
|
87
|
+
if (value === void 0) {
|
|
88
|
+
setInternalValue(e.target.value);
|
|
89
|
+
}
|
|
90
|
+
onChange?.(e);
|
|
91
|
+
},
|
|
92
|
+
[value, onChange]
|
|
93
|
+
);
|
|
94
|
+
React.useEffect(() => {
|
|
95
|
+
if (autoResize && textareaRef.current) {
|
|
96
|
+
textareaRef.current.style.height = "auto";
|
|
97
|
+
textareaRef.current.style.height = `${textareaRef.current.scrollHeight}px`;
|
|
98
|
+
}
|
|
99
|
+
}, [currentValue, autoResize, textareaRef]);
|
|
100
|
+
const textareaElement = /* @__PURE__ */ jsx(
|
|
101
|
+
"textarea",
|
|
102
|
+
{
|
|
103
|
+
ref: textareaRef,
|
|
104
|
+
id: textareaId,
|
|
105
|
+
className: cn(
|
|
106
|
+
"textarea_textarea",
|
|
107
|
+
textareaVariants({
|
|
108
|
+
variant,
|
|
109
|
+
status,
|
|
110
|
+
size,
|
|
111
|
+
resize: autoResize ? "none" : resize,
|
|
112
|
+
fullWidth
|
|
113
|
+
}),
|
|
114
|
+
autoResize && "overflow-hidden",
|
|
115
|
+
className,
|
|
116
|
+
classNames?.textarea
|
|
117
|
+
),
|
|
118
|
+
maxLength,
|
|
119
|
+
value: currentValue,
|
|
120
|
+
onChange: handleChange,
|
|
121
|
+
"aria-invalid": status === "error",
|
|
122
|
+
"aria-describedby": helperMessage ? helperId : void 0,
|
|
123
|
+
...props
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
return /* @__PURE__ */ jsxs(
|
|
127
|
+
"div",
|
|
128
|
+
{
|
|
129
|
+
className: cn(
|
|
130
|
+
"textarea_root",
|
|
131
|
+
"w-full flex flex-col relative",
|
|
132
|
+
!fullWidth && "inline-block",
|
|
133
|
+
classNames?.root
|
|
134
|
+
),
|
|
135
|
+
children: [
|
|
136
|
+
/* @__PURE__ */ jsxs("div", { className: cn("textarea_wrapper", "flex gap-2 items-center relative mb-0.5", classNames?.wrapper), children: [
|
|
137
|
+
label && /* @__PURE__ */ jsxs("label", { htmlFor: textareaId, className: cn("textarea_label", "text-sm font-medium text-text-secondary", classNames?.label), children: [
|
|
138
|
+
label,
|
|
139
|
+
props.required && /* @__PURE__ */ jsx("span", { className: cn("textarea_error", "text-error ml-1", classNames?.error), children: "*" })
|
|
140
|
+
] }),
|
|
141
|
+
helperMessage && messagePosition === "top" && /* @__PURE__ */ jsx(
|
|
142
|
+
"p",
|
|
143
|
+
{
|
|
144
|
+
id: helperId,
|
|
145
|
+
className: cn("textarea_helper", statusMessageVariants({ status }), classNames?.helper),
|
|
146
|
+
children: helperMessage
|
|
147
|
+
}
|
|
148
|
+
),
|
|
149
|
+
showCount && maxLength && /* @__PURE__ */ jsxs("span", { className: cn("textarea_counter", "text-xs text-text-secondary absolute right-0", classNames?.counter), children: [
|
|
150
|
+
currentLength,
|
|
151
|
+
"/",
|
|
152
|
+
maxLength
|
|
153
|
+
] })
|
|
154
|
+
] }),
|
|
155
|
+
textareaElement,
|
|
156
|
+
helperMessage && messagePosition === "bottom" && /* @__PURE__ */ jsx(
|
|
157
|
+
"p",
|
|
158
|
+
{
|
|
159
|
+
id: helperId,
|
|
160
|
+
className: cn("textarea_helper", statusMessageVariants({ status }), "mt-0.5", classNames?.helper),
|
|
161
|
+
children: helperMessage
|
|
162
|
+
}
|
|
163
|
+
)
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
Textarea.displayName = "Textarea";
|
|
170
|
+
var textarea_default = Textarea;
|
|
171
|
+
|
|
172
|
+
export { textarea_default };
|
|
173
|
+
//# sourceMappingURL=chunk-6JGNJI5T.js.map
|
|
174
|
+
//# sourceMappingURL=chunk-6JGNJI5T.js.map
|