@exem-ui/react 0.3.4-next.20261022010408 → 0.3.4-next.20261027030607

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/index.d.mts CHANGED
@@ -120,6 +120,11 @@ interface TagProps extends Pick<React__default.HTMLAttributes<HTMLDivElement>, '
120
120
  onDelete?: () => void;
121
121
  /** 텍스트 오른쪽에 표시할 슬롯 요소 */
122
122
  rightSlot?: React__default.ReactNode;
123
+ /**
124
+ * 비활성 상태. `color`와 관계없이 비활성 색으로 보이고 삭제 버튼도 비활성화됩니다.
125
+ * @default false
126
+ */
127
+ disabled?: boolean;
123
128
  }
124
129
  type TagComponent = React__default.ForwardRefExoticComponent<TagProps & React__default.RefAttributes<HTMLDivElement>>;
125
130
  interface DoubleTagProps {
@@ -129,10 +134,16 @@ interface DoubleTagProps {
129
134
  content: React__default.ReactNode;
130
135
  }[];
131
136
  className?: string;
137
+ /**
138
+ * 비활성 상태. 모든 항목과 테두리·구분선이 비활성 색으로 보입니다.
139
+ * @default false
140
+ */
141
+ disabled?: boolean;
132
142
  }
133
143
  declare const tagVariants: (props?: ({
134
144
  color?: "mono" | "sky" | "red" | "amber" | "green" | "orange" | "cyan" | "violet" | "pink" | "yellow" | "lime" | "emerald" | "teal" | "blue" | "indigo" | "purple" | "fuchsia" | "rose" | null | undefined;
135
145
  type?: "fill" | "line" | null | undefined;
146
+ disabled?: boolean | null | undefined;
136
147
  } & class_variance_authority_types.ClassProp) | undefined) => string;
137
148
  /**
138
149
  * 카테고리나 상태를 나타내는 라벨 컴포넌트입니다.
package/dist/index.d.ts CHANGED
@@ -120,6 +120,11 @@ interface TagProps extends Pick<React__default.HTMLAttributes<HTMLDivElement>, '
120
120
  onDelete?: () => void;
121
121
  /** 텍스트 오른쪽에 표시할 슬롯 요소 */
122
122
  rightSlot?: React__default.ReactNode;
123
+ /**
124
+ * 비활성 상태. `color`와 관계없이 비활성 색으로 보이고 삭제 버튼도 비활성화됩니다.
125
+ * @default false
126
+ */
127
+ disabled?: boolean;
123
128
  }
124
129
  type TagComponent = React__default.ForwardRefExoticComponent<TagProps & React__default.RefAttributes<HTMLDivElement>>;
125
130
  interface DoubleTagProps {
@@ -129,10 +134,16 @@ interface DoubleTagProps {
129
134
  content: React__default.ReactNode;
130
135
  }[];
131
136
  className?: string;
137
+ /**
138
+ * 비활성 상태. 모든 항목과 테두리·구분선이 비활성 색으로 보입니다.
139
+ * @default false
140
+ */
141
+ disabled?: boolean;
132
142
  }
133
143
  declare const tagVariants: (props?: ({
134
144
  color?: "mono" | "sky" | "red" | "amber" | "green" | "orange" | "cyan" | "violet" | "pink" | "yellow" | "lime" | "emerald" | "teal" | "blue" | "indigo" | "purple" | "fuchsia" | "rose" | null | undefined;
135
145
  type?: "fill" | "line" | null | undefined;
146
+ disabled?: boolean | null | undefined;
136
147
  } & class_variance_authority_types.ClassProp) | undefined) => string;
137
148
  /**
138
149
  * 카테고리나 상태를 나타내는 라벨 컴포넌트입니다.
package/dist/index.js CHANGED
@@ -263,6 +263,10 @@ var tagVariants = utils.cva(
263
263
  type: {
264
264
  fill: "",
265
265
  line: "bg-component-tag border border-border-secondary"
266
+ },
267
+ disabled: {
268
+ true: "text-text-disabled",
269
+ false: ""
266
270
  }
267
271
  },
268
272
  compoundVariants: [
@@ -283,7 +287,9 @@ var tagVariants = utils.cva(
283
287
  { color: "indigo", type: "fill", className: "bg-tint-background-indigo" },
284
288
  { color: "purple", type: "fill", className: "bg-tint-background-purple" },
285
289
  { color: "fuchsia", type: "fill", className: "bg-tint-background-fuchsia" },
286
- { color: "rose", type: "fill", className: "bg-tint-background-rose" }
290
+ { color: "rose", type: "fill", className: "bg-tint-background-rose" },
291
+ { disabled: true, type: "fill", className: "bg-tint-background-mono" },
292
+ { disabled: true, type: "line", className: "border-border-disabled" }
287
293
  ],
288
294
  defaultVariants: {
289
295
  color: "mono",
@@ -300,6 +306,7 @@ var Tag = React.forwardRef(
300
306
  canDelete,
301
307
  onDelete,
302
308
  rightSlot,
309
+ disabled = false,
303
310
  children,
304
311
  ...props
305
312
  }, ref) => {
@@ -307,16 +314,27 @@ var Tag = React.forwardRef(
307
314
  "div",
308
315
  {
309
316
  "data-slot": "tag",
310
- className: utils.cn(tagVariants({ color, type, className })),
317
+ className: utils.cn(tagVariants({ color, type, disabled, className })),
311
318
  ref,
312
319
  ...props,
313
320
  children: [
314
- leftIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex shrink-0 size-3 items-center justify-center [&>svg]:size-3", children: leftIcon }),
321
+ leftIcon && /* @__PURE__ */ jsxRuntime.jsx(
322
+ "span",
323
+ {
324
+ className: utils.cn(
325
+ "flex shrink-0 size-3 items-center justify-center [&>svg]:size-3",
326
+ disabled && "text-icon-disabled"
327
+ ),
328
+ children: leftIcon
329
+ }
330
+ ),
315
331
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "px-0.5 text-body-3 font-medium", children }),
316
332
  canDelete && /* @__PURE__ */ jsxRuntime.jsx(
317
333
  "button",
318
334
  {
319
335
  type: "button",
336
+ disabled,
337
+ className: utils.cn(disabled && "text-icon-disabled"),
320
338
  onClick: (e) => {
321
339
  e.stopPropagation();
322
340
  onDelete?.();
@@ -332,19 +350,37 @@ var Tag = React.forwardRef(
332
350
  );
333
351
  Tag.displayName = "Tag";
334
352
  var DoubleTag = React.forwardRef(
335
- ({ className, items, ...props }, ref) => {
353
+ ({ className, items, disabled = false, ...props }, ref) => {
336
354
  return /* @__PURE__ */ jsxRuntime.jsx(
337
355
  "div",
338
356
  {
339
357
  className: utils.cn(
340
358
  "flex w-fit overflow-hidden rounded-medium border border-border-secondary",
359
+ disabled && "border-border-disabled",
341
360
  className
342
361
  ),
343
362
  ref,
344
363
  ...props,
345
364
  children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
346
- /* @__PURE__ */ jsxRuntime.jsx(Tag, { color: item.color, type: "line", className: "rounded-none border-none", children: item.content }),
347
- index < items.length - 1 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[20px] w-px border-none bg-border-secondary" })
365
+ /* @__PURE__ */ jsxRuntime.jsx(
366
+ Tag,
367
+ {
368
+ color: item.color,
369
+ type: "line",
370
+ disabled,
371
+ className: "rounded-none border-none",
372
+ children: item.content
373
+ }
374
+ ),
375
+ index < items.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(
376
+ "div",
377
+ {
378
+ className: utils.cn(
379
+ "min-h-[20px] w-px border-none bg-border-secondary",
380
+ disabled && "bg-border-disabled"
381
+ )
382
+ }
383
+ )
348
384
  ] }, index))
349
385
  }
350
386
  );
package/dist/index.mjs CHANGED
@@ -239,6 +239,10 @@ var tagVariants = cva(
239
239
  type: {
240
240
  fill: "",
241
241
  line: "bg-component-tag border border-border-secondary"
242
+ },
243
+ disabled: {
244
+ true: "text-text-disabled",
245
+ false: ""
242
246
  }
243
247
  },
244
248
  compoundVariants: [
@@ -259,7 +263,9 @@ var tagVariants = cva(
259
263
  { color: "indigo", type: "fill", className: "bg-tint-background-indigo" },
260
264
  { color: "purple", type: "fill", className: "bg-tint-background-purple" },
261
265
  { color: "fuchsia", type: "fill", className: "bg-tint-background-fuchsia" },
262
- { color: "rose", type: "fill", className: "bg-tint-background-rose" }
266
+ { color: "rose", type: "fill", className: "bg-tint-background-rose" },
267
+ { disabled: true, type: "fill", className: "bg-tint-background-mono" },
268
+ { disabled: true, type: "line", className: "border-border-disabled" }
263
269
  ],
264
270
  defaultVariants: {
265
271
  color: "mono",
@@ -276,6 +282,7 @@ var Tag = forwardRef(
276
282
  canDelete,
277
283
  onDelete,
278
284
  rightSlot,
285
+ disabled = false,
279
286
  children,
280
287
  ...props
281
288
  }, ref) => {
@@ -283,16 +290,27 @@ var Tag = forwardRef(
283
290
  "div",
284
291
  {
285
292
  "data-slot": "tag",
286
- className: cn(tagVariants({ color, type, className })),
293
+ className: cn(tagVariants({ color, type, disabled, className })),
287
294
  ref,
288
295
  ...props,
289
296
  children: [
290
- leftIcon && /* @__PURE__ */ jsx("span", { className: "flex shrink-0 size-3 items-center justify-center [&>svg]:size-3", children: leftIcon }),
297
+ leftIcon && /* @__PURE__ */ jsx(
298
+ "span",
299
+ {
300
+ className: cn(
301
+ "flex shrink-0 size-3 items-center justify-center [&>svg]:size-3",
302
+ disabled && "text-icon-disabled"
303
+ ),
304
+ children: leftIcon
305
+ }
306
+ ),
291
307
  /* @__PURE__ */ jsx("span", { className: "px-0.5 text-body-3 font-medium", children }),
292
308
  canDelete && /* @__PURE__ */ jsx(
293
309
  "button",
294
310
  {
295
311
  type: "button",
312
+ disabled,
313
+ className: cn(disabled && "text-icon-disabled"),
296
314
  onClick: (e) => {
297
315
  e.stopPropagation();
298
316
  onDelete?.();
@@ -308,19 +326,37 @@ var Tag = forwardRef(
308
326
  );
309
327
  Tag.displayName = "Tag";
310
328
  var DoubleTag = forwardRef(
311
- ({ className, items, ...props }, ref) => {
329
+ ({ className, items, disabled = false, ...props }, ref) => {
312
330
  return /* @__PURE__ */ jsx(
313
331
  "div",
314
332
  {
315
333
  className: cn(
316
334
  "flex w-fit overflow-hidden rounded-medium border border-border-secondary",
335
+ disabled && "border-border-disabled",
317
336
  className
318
337
  ),
319
338
  ref,
320
339
  ...props,
321
340
  children: items.map((item, index) => /* @__PURE__ */ jsxs(Fragment, { children: [
322
- /* @__PURE__ */ jsx(Tag, { color: item.color, type: "line", className: "rounded-none border-none", children: item.content }),
323
- index < items.length - 1 && /* @__PURE__ */ jsx("div", { className: "min-h-[20px] w-px border-none bg-border-secondary" })
341
+ /* @__PURE__ */ jsx(
342
+ Tag,
343
+ {
344
+ color: item.color,
345
+ type: "line",
346
+ disabled,
347
+ className: "rounded-none border-none",
348
+ children: item.content
349
+ }
350
+ ),
351
+ index < items.length - 1 && /* @__PURE__ */ jsx(
352
+ "div",
353
+ {
354
+ className: cn(
355
+ "min-h-[20px] w-px border-none bg-border-secondary",
356
+ disabled && "bg-border-disabled"
357
+ )
358
+ }
359
+ )
324
360
  ] }, index))
325
361
  }
326
362
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exem-ui/react",
3
- "version": "0.3.4-next.20261022010408",
3
+ "version": "0.3.4-next.20261027030607",
4
4
  "description": "Exem Design System - React Components",
5
5
  "author": "Exem Design Team",
6
6
  "license": "Apache-2.0",
@@ -98,7 +98,7 @@
98
98
  "tailwind-merge": "^3.3.1",
99
99
  "tailwind-scrollbar-hide": "^4.0.0",
100
100
  "tiny-invariant": "^1.3.3",
101
- "@exem-ui/core": "0.3.3-next.20261022010408"
101
+ "@exem-ui/core": "0.3.3-next.20261027030607"
102
102
  },
103
103
  "devDependencies": {
104
104
  "@eslint/js": "^9.15.0",
@@ -134,7 +134,7 @@
134
134
  "tsup": "^8.5.0",
135
135
  "typescript": "^5.8.2",
136
136
  "typescript-eslint": "^8.16.0",
137
- "@exem-ui/tailwindcss3": "0.3.2-next.20261022010408"
137
+ "@exem-ui/tailwindcss3": "0.3.2-next.20261027030607"
138
138
  },
139
139
  "scripts": {
140
140
  "generate": "node scripts/generate-icons.js",