@exem-ui/react 0.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/README.md +40 -0
- package/dist/Button-CMenVfb7.d.mts +35 -0
- package/dist/Button-CMenVfb7.d.ts +35 -0
- package/dist/Select-DMvWV_rF.d.mts +94 -0
- package/dist/Select-DMvWV_rF.d.ts +94 -0
- package/dist/avatar/index.d.mts +37 -0
- package/dist/avatar/index.d.ts +37 -0
- package/dist/avatar/index.js +13 -0
- package/dist/avatar/index.js.map +1 -0
- package/dist/avatar/index.mjs +4 -0
- package/dist/avatar/index.mjs.map +1 -0
- package/dist/badge/index.d.mts +29 -0
- package/dist/badge/index.d.ts +29 -0
- package/dist/badge/index.js +12 -0
- package/dist/badge/index.js.map +1 -0
- package/dist/badge/index.mjs +3 -0
- package/dist/badge/index.mjs.map +1 -0
- package/dist/breadcrumb/index.d.mts +43 -0
- package/dist/breadcrumb/index.d.ts +43 -0
- package/dist/breadcrumb/index.js +13 -0
- package/dist/breadcrumb/index.js.map +1 -0
- package/dist/breadcrumb/index.mjs +4 -0
- package/dist/breadcrumb/index.mjs.map +1 -0
- package/dist/button/index.d.mts +9 -0
- package/dist/button/index.d.ts +9 -0
- package/dist/button/index.js +29 -0
- package/dist/button/index.js.map +1 -0
- package/dist/button/index.mjs +12 -0
- package/dist/button/index.mjs.map +1 -0
- package/dist/checkbox/index.d.mts +54 -0
- package/dist/checkbox/index.d.ts +54 -0
- package/dist/checkbox/index.js +13 -0
- package/dist/checkbox/index.js.map +1 -0
- package/dist/checkbox/index.mjs +4 -0
- package/dist/checkbox/index.mjs.map +1 -0
- package/dist/chunk-34QIGWCT.mjs +10 -0
- package/dist/chunk-34QIGWCT.mjs.map +1 -0
- package/dist/chunk-3FPMWAQT.js +30 -0
- package/dist/chunk-3FPMWAQT.js.map +1 -0
- package/dist/chunk-3HMT3DQV.js +104 -0
- package/dist/chunk-3HMT3DQV.js.map +1 -0
- package/dist/chunk-4WAO7CUT.mjs +95 -0
- package/dist/chunk-4WAO7CUT.mjs.map +1 -0
- package/dist/chunk-5M47B2XJ.js +4096 -0
- package/dist/chunk-5M47B2XJ.js.map +1 -0
- package/dist/chunk-5QX4TO4F.js +61 -0
- package/dist/chunk-5QX4TO4F.js.map +1 -0
- package/dist/chunk-5TEFN2CW.js +97 -0
- package/dist/chunk-5TEFN2CW.js.map +1 -0
- package/dist/chunk-5TES5PG6.js +41 -0
- package/dist/chunk-5TES5PG6.js.map +1 -0
- package/dist/chunk-5TVMECVF.js +148 -0
- package/dist/chunk-5TVMECVF.js.map +1 -0
- package/dist/chunk-5WGNZX7Z.mjs +27 -0
- package/dist/chunk-5WGNZX7Z.mjs.map +1 -0
- package/dist/chunk-AQ3OIM2T.js +103 -0
- package/dist/chunk-AQ3OIM2T.js.map +1 -0
- package/dist/chunk-AU5NTBK3.js +361 -0
- package/dist/chunk-AU5NTBK3.js.map +1 -0
- package/dist/chunk-DJHGCJR4.mjs +224 -0
- package/dist/chunk-DJHGCJR4.mjs.map +1 -0
- package/dist/chunk-DPUTW5KD.mjs +74 -0
- package/dist/chunk-DPUTW5KD.mjs.map +1 -0
- package/dist/chunk-E53FHDVN.mjs +336 -0
- package/dist/chunk-E53FHDVN.mjs.map +1 -0
- package/dist/chunk-ECRQD7UU.js +82 -0
- package/dist/chunk-ECRQD7UU.js.map +1 -0
- package/dist/chunk-FB4ESGOX.mjs +59 -0
- package/dist/chunk-FB4ESGOX.mjs.map +1 -0
- package/dist/chunk-FDX4IQK5.js +76 -0
- package/dist/chunk-FDX4IQK5.js.map +1 -0
- package/dist/chunk-FOMIUDRM.js +96 -0
- package/dist/chunk-FOMIUDRM.js.map +1 -0
- package/dist/chunk-FR5F3VTU.js +139 -0
- package/dist/chunk-FR5F3VTU.js.map +1 -0
- package/dist/chunk-GW53LH3I.mjs +81 -0
- package/dist/chunk-GW53LH3I.mjs.map +1 -0
- package/dist/chunk-GXMRIT5E.mjs +94 -0
- package/dist/chunk-GXMRIT5E.mjs.map +1 -0
- package/dist/chunk-IANSI7F7.mjs +393 -0
- package/dist/chunk-IANSI7F7.mjs.map +1 -0
- package/dist/chunk-IDM6MZHF.js +415 -0
- package/dist/chunk-IDM6MZHF.js.map +1 -0
- package/dist/chunk-J5ZYQ3TP.js +104 -0
- package/dist/chunk-J5ZYQ3TP.js.map +1 -0
- package/dist/chunk-KPAUBWZA.mjs +39 -0
- package/dist/chunk-KPAUBWZA.mjs.map +1 -0
- package/dist/chunk-L7P2NDST.mjs +124 -0
- package/dist/chunk-L7P2NDST.mjs.map +1 -0
- package/dist/chunk-LZWKMQJL.mjs +3886 -0
- package/dist/chunk-LZWKMQJL.mjs.map +1 -0
- package/dist/chunk-M6OWN7QH.js +118 -0
- package/dist/chunk-M6OWN7QH.js.map +1 -0
- package/dist/chunk-MQVHREEI.js +448 -0
- package/dist/chunk-MQVHREEI.js.map +1 -0
- package/dist/chunk-MT47ECUN.js +127 -0
- package/dist/chunk-MT47ECUN.js.map +1 -0
- package/dist/chunk-N6U54JI4.mjs +126 -0
- package/dist/chunk-N6U54JI4.mjs.map +1 -0
- package/dist/chunk-NDG4LR3Q.js +139 -0
- package/dist/chunk-NDG4LR3Q.js.map +1 -0
- package/dist/chunk-PPD4BU4W.mjs +80 -0
- package/dist/chunk-PPD4BU4W.mjs.map +1 -0
- package/dist/chunk-PU5NO5EZ.js +4 -0
- package/dist/chunk-PU5NO5EZ.js.map +1 -0
- package/dist/chunk-Q442ZDTI.mjs +117 -0
- package/dist/chunk-Q442ZDTI.mjs.map +1 -0
- package/dist/chunk-QH23RO3C.mjs +137 -0
- package/dist/chunk-QH23RO3C.mjs.map +1 -0
- package/dist/chunk-REBHUF4L.js +226 -0
- package/dist/chunk-REBHUF4L.js.map +1 -0
- package/dist/chunk-RGB3QLQT.js +275 -0
- package/dist/chunk-RGB3QLQT.js.map +1 -0
- package/dist/chunk-T7U2QRLC.js +94 -0
- package/dist/chunk-T7U2QRLC.js.map +1 -0
- package/dist/chunk-TEHHJ3CS.mjs +73 -0
- package/dist/chunk-TEHHJ3CS.mjs.map +1 -0
- package/dist/chunk-TJY4MIBC.js +117 -0
- package/dist/chunk-TJY4MIBC.js.map +1 -0
- package/dist/chunk-VCMZQOQM.mjs +102 -0
- package/dist/chunk-VCMZQOQM.mjs.map +1 -0
- package/dist/chunk-VKN4H4WI.mjs +3 -0
- package/dist/chunk-VKN4H4WI.mjs.map +1 -0
- package/dist/chunk-VSB25XTY.js +12 -0
- package/dist/chunk-VSB25XTY.js.map +1 -0
- package/dist/chunk-VWTE74UT.mjs +96 -0
- package/dist/chunk-VWTE74UT.mjs.map +1 -0
- package/dist/chunk-WBTL7PBV.js +105 -0
- package/dist/chunk-WBTL7PBV.js.map +1 -0
- package/dist/chunk-WOK3EP3O.js +83 -0
- package/dist/chunk-WOK3EP3O.js.map +1 -0
- package/dist/chunk-WWT73GGM.mjs +83 -0
- package/dist/chunk-WWT73GGM.mjs.map +1 -0
- package/dist/chunk-XBDXTRK3.mjs +102 -0
- package/dist/chunk-XBDXTRK3.mjs.map +1 -0
- package/dist/chunk-YGBEKZWU.mjs +81 -0
- package/dist/chunk-YGBEKZWU.mjs.map +1 -0
- package/dist/chunk-YVFLRPFV.mjs +72 -0
- package/dist/chunk-YVFLRPFV.mjs.map +1 -0
- package/dist/chunk-ZMVBIQ2Z.mjs +253 -0
- package/dist/chunk-ZMVBIQ2Z.mjs.map +1 -0
- package/dist/chunk-ZWCMSHDP.mjs +425 -0
- package/dist/chunk-ZWCMSHDP.mjs.map +1 -0
- package/dist/flat/index.d.mts +13 -0
- package/dist/flat/index.d.ts +13 -0
- package/dist/flat/index.js +31 -0
- package/dist/flat/index.js.map +1 -0
- package/dist/flat/index.mjs +10 -0
- package/dist/flat/index.mjs.map +1 -0
- package/dist/flat/segment.d.mts +39 -0
- package/dist/flat/segment.d.ts +39 -0
- package/dist/flat/segment.js +13 -0
- package/dist/flat/segment.js.map +1 -0
- package/dist/flat/segment.mjs +4 -0
- package/dist/flat/segment.mjs.map +1 -0
- package/dist/flat/select.d.mts +58 -0
- package/dist/flat/select.d.ts +58 -0
- package/dist/flat/select.js +14 -0
- package/dist/flat/select.js.map +1 -0
- package/dist/flat/select.mjs +5 -0
- package/dist/flat/select.mjs.map +1 -0
- package/dist/flat/tooltip.d.mts +98 -0
- package/dist/flat/tooltip.d.ts +98 -0
- package/dist/flat/tooltip.js +17 -0
- package/dist/flat/tooltip.js.map +1 -0
- package/dist/flat/tooltip.mjs +4 -0
- package/dist/flat/tooltip.mjs.map +1 -0
- package/dist/icon/index.d.mts +1258 -0
- package/dist/icon/index.d.ts +1258 -0
- package/dist/icon/index.js +1672 -0
- package/dist/icon/index.js.map +1 -0
- package/dist/icon/index.mjs +3 -0
- package/dist/icon/index.mjs.map +1 -0
- package/dist/index-CXip5Wb1.d.mts +62 -0
- package/dist/index-Drz3P-6Y.d.ts +62 -0
- package/dist/index.d.mts +37 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.js +150 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +29 -0
- package/dist/index.mjs.map +1 -0
- package/dist/input/index.d.mts +82 -0
- package/dist/input/index.d.ts +82 -0
- package/dist/input/index.js +22 -0
- package/dist/input/index.js.map +1 -0
- package/dist/input/index.mjs +5 -0
- package/dist/input/index.mjs.map +1 -0
- package/dist/loading/index.d.mts +54 -0
- package/dist/loading/index.d.ts +54 -0
- package/dist/loading/index.js +12 -0
- package/dist/loading/index.js.map +1 -0
- package/dist/loading/index.mjs +3 -0
- package/dist/loading/index.mjs.map +1 -0
- package/dist/messageBox/index.d.mts +33 -0
- package/dist/messageBox/index.d.ts +33 -0
- package/dist/messageBox/index.js +13 -0
- package/dist/messageBox/index.js.map +1 -0
- package/dist/messageBox/index.mjs +4 -0
- package/dist/messageBox/index.mjs.map +1 -0
- package/dist/modal/index.d.mts +97 -0
- package/dist/modal/index.d.ts +97 -0
- package/dist/modal/index.js +15 -0
- package/dist/modal/index.js.map +1 -0
- package/dist/modal/index.mjs +6 -0
- package/dist/modal/index.mjs.map +1 -0
- package/dist/picker/index.d.mts +12 -0
- package/dist/picker/index.d.ts +12 -0
- package/dist/picker/index.js +13 -0
- package/dist/picker/index.js.map +1 -0
- package/dist/picker/index.mjs +4 -0
- package/dist/picker/index.mjs.map +1 -0
- package/dist/progress/index.d.mts +36 -0
- package/dist/progress/index.d.ts +36 -0
- package/dist/progress/index.js +12 -0
- package/dist/progress/index.js.map +1 -0
- package/dist/progress/index.mjs +3 -0
- package/dist/progress/index.mjs.map +1 -0
- package/dist/radio/index.d.mts +39 -0
- package/dist/radio/index.d.ts +39 -0
- package/dist/radio/index.js +12 -0
- package/dist/radio/index.js.map +1 -0
- package/dist/radio/index.mjs +3 -0
- package/dist/radio/index.mjs.map +1 -0
- package/dist/scrollArea/index.d.mts +31 -0
- package/dist/scrollArea/index.d.ts +31 -0
- package/dist/scrollArea/index.js +16 -0
- package/dist/scrollArea/index.js.map +1 -0
- package/dist/scrollArea/index.mjs +3 -0
- package/dist/scrollArea/index.mjs.map +1 -0
- package/dist/segment/index.d.mts +46 -0
- package/dist/segment/index.d.ts +46 -0
- package/dist/segment/index.js +12 -0
- package/dist/segment/index.js.map +1 -0
- package/dist/segment/index.mjs +3 -0
- package/dist/segment/index.mjs.map +1 -0
- package/dist/star/index.d.mts +30 -0
- package/dist/star/index.d.ts +30 -0
- package/dist/star/index.js +12 -0
- package/dist/star/index.js.map +1 -0
- package/dist/star/index.mjs +3 -0
- package/dist/star/index.mjs.map +1 -0
- package/dist/switch/index.d.mts +32 -0
- package/dist/switch/index.d.ts +32 -0
- package/dist/switch/index.js +12 -0
- package/dist/switch/index.js.map +1 -0
- package/dist/switch/index.mjs +3 -0
- package/dist/switch/index.mjs.map +1 -0
- package/dist/tabs/index.d.mts +52 -0
- package/dist/tabs/index.d.ts +52 -0
- package/dist/tabs/index.js +12 -0
- package/dist/tabs/index.js.map +1 -0
- package/dist/tabs/index.mjs +3 -0
- package/dist/tabs/index.mjs.map +1 -0
- package/dist/tag/index.d.mts +68 -0
- package/dist/tag/index.d.ts +68 -0
- package/dist/tag/index.js +17 -0
- package/dist/tag/index.js.map +1 -0
- package/dist/tag/index.mjs +4 -0
- package/dist/tag/index.mjs.map +1 -0
- package/dist/toast/index.d.mts +175 -0
- package/dist/toast/index.d.ts +175 -0
- package/dist/toast/index.js +25 -0
- package/dist/toast/index.js.map +1 -0
- package/dist/toast/index.mjs +4 -0
- package/dist/toast/index.mjs.map +1 -0
- package/dist/tooltip/index.d.mts +26 -0
- package/dist/tooltip/index.d.ts +26 -0
- package/dist/tooltip/index.js +12 -0
- package/dist/tooltip/index.js.map +1 -0
- package/dist/tooltip/index.mjs +3 -0
- package/dist/tooltip/index.mjs.map +1 -0
- package/package.json +249 -0
- package/styles.css +20 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { X } from './chunk-LZWKMQJL.mjs';
|
|
2
|
+
import { cva, cn } from '@exem-ui/core/utils';
|
|
3
|
+
import { forwardRef, Fragment } from 'react';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var tagVariants = cva(
|
|
7
|
+
"inline-flex h-5 items-center gap-0.5 rounded-medium px-1 text-body-3 font-medium",
|
|
8
|
+
{
|
|
9
|
+
variants: {
|
|
10
|
+
color: {
|
|
11
|
+
mono: "text-tint-foreground-mono",
|
|
12
|
+
sky: "text-tint-foreground-sky",
|
|
13
|
+
red: "text-tint-foreground-red",
|
|
14
|
+
amber: "text-tint-foreground-amber",
|
|
15
|
+
green: "text-tint-foreground-green",
|
|
16
|
+
orange: "text-tint-foreground-orange",
|
|
17
|
+
cyan: "text-tint-foreground-cyan",
|
|
18
|
+
violet: "text-tint-foreground-violet",
|
|
19
|
+
pink: "text-tint-foreground-pink",
|
|
20
|
+
yellow: "text-tint-foreground-yellow",
|
|
21
|
+
lime: "text-tint-foreground-lime",
|
|
22
|
+
emerald: "text-tint-foreground-emerald",
|
|
23
|
+
teal: "text-tint-foreground-teal",
|
|
24
|
+
blue: "text-tint-foreground-blue",
|
|
25
|
+
indigo: "text-tint-foreground-indigo",
|
|
26
|
+
purple: "text-tint-foreground-purple",
|
|
27
|
+
fuchsia: "text-tint-foreground-fuchsia",
|
|
28
|
+
rose: "text-tint-foreground-rose"
|
|
29
|
+
},
|
|
30
|
+
type: {
|
|
31
|
+
fill: "",
|
|
32
|
+
line: "bg-component-tag border border-border-secondary"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
compoundVariants: [
|
|
36
|
+
{ color: "mono", type: "fill", className: "bg-tint-background-mono" },
|
|
37
|
+
{ color: "sky", type: "fill", className: "bg-tint-background-sky" },
|
|
38
|
+
{ color: "red", type: "fill", className: "bg-tint-background-red" },
|
|
39
|
+
{ color: "amber", type: "fill", className: "bg-tint-background-amber" },
|
|
40
|
+
{ color: "green", type: "fill", className: "bg-tint-background-green" },
|
|
41
|
+
{ color: "orange", type: "fill", className: "bg-tint-background-orange" },
|
|
42
|
+
{ color: "cyan", type: "fill", className: "bg-tint-background-cyan" },
|
|
43
|
+
{ color: "violet", type: "fill", className: "bg-tint-background-violet" },
|
|
44
|
+
{ color: "pink", type: "fill", className: "bg-tint-background-pink" },
|
|
45
|
+
{ color: "yellow", type: "fill", className: "bg-tint-background-yellow" },
|
|
46
|
+
{ color: "lime", type: "fill", className: "bg-tint-background-lime" },
|
|
47
|
+
{ color: "emerald", type: "fill", className: "bg-tint-background-emerald" },
|
|
48
|
+
{ color: "teal", type: "fill", className: "bg-tint-background-teal" },
|
|
49
|
+
{ color: "blue", type: "fill", className: "bg-tint-background-blue" },
|
|
50
|
+
{ color: "indigo", type: "fill", className: "bg-tint-background-indigo" },
|
|
51
|
+
{ color: "purple", type: "fill", className: "bg-tint-background-purple" },
|
|
52
|
+
{ color: "fuchsia", type: "fill", className: "bg-tint-background-fuchsia" },
|
|
53
|
+
{ color: "rose", type: "fill", className: "bg-tint-background-rose" }
|
|
54
|
+
],
|
|
55
|
+
defaultVariants: {
|
|
56
|
+
color: "mono",
|
|
57
|
+
type: "fill"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
var Tag = forwardRef(
|
|
62
|
+
({
|
|
63
|
+
className,
|
|
64
|
+
color,
|
|
65
|
+
type = "fill",
|
|
66
|
+
leftIcon,
|
|
67
|
+
canDelete,
|
|
68
|
+
onDelete,
|
|
69
|
+
rightSlot,
|
|
70
|
+
children,
|
|
71
|
+
...props
|
|
72
|
+
}, ref) => {
|
|
73
|
+
return /* @__PURE__ */ jsxs(
|
|
74
|
+
"div",
|
|
75
|
+
{
|
|
76
|
+
"data-slot": "tag",
|
|
77
|
+
className: cn(tagVariants({ color, type, className })),
|
|
78
|
+
ref,
|
|
79
|
+
...props,
|
|
80
|
+
children: [
|
|
81
|
+
leftIcon && /* @__PURE__ */ jsx("span", { className: "flex shrink-0 size-3 items-center justify-center [&>svg]:size-3", children: leftIcon }),
|
|
82
|
+
/* @__PURE__ */ jsx("span", { className: "px-0.5 text-body-3 font-medium", children }),
|
|
83
|
+
canDelete && /* @__PURE__ */ jsx(
|
|
84
|
+
"button",
|
|
85
|
+
{
|
|
86
|
+
type: "button",
|
|
87
|
+
onClick: (e) => {
|
|
88
|
+
e.stopPropagation();
|
|
89
|
+
onDelete?.();
|
|
90
|
+
},
|
|
91
|
+
children: /* @__PURE__ */ jsx(X, { type: "regular", className: "size-3 [&>*]:stroke-current [&>path]:fill-current" })
|
|
92
|
+
}
|
|
93
|
+
),
|
|
94
|
+
rightSlot && /* @__PURE__ */ jsx("div", { className: "ml-auto", children: rightSlot })
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
);
|
|
100
|
+
Tag.displayName = "Tag";
|
|
101
|
+
var DoubleTag = forwardRef(
|
|
102
|
+
({ className, items, ...props }, ref) => {
|
|
103
|
+
return /* @__PURE__ */ jsx(
|
|
104
|
+
"div",
|
|
105
|
+
{
|
|
106
|
+
className: cn(
|
|
107
|
+
"flex w-fit overflow-hidden rounded-medium border border-border-secondary",
|
|
108
|
+
className
|
|
109
|
+
),
|
|
110
|
+
ref,
|
|
111
|
+
...props,
|
|
112
|
+
children: items.map((item, index) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
113
|
+
/* @__PURE__ */ jsx(Tag, { color: item.color, type: "line", className: "rounded-none border-none", children: item.content }),
|
|
114
|
+
index < items.length - 1 && /* @__PURE__ */ jsx("div", { className: "min-h-[20px] w-px border-none bg-border-secondary" })
|
|
115
|
+
] }, index))
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
);
|
|
120
|
+
DoubleTag.displayName = "DoubleTag";
|
|
121
|
+
|
|
122
|
+
export { DoubleTag, Tag };
|
|
123
|
+
//# sourceMappingURL=chunk-L7P2NDST.mjs.map
|
|
124
|
+
//# sourceMappingURL=chunk-L7P2NDST.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tag/Tag.tsx"],"names":[],"mappings":"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","file":"chunk-L7P2NDST.mjs","sourcesContent":["import { cn, cva, type VariantProps } from '@exem-ui/core/utils';\nimport type React from 'react';\nimport { Fragment, forwardRef } from 'react';\nimport { XIcon } from '../icon';\n\ntype TagColor = VariantProps<typeof tagVariants>['color'];\n\ninterface TagProps\n extends Pick<React.HTMLAttributes<HTMLDivElement>, 'className' | 'children' | 'style'>,\n VariantProps<typeof tagVariants> {\n /** 텍스트 왼쪽에 표시할 아이콘 */\n leftIcon?: React.ReactElement<{ className?: string }>;\n /**\n * 삭제 아이콘 표시 여부\n * @default false\n */\n canDelete?: boolean;\n /** 삭제 버튼 클릭 핸들러 */\n onDelete?: () => void;\n /** 텍스트 오른쪽에 표시할 슬롯 요소 */\n rightSlot?: React.ReactNode;\n}\n\ntype TagComponent = React.ForwardRefExoticComponent<TagProps & React.RefAttributes<HTMLDivElement>>;\n\ninterface DoubleTagProps {\n /** 표시할 태그 항목 배열 (각 항목은 color와 content를 가짐) */\n items: {\n color: TagColor;\n content: React.ReactNode;\n }[];\n className?: string;\n}\n\nconst tagVariants = cva(\n 'inline-flex h-5 items-center gap-0.5 rounded-medium px-1 text-body-3 font-medium',\n {\n variants: {\n color: {\n mono: 'text-tint-foreground-mono',\n sky: 'text-tint-foreground-sky',\n red: 'text-tint-foreground-red',\n amber: 'text-tint-foreground-amber',\n green: 'text-tint-foreground-green',\n orange: 'text-tint-foreground-orange',\n cyan: 'text-tint-foreground-cyan',\n violet: 'text-tint-foreground-violet',\n pink: 'text-tint-foreground-pink',\n yellow: 'text-tint-foreground-yellow',\n lime: 'text-tint-foreground-lime',\n emerald: 'text-tint-foreground-emerald',\n teal: 'text-tint-foreground-teal',\n blue: 'text-tint-foreground-blue',\n indigo: 'text-tint-foreground-indigo',\n purple: 'text-tint-foreground-purple',\n fuchsia: 'text-tint-foreground-fuchsia',\n rose: 'text-tint-foreground-rose',\n },\n type: {\n fill: '',\n line: 'bg-component-tag border border-border-secondary',\n },\n },\n compoundVariants: [\n { color: 'mono', type: 'fill', className: 'bg-tint-background-mono' },\n { color: 'sky', type: 'fill', className: 'bg-tint-background-sky' },\n { color: 'red', type: 'fill', className: 'bg-tint-background-red' },\n { color: 'amber', type: 'fill', className: 'bg-tint-background-amber' },\n { color: 'green', type: 'fill', className: 'bg-tint-background-green' },\n { color: 'orange', type: 'fill', className: 'bg-tint-background-orange' },\n { color: 'cyan', type: 'fill', className: 'bg-tint-background-cyan' },\n { color: 'violet', type: 'fill', className: 'bg-tint-background-violet' },\n { color: 'pink', type: 'fill', className: 'bg-tint-background-pink' },\n { color: 'yellow', type: 'fill', className: 'bg-tint-background-yellow' },\n { color: 'lime', type: 'fill', className: 'bg-tint-background-lime' },\n { color: 'emerald', type: 'fill', className: 'bg-tint-background-emerald' },\n { color: 'teal', type: 'fill', className: 'bg-tint-background-teal' },\n { color: 'blue', type: 'fill', className: 'bg-tint-background-blue' },\n { color: 'indigo', type: 'fill', className: 'bg-tint-background-indigo' },\n { color: 'purple', type: 'fill', className: 'bg-tint-background-purple' },\n { color: 'fuchsia', type: 'fill', className: 'bg-tint-background-fuchsia' },\n { color: 'rose', type: 'fill', className: 'bg-tint-background-rose' },\n ],\n defaultVariants: {\n color: 'mono',\n type: 'fill',\n },\n },\n);\n\n/**\n * 카테고리나 상태를 나타내는 라벨 컴포넌트입니다.\n * 18가지 색상과 `fill`/`line` 타입을 지원합니다.\n *\n * @example\n * ```tsx\n * <Tag color=\"sky\">라벨</Tag>\n * <Tag color=\"red\" type=\"line\">경고</Tag>\n * <Tag color=\"green\" canDelete onDelete={handleDelete}>삭제 가능</Tag>\n * <Tag color=\"blue\" leftIcon={<StarIcon type=\"regular\" />}>아이콘 태그</Tag>\n * <Tag color=\"blue\" rightSlot={<Icon />}>커스텀 슬롯</Tag>\n * ```\n *\n * @see {@link TagProps} props 상세\n */\nconst Tag = forwardRef<HTMLDivElement, TagProps>(\n (\n {\n className,\n color,\n type = 'fill',\n leftIcon,\n canDelete,\n onDelete,\n rightSlot,\n children,\n ...props\n },\n ref,\n ) => {\n return (\n <div\n data-slot=\"tag\"\n className={cn(tagVariants({ color, type, className }))}\n ref={ref}\n {...props}\n >\n {leftIcon && (\n <span className=\"flex shrink-0 size-3 items-center justify-center [&>svg]:size-3\">\n {leftIcon}\n </span>\n )}\n <span className=\"px-0.5 text-body-3 font-medium\">{children}</span>\n {canDelete && (\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onDelete?.();\n }}\n >\n <XIcon type=\"regular\" className=\"size-3 [&>*]:stroke-current [&>path]:fill-current\" />\n </button>\n )}\n {rightSlot && <div className=\"ml-auto\">{rightSlot}</div>}\n </div>\n );\n },\n);\n\nTag.displayName = 'Tag';\n\n/**\n * 두 개의 태그를 나란히 연결하여 키-값 쌍을 표시하는 컴포넌트입니다.\n * 각 태그는 `line` 타입으로 렌더링되며, 사이에 구분선이 표시됩니다.\n *\n * @example\n * ```tsx\n * <DoubleTag\n * items={[\n * { color: 'blue', content: '카테고리' },\n * { color: 'red', content: '긴급' },\n * ]}\n * />\n * ```\n *\n * @see {@link DoubleTagProps} props 상세\n */\nconst DoubleTag = forwardRef<HTMLDivElement, DoubleTagProps>(\n ({ className, items, ...props }, ref) => {\n return (\n <div\n className={cn(\n 'flex w-fit overflow-hidden rounded-medium border border-border-secondary',\n className,\n )}\n ref={ref}\n {...props}\n >\n {items.map((item, index) => (\n <Fragment key={index}>\n <Tag color={item.color} type=\"line\" className=\"rounded-none border-none\">\n {item.content}\n </Tag>\n {index < items.length - 1 && (\n <div className=\"min-h-[20px] w-px border-none bg-border-secondary\" />\n )}\n </Fragment>\n ))}\n </div>\n );\n },\n);\n\nDoubleTag.displayName = 'DoubleTag';\n\nexport { Tag, DoubleTag };\nexport type { TagComponent, TagProps, TagColor, DoubleTagProps };\n"]}
|