@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,42 @@
|
|
|
1
|
+
import { textColorClasses } from './chunk-POXI7JJ4.js';
|
|
2
|
+
import { cn } from './chunk-NGYLRX6F.js';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var spinnerVariants = cva(
|
|
7
|
+
"inline-block border border-current border-t-transparent rounded-full animate-spin",
|
|
8
|
+
{
|
|
9
|
+
variants: {
|
|
10
|
+
size: {
|
|
11
|
+
xs: "w-3 h-3 border",
|
|
12
|
+
sm: "w-4 h-4 border",
|
|
13
|
+
md: "w-6 h-6 border-2",
|
|
14
|
+
lg: "w-8 h-8 border-2"
|
|
15
|
+
},
|
|
16
|
+
color: textColorClasses
|
|
17
|
+
},
|
|
18
|
+
defaultVariants: {
|
|
19
|
+
size: "sm",
|
|
20
|
+
color: "primary"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
var Spinner = ({ size = "sm", color = "primary", label, className }) => {
|
|
25
|
+
return /* @__PURE__ */ jsxs("div", { "data-slot": "root", className: cn("spinner_root", "inline-flex flex-col items-center gap-2", className), children: [
|
|
26
|
+
/* @__PURE__ */ jsx(
|
|
27
|
+
"div",
|
|
28
|
+
{
|
|
29
|
+
className: spinnerVariants({ size, color }),
|
|
30
|
+
role: "status",
|
|
31
|
+
"aria-label": label || "Loading"
|
|
32
|
+
}
|
|
33
|
+
),
|
|
34
|
+
label && /* @__PURE__ */ jsx("span", { className: "text-sm text-text-secondary", children: label })
|
|
35
|
+
] });
|
|
36
|
+
};
|
|
37
|
+
Spinner.displayName = "Spinner";
|
|
38
|
+
var spinner_default = Spinner;
|
|
39
|
+
|
|
40
|
+
export { Spinner, spinner_default };
|
|
41
|
+
//# sourceMappingURL=chunk-Y4XAXZHB.js.map
|
|
42
|
+
//# sourceMappingURL=chunk-Y4XAXZHB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/spinner/index.tsx"],"names":[],"mappings":";;;;;AAOA,IAAM,eAAA,GAAkB,GAAA;AAAA,EACtB,mFAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,gBAAA;AAAA,QACJ,EAAA,EAAI,gBAAA;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACN;AAAA,MACA,KAAA,EAAO;AAAA,KACT;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM,IAAA;AAAA,MACN,KAAA,EAAO;AAAA;AACT;AAEJ,CAAA;AAEO,IAAM,OAAA,GAAkC,CAAC,EAAE,IAAA,GAAO,MAAM,KAAA,GAAQ,SAAA,EAAW,KAAA,EAAO,SAAA,EAAU,KAAM;AACvG,EAAA,uBACE,IAAA,CAAC,SAAI,WAAA,EAAU,MAAA,EAAO,WAAW,EAAA,CAAG,cAAA,EAAgB,yCAAA,EAA2C,SAAS,CAAA,EACtG,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,eAAA,CAAgB,EAAE,IAAA,EAAM,OAAO,CAAA;AAAA,QAC1C,IAAA,EAAK,QAAA;AAAA,QACL,cAAY,KAAA,IAAS;AAAA;AAAA,KACvB;AAAA,IACC,KAAA,oBAAS,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,+BAA+B,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACjE,CAAA;AAEJ;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA;AAGtB,IAAO,eAAA,GAAQ","file":"chunk-Y4XAXZHB.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport { textColorClasses } from '../variants'\nimport type { SpinnerProps } from './types'\n\nconst spinnerVariants = cva(\n 'inline-block border border-current border-t-transparent rounded-full animate-spin',\n {\n variants: {\n size: {\n xs: 'w-3 h-3 border',\n sm: 'w-4 h-4 border',\n md: 'w-6 h-6 border-2',\n lg: 'w-8 h-8 border-2',\n },\n color: textColorClasses,\n },\n defaultVariants: {\n size: 'sm',\n color: 'primary',\n },\n },\n)\n\nexport const Spinner: React.FC<SpinnerProps> = ({ size = 'sm', color = 'primary', label, className }) => {\n return (\n <div data-slot=\"root\" className={cn('spinner_root', 'inline-flex flex-col items-center gap-2', className)}>\n <div\n className={spinnerVariants({ size, color })}\n role=\"status\"\n aria-label={label || 'Loading'}\n />\n {label && <span className=\"text-sm text-text-secondary\">{label}</span>}\n </div>\n )\n}\n\nSpinner.displayName = 'Spinner'\n\nexport type * from './types'\nexport default Spinner\n"]}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { cn } from './chunk-NGYLRX6F.js';
|
|
2
|
+
import React, { useId } from 'react';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var scrollbarSizes = {
|
|
7
|
+
xs: "4px",
|
|
8
|
+
sm: "6px",
|
|
9
|
+
md: "8px",
|
|
10
|
+
lg: "10px"
|
|
11
|
+
};
|
|
12
|
+
var scrollAreaVariants = cva("scroll-area_root relative overflow-hidden", {
|
|
13
|
+
variants: {
|
|
14
|
+
size: {
|
|
15
|
+
xs: "",
|
|
16
|
+
sm: "",
|
|
17
|
+
md: "",
|
|
18
|
+
lg: ""
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
defaultVariants: {
|
|
22
|
+
size: "md"
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
var ScrollArea = React.memo(
|
|
26
|
+
({
|
|
27
|
+
children,
|
|
28
|
+
maxHeight,
|
|
29
|
+
maxWidth,
|
|
30
|
+
direction = "vertical",
|
|
31
|
+
size = "md",
|
|
32
|
+
scrollbarVisibility = "auto",
|
|
33
|
+
className,
|
|
34
|
+
classNames,
|
|
35
|
+
ref,
|
|
36
|
+
style,
|
|
37
|
+
...props
|
|
38
|
+
}) => {
|
|
39
|
+
const scrollId = useId().replace(/:/g, "");
|
|
40
|
+
const scrollClass = `scroll-area-${scrollId}`;
|
|
41
|
+
const thickness = scrollbarSizes[size];
|
|
42
|
+
const getOverflowClass = () => {
|
|
43
|
+
if (direction === "vertical") return "overflow-y-auto overflow-x-hidden";
|
|
44
|
+
if (direction === "horizontal") return "overflow-x-auto overflow-y-hidden";
|
|
45
|
+
return "overflow-auto";
|
|
46
|
+
};
|
|
47
|
+
const viewportStyle = {
|
|
48
|
+
...style,
|
|
49
|
+
...maxHeight && { maxHeight: typeof maxHeight === "number" ? `${maxHeight}px` : maxHeight },
|
|
50
|
+
...maxWidth && { maxWidth: typeof maxWidth === "number" ? `${maxWidth}px` : maxWidth }
|
|
51
|
+
};
|
|
52
|
+
const getScrollbarStyles = () => {
|
|
53
|
+
const baseOpacity = scrollbarVisibility === "hover" ? "0" : "1";
|
|
54
|
+
const hoverOpacity = "1";
|
|
55
|
+
return `
|
|
56
|
+
/* Firefox */
|
|
57
|
+
.${scrollClass} {
|
|
58
|
+
scrollbar-width: thin;
|
|
59
|
+
scrollbar-color: hsl(var(--color-border)) transparent;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/* Webkit (Chrome, Safari, Edge) */
|
|
63
|
+
.${scrollClass}::-webkit-scrollbar {
|
|
64
|
+
width: ${direction !== "horizontal" ? thickness : "0"};
|
|
65
|
+
height: ${direction !== "vertical" ? thickness : "0"};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.${scrollClass}::-webkit-scrollbar-track {
|
|
69
|
+
background: transparent;
|
|
70
|
+
border-radius: ${thickness};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.${scrollClass}::-webkit-scrollbar-thumb {
|
|
74
|
+
background: hsl(var(--color-border));
|
|
75
|
+
border-radius: ${thickness};
|
|
76
|
+
opacity: ${baseOpacity};
|
|
77
|
+
transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.${scrollClass}::-webkit-scrollbar-thumb:hover {
|
|
81
|
+
background: hsl(var(--color-border-strong));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
${scrollbarVisibility === "hover" ? `
|
|
85
|
+
.${scrollClass}:hover::-webkit-scrollbar-thumb {
|
|
86
|
+
opacity: ${hoverOpacity};
|
|
87
|
+
}
|
|
88
|
+
` : ""}
|
|
89
|
+
|
|
90
|
+
.${scrollClass}::-webkit-scrollbar-corner {
|
|
91
|
+
background: transparent;
|
|
92
|
+
}
|
|
93
|
+
`;
|
|
94
|
+
};
|
|
95
|
+
return /* @__PURE__ */ jsxs(
|
|
96
|
+
"div",
|
|
97
|
+
{
|
|
98
|
+
ref,
|
|
99
|
+
className: cn(
|
|
100
|
+
scrollAreaVariants({ size }),
|
|
101
|
+
classNames?.root,
|
|
102
|
+
className
|
|
103
|
+
),
|
|
104
|
+
"data-slot": "root",
|
|
105
|
+
...props,
|
|
106
|
+
children: [
|
|
107
|
+
/* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: getScrollbarStyles() } }),
|
|
108
|
+
/* @__PURE__ */ jsx(
|
|
109
|
+
"div",
|
|
110
|
+
{
|
|
111
|
+
className: cn(
|
|
112
|
+
"scroll-area_viewport",
|
|
113
|
+
scrollClass,
|
|
114
|
+
getOverflowClass(),
|
|
115
|
+
classNames?.viewport
|
|
116
|
+
),
|
|
117
|
+
style: viewportStyle,
|
|
118
|
+
"data-slot": "viewport",
|
|
119
|
+
children
|
|
120
|
+
}
|
|
121
|
+
)
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
ScrollArea.displayName = "ScrollArea";
|
|
128
|
+
var scroll_area_default = ScrollArea;
|
|
129
|
+
|
|
130
|
+
export { scroll_area_default };
|
|
131
|
+
//# sourceMappingURL=chunk-YJOLLSHH.js.map
|
|
132
|
+
//# sourceMappingURL=chunk-YJOLLSHH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/scroll-area/index.tsx"],"names":[],"mappings":"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","file":"chunk-YJOLLSHH.js","sourcesContent":["'use client'\n\nimport React, { useId } from 'react'\nimport { cva } from 'class-variance-authority'\n\nimport { cn } from '../utils'\nimport type { ScrollAreaProps, ScrollAreaSize } from './types'\n\n/**\n * Scrollbar thickness by size\n */\nconst scrollbarSizes: Record<ScrollAreaSize, string> = {\n xs: '4px',\n sm: '6px',\n md: '8px',\n lg: '10px',\n}\n\n/**\n * ScrollArea root variants\n */\nconst scrollAreaVariants = cva('scroll-area_root relative overflow-hidden', {\n variants: {\n size: {\n xs: '',\n sm: '',\n md: '',\n lg: '',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\n/**\n * ScrollArea Component\n * Provides a customizable scrollable container with styled scrollbars\n */\nconst ScrollArea = React.memo<ScrollAreaProps>(\n ({\n children,\n maxHeight,\n maxWidth,\n direction = 'vertical',\n size = 'md',\n scrollbarVisibility = 'auto',\n className,\n classNames,\n ref,\n style,\n ...props\n }) => {\n const scrollId = useId().replace(/:/g, '')\n const scrollClass = `scroll-area-${scrollId}`\n const thickness = scrollbarSizes[size]\n\n // Determine overflow based on direction\n const getOverflowClass = () => {\n if (direction === 'vertical') return 'overflow-y-auto overflow-x-hidden'\n if (direction === 'horizontal') return 'overflow-x-auto overflow-y-hidden'\n return 'overflow-auto'\n }\n\n // Build style object\n const viewportStyle: React.CSSProperties = {\n ...style,\n ...(maxHeight && { maxHeight: typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight }),\n ...(maxWidth && { maxWidth: typeof maxWidth === 'number' ? `${maxWidth}px` : maxWidth }),\n }\n\n // Generate scrollbar CSS based on visibility\n const getScrollbarStyles = () => {\n const baseOpacity = scrollbarVisibility === 'hover' ? '0' : '1'\n const hoverOpacity = '1'\n\n return `\n /* Firefox */\n .${scrollClass} {\n scrollbar-width: thin;\n scrollbar-color: hsl(var(--color-border)) transparent;\n }\n\n /* Webkit (Chrome, Safari, Edge) */\n .${scrollClass}::-webkit-scrollbar {\n width: ${direction !== 'horizontal' ? thickness : '0'};\n height: ${direction !== 'vertical' ? thickness : '0'};\n }\n\n .${scrollClass}::-webkit-scrollbar-track {\n background: transparent;\n border-radius: ${thickness};\n }\n\n .${scrollClass}::-webkit-scrollbar-thumb {\n background: hsl(var(--color-border));\n border-radius: ${thickness};\n opacity: ${baseOpacity};\n transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;\n }\n\n .${scrollClass}::-webkit-scrollbar-thumb:hover {\n background: hsl(var(--color-border-strong));\n }\n\n ${\n scrollbarVisibility === 'hover'\n ? `\n .${scrollClass}:hover::-webkit-scrollbar-thumb {\n opacity: ${hoverOpacity};\n }\n `\n : ''\n }\n\n .${scrollClass}::-webkit-scrollbar-corner {\n background: transparent;\n }\n `\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n scrollAreaVariants({ size }),\n classNames?.root,\n className,\n )}\n data-slot=\"root\"\n {...props}\n >\n <style dangerouslySetInnerHTML={{ __html: getScrollbarStyles() }} />\n <div\n className={cn(\n 'scroll-area_viewport',\n scrollClass,\n getOverflowClass(),\n classNames?.viewport,\n )}\n style={viewportStyle}\n data-slot=\"viewport\"\n >\n {children}\n </div>\n </div>\n )\n },\n)\n\nScrollArea.displayName = 'ScrollArea'\n\nexport type * from './types'\nexport default ScrollArea\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { bgSkeletonColorClasses } from './chunk-POXI7JJ4.js';
|
|
2
|
+
import { cn } from './chunk-NGYLRX6F.js';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { jsx } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
var skeletonVariants = cva("animate-pulse rounded", {
|
|
8
|
+
variants: {
|
|
9
|
+
size: {
|
|
10
|
+
xs: "h-3",
|
|
11
|
+
sm: "h-4",
|
|
12
|
+
md: "h-5",
|
|
13
|
+
lg: "h-6"
|
|
14
|
+
},
|
|
15
|
+
color: bgSkeletonColorClasses
|
|
16
|
+
},
|
|
17
|
+
defaultVariants: {
|
|
18
|
+
size: "md",
|
|
19
|
+
color: "default"
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
var Skeleton = React.memo(
|
|
23
|
+
({ color = "default", size = "md", className, circle = false }) => {
|
|
24
|
+
return /* @__PURE__ */ jsx(
|
|
25
|
+
"div",
|
|
26
|
+
{
|
|
27
|
+
"data-slot": "root",
|
|
28
|
+
className: cn(
|
|
29
|
+
"skeleton_root",
|
|
30
|
+
skeletonVariants({ size, color }),
|
|
31
|
+
circle && "rounded-full aspect-square",
|
|
32
|
+
className
|
|
33
|
+
)
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
);
|
|
38
|
+
Skeleton.displayName = "Skeleton";
|
|
39
|
+
var skeleton_default = Skeleton;
|
|
40
|
+
|
|
41
|
+
export { skeleton_default };
|
|
42
|
+
//# sourceMappingURL=chunk-YS5AIY4A.js.map
|
|
43
|
+
//# sourceMappingURL=chunk-YS5AIY4A.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/skeleton/index.tsx"],"names":[],"mappings":";;;;;;AAOA,IAAM,gBAAA,GAAmB,IAAI,uBAAA,EAAyB;AAAA,EACpD,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,KAAA;AAAA,MACJ,EAAA,EAAI,KAAA;AAAA,MACJ,EAAA,EAAI,KAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAAA,IACA,KAAA,EAAO;AAAA,GACT;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,IAAA;AAAA,IACN,KAAA,EAAO;AAAA;AAEX,CAAC,CAAA;AAED,IAAM,WAAW,KAAA,CAAM,IAAA;AAAA,EACrB,CAAC,EAAE,KAAA,GAAQ,SAAA,EAAW,OAAO,IAAA,EAAM,SAAA,EAAW,MAAA,GAAS,KAAA,EAAM,KAAM;AACjE,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,MAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,eAAA;AAAA,UACA,gBAAA,CAAiB,EAAE,IAAA,EAAM,KAAA,EAAO,CAAA;AAAA,UAChC,MAAA,IAAU,4BAAA;AAAA,UACV;AAAA;AACF;AAAA,KACF;AAAA,EAEJ;AACF,CAAA;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;AAGvB,IAAO,gBAAA,GAAQ","file":"chunk-YS5AIY4A.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport { bgSkeletonColorClasses } from '../variants'\nimport type { SkeletonProps } from './types'\n\nconst skeletonVariants = cva('animate-pulse rounded', {\n variants: {\n size: {\n xs: 'h-3',\n sm: 'h-4',\n md: 'h-5',\n lg: 'h-6',\n },\n color: bgSkeletonColorClasses,\n },\n defaultVariants: {\n size: 'md',\n color: 'default',\n },\n})\n\nconst Skeleton = React.memo<SkeletonProps>(\n ({ color = 'default', size = 'md', className, circle = false }) => {\n return (\n <div\n data-slot=\"root\"\n className={cn(\n 'skeleton_root',\n skeletonVariants({ size, color }),\n circle && 'rounded-full aspect-square',\n className,\n )}\n />\n )\n },\n)\n\nSkeleton.displayName = 'Skeleton'\n\nexport type * from './types'\nexport default Skeleton\n"]}
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
import { cn } from './chunk-NGYLRX6F.js';
|
|
2
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { XIcon } from 'lucide-react';
|
|
5
|
+
import * as React from 'react';
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
function Modal({
|
|
9
|
+
...props
|
|
10
|
+
}) {
|
|
11
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Root, { "data-slot": "modal", ...props });
|
|
12
|
+
}
|
|
13
|
+
function ModalTrigger({
|
|
14
|
+
className,
|
|
15
|
+
...props
|
|
16
|
+
}) {
|
|
17
|
+
return /* @__PURE__ */ jsx(
|
|
18
|
+
DialogPrimitive.Trigger,
|
|
19
|
+
{
|
|
20
|
+
"data-slot": "modal-trigger",
|
|
21
|
+
className: cn("modal_trigger", className),
|
|
22
|
+
...props
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
function ModalPortal({
|
|
27
|
+
...props
|
|
28
|
+
}) {
|
|
29
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { "data-slot": "modal-portal", ...props });
|
|
30
|
+
}
|
|
31
|
+
function ModalClose({
|
|
32
|
+
className,
|
|
33
|
+
...props
|
|
34
|
+
}) {
|
|
35
|
+
return /* @__PURE__ */ jsx(
|
|
36
|
+
DialogPrimitive.Close,
|
|
37
|
+
{
|
|
38
|
+
"data-slot": "modal-close",
|
|
39
|
+
className: cn("modal_close", className),
|
|
40
|
+
...props
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
var modalOverlayVariants = cva(
|
|
45
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-sm",
|
|
46
|
+
{
|
|
47
|
+
variants: {
|
|
48
|
+
opacity: {
|
|
49
|
+
light: "bg-black/10",
|
|
50
|
+
medium: "bg-black/20",
|
|
51
|
+
heavy: "bg-black/40"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
defaultVariants: {
|
|
55
|
+
opacity: "medium"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
function ModalOverlay({
|
|
60
|
+
className,
|
|
61
|
+
opacity = "medium",
|
|
62
|
+
classNames,
|
|
63
|
+
...props
|
|
64
|
+
}) {
|
|
65
|
+
return /* @__PURE__ */ jsx(
|
|
66
|
+
DialogPrimitive.Overlay,
|
|
67
|
+
{
|
|
68
|
+
"data-slot": "modal-overlay",
|
|
69
|
+
className: cn(
|
|
70
|
+
"modal_overlay",
|
|
71
|
+
modalOverlayVariants({ opacity }),
|
|
72
|
+
classNames?.overlay,
|
|
73
|
+
className
|
|
74
|
+
),
|
|
75
|
+
...props
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
var modalContentVariants = cva(
|
|
80
|
+
"bg-background will-change-[transform,_opacity] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] rounded-md border duration-200",
|
|
81
|
+
{
|
|
82
|
+
variants: {
|
|
83
|
+
size: {
|
|
84
|
+
xs: "max-w-(--modal-max-width-xs) gap-(--modal-gap-xs) p-(--modal-padding-xs) sm:max-w-(--modal-max-width-xs)",
|
|
85
|
+
sm: "max-w-(--modal-max-width-sm) gap-(--modal-gap-sm) p-(--modal-padding-sm) sm:max-w-(--modal-max-width-sm)",
|
|
86
|
+
md: "max-w-(--modal-max-width-md) gap-(--modal-gap-md) p-(--modal-padding-md) sm:max-w-(--modal-max-width-md)",
|
|
87
|
+
lg: "max-w-(--modal-max-width-lg) gap-(--modal-gap-lg) p-(--modal-padding-lg) sm:max-w-(--modal-max-width-lg)"
|
|
88
|
+
},
|
|
89
|
+
color: {
|
|
90
|
+
default: "border-border",
|
|
91
|
+
primary: "border-primary border-l-4",
|
|
92
|
+
secondary: "border-secondary border-l-4",
|
|
93
|
+
accent: "border-accent border-l-4",
|
|
94
|
+
success: "border-success border-l-4",
|
|
95
|
+
error: "border-error border-l-4",
|
|
96
|
+
warning: "border-warning border-l-4",
|
|
97
|
+
info: "border-info border-l-4"
|
|
98
|
+
},
|
|
99
|
+
centered: {
|
|
100
|
+
true: "text-center",
|
|
101
|
+
false: ""
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
defaultVariants: {
|
|
105
|
+
size: "md",
|
|
106
|
+
color: "default",
|
|
107
|
+
centered: false
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
var modalCloseVariants = cva(
|
|
112
|
+
"absolute right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-hidden cursor-pointer disabled:pointer-events-none text-text-secondary hover:text-text-primary [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
113
|
+
{
|
|
114
|
+
variants: {
|
|
115
|
+
size: {
|
|
116
|
+
xs: "top-3 [&_svg]:size-3.5",
|
|
117
|
+
sm: "top-3 [&_svg]:size-3.5",
|
|
118
|
+
md: "top-4 [&_svg]:size-4",
|
|
119
|
+
lg: "top-6 [&_svg]:size-5"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
defaultVariants: {
|
|
123
|
+
size: "md"
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
function ModalContent({
|
|
128
|
+
className,
|
|
129
|
+
children,
|
|
130
|
+
showCloseButton = true,
|
|
131
|
+
size = "md",
|
|
132
|
+
color = "default",
|
|
133
|
+
centered = false,
|
|
134
|
+
classNames,
|
|
135
|
+
...props
|
|
136
|
+
}) {
|
|
137
|
+
return /* @__PURE__ */ jsxs(ModalPortal, { "data-slot": "modal-portal", children: [
|
|
138
|
+
/* @__PURE__ */ jsx(ModalOverlay, { classNames }),
|
|
139
|
+
/* @__PURE__ */ jsxs(
|
|
140
|
+
DialogPrimitive.Content,
|
|
141
|
+
{
|
|
142
|
+
"data-slot": "modal-content",
|
|
143
|
+
className: cn(
|
|
144
|
+
"modal_content",
|
|
145
|
+
modalContentVariants({ size, color, centered }),
|
|
146
|
+
classNames?.content,
|
|
147
|
+
className
|
|
148
|
+
),
|
|
149
|
+
...props,
|
|
150
|
+
children: [
|
|
151
|
+
children,
|
|
152
|
+
showCloseButton && /* @__PURE__ */ jsxs(
|
|
153
|
+
DialogPrimitive.Close,
|
|
154
|
+
{
|
|
155
|
+
"data-slot": "modal-close",
|
|
156
|
+
className: cn(
|
|
157
|
+
"modal_closeButton",
|
|
158
|
+
modalCloseVariants({ size }),
|
|
159
|
+
classNames?.closeButton
|
|
160
|
+
),
|
|
161
|
+
children: [
|
|
162
|
+
/* @__PURE__ */ jsx(XIcon, {}),
|
|
163
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
)
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
)
|
|
170
|
+
] });
|
|
171
|
+
}
|
|
172
|
+
var modalHeaderVariants = cva("flex flex-col text-text-primary", {
|
|
173
|
+
variants: {
|
|
174
|
+
size: {
|
|
175
|
+
xs: "gap-1.5",
|
|
176
|
+
sm: "gap-1.5",
|
|
177
|
+
md: "gap-2",
|
|
178
|
+
lg: "gap-3"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
defaultVariants: {
|
|
182
|
+
size: "md"
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
var ModalHeader = React.memo(function ModalHeader2({ className, size = "md", classNames, ...props }) {
|
|
186
|
+
return /* @__PURE__ */ jsx(
|
|
187
|
+
"div",
|
|
188
|
+
{
|
|
189
|
+
"data-slot": "modal-header",
|
|
190
|
+
className: cn(
|
|
191
|
+
"modal_header",
|
|
192
|
+
modalHeaderVariants({ size }),
|
|
193
|
+
classNames?.header,
|
|
194
|
+
className
|
|
195
|
+
),
|
|
196
|
+
...props
|
|
197
|
+
}
|
|
198
|
+
);
|
|
199
|
+
});
|
|
200
|
+
var modalFooterVariants = cva(
|
|
201
|
+
"flex flex-col-reverse sm:flex-row sm:justify-end",
|
|
202
|
+
{
|
|
203
|
+
variants: {
|
|
204
|
+
size: {
|
|
205
|
+
xs: "gap-1.5",
|
|
206
|
+
sm: "gap-1.5",
|
|
207
|
+
md: "gap-2",
|
|
208
|
+
lg: "gap-3"
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
defaultVariants: {
|
|
212
|
+
size: "md"
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
);
|
|
216
|
+
var ModalFooter = React.memo(function ModalFooter2({ className, size = "md", classNames, ...props }) {
|
|
217
|
+
return /* @__PURE__ */ jsx(
|
|
218
|
+
"div",
|
|
219
|
+
{
|
|
220
|
+
"data-slot": "modal-footer",
|
|
221
|
+
className: cn(
|
|
222
|
+
"modal_footer",
|
|
223
|
+
modalFooterVariants({ size }),
|
|
224
|
+
classNames?.footer,
|
|
225
|
+
className
|
|
226
|
+
),
|
|
227
|
+
...props
|
|
228
|
+
}
|
|
229
|
+
);
|
|
230
|
+
});
|
|
231
|
+
var modalTitleVariants = cva("leading-none font-semibold text-text-primary", {
|
|
232
|
+
variants: {
|
|
233
|
+
size: {
|
|
234
|
+
xs: "text-base",
|
|
235
|
+
sm: "text-base",
|
|
236
|
+
md: "text-lg",
|
|
237
|
+
lg: "text-2xl"
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
defaultVariants: {
|
|
241
|
+
size: "md"
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
var ModalTitle = React.memo(function ModalTitle2({ className, size = "md", classNames, ...props }) {
|
|
245
|
+
return /* @__PURE__ */ jsx(
|
|
246
|
+
DialogPrimitive.Title,
|
|
247
|
+
{
|
|
248
|
+
"data-slot": "modal-title",
|
|
249
|
+
className: cn(
|
|
250
|
+
"modal_title",
|
|
251
|
+
modalTitleVariants({ size }),
|
|
252
|
+
classNames?.title,
|
|
253
|
+
className
|
|
254
|
+
),
|
|
255
|
+
...props
|
|
256
|
+
}
|
|
257
|
+
);
|
|
258
|
+
});
|
|
259
|
+
var modalDescriptionVariants = cva("text-text-secondary", {
|
|
260
|
+
variants: {
|
|
261
|
+
size: {
|
|
262
|
+
xs: "text-xs",
|
|
263
|
+
sm: "text-xs",
|
|
264
|
+
md: "text-sm",
|
|
265
|
+
lg: "text-base"
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
defaultVariants: {
|
|
269
|
+
size: "md"
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
var ModalDescription = React.memo(function ModalDescription2({ className, size = "md", classNames, ...props }) {
|
|
273
|
+
return /* @__PURE__ */ jsx(
|
|
274
|
+
DialogPrimitive.Description,
|
|
275
|
+
{
|
|
276
|
+
"data-slot": "modal-description",
|
|
277
|
+
className: cn(
|
|
278
|
+
"modal_description",
|
|
279
|
+
modalDescriptionVariants({ size }),
|
|
280
|
+
classNames?.description,
|
|
281
|
+
className
|
|
282
|
+
),
|
|
283
|
+
...props
|
|
284
|
+
}
|
|
285
|
+
);
|
|
286
|
+
});
|
|
287
|
+
function ComposedModal({
|
|
288
|
+
open,
|
|
289
|
+
onOpenChange,
|
|
290
|
+
title,
|
|
291
|
+
description,
|
|
292
|
+
children,
|
|
293
|
+
footer,
|
|
294
|
+
size = "md",
|
|
295
|
+
color = "default",
|
|
296
|
+
centered = false,
|
|
297
|
+
showCloseButton = true,
|
|
298
|
+
hideHeader = false,
|
|
299
|
+
hideFooter = false,
|
|
300
|
+
className,
|
|
301
|
+
contentClassName,
|
|
302
|
+
classNames
|
|
303
|
+
}) {
|
|
304
|
+
return /* @__PURE__ */ jsx(Modal, { open, onOpenChange, children: /* @__PURE__ */ jsxs(
|
|
305
|
+
ModalContent,
|
|
306
|
+
{
|
|
307
|
+
size,
|
|
308
|
+
color,
|
|
309
|
+
centered,
|
|
310
|
+
showCloseButton,
|
|
311
|
+
className: contentClassName,
|
|
312
|
+
classNames,
|
|
313
|
+
children: [
|
|
314
|
+
!hideHeader && (title || description) && /* @__PURE__ */ jsxs(
|
|
315
|
+
ModalHeader,
|
|
316
|
+
{
|
|
317
|
+
size,
|
|
318
|
+
className,
|
|
319
|
+
classNames,
|
|
320
|
+
children: [
|
|
321
|
+
title && /* @__PURE__ */ jsx(ModalTitle, { size, classNames, children: title }),
|
|
322
|
+
description && /* @__PURE__ */ jsx(ModalDescription, { size, classNames, children: description })
|
|
323
|
+
]
|
|
324
|
+
}
|
|
325
|
+
),
|
|
326
|
+
/* @__PURE__ */ jsx("div", { className: cn("modal_body", classNames?.body), children }),
|
|
327
|
+
!hideFooter && footer && /* @__PURE__ */ jsx(ModalFooter, { size, classNames, children: footer })
|
|
328
|
+
]
|
|
329
|
+
}
|
|
330
|
+
) });
|
|
331
|
+
}
|
|
332
|
+
var modal_default = ComposedModal;
|
|
333
|
+
|
|
334
|
+
export { Modal, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalOverlay, ModalPortal, ModalTitle, ModalTrigger, modal_default };
|
|
335
|
+
//# sourceMappingURL=chunk-YXLIGJTN.js.map
|
|
336
|
+
//# sourceMappingURL=chunk-YXLIGJTN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modal/index.tsx"],"names":["ModalHeader","ModalFooter","ModalTitle","ModalDescription"],"mappings":"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","file":"chunk-YXLIGJTN.js","sourcesContent":["\"use client\";\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { cva } from \"class-variance-authority\";\nimport { XIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"../utils\";\nimport type {\n ComposedModalProps,\n ModalClassNames,\n ModalColor,\n ModalSize,\n} from \"./types\";\n\nfunction Modal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"modal\" {...props} />;\n}\n\nfunction ModalTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return (\n <DialogPrimitive.Trigger\n data-slot=\"modal-trigger\"\n className={cn(\"modal_trigger\", className)}\n {...props}\n />\n );\n}\n\nfunction ModalPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"modal-portal\" {...props} />;\n}\n\nfunction ModalClose({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return (\n <DialogPrimitive.Close\n data-slot=\"modal-close\"\n className={cn(\"modal_close\", className)}\n {...props}\n />\n );\n}\n\nconst modalOverlayVariants = cva(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-sm\",\n {\n variants: {\n opacity: {\n light: \"bg-black/10\",\n medium: \"bg-black/20\",\n heavy: \"bg-black/40\",\n },\n },\n defaultVariants: {\n opacity: \"medium\",\n },\n },\n);\n\nfunction ModalOverlay({\n className,\n opacity = \"medium\",\n classNames,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay> & {\n opacity?: \"light\" | \"medium\" | \"heavy\";\n classNames?: ModalClassNames;\n}) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"modal-overlay\"\n className={cn(\n \"modal_overlay\",\n modalOverlayVariants({ opacity }),\n classNames?.overlay,\n className,\n )}\n {...props}\n />\n );\n}\n\nconst modalContentVariants = cva(\n \"bg-background will-change-[transform,_opacity] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] rounded-md border duration-200\",\n {\n variants: {\n size: {\n xs: \"max-w-(--modal-max-width-xs) gap-(--modal-gap-xs) p-(--modal-padding-xs) sm:max-w-(--modal-max-width-xs)\",\n sm: \"max-w-(--modal-max-width-sm) gap-(--modal-gap-sm) p-(--modal-padding-sm) sm:max-w-(--modal-max-width-sm)\",\n md: \"max-w-(--modal-max-width-md) gap-(--modal-gap-md) p-(--modal-padding-md) sm:max-w-(--modal-max-width-md)\",\n lg: \"max-w-(--modal-max-width-lg) gap-(--modal-gap-lg) p-(--modal-padding-lg) sm:max-w-(--modal-max-width-lg)\",\n },\n color: {\n default: \"border-border\",\n primary: \"border-primary border-l-4\",\n secondary: \"border-secondary border-l-4\",\n accent: \"border-accent border-l-4\",\n success: \"border-success border-l-4\",\n error: \"border-error border-l-4\",\n warning: \"border-warning border-l-4\",\n info: \"border-info border-l-4\",\n },\n centered: {\n true: \"text-center\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n color: \"default\",\n centered: false,\n },\n },\n);\n\nconst modalCloseVariants = cva(\n \"absolute right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-hidden cursor-pointer disabled:pointer-events-none text-text-secondary hover:text-text-primary [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n size: {\n xs: \"top-3 [&_svg]:size-3.5\",\n sm: \"top-3 [&_svg]:size-3.5\",\n md: \"top-4 [&_svg]:size-4\",\n lg: \"top-6 [&_svg]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\nfunction ModalContent({\n className,\n children,\n showCloseButton = true,\n size = \"md\",\n color = \"default\",\n centered = false,\n classNames,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n size?: ModalSize;\n color?: ModalColor;\n centered?: boolean;\n classNames?: ModalClassNames;\n}) {\n return (\n <ModalPortal data-slot=\"modal-portal\">\n <ModalOverlay classNames={classNames} />\n <DialogPrimitive.Content\n data-slot=\"modal-content\"\n className={cn(\n \"modal_content\",\n modalContentVariants({ size, color, centered }),\n classNames?.content,\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"modal-close\"\n className={cn(\n \"modal_closeButton\",\n modalCloseVariants({ size }),\n classNames?.closeButton,\n )}\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </ModalPortal>\n );\n}\n\nconst modalHeaderVariants = cva(\"flex flex-col text-text-primary\", {\n variants: {\n size: {\n xs: \"gap-1.5\",\n sm: \"gap-1.5\",\n md: \"gap-2\",\n lg: \"gap-3\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\n// Performance optimization: Memoize Modal subcomponents to prevent unnecessary\n// re-renders when modal state changes but subcomponent props haven't changed\nconst ModalHeader = React.memo<\n React.ComponentProps<\"div\"> & {\n size?: ModalSize;\n classNames?: ModalClassNames;\n }\n>(function ModalHeader({ className, size = \"md\", classNames, ...props }) {\n return (\n <div\n data-slot=\"modal-header\"\n className={cn(\n \"modal_header\",\n modalHeaderVariants({ size }),\n classNames?.header,\n className,\n )}\n {...props}\n />\n );\n});\n\nconst modalFooterVariants = cva(\n \"flex flex-col-reverse sm:flex-row sm:justify-end\",\n {\n variants: {\n size: {\n xs: \"gap-1.5\",\n sm: \"gap-1.5\",\n md: \"gap-2\",\n lg: \"gap-3\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\nconst ModalFooter = React.memo<\n React.ComponentProps<\"div\"> & {\n size?: ModalSize;\n classNames?: ModalClassNames;\n }\n>(function ModalFooter({ className, size = \"md\", classNames, ...props }) {\n return (\n <div\n data-slot=\"modal-footer\"\n className={cn(\n \"modal_footer\",\n modalFooterVariants({ size }),\n classNames?.footer,\n className,\n )}\n {...props}\n />\n );\n});\n\nconst modalTitleVariants = cva(\"leading-none font-semibold text-text-primary\", {\n variants: {\n size: {\n xs: \"text-base\",\n sm: \"text-base\",\n md: \"text-lg\",\n lg: \"text-2xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst ModalTitle = React.memo<\n React.ComponentProps<typeof DialogPrimitive.Title> & {\n size?: ModalSize;\n classNames?: ModalClassNames;\n }\n>(function ModalTitle({ className, size = \"md\", classNames, ...props }) {\n return (\n <DialogPrimitive.Title\n data-slot=\"modal-title\"\n className={cn(\n \"modal_title\",\n modalTitleVariants({ size }),\n classNames?.title,\n className,\n )}\n {...props}\n />\n );\n});\n\nconst modalDescriptionVariants = cva(\"text-text-secondary\", {\n variants: {\n size: {\n xs: \"text-xs\",\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst ModalDescription = React.memo<\n React.ComponentProps<typeof DialogPrimitive.Description> & {\n size?: ModalSize;\n classNames?: ModalClassNames;\n }\n>(function ModalDescription({ className, size = \"md\", classNames, ...props }) {\n return (\n <DialogPrimitive.Description\n data-slot=\"modal-description\"\n className={cn(\n \"modal_description\",\n modalDescriptionVariants({ size }),\n classNames?.description,\n className,\n )}\n {...props}\n />\n );\n});\n\nfunction ComposedModal({\n open,\n onOpenChange,\n title,\n description,\n children,\n footer,\n size = \"md\",\n color = \"default\",\n centered = false,\n showCloseButton = true,\n hideHeader = false,\n hideFooter = false,\n className,\n contentClassName,\n classNames,\n}: ComposedModalProps) {\n return (\n <Modal open={open} onOpenChange={onOpenChange}>\n <ModalContent\n size={size}\n color={color}\n centered={centered}\n showCloseButton={showCloseButton}\n className={contentClassName}\n classNames={classNames}\n >\n {!hideHeader && (title || description) && (\n <ModalHeader\n size={size}\n className={className}\n classNames={classNames}\n >\n {title && (\n <ModalTitle size={size} classNames={classNames}>\n {title}\n </ModalTitle>\n )}\n {description && (\n <ModalDescription size={size} classNames={classNames}>\n {description}\n </ModalDescription>\n )}\n </ModalHeader>\n )}\n <div className={cn(\"modal_body\", classNames?.body)}>{children}</div>\n {!hideFooter && footer && (\n <ModalFooter size={size} classNames={classNames}>\n {footer}\n </ModalFooter>\n )}\n </ModalContent>\n </Modal>\n );\n}\n\nexport type * from \"./types\";\nexport {\n Modal,\n ModalClose,\n ModalContent,\n ModalDescription,\n ModalFooter,\n ModalHeader,\n ModalOverlay,\n ModalPortal,\n ModalTitle,\n ModalTrigger,\n};\nexport default ComposedModal;\n"]}
|