@reitwagen/design-components 0.0.10 → 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/dist/components/Button/Button.d.ts +1 -2
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js +6 -5
- package/dist/components/Button/Button.stories.d.ts.map +1 -1
- package/dist/components/Button/Button.stories.js +7 -7
- package/dist/components/Chip/Chip.d.ts +19 -0
- package/dist/components/Chip/Chip.d.ts.map +1 -0
- package/dist/components/Chip/Chip.js +138 -0
- package/dist/components/Chip/Chip.stories.d.ts +52 -0
- package/dist/components/Chip/Chip.stories.d.ts.map +1 -0
- package/dist/components/Chip/Chip.stories.js +93 -0
- package/dist/components/Chip/index.d.ts +2 -0
- package/dist/components/Chip/index.d.ts.map +1 -0
- package/dist/components/Chip/index.js +5 -0
- package/dist/index.css +65 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/types/props.d.ts +8 -0
- package/dist/types/props.d.ts.map +1 -0
- package/dist/types/props.js +2 -0
- package/package.json +3 -3
|
@@ -8,8 +8,7 @@ declare const buttonVariants: (props?: ({
|
|
|
8
8
|
full?: boolean | null | undefined;
|
|
9
9
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
10
|
interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "disabled" | "color">, VariantProps<typeof buttonVariants> {
|
|
11
|
-
children
|
|
12
|
-
full?: boolean;
|
|
11
|
+
children?: ReactNode;
|
|
13
12
|
leftContent?: ReactNode;
|
|
14
13
|
rightContent?: ReactNode;
|
|
15
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,QAAA,MAAM,cAAc;;;;;;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,QAAA,MAAM,cAAc;;;;;;8EAyInB,CAAC;AAEF,UAAU,WACR,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,EACzE,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,wBAAgB,MAAM,CAAC,EACrB,SAAS,EACT,OAAO,EACP,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,WAAW,2CAqBb;yBAhCe,MAAM"}
|
|
@@ -8,9 +8,9 @@ const style_1 = require("../../utils/style");
|
|
|
8
8
|
const buttonVariants = (0, class_variance_authority_1.cva)("ui:flex ui:items-center ui:justify-center ui:gap-1.5 ui:select-none", {
|
|
9
9
|
variants: {
|
|
10
10
|
variant: {
|
|
11
|
-
solid: "ui:transition-colors ui:duration-
|
|
12
|
-
outlined: "ui:transition-colors ui:duration-
|
|
13
|
-
text: "ui:transition-colors ui:duration-
|
|
11
|
+
solid: "ui:transition-colors ui:duration-300",
|
|
12
|
+
outlined: "ui:transition-colors ui:duration-300",
|
|
13
|
+
text: "ui:transition-colors ui:duration-300",
|
|
14
14
|
},
|
|
15
15
|
color: {
|
|
16
16
|
primary: "",
|
|
@@ -28,7 +28,7 @@ const buttonVariants = (0, class_variance_authority_1.cva)("ui:flex ui:items-cen
|
|
|
28
28
|
true: "ui:pointer-events-none",
|
|
29
29
|
},
|
|
30
30
|
full: {
|
|
31
|
-
true: "ui:flex-1",
|
|
31
|
+
true: "ui:flex-1 ui:w-full",
|
|
32
32
|
false: "",
|
|
33
33
|
},
|
|
34
34
|
},
|
|
@@ -127,9 +127,10 @@ const buttonVariants = (0, class_variance_authority_1.cva)("ui:flex ui:items-cen
|
|
|
127
127
|
size: "large",
|
|
128
128
|
variant: "solid",
|
|
129
129
|
disabled: false,
|
|
130
|
+
full: false,
|
|
130
131
|
},
|
|
131
132
|
});
|
|
132
|
-
function Button({ className, variant, color, size, disabled, children, leftContent, rightContent, full
|
|
133
|
+
function Button({ className, variant, color, size, disabled, children, leftContent, rightContent, full, ...props }) {
|
|
133
134
|
return ((0, jsx_runtime_1.jsxs)("button", { className: (0, style_1.cn)(buttonVariants({
|
|
134
135
|
variant,
|
|
135
136
|
color,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDqB,CAAC;AAEhC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,QAAQ,EAAE,KA6BtB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAgCpB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KA+BnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDqB,CAAC;AAEhC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,QAAQ,EAAE,KA6BtB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAgCpB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KA+BnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAcnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAoBtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAoBlB,CAAC"}
|
|
@@ -59,7 +59,7 @@ exports.Variants = {
|
|
|
59
59
|
docs: {
|
|
60
60
|
description: {
|
|
61
61
|
story: `
|
|
62
|
-
-
|
|
62
|
+
- Button의 variant 스타일을 변경하려면 <code>variant</code> 속성을 사용하세요. 사용할 수 있는 값에는 <code>solid</code>, <code>outlined</code>, <code>text</code> 가 있어요. 기본값은 <code>solid</code> 입니다.
|
|
63
63
|
`,
|
|
64
64
|
},
|
|
65
65
|
},
|
|
@@ -77,7 +77,7 @@ exports.Colors = {
|
|
|
77
77
|
docs: {
|
|
78
78
|
description: {
|
|
79
79
|
story: `
|
|
80
|
-
-
|
|
80
|
+
- Button의 color 스타일을 변경하려면 <code>color</code> 속성을 사용하세요. 사용할 수 있는 값에는 <code>primary</code>, <code>black</code>, <code>gray</code>, <code>sky</code> 가 있어요. 기본값은 <code>primary</code> 입니다.
|
|
81
81
|
`,
|
|
82
82
|
},
|
|
83
83
|
},
|
|
@@ -95,8 +95,8 @@ exports.Sizes = {
|
|
|
95
95
|
docs: {
|
|
96
96
|
description: {
|
|
97
97
|
story: `
|
|
98
|
-
-
|
|
99
|
-
-
|
|
98
|
+
- Button의 크기를 변경하려면 <code>size</code> 속성을 사용하세요. 사용할 수 있는 값에는 <code>large</code>, <code>medium</code>, <code>small</code> 이 있어요. 기본값은 <code>large</code> 입니다.
|
|
99
|
+
- Button이 부모 요소의 전체 너비를 차지하게 하려면 <code>full</code> 속성을 지정하세요.
|
|
100
100
|
`,
|
|
101
101
|
},
|
|
102
102
|
},
|
|
@@ -111,7 +111,7 @@ exports.Sizes = {
|
|
|
111
111
|
},
|
|
112
112
|
};
|
|
113
113
|
exports.Solid = {
|
|
114
|
-
render: (props) => ((0, jsx_runtime_1.jsx)(
|
|
114
|
+
render: (props) => ((0, jsx_runtime_1.jsx)(Button_1.Button, { variant: "solid", color: "primary", size: "large", ...props, children: props.children })),
|
|
115
115
|
args: {
|
|
116
116
|
children: "Button text",
|
|
117
117
|
variant: "solid",
|
|
@@ -122,7 +122,7 @@ exports.Solid = {
|
|
|
122
122
|
},
|
|
123
123
|
};
|
|
124
124
|
exports.Outlined = {
|
|
125
|
-
render: (props) => ((0, jsx_runtime_1.jsx)(
|
|
125
|
+
render: (props) => ((0, jsx_runtime_1.jsx)(Button_1.Button, { variant: "outlined", color: "primary", size: "large", ...props, children: props.children })),
|
|
126
126
|
args: {
|
|
127
127
|
children: "Button text",
|
|
128
128
|
variant: "outlined",
|
|
@@ -139,7 +139,7 @@ exports.Outlined = {
|
|
|
139
139
|
},
|
|
140
140
|
};
|
|
141
141
|
exports.Text = {
|
|
142
|
-
render: (props) => ((0, jsx_runtime_1.jsx)(
|
|
142
|
+
render: (props) => ((0, jsx_runtime_1.jsx)(Button_1.Button, { variant: "text", color: "primary", size: "large", ...props, children: props.children })),
|
|
143
143
|
args: {
|
|
144
144
|
children: "Button text",
|
|
145
145
|
variant: "text",
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ElementType, ReactNode } from "react";
|
|
2
|
+
import { PolymorphicComponentProps } from "../../types/props";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
declare const chipVariants: (props?: ({
|
|
5
|
+
variant?: "fill" | "text" | "line" | null | undefined;
|
|
6
|
+
size?: "large" | "medium" | "small" | null | undefined;
|
|
7
|
+
disabled?: boolean | null | undefined;
|
|
8
|
+
isSelected?: boolean | null | undefined;
|
|
9
|
+
isActive?: boolean | null | undefined;
|
|
10
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
|
+
type ChipOwnProps = VariantProps<typeof chipVariants> & {
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
leftContent?: ReactNode;
|
|
14
|
+
rightContent?: ReactNode;
|
|
15
|
+
};
|
|
16
|
+
type ChipProps<C extends ElementType> = PolymorphicComponentProps<C, ChipOwnProps>;
|
|
17
|
+
export declare function Chip<C extends ElementType = "button">({ className, as, children, variant, size, disabled, isSelected, isActive, leftContent, rightContent, ...props }: ChipProps<C>): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=Chip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../src/components/Chip/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAO,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,QAAA,MAAM,YAAY;;;;;;8EA4HjB,CAAC;AAEF,KAAK,YAAY,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,GAAG;IACtD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,KAAK,SAAS,CAAC,CAAC,SAAS,WAAW,IAAI,yBAAyB,CAC/D,CAAC,EACD,YAAY,CACb,CAAC;AAEF,wBAAgB,IAAI,CAAC,CAAC,SAAS,WAAW,GAAG,QAAQ,EAAE,EACrD,SAAS,EACT,EAAE,EACF,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,SAAS,CAAC,CAAC,CAAC,2CAuBd"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Chip = Chip;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const class_variance_authority_1 = require("class-variance-authority");
|
|
6
|
+
const style_1 = require("../../utils/style");
|
|
7
|
+
const chipVariants = (0, class_variance_authority_1.cva)("ui:flex ui:items-center ui:justify-center ui:gap-1 ui:select-none", {
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
fill: "ui:transition-colors ui:duration-300 ui:rounded-full",
|
|
11
|
+
line: "ui:transition-colors ui:duration-100 ui:rounded-full",
|
|
12
|
+
text: "ui:rounded-[8px]",
|
|
13
|
+
},
|
|
14
|
+
size: {
|
|
15
|
+
large: "ui:text-button2 ui:h-[38px] ui:px-[18px] ui:py-[9px]",
|
|
16
|
+
medium: "ui:text-button3 ui:h-[32px] ui:px-[14px] ui:py-[7px]",
|
|
17
|
+
small: "ui:text-button3 ui:h-[26px] ui:px-[10px] ui:py-[4.5px]",
|
|
18
|
+
},
|
|
19
|
+
disabled: {
|
|
20
|
+
false: "ui:cursor-pointer",
|
|
21
|
+
true: "ui:pointer-events-none",
|
|
22
|
+
},
|
|
23
|
+
isSelected: {
|
|
24
|
+
false: "",
|
|
25
|
+
true: "",
|
|
26
|
+
},
|
|
27
|
+
isActive: {
|
|
28
|
+
false: "",
|
|
29
|
+
true: "",
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
compoundVariants: [
|
|
33
|
+
{
|
|
34
|
+
variant: "fill",
|
|
35
|
+
isSelected: false,
|
|
36
|
+
isActive: false,
|
|
37
|
+
className: "ui:bg-gray-50 ui:text-gray-500",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
variant: "fill",
|
|
41
|
+
isSelected: true,
|
|
42
|
+
isActive: false,
|
|
43
|
+
className: "ui:bg-blue-50 ui:text-blue-700",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
variant: "fill",
|
|
47
|
+
isSelected: false,
|
|
48
|
+
isActive: true,
|
|
49
|
+
className: "ui:bg-gray-100 ui:text-gray-600",
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
variant: "fill",
|
|
53
|
+
isSelected: true,
|
|
54
|
+
isActive: true,
|
|
55
|
+
className: "ui:bg-blue-100 ui:text-blue-800",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
variant: "fill",
|
|
59
|
+
isSelected: true,
|
|
60
|
+
isActive: false,
|
|
61
|
+
disabled: true,
|
|
62
|
+
className: "ui:bg-blue-50 ui:text-blue-300",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
variant: "fill",
|
|
66
|
+
isSelected: false,
|
|
67
|
+
isActive: false,
|
|
68
|
+
disabled: true,
|
|
69
|
+
className: "ui:bg-gray-50 ui:text-gray-300",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
variant: "line",
|
|
73
|
+
isSelected: false,
|
|
74
|
+
isActive: false,
|
|
75
|
+
className: "ui:border ui:border-gray-100 ui:text-gray-500 ui:bg-white",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
variant: "line",
|
|
79
|
+
isSelected: false,
|
|
80
|
+
isActive: true,
|
|
81
|
+
className: "ui:border ui:border-gray-200 ui:text-gray-700 ui:bg-gray-100",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
variant: "line",
|
|
85
|
+
isSelected: true,
|
|
86
|
+
isActive: false,
|
|
87
|
+
className: "ui:text-white ui:bg-gray-700",
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
variant: "line",
|
|
91
|
+
isSelected: true,
|
|
92
|
+
isActive: true,
|
|
93
|
+
className: "ui:text-gray-200 ui:bg-gray-800",
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
variant: "text",
|
|
97
|
+
isSelected: false,
|
|
98
|
+
isActive: false,
|
|
99
|
+
className: "ui:text-gray-500 ui:bg-white",
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
variant: "text",
|
|
103
|
+
isSelected: true,
|
|
104
|
+
isActive: false,
|
|
105
|
+
className: "ui:text-gray-700 ui:bg-gray-100",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
variant: "text",
|
|
109
|
+
isSelected: false,
|
|
110
|
+
isActive: true,
|
|
111
|
+
className: "ui:text-gray-600 ui:bg-gray-50",
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
variant: "text",
|
|
115
|
+
isSelected: true,
|
|
116
|
+
isActive: true,
|
|
117
|
+
className: "ui:text-gray-800 ui:bg-gray-200",
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
defaultVariants: {
|
|
121
|
+
variant: "fill",
|
|
122
|
+
size: "large",
|
|
123
|
+
isSelected: false,
|
|
124
|
+
isActive: false,
|
|
125
|
+
disabled: false,
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
function Chip({ className, as, children, variant, size, disabled, isSelected, isActive, leftContent, rightContent, ...props }) {
|
|
129
|
+
const Component = as || "button";
|
|
130
|
+
return ((0, jsx_runtime_1.jsxs)(Component, { className: (0, style_1.cn)(chipVariants({
|
|
131
|
+
variant,
|
|
132
|
+
disabled,
|
|
133
|
+
isSelected,
|
|
134
|
+
isActive,
|
|
135
|
+
size,
|
|
136
|
+
className,
|
|
137
|
+
})), disabled: disabled || undefined, ...props, children: [leftContent, (0, jsx_runtime_1.jsx)("span", { children: children }), rightContent] }));
|
|
138
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { StoryObj } from "@storybook/react";
|
|
2
|
+
import { Chip } from "./Chip";
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof Chip;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
docs: {
|
|
9
|
+
description: {
|
|
10
|
+
component: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
argTypes: {
|
|
15
|
+
variant: {
|
|
16
|
+
control: {
|
|
17
|
+
type: "radio";
|
|
18
|
+
};
|
|
19
|
+
options: string[];
|
|
20
|
+
};
|
|
21
|
+
disabled: {
|
|
22
|
+
control: {
|
|
23
|
+
type: "boolean";
|
|
24
|
+
};
|
|
25
|
+
options: string[];
|
|
26
|
+
};
|
|
27
|
+
isSelected: {
|
|
28
|
+
control: {
|
|
29
|
+
type: "boolean";
|
|
30
|
+
};
|
|
31
|
+
options: string[];
|
|
32
|
+
};
|
|
33
|
+
isActive: {
|
|
34
|
+
control: {
|
|
35
|
+
type: "boolean";
|
|
36
|
+
};
|
|
37
|
+
options: string[];
|
|
38
|
+
};
|
|
39
|
+
size: {
|
|
40
|
+
control: {
|
|
41
|
+
type: "radio";
|
|
42
|
+
};
|
|
43
|
+
options: string[];
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
export default meta;
|
|
48
|
+
type Story = StoryObj<typeof meta>;
|
|
49
|
+
export declare const Fill: Story;
|
|
50
|
+
export declare const Line: Story;
|
|
51
|
+
export declare const Text: Story;
|
|
52
|
+
//# sourceMappingURL=Chip.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chip.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Chip/Chip.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCmB,CAAC;AAE9B,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,IAAI,EAAE,KAmBlB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAkBlB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAmBlB,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Text = exports.Line = exports.Fill = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const Chip_1 = require("./Chip");
|
|
6
|
+
const meta = {
|
|
7
|
+
title: "Components/Chip",
|
|
8
|
+
component: Chip_1.Chip,
|
|
9
|
+
tags: ["autodocs"],
|
|
10
|
+
parameters: {
|
|
11
|
+
docs: {
|
|
12
|
+
description: {
|
|
13
|
+
component: `
|
|
14
|
+
정보 요약과 화면의 복잡성을 줄이는 데 사용되며, 카테고리를 분류해 특정 정보를 시각적으로 표현합니다.
|
|
15
|
+
|
|
16
|
+
## <b>Chip guide</b>
|
|
17
|
+
|
|
18
|
+
카테고리를 설명하는 키워드를 통해 콘텐츠를 분류합니다. 사용자에게 직접 필터링할 수 있는 콘텐츠 구분 기능을 제공합니다.
|
|
19
|
+
`,
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
argTypes: {
|
|
24
|
+
variant: {
|
|
25
|
+
control: { type: "radio" },
|
|
26
|
+
options: ["fill", "line", "text"],
|
|
27
|
+
},
|
|
28
|
+
disabled: {
|
|
29
|
+
control: { type: "boolean" },
|
|
30
|
+
options: ["true", "false"],
|
|
31
|
+
},
|
|
32
|
+
isSelected: {
|
|
33
|
+
control: { type: "boolean" },
|
|
34
|
+
options: ["true", "false"],
|
|
35
|
+
},
|
|
36
|
+
isActive: {
|
|
37
|
+
control: { type: "boolean" },
|
|
38
|
+
options: ["true", "false"],
|
|
39
|
+
},
|
|
40
|
+
size: {
|
|
41
|
+
control: { type: "radio" },
|
|
42
|
+
options: ["large", "medium", "small"],
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
exports.default = meta;
|
|
47
|
+
exports.Fill = {
|
|
48
|
+
render: (props) => ((0, jsx_runtime_1.jsx)(Chip_1.Chip, { variant: "fill", ...props, children: props.children })),
|
|
49
|
+
args: {
|
|
50
|
+
children: "Text Field",
|
|
51
|
+
variant: "fill",
|
|
52
|
+
disabled: false,
|
|
53
|
+
isSelected: false,
|
|
54
|
+
isActive: false,
|
|
55
|
+
},
|
|
56
|
+
argTypes: {
|
|
57
|
+
size: {
|
|
58
|
+
control: { type: "radio" },
|
|
59
|
+
options: ["large"],
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
exports.Line = {
|
|
64
|
+
render: (props) => ((0, jsx_runtime_1.jsx)(Chip_1.Chip, { variant: "line", ...props, children: props.children })),
|
|
65
|
+
args: {
|
|
66
|
+
children: "Text Field",
|
|
67
|
+
variant: "line",
|
|
68
|
+
isSelected: false,
|
|
69
|
+
isActive: false,
|
|
70
|
+
},
|
|
71
|
+
argTypes: {
|
|
72
|
+
size: {
|
|
73
|
+
control: { type: "radio" },
|
|
74
|
+
options: ["large", "medium"],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
exports.Text = {
|
|
79
|
+
render: (props) => ((0, jsx_runtime_1.jsx)(Chip_1.Chip, { variant: "text", size: "small", ...props, children: props.children })),
|
|
80
|
+
args: {
|
|
81
|
+
children: "Text Field",
|
|
82
|
+
variant: "text",
|
|
83
|
+
isSelected: false,
|
|
84
|
+
isActive: false,
|
|
85
|
+
size: "small",
|
|
86
|
+
},
|
|
87
|
+
argTypes: {
|
|
88
|
+
size: {
|
|
89
|
+
control: { type: "radio" },
|
|
90
|
+
options: ["small"],
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Chip/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
|
package/dist/index.css
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
--ui-color-blue-600: #4878ff;
|
|
15
15
|
--ui-color-blue-700: #3052fd;
|
|
16
16
|
--ui-color-blue-800: #0e2dc6;
|
|
17
|
+
--ui-color-gray-50: #f6f7fa;
|
|
17
18
|
--ui-color-gray-100: #ededf0;
|
|
18
19
|
--ui-color-gray-200: #dedee4;
|
|
19
20
|
--ui-color-gray-300: #bcbcc4;
|
|
@@ -276,9 +277,18 @@
|
|
|
276
277
|
.ui\:grid {
|
|
277
278
|
display: grid;
|
|
278
279
|
}
|
|
280
|
+
.ui\:h-\[26px\] {
|
|
281
|
+
height: 26px;
|
|
282
|
+
}
|
|
283
|
+
.ui\:h-\[32px\] {
|
|
284
|
+
height: 32px;
|
|
285
|
+
}
|
|
279
286
|
.ui\:h-\[34px\] {
|
|
280
287
|
height: 34px;
|
|
281
288
|
}
|
|
289
|
+
.ui\:h-\[38px\] {
|
|
290
|
+
height: 38px;
|
|
291
|
+
}
|
|
282
292
|
.ui\:h-\[40px\] {
|
|
283
293
|
height: 40px;
|
|
284
294
|
}
|
|
@@ -315,6 +325,9 @@
|
|
|
315
325
|
.ui\:justify-center {
|
|
316
326
|
justify-content: center;
|
|
317
327
|
}
|
|
328
|
+
.ui\:gap-1 {
|
|
329
|
+
gap: calc(var(--ui-spacing) * 1);
|
|
330
|
+
}
|
|
318
331
|
.ui\:gap-1\.5 {
|
|
319
332
|
gap: calc(var(--ui-spacing) * 1.5);
|
|
320
333
|
}
|
|
@@ -327,6 +340,9 @@
|
|
|
327
340
|
.ui\:gap-5 {
|
|
328
341
|
gap: calc(var(--ui-spacing) * 5);
|
|
329
342
|
}
|
|
343
|
+
.ui\:rounded-\[8px\] {
|
|
344
|
+
border-radius: 8px;
|
|
345
|
+
}
|
|
330
346
|
.ui\:rounded-\[10px\] {
|
|
331
347
|
border-radius: 10px;
|
|
332
348
|
}
|
|
@@ -336,6 +352,9 @@
|
|
|
336
352
|
.ui\:rounded-\[14px\] {
|
|
337
353
|
border-radius: 14px;
|
|
338
354
|
}
|
|
355
|
+
.ui\:rounded-full {
|
|
356
|
+
border-radius: calc(infinity * 1px);
|
|
357
|
+
}
|
|
339
358
|
.ui\:border {
|
|
340
359
|
border-style: var(--tw-border-style);
|
|
341
360
|
border-width: 1px;
|
|
@@ -355,24 +374,45 @@
|
|
|
355
374
|
.ui\:bg-blue-50 {
|
|
356
375
|
background-color: var(--ui-color-blue-50);
|
|
357
376
|
}
|
|
377
|
+
.ui\:bg-blue-100 {
|
|
378
|
+
background-color: var(--ui-color-blue-100);
|
|
379
|
+
}
|
|
358
380
|
.ui\:bg-blue-300 {
|
|
359
381
|
background-color: var(--ui-color-blue-300);
|
|
360
382
|
}
|
|
361
383
|
.ui\:bg-blue-600 {
|
|
362
384
|
background-color: var(--ui-color-blue-600);
|
|
363
385
|
}
|
|
386
|
+
.ui\:bg-gray-50 {
|
|
387
|
+
background-color: var(--ui-color-gray-50);
|
|
388
|
+
}
|
|
364
389
|
.ui\:bg-gray-100 {
|
|
365
390
|
background-color: var(--ui-color-gray-100);
|
|
366
391
|
}
|
|
392
|
+
.ui\:bg-gray-200 {
|
|
393
|
+
background-color: var(--ui-color-gray-200);
|
|
394
|
+
}
|
|
367
395
|
.ui\:bg-gray-400 {
|
|
368
396
|
background-color: var(--ui-color-gray-400);
|
|
369
397
|
}
|
|
398
|
+
.ui\:bg-gray-700 {
|
|
399
|
+
background-color: var(--ui-color-gray-700);
|
|
400
|
+
}
|
|
370
401
|
.ui\:bg-gray-800 {
|
|
371
402
|
background-color: var(--ui-color-gray-800);
|
|
372
403
|
}
|
|
404
|
+
.ui\:bg-white {
|
|
405
|
+
background-color: var(--ui-color-white);
|
|
406
|
+
}
|
|
407
|
+
.ui\:px-\[10px\] {
|
|
408
|
+
padding-inline: 10px;
|
|
409
|
+
}
|
|
373
410
|
.ui\:px-\[14px\] {
|
|
374
411
|
padding-inline: 14px;
|
|
375
412
|
}
|
|
413
|
+
.ui\:px-\[18px\] {
|
|
414
|
+
padding-inline: 18px;
|
|
415
|
+
}
|
|
376
416
|
.ui\:px-\[20px\] {
|
|
377
417
|
padding-inline: 20px;
|
|
378
418
|
}
|
|
@@ -382,9 +422,18 @@
|
|
|
382
422
|
.ui\:py-1 {
|
|
383
423
|
padding-block: calc(var(--ui-spacing) * 1);
|
|
384
424
|
}
|
|
425
|
+
.ui\:py-\[4\.5px\] {
|
|
426
|
+
padding-block: 4.5px;
|
|
427
|
+
}
|
|
428
|
+
.ui\:py-\[7px\] {
|
|
429
|
+
padding-block: 7px;
|
|
430
|
+
}
|
|
385
431
|
.ui\:py-\[8px\] {
|
|
386
432
|
padding-block: 8px;
|
|
387
433
|
}
|
|
434
|
+
.ui\:py-\[9px\] {
|
|
435
|
+
padding-block: 9px;
|
|
436
|
+
}
|
|
388
437
|
.ui\:py-\[10px\] {
|
|
389
438
|
padding-block: 10px;
|
|
390
439
|
}
|
|
@@ -526,6 +575,12 @@
|
|
|
526
575
|
.ui\:text-blue-700 {
|
|
527
576
|
color: var(--ui-color-blue-700);
|
|
528
577
|
}
|
|
578
|
+
.ui\:text-blue-800 {
|
|
579
|
+
color: var(--ui-color-blue-800);
|
|
580
|
+
}
|
|
581
|
+
.ui\:text-gray-200 {
|
|
582
|
+
color: var(--ui-color-gray-200);
|
|
583
|
+
}
|
|
529
584
|
.ui\:text-gray-300 {
|
|
530
585
|
color: var(--ui-color-gray-300);
|
|
531
586
|
}
|
|
@@ -538,6 +593,9 @@
|
|
|
538
593
|
.ui\:text-gray-700 {
|
|
539
594
|
color: var(--ui-color-gray-700);
|
|
540
595
|
}
|
|
596
|
+
.ui\:text-gray-800 {
|
|
597
|
+
color: var(--ui-color-gray-800);
|
|
598
|
+
}
|
|
541
599
|
.ui\:text-white {
|
|
542
600
|
color: var(--ui-color-white);
|
|
543
601
|
}
|
|
@@ -546,9 +604,13 @@
|
|
|
546
604
|
transition-timing-function: var(--tw-ease, var(--ui-default-transition-timing-function));
|
|
547
605
|
transition-duration: var(--tw-duration, var(--ui-default-transition-duration));
|
|
548
606
|
}
|
|
549
|
-
.ui\:duration-
|
|
550
|
-
--tw-duration:
|
|
551
|
-
transition-duration:
|
|
607
|
+
.ui\:duration-100 {
|
|
608
|
+
--tw-duration: 100ms;
|
|
609
|
+
transition-duration: 100ms;
|
|
610
|
+
}
|
|
611
|
+
.ui\:duration-300 {
|
|
612
|
+
--tw-duration: 300ms;
|
|
613
|
+
transition-duration: 300ms;
|
|
552
614
|
}
|
|
553
615
|
.ui\:select-none {
|
|
554
616
|
-webkit-user-select: none;
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
/* ------------------------------- COMPONENTS ------------------------------- */
|
|
18
18
|
__exportStar(require("./components/Button"), exports);
|
|
19
|
+
__exportStar(require("./components/Chip"), exports);
|
|
19
20
|
/* --------------------------------- ICONS ---------------------------------- */
|
|
20
21
|
__exportStar(require("./components/Icons"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from "react";
|
|
2
|
+
export type AsProps<C extends ElementType> = {
|
|
3
|
+
as?: C;
|
|
4
|
+
};
|
|
5
|
+
export type ElementTypeProps<C extends ElementType> = ComponentProps<C>;
|
|
6
|
+
export type KeyWithAs<C extends ElementType, Props> = keyof (Props & AsProps<C>);
|
|
7
|
+
export type PolymorphicComponentProps<C extends ElementType, Props = "object"> = Props & AsProps<C> & Omit<ElementTypeProps<C>, KeyWithAs<C, Props>>;
|
|
8
|
+
//# sourceMappingURL=props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/types/props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,WAAW,IAAI;IAC3C,EAAE,CAAC,EAAE,CAAC,CAAC;CACR,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,WAAW,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;AAExE,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,GAChE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAEd,MAAM,MAAM,yBAAyB,CACnC,CAAC,SAAS,WAAW,EACrB,KAAK,GAAG,QAAQ,IACd,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reitwagen/design-components",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"**/*.css"
|
|
6
6
|
],
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
"tailwindcss": "^4.1.5",
|
|
49
49
|
"ts-node": "^10.9.2",
|
|
50
50
|
"typescript": "5.9.2",
|
|
51
|
+
"@reitwagen/eslint-config": "0.0.0",
|
|
51
52
|
"@reitwagen/tailwind-config": "0.0.0",
|
|
52
|
-
"@reitwagen/typescript-config": "0.0.0"
|
|
53
|
-
"@reitwagen/eslint-config": "0.0.0"
|
|
53
|
+
"@reitwagen/typescript-config": "0.0.0"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"axios": "^1.13.2",
|