@petnow/ui 4.0.2 → 4.1.0
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/Popup-D9fn8MGc.js +90 -0
- package/dist/Popup-D9fn8MGc.js.map +1 -0
- package/dist/TailwindUtil-aZk2bbTo.js +71 -0
- package/dist/TailwindUtil-aZk2bbTo.js.map +1 -0
- package/dist/index.es.js +25 -5523
- package/dist/v0/checkbox.js +36 -0
- package/dist/v0/checkbox.js.map +1 -0
- package/dist/v0/radio.js +16 -0
- package/dist/v0/radio.js.map +1 -0
- package/dist/v0/tabs.js +62 -0
- package/dist/v0/tabs.js.map +1 -0
- package/dist/v0/toggle.js +20 -0
- package/dist/v0/toggle.js.map +1 -0
- package/dist/v1/badge.js +338 -0
- package/dist/v1/badge.js.map +1 -0
- package/dist/v1/chip.js +53 -0
- package/dist/v1/chip.js.map +1 -0
- package/dist/v1/cta-button.js +62 -0
- package/dist/v1/cta-button.js.map +1 -0
- package/dist/v1/icons/action/cancel-filled.js +22 -0
- package/dist/v1/icons/action/cancel-filled.js.map +1 -0
- package/dist/v1/icons/action/cancel.js +19 -0
- package/dist/v1/icons/action/cancel.js.map +1 -0
- package/dist/v1/icons/action/chevron-down.js +19 -0
- package/dist/v1/icons/action/chevron-down.js.map +1 -0
- package/dist/v1/icons/action/chevron-left.js +19 -0
- package/dist/v1/icons/action/chevron-left.js.map +1 -0
- package/dist/v1/icons/action/chevron-right.js +19 -0
- package/dist/v1/icons/action/chevron-right.js.map +1 -0
- package/dist/v1/icons/action/chevron-up.js +19 -0
- package/dist/v1/icons/action/chevron-up.js.map +1 -0
- package/dist/v1/icons/action/filter.js +19 -0
- package/dist/v1/icons/action/filter.js.map +1 -0
- package/dist/v1/icons/action/retry.js +19 -0
- package/dist/v1/icons/action/retry.js.map +1 -0
- package/dist/v1/icons/action/sorting.js +19 -0
- package/dist/v1/icons/action/sorting.js.map +1 -0
- package/dist/v1/icons/static/close.js +19 -0
- package/dist/v1/icons/static/close.js.map +1 -0
- package/dist/v1/icons/static/delete.js +30 -0
- package/dist/v1/icons/static/delete.js.map +1 -0
- package/dist/v1/icons/static/recent.js +32 -0
- package/dist/v1/icons/static/recent.js.map +1 -0
- package/dist/v1/icons/static/report.js +28 -0
- package/dist/v1/icons/static/report.js.map +1 -0
- package/dist/v1/icons/static/shield-done.js +21 -0
- package/dist/v1/icons/static/shield-done.js.map +1 -0
- package/dist/v1/popup.js +5 -0
- package/dist/v1/text-field.js +286 -0
- package/dist/v1/text-field.js.map +1 -0
- package/package.json +95 -4
- package/dist/index.es.js.map +0 -1
- package/dist/index.umd.js +0 -57
- package/dist/index.umd.js.map +0 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { t as e } from "./TailwindUtil-aZk2bbTo.js";
|
|
2
|
+
import { CTAButton as t } from "./v1/cta-button.js";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
import * as i from "react";
|
|
5
|
+
import { Dialog as a } from "radix-ui";
|
|
6
|
+
//#region src/components/ui/dialog.tsx
|
|
7
|
+
var o = a.Root;
|
|
8
|
+
a.Trigger;
|
|
9
|
+
var s = a.Portal;
|
|
10
|
+
a.Close;
|
|
11
|
+
var c = i.forwardRef(({ className: t, ...r }, i) => /* @__PURE__ */ n(a.Overlay, {
|
|
12
|
+
ref: i,
|
|
13
|
+
className: e("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 bg-black/40 duration-200", t),
|
|
14
|
+
...r
|
|
15
|
+
}));
|
|
16
|
+
c.displayName = a.Overlay.displayName;
|
|
17
|
+
var l = i.forwardRef(({ className: t, ...i }, o) => /* @__PURE__ */ r(s, { children: [/* @__PURE__ */ n(c, {}), /* @__PURE__ */ n(a.Content, {
|
|
18
|
+
ref: o,
|
|
19
|
+
className: e("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 bg-background fixed top-1/2 left-1/2 z-50 w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 rounded-lg p-6 shadow-lg duration-200 outline-none", t),
|
|
20
|
+
...i
|
|
21
|
+
})] }));
|
|
22
|
+
l.displayName = a.Content.displayName;
|
|
23
|
+
var u = i.forwardRef(({ className: t, ...r }, i) => /* @__PURE__ */ n(a.Title, {
|
|
24
|
+
ref: i,
|
|
25
|
+
className: e("text-lg font-semibold", t),
|
|
26
|
+
...r
|
|
27
|
+
}));
|
|
28
|
+
u.displayName = a.Title.displayName;
|
|
29
|
+
var d = i.forwardRef(({ className: t, ...r }, i) => /* @__PURE__ */ n(a.Description, {
|
|
30
|
+
ref: i,
|
|
31
|
+
className: e("text-muted-foreground text-sm", t),
|
|
32
|
+
...r
|
|
33
|
+
}));
|
|
34
|
+
d.displayName = a.Description.displayName;
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/components/v1/popup/Popup.tsx
|
|
37
|
+
var f = ({ isOpen: i, setIsOpen: a, title: s, description: c, content: f, confirm: p, cancel: m, preventEasyClose: h = !1, className: g }) => /* @__PURE__ */ n(o, {
|
|
38
|
+
open: i,
|
|
39
|
+
onOpenChange: (e) => {
|
|
40
|
+
h && !e || a(e);
|
|
41
|
+
},
|
|
42
|
+
children: /* @__PURE__ */ r(l, {
|
|
43
|
+
onEscapeKeyDown: h ? (e) => e.preventDefault() : void 0,
|
|
44
|
+
onInteractOutside: h ? (e) => e.preventDefault() : void 0,
|
|
45
|
+
className: e("bg-surface-base-neutral-1 flex max-h-[440px] w-[300px] max-w-[300px] flex-col gap-4 overflow-hidden rounded-[16px] p-4", g),
|
|
46
|
+
children: [/* @__PURE__ */ r("div", {
|
|
47
|
+
className: "flex w-full flex-col gap-2",
|
|
48
|
+
children: [
|
|
49
|
+
s && /* @__PURE__ */ n(u, {
|
|
50
|
+
className: "text-title-18-bold text-text-prominent-neutral-4",
|
|
51
|
+
children: s
|
|
52
|
+
}),
|
|
53
|
+
c && /* @__PURE__ */ n("div", {
|
|
54
|
+
className: "overflow-y-auto",
|
|
55
|
+
children: /* @__PURE__ */ n(d, {
|
|
56
|
+
className: "text-body-16-medium text-text-prominent-neutral-3",
|
|
57
|
+
children: c
|
|
58
|
+
})
|
|
59
|
+
}),
|
|
60
|
+
f && /* @__PURE__ */ n("div", {
|
|
61
|
+
className: "overflow-y-auto",
|
|
62
|
+
children: f
|
|
63
|
+
})
|
|
64
|
+
]
|
|
65
|
+
}), (p || m) && /* @__PURE__ */ r("div", {
|
|
66
|
+
className: "flex w-full flex-col gap-2",
|
|
67
|
+
children: [p && /* @__PURE__ */ n(t, {
|
|
68
|
+
label: p.label,
|
|
69
|
+
icon: p.icon,
|
|
70
|
+
size: "medium",
|
|
71
|
+
hierarchy: "primary",
|
|
72
|
+
onClick: ((e) => () => {
|
|
73
|
+
e?.onClick?.();
|
|
74
|
+
})(p)
|
|
75
|
+
}), m && /* @__PURE__ */ n(t, {
|
|
76
|
+
label: m.label,
|
|
77
|
+
icon: m.icon,
|
|
78
|
+
size: "medium",
|
|
79
|
+
hierarchy: "tertiary",
|
|
80
|
+
onClick: ((e) => () => {
|
|
81
|
+
e?.onClick?.(), a(!1);
|
|
82
|
+
})(m)
|
|
83
|
+
})]
|
|
84
|
+
})]
|
|
85
|
+
})
|
|
86
|
+
});
|
|
87
|
+
//#endregion
|
|
88
|
+
export { f as t };
|
|
89
|
+
|
|
90
|
+
//# sourceMappingURL=Popup-D9fn8MGc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popup-D9fn8MGc.js","names":[],"sources":["../src/components/ui/dialog.tsx","../src/components/v1/popup/Popup.tsx"],"sourcesContent":["import { Dialog as DialogPrimitive } from \"radix-ui\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils/TailwindUtil\";\n\nconst Dialog = DialogPrimitive.Root;\nconst DialogTrigger = DialogPrimitive.Trigger;\nconst DialogPortal = DialogPrimitive.Portal;\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\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 bg-black/40 duration-200\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 bg-background fixed top-1/2 left-1/2 z-50 w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 rounded-lg p-6 shadow-lg duration-200 outline-none\",\n className,\n )}\n {...props}\n />\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nfunction DialogHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn(\"flex flex-col gap-2\", className)} {...props} />;\n}\n\nfunction DialogFooter({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn(\"flex flex-col gap-2 sm:flex-row sm:justify-end\", className)} {...props} />;\n}\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title ref={ref} className={cn(\"text-lg font-semibold\", className)} {...props} />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description ref={ref} className={cn(\"text-muted-foreground text-sm\", className)} {...props} />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"../../../utils/TailwindUtil\";\nimport { CTAButton } from \"../cta-button/CTAButton\";\n\nimport { Dialog, DialogContent, DialogDescription, DialogTitle } from \"@/components/ui/dialog\";\n\ntype PopupAction = {\n label: string | React.ReactNode;\n icon?: React.ComponentType<{ className?: string }>;\n onClick?: () => void;\n};\n\nexport interface PopupProps {\n isOpen: boolean;\n setIsOpen: (isOpen: boolean) => void;\n title?: string | React.ReactNode;\n description?: string | React.ReactNode;\n content?: React.ReactNode;\n confirm?: PopupAction;\n cancel?: PopupAction;\n preventEasyClose?: boolean;\n className?: string;\n}\n\nconst Popup = ({\n isOpen,\n setIsOpen,\n title,\n description,\n content,\n confirm,\n cancel,\n preventEasyClose = false,\n className,\n}: PopupProps) => {\n const handleConfirmAction = (action?: PopupAction) => () => {\n action?.onClick?.();\n };\n\n const handleCancelAction = (action?: PopupAction) => () => {\n action?.onClick?.();\n setIsOpen(false);\n };\n\n const handleOpenChange = (nextOpen: boolean) => {\n if (preventEasyClose && !nextOpen) {\n return;\n }\n\n setIsOpen(nextOpen);\n };\n\n return (\n <Dialog open={isOpen} onOpenChange={handleOpenChange}>\n <DialogContent\n onEscapeKeyDown={preventEasyClose ? (event) => event.preventDefault() : undefined}\n onInteractOutside={preventEasyClose ? (event) => event.preventDefault() : undefined}\n className={cn(\n \"bg-surface-base-neutral-1 flex max-h-[440px] w-[300px] max-w-[300px] flex-col gap-4 overflow-hidden rounded-[16px] p-4\",\n className,\n )}\n >\n <div className=\"flex w-full flex-col gap-2\">\n {title && <DialogTitle className=\"text-title-18-bold text-text-prominent-neutral-4\">{title}</DialogTitle>}\n {description && (\n <div className=\"overflow-y-auto\">\n <DialogDescription className=\"text-body-16-medium text-text-prominent-neutral-3\">\n {description}\n </DialogDescription>\n </div>\n )}\n {content && <div className=\"overflow-y-auto\">{content}</div>}\n </div>\n {(confirm || cancel) && (\n <div className=\"flex w-full flex-col gap-2\">\n {confirm && (\n <CTAButton\n label={confirm.label}\n icon={confirm.icon}\n size=\"medium\"\n hierarchy=\"primary\"\n onClick={handleConfirmAction(confirm)}\n />\n )}\n {cancel && (\n <CTAButton\n label={cancel.label}\n icon={cancel.icon}\n size=\"medium\"\n hierarchy=\"tertiary\"\n onClick={handleCancelAction(cancel)}\n />\n )}\n </div>\n )}\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { Popup };\n"],"mappings":";;;;;;AAKA,IAAM,IAAS,EAAgB;AACT,EAAgB;AACtC,IAAM,IAAe,EAAgB;AACjB,EAAgB;AAEpC,IAAM,IAAgB,EAAM,YAGzB,EAAE,cAAW,GAAG,KAAS,MAC1B,kBAAC,EAAgB,SAAjB;CACO;CACL,WAAW,EACT,uKACA,EACD;CACD,GAAI;CACJ,CAAA,CACF;AACF,EAAc,cAAc,EAAgB,QAAQ;AAEpD,IAAM,IAAgB,EAAM,YAGzB,EAAE,cAAW,GAAG,KAAS,MAC1B,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAiB,CAAA,EACjB,kBAAC,EAAgB,SAAjB;CACO;CACL,WAAW,EACT,gRACA,EACD;CACD,GAAI;CACJ,CAAA,CACW,EAAA,CAAA,CACf;AACF,EAAc,cAAc,EAAgB,QAAQ;AAUpD,IAAM,IAAc,EAAM,YAGvB,EAAE,cAAW,GAAG,KAAS,MAC1B,kBAAC,EAAgB,OAAjB;CAA4B;CAAK,WAAW,EAAG,yBAAyB,EAAU;CAAE,GAAI;CAAS,CAAA,CACjG;AACF,EAAY,cAAc,EAAgB,MAAM;AAEhD,IAAM,IAAoB,EAAM,YAG7B,EAAE,cAAW,GAAG,KAAS,MAC1B,kBAAC,EAAgB,aAAjB;CAAkC;CAAK,WAAW,EAAG,iCAAiC,EAAU;CAAE,GAAI;CAAS,CAAA,CAC/G;AACF,EAAkB,cAAc,EAAgB,YAAY;;;ACtC5D,IAAM,KAAS,EACb,WACA,cACA,UACA,gBACA,YACA,YACA,WACA,sBAAmB,IACnB,mBAoBE,kBAAC,GAAD;CAAQ,MAAM;CAAQ,eATE,MAAsB;AAC1C,OAAoB,CAAC,KAIzB,EAAU,EAAS;;WAKjB,kBAAC,GAAD;EACE,iBAAiB,KAAoB,MAAU,EAAM,gBAAgB,GAAG,KAAA;EACxE,mBAAmB,KAAoB,MAAU,EAAM,gBAAgB,GAAG,KAAA;EAC1E,WAAW,EACT,0HACA,EACD;YANH,CAQE,kBAAC,OAAD;GAAK,WAAU;aAAf;IACG,KAAS,kBAAC,GAAD;KAAa,WAAU;eAAoD;KAAoB,CAAA;IACxG,KACC,kBAAC,OAAD;KAAK,WAAU;eACb,kBAAC,GAAD;MAAmB,WAAU;gBAC1B;MACiB,CAAA;KAChB,CAAA;IAEP,KAAW,kBAAC,OAAD;KAAK,WAAU;eAAmB;KAAc,CAAA;IACxD;OACJ,KAAW,MACX,kBAAC,OAAD;GAAK,WAAU;aAAf,CACG,KACC,kBAAC,GAAD;IACE,OAAO,EAAQ;IACf,MAAM,EAAQ;IACd,MAAK;IACL,WAAU;IACV,WA9Ce,YAA+B;AAC1D,QAAQ,WAAW;OA6CsB,EAAQ;IACrC,CAAA,EAEH,KACC,kBAAC,GAAD;IACE,OAAO,EAAO;IACd,MAAM,EAAO;IACb,MAAK;IACL,WAAU;IACV,WAnDc,YAA+B;AAEzD,KADA,GAAQ,WAAW,EACnB,EAAU,GAAM;OAiDwB,EAAO;IACnC,CAAA,CAEA;KAEM;;CACT,CAAA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { clsx as e } from "clsx";
|
|
2
|
+
import { extendTailwindMerge as t } from "tailwind-merge";
|
|
3
|
+
//#region src/utils/TailwindUtil.ts
|
|
4
|
+
var n = t({ extend: {
|
|
5
|
+
classGroups: { "font-style": [
|
|
6
|
+
"text-display-96-bold",
|
|
7
|
+
"text-display-96-medium",
|
|
8
|
+
"text-display-72-bold",
|
|
9
|
+
"text-display-72-medium",
|
|
10
|
+
"text-display-60-bold",
|
|
11
|
+
"text-display-60-medium",
|
|
12
|
+
"text-headline-48-bold",
|
|
13
|
+
"text-headline-48-medium",
|
|
14
|
+
"text-headline-48-regular",
|
|
15
|
+
"text-headline-42-bold",
|
|
16
|
+
"text-headline-42-medium",
|
|
17
|
+
"text-headline-42-regular",
|
|
18
|
+
"text-headline-36-bold",
|
|
19
|
+
"text-headline-36-medium",
|
|
20
|
+
"text-headline-36-regular",
|
|
21
|
+
"text-title-28-bold",
|
|
22
|
+
"text-title-28-medium",
|
|
23
|
+
"text-title-28-regular",
|
|
24
|
+
"text-title-24-bold",
|
|
25
|
+
"text-title-24-medium",
|
|
26
|
+
"text-title-24-regular",
|
|
27
|
+
"text-title-20-bold",
|
|
28
|
+
"text-title-20-medium",
|
|
29
|
+
"text-title-20-regular",
|
|
30
|
+
"text-title-18-bold",
|
|
31
|
+
"text-title-18-medium",
|
|
32
|
+
"text-title-18-regular",
|
|
33
|
+
"text-title-16-bold",
|
|
34
|
+
"text-title-14-bold",
|
|
35
|
+
"text-body-16-medium",
|
|
36
|
+
"text-body-16-regular",
|
|
37
|
+
"text-body-14-medium",
|
|
38
|
+
"text-body-14-regular",
|
|
39
|
+
"text-body-12-bold",
|
|
40
|
+
"text-caption-12-bold",
|
|
41
|
+
"text-caption-12-medium",
|
|
42
|
+
"text-caption-12-regular",
|
|
43
|
+
"text-caption-11-medium",
|
|
44
|
+
"text-caption-10-bold",
|
|
45
|
+
{ text: [
|
|
46
|
+
"display-large",
|
|
47
|
+
"display-medium",
|
|
48
|
+
"title-large",
|
|
49
|
+
"title-medium",
|
|
50
|
+
"title-small",
|
|
51
|
+
"label-large",
|
|
52
|
+
"label-medium",
|
|
53
|
+
"label-small",
|
|
54
|
+
"body-large",
|
|
55
|
+
"body-medium",
|
|
56
|
+
"body-small",
|
|
57
|
+
"caption-large",
|
|
58
|
+
"caption-medium",
|
|
59
|
+
"caption-small",
|
|
60
|
+
"badge"
|
|
61
|
+
] }
|
|
62
|
+
] },
|
|
63
|
+
conflictingClassGroups: { "font-style": ["font-size", "font-weight"] }
|
|
64
|
+
} });
|
|
65
|
+
function r(...t) {
|
|
66
|
+
return n(e(t));
|
|
67
|
+
}
|
|
68
|
+
//#endregion
|
|
69
|
+
export { r as t };
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=TailwindUtil-aZk2bbTo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TailwindUtil-aZk2bbTo.js","names":[],"sources":["../src/utils/TailwindUtil.ts"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { extendTailwindMerge } from \"tailwind-merge\";\n\nconst customTwMerge = extendTailwindMerge({\n extend: {\n classGroups: {\n \"font-style\": [\n // Display\n \"text-display-96-bold\",\n \"text-display-96-medium\",\n \"text-display-72-bold\",\n \"text-display-72-medium\",\n \"text-display-60-bold\",\n \"text-display-60-medium\",\n // Headline\n \"text-headline-48-bold\",\n \"text-headline-48-medium\",\n \"text-headline-48-regular\",\n \"text-headline-42-bold\",\n \"text-headline-42-medium\",\n \"text-headline-42-regular\",\n \"text-headline-36-bold\",\n \"text-headline-36-medium\",\n \"text-headline-36-regular\",\n // Title\n \"text-title-28-bold\",\n \"text-title-28-medium\",\n \"text-title-28-regular\",\n \"text-title-24-bold\",\n \"text-title-24-medium\",\n \"text-title-24-regular\",\n \"text-title-20-bold\",\n \"text-title-20-medium\",\n \"text-title-20-regular\",\n \"text-title-18-bold\",\n \"text-title-18-medium\",\n \"text-title-18-regular\",\n \"text-title-16-bold\",\n \"text-title-14-bold\",\n // Body\n \"text-body-16-medium\",\n \"text-body-16-regular\",\n \"text-body-14-medium\",\n \"text-body-14-regular\",\n \"text-body-12-bold\",\n // Caption\n \"text-caption-12-bold\",\n \"text-caption-12-medium\",\n \"text-caption-12-regular\",\n \"text-caption-11-medium\",\n \"text-caption-10-bold\",\n {\n text: [\n \"display-large\",\n \"display-medium\",\n \"title-large\",\n \"title-medium\",\n \"title-small\",\n \"label-large\",\n \"label-medium\",\n \"label-small\",\n \"body-large\",\n \"body-medium\",\n \"body-small\",\n \"caption-large\",\n \"caption-medium\",\n \"caption-small\",\n \"badge\",\n ],\n },\n ],\n },\n conflictingClassGroups: {\n \"font-style\": [\"font-size\", \"font-weight\"], // 예시: 폰트 크기, 굵기와 충돌 가능성 명시\n // 기존 색상 관련 그룹과의 충돌을 피하기 위해 textColor 그룹을 명시적으로 선언하거나,\n // text-label-large가 색상과 관련 없음을 tailwind-merge에 알려야 합니다.\n // 만약 text-label-large가 특정 색상을 포함하지 않는다면,\n // textColor 그룹과의 충돌을 정의할 필요는 없을 수 있습니다.\n // 하지만, 만약 text-red-500과 같은 클래스와 충돌한다면,\n // textColor 그룹과의 관계를 명확히 해야 합니다.\n // 가장 간단한 방법은 text-label-large를 textColor 그룹에서 제외하는 것입니다.\n // 또는, text-label-large가 독립적인 그룹임을 명시합니다.\n },\n },\n});\n\nexport function cn(...inputs: ClassValue[]) {\n return customTwMerge(clsx(inputs));\n}\n"],"mappings":";;;AAGA,IAAM,IAAgB,EAAoB,EACxC,QAAQ;CACN,aAAa,EACX,cAAc;EAEZ;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA,EACE,MAAM;GACJ;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,EACF;EACF,EACF;CACD,wBAAwB,EACtB,cAAc,CAAC,aAAa,cAAc,EAS3C;CACF,EACF,CAAC;AAEF,SAAgB,EAAG,GAAG,GAAsB;AAC1C,QAAO,EAAc,EAAK,EAAO,CAAC"}
|