mokona-ui 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +273 -0
- package/dist/accordion.cjs +13 -0
- package/dist/accordion.cjs.map +1 -0
- package/dist/accordion.d.cts +21 -0
- package/dist/accordion.d.ts +21 -0
- package/dist/accordion.js +4 -0
- package/dist/accordion.js.map +1 -0
- package/dist/alert.cjs +13 -0
- package/dist/alert.cjs.map +1 -0
- package/dist/alert.d.cts +14 -0
- package/dist/alert.d.ts +14 -0
- package/dist/alert.js +4 -0
- package/dist/alert.js.map +1 -0
- package/dist/amount.cjs +18 -0
- package/dist/amount.cjs.map +1 -0
- package/dist/amount.d.cts +39 -0
- package/dist/amount.d.ts +39 -0
- package/dist/amount.js +5 -0
- package/dist/amount.js.map +1 -0
- package/dist/avatar.cjs +13 -0
- package/dist/avatar.cjs.map +1 -0
- package/dist/avatar.d.cts +16 -0
- package/dist/avatar.d.ts +16 -0
- package/dist/avatar.js +4 -0
- package/dist/avatar.js.map +1 -0
- package/dist/badge.cjs +17 -0
- package/dist/badge.cjs.map +1 -0
- package/dist/badge.d.cts +13 -0
- package/dist/badge.d.ts +13 -0
- package/dist/badge.js +4 -0
- package/dist/badge.js.map +1 -0
- package/dist/bottom-sheet.cjs +14 -0
- package/dist/bottom-sheet.cjs.map +1 -0
- package/dist/bottom-sheet.d.cts +14 -0
- package/dist/bottom-sheet.d.ts +14 -0
- package/dist/bottom-sheet.js +5 -0
- package/dist/bottom-sheet.js.map +1 -0
- package/dist/button.cjs +18 -0
- package/dist/button.cjs.map +1 -0
- package/dist/button.d.cts +16 -0
- package/dist/button.d.ts +16 -0
- package/dist/button.js +5 -0
- package/dist/button.js.map +1 -0
- package/dist/calendar.cjs +14 -0
- package/dist/calendar.cjs.map +1 -0
- package/dist/calendar.d.cts +13 -0
- package/dist/calendar.d.ts +13 -0
- package/dist/calendar.js +5 -0
- package/dist/calendar.js.map +1 -0
- package/dist/card.cjs +18 -0
- package/dist/card.cjs.map +1 -0
- package/dist/card.d.cts +14 -0
- package/dist/card.d.ts +14 -0
- package/dist/card.js +5 -0
- package/dist/card.js.map +1 -0
- package/dist/checkbox.cjs +14 -0
- package/dist/checkbox.cjs.map +1 -0
- package/dist/checkbox.d.cts +9 -0
- package/dist/checkbox.d.ts +9 -0
- package/dist/checkbox.js +5 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/chip.cjs +14 -0
- package/dist/chip.cjs.map +1 -0
- package/dist/chip.d.cts +9 -0
- package/dist/chip.d.ts +9 -0
- package/dist/chip.js +5 -0
- package/dist/chip.js.map +1 -0
- package/dist/chunk-27EKI7CM.cjs +74 -0
- package/dist/chunk-27EKI7CM.cjs.map +1 -0
- package/dist/chunk-2AOEUASU.cjs +123 -0
- package/dist/chunk-2AOEUASU.cjs.map +1 -0
- package/dist/chunk-355VBEHS.js +51 -0
- package/dist/chunk-355VBEHS.js.map +1 -0
- package/dist/chunk-4C6E37KK.js +134 -0
- package/dist/chunk-4C6E37KK.js.map +1 -0
- package/dist/chunk-4S23TNFZ.cjs +115 -0
- package/dist/chunk-4S23TNFZ.cjs.map +1 -0
- package/dist/chunk-4V3IOZPC.cjs +61 -0
- package/dist/chunk-4V3IOZPC.cjs.map +1 -0
- package/dist/chunk-4YQPDHZP.cjs +69 -0
- package/dist/chunk-4YQPDHZP.cjs.map +1 -0
- package/dist/chunk-6CMR4MT4.js +101 -0
- package/dist/chunk-6CMR4MT4.js.map +1 -0
- package/dist/chunk-7B6U7GED.js +67 -0
- package/dist/chunk-7B6U7GED.js.map +1 -0
- package/dist/chunk-7GQ4YVJR.js +68 -0
- package/dist/chunk-7GQ4YVJR.js.map +1 -0
- package/dist/chunk-AFX7CBRR.cjs +97 -0
- package/dist/chunk-AFX7CBRR.cjs.map +1 -0
- package/dist/chunk-ARXXD2ZI.cjs +75 -0
- package/dist/chunk-ARXXD2ZI.cjs.map +1 -0
- package/dist/chunk-BCX5S6PO.js +41 -0
- package/dist/chunk-BCX5S6PO.js.map +1 -0
- package/dist/chunk-BJWRAJEH.cjs +61 -0
- package/dist/chunk-BJWRAJEH.cjs.map +1 -0
- package/dist/chunk-CX55SVMP.js +68 -0
- package/dist/chunk-CX55SVMP.js.map +1 -0
- package/dist/chunk-CZ4RHRM2.cjs +130 -0
- package/dist/chunk-CZ4RHRM2.cjs.map +1 -0
- package/dist/chunk-DDV6JQEW.js +57 -0
- package/dist/chunk-DDV6JQEW.js.map +1 -0
- package/dist/chunk-DR6JPBH7.js +126 -0
- package/dist/chunk-DR6JPBH7.js.map +1 -0
- package/dist/chunk-EVF7QZMA.cjs +46 -0
- package/dist/chunk-EVF7QZMA.cjs.map +1 -0
- package/dist/chunk-EXARWE5B.js +56 -0
- package/dist/chunk-EXARWE5B.js.map +1 -0
- package/dist/chunk-FUIIR7CU.js +32 -0
- package/dist/chunk-FUIIR7CU.js.map +1 -0
- package/dist/chunk-FXOOVZWB.js +39 -0
- package/dist/chunk-FXOOVZWB.js.map +1 -0
- package/dist/chunk-FYFPGECC.js +39 -0
- package/dist/chunk-FYFPGECC.js.map +1 -0
- package/dist/chunk-GFZKSV7F.cjs +73 -0
- package/dist/chunk-GFZKSV7F.cjs.map +1 -0
- package/dist/chunk-GGXFXP6U.js +130 -0
- package/dist/chunk-GGXFXP6U.js.map +1 -0
- package/dist/chunk-HLRY4SDE.js +43 -0
- package/dist/chunk-HLRY4SDE.js.map +1 -0
- package/dist/chunk-HYWJ73QZ.cjs +155 -0
- package/dist/chunk-HYWJ73QZ.cjs.map +1 -0
- package/dist/chunk-I2ANUQHL.js +81 -0
- package/dist/chunk-I2ANUQHL.js.map +1 -0
- package/dist/chunk-IDASIFTM.js +56 -0
- package/dist/chunk-IDASIFTM.js.map +1 -0
- package/dist/chunk-IH7OSDQI.js +70 -0
- package/dist/chunk-IH7OSDQI.js.map +1 -0
- package/dist/chunk-IOBAQ35P.js +42 -0
- package/dist/chunk-IOBAQ35P.js.map +1 -0
- package/dist/chunk-IVANXF6O.js +107 -0
- package/dist/chunk-IVANXF6O.js.map +1 -0
- package/dist/chunk-JGO5TBYB.cjs +58 -0
- package/dist/chunk-JGO5TBYB.cjs.map +1 -0
- package/dist/chunk-JQ55FV4C.js +75 -0
- package/dist/chunk-JQ55FV4C.js.map +1 -0
- package/dist/chunk-JQDD6AYM.js +52 -0
- package/dist/chunk-JQDD6AYM.js.map +1 -0
- package/dist/chunk-JWE5X3SW.cjs +80 -0
- package/dist/chunk-JWE5X3SW.cjs.map +1 -0
- package/dist/chunk-KFFQVTKW.cjs +91 -0
- package/dist/chunk-KFFQVTKW.cjs.map +1 -0
- package/dist/chunk-LC5SUZE5.cjs +80 -0
- package/dist/chunk-LC5SUZE5.cjs.map +1 -0
- package/dist/chunk-LCABZUFW.js +3 -0
- package/dist/chunk-LCABZUFW.js.map +1 -0
- package/dist/chunk-MFRGAZ4M.cjs +157 -0
- package/dist/chunk-MFRGAZ4M.cjs.map +1 -0
- package/dist/chunk-MIR34HKE.cjs +91 -0
- package/dist/chunk-MIR34HKE.cjs.map +1 -0
- package/dist/chunk-MP442EWS.cjs +152 -0
- package/dist/chunk-MP442EWS.cjs.map +1 -0
- package/dist/chunk-MTIJTTKO.cjs +75 -0
- package/dist/chunk-MTIJTTKO.cjs.map +1 -0
- package/dist/chunk-MVGUWG27.js +56 -0
- package/dist/chunk-MVGUWG27.js.map +1 -0
- package/dist/chunk-MWP6IFVJ.cjs +93 -0
- package/dist/chunk-MWP6IFVJ.cjs.map +1 -0
- package/dist/chunk-NF7D4E7V.js +52 -0
- package/dist/chunk-NF7D4E7V.js.map +1 -0
- package/dist/chunk-NRBDDNYV.cjs +107 -0
- package/dist/chunk-NRBDDNYV.cjs.map +1 -0
- package/dist/chunk-OBDN7ROH.cjs +490 -0
- package/dist/chunk-OBDN7ROH.cjs.map +1 -0
- package/dist/chunk-OE7M66OR.cjs +56 -0
- package/dist/chunk-OE7M66OR.cjs.map +1 -0
- package/dist/chunk-PGUGP5EL.cjs +135 -0
- package/dist/chunk-PGUGP5EL.cjs.map +1 -0
- package/dist/chunk-Q7764J2G.cjs +61 -0
- package/dist/chunk-Q7764J2G.cjs.map +1 -0
- package/dist/chunk-QYQDCGOD.js +82 -0
- package/dist/chunk-QYQDCGOD.js.map +1 -0
- package/dist/chunk-RDYETV4X.cjs +64 -0
- package/dist/chunk-RDYETV4X.cjs.map +1 -0
- package/dist/chunk-RIXU7XN6.cjs +90 -0
- package/dist/chunk-RIXU7XN6.cjs.map +1 -0
- package/dist/chunk-RKGIGQ5C.cjs +4 -0
- package/dist/chunk-RKGIGQ5C.cjs.map +1 -0
- package/dist/chunk-RS457SPB.js +464 -0
- package/dist/chunk-RS457SPB.js.map +1 -0
- package/dist/chunk-SG5Z3YFN.cjs +83 -0
- package/dist/chunk-SG5Z3YFN.cjs.map +1 -0
- package/dist/chunk-SHEMISNH.cjs +81 -0
- package/dist/chunk-SHEMISNH.cjs.map +1 -0
- package/dist/chunk-SPHRMXOV.js +85 -0
- package/dist/chunk-SPHRMXOV.js.map +1 -0
- package/dist/chunk-TIWBLISD.js +87 -0
- package/dist/chunk-TIWBLISD.js.map +1 -0
- package/dist/chunk-TMR56BBE.js +3 -0
- package/dist/chunk-TMR56BBE.js.map +1 -0
- package/dist/chunk-U5KHRCO4.cjs +105 -0
- package/dist/chunk-U5KHRCO4.cjs.map +1 -0
- package/dist/chunk-UPW5X46R.js +58 -0
- package/dist/chunk-UPW5X46R.js.map +1 -0
- package/dist/chunk-UXYAKGI2.cjs +24 -0
- package/dist/chunk-UXYAKGI2.cjs.map +1 -0
- package/dist/chunk-VBT7USXE.cjs +63 -0
- package/dist/chunk-VBT7USXE.cjs.map +1 -0
- package/dist/chunk-VIA2FAQY.js +46 -0
- package/dist/chunk-VIA2FAQY.js.map +1 -0
- package/dist/chunk-WEVRQAGZ.js +57 -0
- package/dist/chunk-WEVRQAGZ.js.map +1 -0
- package/dist/chunk-WWQNTWRL.js +107 -0
- package/dist/chunk-WWQNTWRL.js.map +1 -0
- package/dist/chunk-X4QHDEEJ.cjs +4 -0
- package/dist/chunk-X4QHDEEJ.cjs.map +1 -0
- package/dist/chunk-XJZNX76V.js +66 -0
- package/dist/chunk-XJZNX76V.js.map +1 -0
- package/dist/chunk-XRUGFKB3.js +34 -0
- package/dist/chunk-XRUGFKB3.js.map +1 -0
- package/dist/chunk-XURQVDCN.cjs +4 -0
- package/dist/chunk-XURQVDCN.cjs.map +1 -0
- package/dist/chunk-XVIQ4OUN.cjs +89 -0
- package/dist/chunk-XVIQ4OUN.cjs.map +1 -0
- package/dist/chunk-XWKZ72LI.cjs +80 -0
- package/dist/chunk-XWKZ72LI.cjs.map +1 -0
- package/dist/chunk-Y3CWICHE.js +3 -0
- package/dist/chunk-Y3CWICHE.js.map +1 -0
- package/dist/chunk-Z3U3EZRC.js +93 -0
- package/dist/chunk-Z3U3EZRC.js.map +1 -0
- package/dist/chunk-Z4JZDLTZ.cjs +109 -0
- package/dist/chunk-Z4JZDLTZ.cjs.map +1 -0
- package/dist/chunk-ZDARKNSQ.cjs +54 -0
- package/dist/chunk-ZDARKNSQ.cjs.map +1 -0
- package/dist/chunk-ZH3KC4ES.js +51 -0
- package/dist/chunk-ZH3KC4ES.js.map +1 -0
- package/dist/chunk-ZPUYNM37.js +3 -0
- package/dist/chunk-ZPUYNM37.js.map +1 -0
- package/dist/chunk-ZUODIL43.js +113 -0
- package/dist/chunk-ZUODIL43.js.map +1 -0
- package/dist/chunk-ZXL4IUJ4.cjs +129 -0
- package/dist/chunk-ZXL4IUJ4.cjs.map +1 -0
- package/dist/date-picker.cjs +15 -0
- package/dist/date-picker.cjs.map +1 -0
- package/dist/date-picker.d.cts +19 -0
- package/dist/date-picker.d.ts +19 -0
- package/dist/date-picker.js +6 -0
- package/dist/date-picker.js.map +1 -0
- package/dist/divider.cjs +13 -0
- package/dist/divider.cjs.map +1 -0
- package/dist/divider.d.cts +9 -0
- package/dist/divider.d.ts +9 -0
- package/dist/divider.js +4 -0
- package/dist/divider.js.map +1 -0
- package/dist/dropdown-menu.cjs +13 -0
- package/dist/dropdown-menu.cjs.map +1 -0
- package/dist/dropdown-menu.d.cts +23 -0
- package/dist/dropdown-menu.d.ts +23 -0
- package/dist/dropdown-menu.js +4 -0
- package/dist/dropdown-menu.js.map +1 -0
- package/dist/empty.cjs +13 -0
- package/dist/empty.cjs.map +1 -0
- package/dist/empty.d.cts +11 -0
- package/dist/empty.d.ts +11 -0
- package/dist/empty.js +4 -0
- package/dist/empty.js.map +1 -0
- package/dist/form.cjs +33 -0
- package/dist/form.cjs.map +1 -0
- package/dist/form.d.cts +18 -0
- package/dist/form.d.ts +18 -0
- package/dist/form.js +4 -0
- package/dist/form.js.map +1 -0
- package/dist/icon.cjs +13 -0
- package/dist/icon.cjs.map +1 -0
- package/dist/icon.d.cts +12 -0
- package/dist/icon.d.ts +12 -0
- package/dist/icon.js +4 -0
- package/dist/icon.js.map +1 -0
- package/dist/index.cjs +350 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +167 -0
- package/dist/index.d.ts +167 -0
- package/dist/index.js +130 -0
- package/dist/index.js.map +1 -0
- package/dist/modal.cjs +13 -0
- package/dist/modal.cjs.map +1 -0
- package/dist/modal.d.cts +17 -0
- package/dist/modal.d.ts +17 -0
- package/dist/modal.js +4 -0
- package/dist/modal.js.map +1 -0
- package/dist/otp-input.cjs +13 -0
- package/dist/otp-input.cjs.map +1 -0
- package/dist/otp-input.d.cts +17 -0
- package/dist/otp-input.d.ts +17 -0
- package/dist/otp-input.js +4 -0
- package/dist/otp-input.js.map +1 -0
- package/dist/pagination.cjs +13 -0
- package/dist/pagination.cjs.map +1 -0
- package/dist/pagination.d.cts +12 -0
- package/dist/pagination.d.ts +12 -0
- package/dist/pagination.js +4 -0
- package/dist/pagination.js.map +1 -0
- package/dist/popover.cjs +14 -0
- package/dist/popover.cjs.map +1 -0
- package/dist/popover.d.cts +16 -0
- package/dist/popover.d.ts +16 -0
- package/dist/popover.js +5 -0
- package/dist/popover.js.map +1 -0
- package/dist/progress.cjs +13 -0
- package/dist/progress.cjs.map +1 -0
- package/dist/progress.d.cts +12 -0
- package/dist/progress.d.ts +12 -0
- package/dist/progress.js +4 -0
- package/dist/progress.js.map +1 -0
- package/dist/radio.cjs +13 -0
- package/dist/radio.cjs.map +1 -0
- package/dist/radio.d.cts +16 -0
- package/dist/radio.d.ts +16 -0
- package/dist/radio.js +4 -0
- package/dist/radio.js.map +1 -0
- package/dist/select.cjs +13 -0
- package/dist/select.cjs.map +1 -0
- package/dist/select.d.cts +23 -0
- package/dist/select.d.ts +23 -0
- package/dist/select.js +4 -0
- package/dist/select.js.map +1 -0
- package/dist/skeleton.cjs +13 -0
- package/dist/skeleton.cjs.map +1 -0
- package/dist/skeleton.d.cts +11 -0
- package/dist/skeleton.d.ts +11 -0
- package/dist/skeleton.js +4 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/slider.cjs +13 -0
- package/dist/slider.cjs.map +1 -0
- package/dist/slider.d.cts +11 -0
- package/dist/slider.d.ts +11 -0
- package/dist/slider.js +4 -0
- package/dist/slider.js.map +1 -0
- package/dist/spinner.cjs +14 -0
- package/dist/spinner.cjs.map +1 -0
- package/dist/spinner.d.cts +18 -0
- package/dist/spinner.d.ts +18 -0
- package/dist/spinner.js +5 -0
- package/dist/spinner.js.map +1 -0
- package/dist/stepper.cjs +13 -0
- package/dist/stepper.cjs.map +1 -0
- package/dist/stepper.d.cts +15 -0
- package/dist/stepper.d.ts +15 -0
- package/dist/stepper.js +4 -0
- package/dist/stepper.js.map +1 -0
- package/dist/table.cjs +13 -0
- package/dist/table.cjs.map +1 -0
- package/dist/table.d.cts +23 -0
- package/dist/table.d.ts +23 -0
- package/dist/table.js +4 -0
- package/dist/table.js.map +1 -0
- package/dist/tabs.cjs +13 -0
- package/dist/tabs.cjs.map +1 -0
- package/dist/tabs.d.cts +16 -0
- package/dist/tabs.d.ts +16 -0
- package/dist/tabs.js +4 -0
- package/dist/tabs.js.map +1 -0
- package/dist/text.cjs +18 -0
- package/dist/text.cjs.map +1 -0
- package/dist/text.d.cts +18 -0
- package/dist/text.d.ts +18 -0
- package/dist/text.js +5 -0
- package/dist/text.js.map +1 -0
- package/dist/textarea.cjs +13 -0
- package/dist/textarea.cjs.map +1 -0
- package/dist/textarea.d.cts +13 -0
- package/dist/textarea.d.ts +13 -0
- package/dist/textarea.js +4 -0
- package/dist/textarea.js.map +1 -0
- package/dist/textfield.cjs +13 -0
- package/dist/textfield.cjs.map +1 -0
- package/dist/textfield.d.cts +11 -0
- package/dist/textfield.d.ts +11 -0
- package/dist/textfield.js +4 -0
- package/dist/textfield.js.map +1 -0
- package/dist/toast.cjs +37 -0
- package/dist/toast.cjs.map +1 -0
- package/dist/toast.d.cts +53 -0
- package/dist/toast.d.ts +53 -0
- package/dist/toast.js +4 -0
- package/dist/toast.js.map +1 -0
- package/dist/toggle.cjs +13 -0
- package/dist/toggle.cjs.map +1 -0
- package/dist/toggle.d.cts +10 -0
- package/dist/toggle.d.ts +10 -0
- package/dist/toggle.js +4 -0
- package/dist/toggle.js.map +1 -0
- package/dist/tooltip.cjs +13 -0
- package/dist/tooltip.cjs.map +1 -0
- package/dist/tooltip.d.cts +15 -0
- package/dist/tooltip.d.ts +15 -0
- package/dist/tooltip.js +4 -0
- package/dist/tooltip.js.map +1 -0
- package/package.json +276 -0
package/README.md
ADDED
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
# mokona-ui
|
|
2
|
+
|
|
3
|
+
React UI 컴포넌트 라이브러리.
|
|
4
|
+
|
|
5
|
+
풍부한 애니메이션 반응, CSS variable 기반 다크모드, React 17~19 지원을 목표로 설계했습니다.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 설치
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install mokona-ui
|
|
13
|
+
# or
|
|
14
|
+
pnpm add mokona-ui
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
소비자 프로젝트에서 스타일시트를 한 번 import합니다.
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
import "mokona-ui/styles.css";
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 사용법
|
|
26
|
+
|
|
27
|
+
### 전체 import
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
import { Button, Toast, BottomSheet } from "mokona-ui";
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Subpath import (트리쉐이킹 최적화)
|
|
34
|
+
|
|
35
|
+
필요한 컴포넌트만 가져오면 불필요한 코드가 번들에 포함되지 않습니다.
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
import { Button } from "mokona-ui/button";
|
|
39
|
+
import { TextField } from "mokona-ui/textfield";
|
|
40
|
+
import { toast, Toaster } from "mokona-ui/toast";
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 컴포넌트
|
|
46
|
+
|
|
47
|
+
### Foundation
|
|
48
|
+
|
|
49
|
+
| 컴포넌트 | 설명 |
|
|
50
|
+
|---|---|
|
|
51
|
+
| `Button` | 탄성 tap 애니메이션, 5가지 variant, loading 상태 |
|
|
52
|
+
| `Text` | 타이포그래피 토큰 래퍼, `as` prop으로 시맨틱 태그 지정 |
|
|
53
|
+
| `Divider` | 수평/수직, spacing 조절 |
|
|
54
|
+
|
|
55
|
+
```tsx
|
|
56
|
+
<Button variant="primary" size="md" loading>계속하기</Button>
|
|
57
|
+
<Button variant="danger" fullWidth>삭제</Button>
|
|
58
|
+
|
|
59
|
+
<Text variant="title1">잔액 조회</Text>
|
|
60
|
+
<Text variant="body2" color="muted">오늘 사용 금액</Text>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Input
|
|
64
|
+
|
|
65
|
+
| 컴포넌트 | 설명 |
|
|
66
|
+
|---|---|
|
|
67
|
+
| `TextField` | label, helperText, errorMessage, 접근성 aria 자동 처리 |
|
|
68
|
+
| `Checkbox` | 체크 시 path draw 애니메이션, Radix 접근성 |
|
|
69
|
+
| `Toggle` | label + description 레이아웃 내장, Radix Switch 기반 |
|
|
70
|
+
|
|
71
|
+
```tsx
|
|
72
|
+
<TextField
|
|
73
|
+
label="이메일"
|
|
74
|
+
placeholder="example@email.com"
|
|
75
|
+
isError
|
|
76
|
+
errorMessage="올바른 이메일 형식이 아닙니다"
|
|
77
|
+
/>
|
|
78
|
+
|
|
79
|
+
<Checkbox label="전체 동의" onCheckedChange={setChecked} />
|
|
80
|
+
|
|
81
|
+
<Toggle label="푸시 알림" description="혜택 및 이벤트 소식을 받습니다" />
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Feedback
|
|
85
|
+
|
|
86
|
+
| 컴포넌트 | 설명 |
|
|
87
|
+
|---|---|
|
|
88
|
+
| `Toast` / `Toaster` / `toast()` | 함수 호출 방식, 4가지 variant |
|
|
89
|
+
| `BottomSheet` | spring 슬라이드 + 드래그로 닫기 |
|
|
90
|
+
| `Badge` | 6가지 variant, 3가지 size |
|
|
91
|
+
| `Chip` | 선택/해제 상태, 제거 버튼 내장 |
|
|
92
|
+
|
|
93
|
+
```tsx
|
|
94
|
+
// 앱 최상단에 Toaster 한 번 추가
|
|
95
|
+
<Toaster />
|
|
96
|
+
|
|
97
|
+
// 어디서든 함수로 호출
|
|
98
|
+
toast("송금이 완료되었습니다");
|
|
99
|
+
toast.positive("계좌가 연결되었습니다");
|
|
100
|
+
toast.negative("오류가 발생했습니다", { description: "잠시 후 다시 시도해주세요" });
|
|
101
|
+
|
|
102
|
+
// BottomSheet
|
|
103
|
+
const [open, setOpen] = useState(false);
|
|
104
|
+
<BottomSheet open={open} onOpenChange={setOpen} title="송금하기">
|
|
105
|
+
<Button fullWidth>토스뱅크 110-123-456789</Button>
|
|
106
|
+
</BottomSheet>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Layout
|
|
110
|
+
|
|
111
|
+
| 컴포넌트 | 설명 |
|
|
112
|
+
|---|---|
|
|
113
|
+
| `Card` | 3가지 variant, `onClick` 시 tap 애니메이션 자동 활성화 |
|
|
114
|
+
| `Spinner` | 4가지 size, 3가지 color |
|
|
115
|
+
| `Skeleton` | text / circular / rectangular variant, multi-line 지원 |
|
|
116
|
+
|
|
117
|
+
```tsx
|
|
118
|
+
<Card variant="elevated" onClick={() => navigate("/detail")}>
|
|
119
|
+
<Text variant="body2" color="muted">토스뱅크 통장</Text>
|
|
120
|
+
<Text variant="title2">1,234,567원</Text>
|
|
121
|
+
</Card>
|
|
122
|
+
|
|
123
|
+
<Skeleton variant="text" lines={3} />
|
|
124
|
+
<Skeleton variant="circular" width={48} height={48} />
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 다크모드
|
|
130
|
+
|
|
131
|
+
CSS variable 기반으로 구현되어 있습니다. `data-theme="dark"` 속성 하나로 전체 테마가 전환됩니다.
|
|
132
|
+
|
|
133
|
+
```ts
|
|
134
|
+
// 다크모드 적용
|
|
135
|
+
document.documentElement.setAttribute("data-theme", "dark");
|
|
136
|
+
|
|
137
|
+
// 라이트모드 복귀
|
|
138
|
+
document.documentElement.removeAttribute("data-theme");
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Tailwind `darkMode` 클래스도 함께 지원합니다.
|
|
142
|
+
|
|
143
|
+
```html
|
|
144
|
+
<html class="dark"> ... </html>
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 디자인 토큰
|
|
150
|
+
|
|
151
|
+
CSS variable로 정의된 토큰을 직접 사용할 수 있습니다.
|
|
152
|
+
|
|
153
|
+
```css
|
|
154
|
+
/* 컬러 */
|
|
155
|
+
var(--color-primary) /* #3182F6 */
|
|
156
|
+
var(--color-positive) /* #00B493 */
|
|
157
|
+
var(--color-negative) /* #F04452 */
|
|
158
|
+
var(--color-warning) /* #FF8A00 */
|
|
159
|
+
var(--color-foreground)
|
|
160
|
+
var(--color-muted)
|
|
161
|
+
var(--color-border)
|
|
162
|
+
|
|
163
|
+
/* 그림자 */
|
|
164
|
+
var(--shadow-sm)
|
|
165
|
+
var(--shadow-md)
|
|
166
|
+
var(--shadow-lg)
|
|
167
|
+
var(--shadow-overlay)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
TypeScript 토큰 상수도 export합니다.
|
|
171
|
+
|
|
172
|
+
```ts
|
|
173
|
+
import { colors, typography } from "mokona-ui";
|
|
174
|
+
|
|
175
|
+
colors.primary.DEFAULT // "#3182f6"
|
|
176
|
+
typography.title1 // { fontSize: "22px", lineHeight: "1.4", fontWeight: 700 }
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Peer Dependencies
|
|
182
|
+
|
|
183
|
+
```json
|
|
184
|
+
{
|
|
185
|
+
"react": "^17 || ^18 || ^19",
|
|
186
|
+
"react-dom": "^17 || ^18 || ^19"
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## 성능 설계
|
|
193
|
+
|
|
194
|
+
### LazyMotion으로 Framer Motion 번들 절감
|
|
195
|
+
|
|
196
|
+
모든 애니메이션 컴포넌트에 `LazyMotion + domAnimation + m.*` 패턴을 적용했습니다.
|
|
197
|
+
`motion.*` 대신 `m.*`을 사용하면 Framer Motion의 고급 기능(3D, layout animation 등)을 제외한 기본 기능만 로드해 번들 크기를 줄입니다.
|
|
198
|
+
|
|
199
|
+
```tsx
|
|
200
|
+
// ❌ 전체 번들 포함
|
|
201
|
+
import { motion } from "framer-motion";
|
|
202
|
+
|
|
203
|
+
// ✅ domAnimation만 로드 (~30% 절감)
|
|
204
|
+
import { LazyMotion, domAnimation, m } from "framer-motion";
|
|
205
|
+
<LazyMotion features={domAnimation}>
|
|
206
|
+
<m.div whileTap={{ scale: 0.96 }} />
|
|
207
|
+
</LazyMotion>
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### useSyncExternalStore 기반 Toast 상태
|
|
211
|
+
|
|
212
|
+
`useToast`는 React 18의 `useSyncExternalStore`로 구현했습니다.
|
|
213
|
+
여러 컴포넌트가 `useToast()`를 구독해도 상태 변경 시 setState가 한 번만 발생합니다.
|
|
214
|
+
|
|
215
|
+
```ts
|
|
216
|
+
// ❌ 기존: N개 구독자 → N번 setState
|
|
217
|
+
listeners.forEach((l) => l(toasts));
|
|
218
|
+
|
|
219
|
+
// ✅ 개선: React가 배치 처리
|
|
220
|
+
useSyncExternalStore(subscribe, getSnapshot);
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Subpath exports로 트리쉐이킹
|
|
224
|
+
|
|
225
|
+
`Button`만 사용해도 `BottomSheet`(Framer Motion drag 포함)가 번들에 들어가는 문제를 방지합니다.
|
|
226
|
+
|
|
227
|
+
```ts
|
|
228
|
+
// BottomSheet 코드가 번들에 포함되지 않음
|
|
229
|
+
import { Button } from "mokona-ui/button";
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Skeleton GPU 가속
|
|
233
|
+
|
|
234
|
+
shimmer 애니메이션에 `will-change: transform`을 적용해 GPU 합성 레이어로 분리했습니다.
|
|
235
|
+
여러 Skeleton이 동시에 렌더링될 때 CPU 부하가 줄어듭니다.
|
|
236
|
+
|
|
237
|
+
### Card 리마운트 방지
|
|
238
|
+
|
|
239
|
+
`interactive` prop 유무에 따라 `motion.div`와 `div`를 분기하면 prop이 바뀔 때 컴포넌트가 리마운트됩니다.
|
|
240
|
+
항상 `motion.div`를 사용하고 `whileTap`만 조건부로 적용해 이 문제를 방지했습니다.
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## 개발
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
# 컴포넌트 개발 서버
|
|
248
|
+
pnpm storybook
|
|
249
|
+
|
|
250
|
+
# 빌드
|
|
251
|
+
pnpm build
|
|
252
|
+
|
|
253
|
+
# 테스트
|
|
254
|
+
pnpm test
|
|
255
|
+
|
|
256
|
+
# 릴리즈
|
|
257
|
+
pnpm changeset # 변경 사항 기록
|
|
258
|
+
pnpm changeset version # 버전 bump
|
|
259
|
+
pnpm release # 빌드 + npm publish
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## 스택
|
|
265
|
+
|
|
266
|
+
- **Radix UI** — 접근성 primitives
|
|
267
|
+
- **Tailwind CSS v3** — CSS variable 기반 토큰 시스템
|
|
268
|
+
- **CVA (class-variance-authority)** — variant 관리
|
|
269
|
+
- **Framer Motion v10** — 애니메이션
|
|
270
|
+
- **tsup** — ESM + CJS 듀얼 번들
|
|
271
|
+
- **Storybook 8** — 컴포넌트 문서 및 테스트
|
|
272
|
+
- **Vitest** — 단위 테스트
|
|
273
|
+
- **Changesets** — 버전 관리 및 npm 배포
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk4S23TNFZ_cjs = require('./chunk-4S23TNFZ.cjs');
|
|
4
|
+
require('./chunk-4V3IOZPC.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, "Accordion", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return chunk4S23TNFZ_cjs.Accordion; }
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=accordion.cjs.map
|
|
13
|
+
//# sourceMappingURL=accordion.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"accordion.cjs"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
|
|
4
|
+
interface AccordionItem {
|
|
5
|
+
value: string;
|
|
6
|
+
trigger: React.ReactNode;
|
|
7
|
+
content: React.ReactNode;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
interface AccordionProps {
|
|
11
|
+
items: AccordionItem[];
|
|
12
|
+
type?: "single" | "multiple";
|
|
13
|
+
defaultValue?: string | string[];
|
|
14
|
+
value?: string | string[];
|
|
15
|
+
onValueChange?: ((value: string) => void) & ((value: string[]) => void);
|
|
16
|
+
collapsible?: boolean;
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
declare const Accordion: ({ items, type, defaultValue, collapsible, className, ...props }: AccordionProps) => react_jsx_runtime.JSX.Element;
|
|
20
|
+
|
|
21
|
+
export { Accordion, type AccordionItem, type AccordionProps };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
|
|
4
|
+
interface AccordionItem {
|
|
5
|
+
value: string;
|
|
6
|
+
trigger: React.ReactNode;
|
|
7
|
+
content: React.ReactNode;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
interface AccordionProps {
|
|
11
|
+
items: AccordionItem[];
|
|
12
|
+
type?: "single" | "multiple";
|
|
13
|
+
defaultValue?: string | string[];
|
|
14
|
+
value?: string | string[];
|
|
15
|
+
onValueChange?: ((value: string) => void) & ((value: string[]) => void);
|
|
16
|
+
collapsible?: boolean;
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
declare const Accordion: ({ items, type, defaultValue, collapsible, className, ...props }: AccordionProps) => react_jsx_runtime.JSX.Element;
|
|
20
|
+
|
|
21
|
+
export { Accordion, type AccordionItem, type AccordionProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"accordion.js"}
|
package/dist/alert.cjs
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkRIXU7XN6_cjs = require('./chunk-RIXU7XN6.cjs');
|
|
4
|
+
require('./chunk-4V3IOZPC.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, "Alert", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return chunkRIXU7XN6_cjs.Alert; }
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=alert.cjs.map
|
|
13
|
+
//# sourceMappingURL=alert.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"alert.cjs"}
|
package/dist/alert.d.cts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
declare const alertVariants: (props?: ({
|
|
6
|
+
variant?: "positive" | "negative" | "warning" | "neutral" | "info" | null | undefined;
|
|
7
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
8
|
+
interface AlertProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof alertVariants> {
|
|
9
|
+
title?: string;
|
|
10
|
+
icon?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
|
|
14
|
+
export { Alert, type AlertProps };
|
package/dist/alert.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
declare const alertVariants: (props?: ({
|
|
6
|
+
variant?: "positive" | "negative" | "warning" | "neutral" | "info" | null | undefined;
|
|
7
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
8
|
+
interface AlertProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof alertVariants> {
|
|
9
|
+
title?: string;
|
|
10
|
+
icon?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
|
|
14
|
+
export { Alert, type AlertProps };
|
package/dist/alert.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"alert.js"}
|
package/dist/amount.cjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkU5KHRCO4_cjs = require('./chunk-U5KHRCO4.cjs');
|
|
4
|
+
require('./chunk-EVF7QZMA.cjs');
|
|
5
|
+
require('./chunk-4V3IOZPC.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "Amount", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () { return chunkU5KHRCO4_cjs.Amount; }
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "formatAmount", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return chunkU5KHRCO4_cjs.formatAmount; }
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=amount.cjs.map
|
|
18
|
+
//# sourceMappingURL=amount.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"amount.cjs"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TextProps } from './text.cjs';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import 'class-variance-authority/types';
|
|
5
|
+
import 'class-variance-authority';
|
|
6
|
+
|
|
7
|
+
interface AmountProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> {
|
|
8
|
+
/** 표시할 숫자 */
|
|
9
|
+
value: number;
|
|
10
|
+
/**
|
|
11
|
+
* ISO 4217 통화 코드. 지정하면 통화 기호가 앞/뒤에 붙습니다.
|
|
12
|
+
* @example "KRW" | "USD" | "JPY" | "EUR"
|
|
13
|
+
*/
|
|
14
|
+
currency?: string;
|
|
15
|
+
/**
|
|
16
|
+
* BCP 47 언어 태그. 기본값은 브라우저 환경 기준.
|
|
17
|
+
* @example "ko-KR" | "en-US" | "ja-JP"
|
|
18
|
+
*/
|
|
19
|
+
locale?: string;
|
|
20
|
+
/** +/- 부호 표시 여부 */
|
|
21
|
+
showSign?: boolean;
|
|
22
|
+
/** 소수점 최소 자릿수 */
|
|
23
|
+
minimumFractionDigits?: number;
|
|
24
|
+
/** 소수점 최대 자릿수 */
|
|
25
|
+
maximumFractionDigits?: number;
|
|
26
|
+
/** 타이포그래피 variant */
|
|
27
|
+
variant?: TextProps["variant"];
|
|
28
|
+
/** 색상 */
|
|
29
|
+
color?: TextProps["color"];
|
|
30
|
+
/**
|
|
31
|
+
* 양수/음수에 따라 color를 자동 적용.
|
|
32
|
+
* showSign과 함께 쓸 때 유용합니다.
|
|
33
|
+
*/
|
|
34
|
+
colorBySign?: boolean;
|
|
35
|
+
}
|
|
36
|
+
declare function formatAmount({ value, currency, locale, showSign, minimumFractionDigits, maximumFractionDigits, }: Pick<AmountProps, "value" | "currency" | "locale" | "showSign" | "minimumFractionDigits" | "maximumFractionDigits">): string;
|
|
37
|
+
declare const Amount: React.ForwardRefExoticComponent<AmountProps & React.RefAttributes<HTMLSpanElement>>;
|
|
38
|
+
|
|
39
|
+
export { Amount, type AmountProps, formatAmount };
|
package/dist/amount.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TextProps } from './text.js';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import 'class-variance-authority/types';
|
|
5
|
+
import 'class-variance-authority';
|
|
6
|
+
|
|
7
|
+
interface AmountProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> {
|
|
8
|
+
/** 표시할 숫자 */
|
|
9
|
+
value: number;
|
|
10
|
+
/**
|
|
11
|
+
* ISO 4217 통화 코드. 지정하면 통화 기호가 앞/뒤에 붙습니다.
|
|
12
|
+
* @example "KRW" | "USD" | "JPY" | "EUR"
|
|
13
|
+
*/
|
|
14
|
+
currency?: string;
|
|
15
|
+
/**
|
|
16
|
+
* BCP 47 언어 태그. 기본값은 브라우저 환경 기준.
|
|
17
|
+
* @example "ko-KR" | "en-US" | "ja-JP"
|
|
18
|
+
*/
|
|
19
|
+
locale?: string;
|
|
20
|
+
/** +/- 부호 표시 여부 */
|
|
21
|
+
showSign?: boolean;
|
|
22
|
+
/** 소수점 최소 자릿수 */
|
|
23
|
+
minimumFractionDigits?: number;
|
|
24
|
+
/** 소수점 최대 자릿수 */
|
|
25
|
+
maximumFractionDigits?: number;
|
|
26
|
+
/** 타이포그래피 variant */
|
|
27
|
+
variant?: TextProps["variant"];
|
|
28
|
+
/** 색상 */
|
|
29
|
+
color?: TextProps["color"];
|
|
30
|
+
/**
|
|
31
|
+
* 양수/음수에 따라 color를 자동 적용.
|
|
32
|
+
* showSign과 함께 쓸 때 유용합니다.
|
|
33
|
+
*/
|
|
34
|
+
colorBySign?: boolean;
|
|
35
|
+
}
|
|
36
|
+
declare function formatAmount({ value, currency, locale, showSign, minimumFractionDigits, maximumFractionDigits, }: Pick<AmountProps, "value" | "currency" | "locale" | "showSign" | "minimumFractionDigits" | "maximumFractionDigits">): string;
|
|
37
|
+
declare const Amount: React.ForwardRefExoticComponent<AmountProps & React.RefAttributes<HTMLSpanElement>>;
|
|
38
|
+
|
|
39
|
+
export { Amount, type AmountProps, formatAmount };
|
package/dist/amount.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"amount.js"}
|
package/dist/avatar.cjs
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkMTIJTTKO_cjs = require('./chunk-MTIJTTKO.cjs');
|
|
4
|
+
require('./chunk-4V3IOZPC.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, "Avatar", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return chunkMTIJTTKO_cjs.Avatar; }
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=avatar.cjs.map
|
|
13
|
+
//# sourceMappingURL=avatar.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"avatar.cjs"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
|
|
6
|
+
declare const avatarVariants: (props?: ({
|
|
7
|
+
size?: "sm" | "md" | "lg" | "xs" | "xl" | null | undefined;
|
|
8
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
|
+
interface AvatarProps extends React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>, VariantProps<typeof avatarVariants> {
|
|
10
|
+
src?: string;
|
|
11
|
+
alt?: string;
|
|
12
|
+
fallback?: string;
|
|
13
|
+
}
|
|
14
|
+
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLSpanElement>>;
|
|
15
|
+
|
|
16
|
+
export { Avatar, type AvatarProps };
|
package/dist/avatar.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
|
|
6
|
+
declare const avatarVariants: (props?: ({
|
|
7
|
+
size?: "sm" | "md" | "lg" | "xs" | "xl" | null | undefined;
|
|
8
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
|
+
interface AvatarProps extends React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>, VariantProps<typeof avatarVariants> {
|
|
10
|
+
src?: string;
|
|
11
|
+
alt?: string;
|
|
12
|
+
fallback?: string;
|
|
13
|
+
}
|
|
14
|
+
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLSpanElement>>;
|
|
15
|
+
|
|
16
|
+
export { Avatar, type AvatarProps };
|
package/dist/avatar.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"avatar.js"}
|
package/dist/badge.cjs
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk4YQPDHZP_cjs = require('./chunk-4YQPDHZP.cjs');
|
|
4
|
+
require('./chunk-4V3IOZPC.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, "Badge", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return chunk4YQPDHZP_cjs.Badge; }
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "badgeVariants", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return chunk4YQPDHZP_cjs.badgeVariants; }
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=badge.cjs.map
|
|
17
|
+
//# sourceMappingURL=badge.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"badge.cjs"}
|
package/dist/badge.d.cts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
declare const badgeVariants: (props?: ({
|
|
6
|
+
variant?: "primary" | "outline" | "positive" | "negative" | "warning" | "neutral" | null | undefined;
|
|
7
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
8
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
|
+
interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
|
|
10
|
+
}
|
|
11
|
+
declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
12
|
+
|
|
13
|
+
export { Badge, type BadgeProps, badgeVariants };
|
package/dist/badge.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
declare const badgeVariants: (props?: ({
|
|
6
|
+
variant?: "primary" | "outline" | "positive" | "negative" | "warning" | "neutral" | null | undefined;
|
|
7
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
8
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
|
+
interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
|
|
10
|
+
}
|
|
11
|
+
declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
12
|
+
|
|
13
|
+
export { Badge, type BadgeProps, badgeVariants };
|
package/dist/badge.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"badge.js"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkMIR34HKE_cjs = require('./chunk-MIR34HKE.cjs');
|
|
4
|
+
require('./chunk-UXYAKGI2.cjs');
|
|
5
|
+
require('./chunk-4V3IOZPC.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "BottomSheet", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () { return chunkMIR34HKE_cjs.BottomSheet; }
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=bottom-sheet.cjs.map
|
|
14
|
+
//# sourceMappingURL=bottom-sheet.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"bottom-sheet.cjs"}
|