@exem-ui/react 0.3.4-next.20261021004719 → 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 +12 -1
- package/dist/index.d.ts +12 -1
- package/dist/index.js +45 -6
- package/dist/index.mjs +45 -6
- package/package.json +3 -3
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
|
* 카테고리나 상태를 나타내는 라벨 컴포넌트입니다.
|
|
@@ -215,7 +226,7 @@ type BreadcrumbComponent = React__default.ForwardRefExoticComponent<React__defau
|
|
|
215
226
|
declare const Breadcrumb: BreadcrumbComponent;
|
|
216
227
|
|
|
217
228
|
type ButtonColor = 'primary' | 'accent' | 'critical';
|
|
218
|
-
type ButtonSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
|
|
229
|
+
type ButtonSize = '2xsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
|
|
219
230
|
type ButtonBackground = 'none' | 'fill';
|
|
220
231
|
type ButtonVariantProps = {
|
|
221
232
|
variant?: 'solid' | 'assistive';
|
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
|
* 카테고리나 상태를 나타내는 라벨 컴포넌트입니다.
|
|
@@ -215,7 +226,7 @@ type BreadcrumbComponent = React__default.ForwardRefExoticComponent<React__defau
|
|
|
215
226
|
declare const Breadcrumb: BreadcrumbComponent;
|
|
216
227
|
|
|
217
228
|
type ButtonColor = 'primary' | 'accent' | 'critical';
|
|
218
|
-
type ButtonSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
|
|
229
|
+
type ButtonSize = '2xsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
|
|
219
230
|
type ButtonBackground = 'none' | 'fill';
|
|
220
231
|
type ButtonVariantProps = {
|
|
221
232
|
variant?: 'solid' | 'assistive';
|
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(
|
|
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(
|
|
347
|
-
|
|
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
|
);
|
|
@@ -489,6 +525,7 @@ var buttonVariants = utils.cva(
|
|
|
489
525
|
},
|
|
490
526
|
variants: {
|
|
491
527
|
size: {
|
|
528
|
+
"2xsmall": "h-5 gap-0 px-1 text-caption font-medium",
|
|
492
529
|
xsmall: "h-6 gap-0 px-1 text-body-3 font-medium",
|
|
493
530
|
small: "h-7 gap-0.5 px-1.5 text-body-2 font-medium",
|
|
494
531
|
medium: "h-8 gap-0.5 px-2 text-body-2 font-medium",
|
|
@@ -499,6 +536,7 @@ var buttonVariants = utils.cva(
|
|
|
499
536
|
}
|
|
500
537
|
);
|
|
501
538
|
var iconSizeMap = {
|
|
539
|
+
"2xsmall": chunkJIFX424V_js.iconSizes.xs,
|
|
502
540
|
xsmall: chunkJIFX424V_js.iconSizes.sm,
|
|
503
541
|
small: chunkJIFX424V_js.iconSizes.sm,
|
|
504
542
|
medium: chunkJIFX424V_js.iconSizes.sm,
|
|
@@ -542,6 +580,7 @@ function Button({
|
|
|
542
580
|
);
|
|
543
581
|
}
|
|
544
582
|
var iconButtonSizeClasses = {
|
|
583
|
+
"2xsmall": "size-5",
|
|
545
584
|
xsmall: "size-6",
|
|
546
585
|
small: "size-7",
|
|
547
586
|
medium: "size-8",
|
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(
|
|
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(
|
|
323
|
-
|
|
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
|
);
|
|
@@ -465,6 +501,7 @@ var buttonVariants = cva(
|
|
|
465
501
|
},
|
|
466
502
|
variants: {
|
|
467
503
|
size: {
|
|
504
|
+
"2xsmall": "h-5 gap-0 px-1 text-caption font-medium",
|
|
468
505
|
xsmall: "h-6 gap-0 px-1 text-body-3 font-medium",
|
|
469
506
|
small: "h-7 gap-0.5 px-1.5 text-body-2 font-medium",
|
|
470
507
|
medium: "h-8 gap-0.5 px-2 text-body-2 font-medium",
|
|
@@ -475,6 +512,7 @@ var buttonVariants = cva(
|
|
|
475
512
|
}
|
|
476
513
|
);
|
|
477
514
|
var iconSizeMap = {
|
|
515
|
+
"2xsmall": iconSizes.xs,
|
|
478
516
|
xsmall: iconSizes.sm,
|
|
479
517
|
small: iconSizes.sm,
|
|
480
518
|
medium: iconSizes.sm,
|
|
@@ -518,6 +556,7 @@ function Button({
|
|
|
518
556
|
);
|
|
519
557
|
}
|
|
520
558
|
var iconButtonSizeClasses = {
|
|
559
|
+
"2xsmall": "size-5",
|
|
521
560
|
xsmall: "size-6",
|
|
522
561
|
small: "size-7",
|
|
523
562
|
medium: "size-8",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exem-ui/react",
|
|
3
|
-
"version": "0.3.4-next.
|
|
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.
|
|
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.
|
|
137
|
+
"@exem-ui/tailwindcss3": "0.3.2-next.20261027030607"
|
|
138
138
|
},
|
|
139
139
|
"scripts": {
|
|
140
140
|
"generate": "node scripts/generate-icons.js",
|