@liner-fe/prism 1.1.13 → 1.1.15
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/lib/components/Button/index.d.ts +7 -8
- package/lib/index.d.ts +1 -0
- package/package.json +3 -2
- package/src/components/Button/index.tsx +9 -22
- package/src/components/Button/style.module.scss +21 -15
- package/src/index.ts +2 -0
- package/lib/index.cjs +0 -135
- package/lib/index.cjs.map +0 -7
- package/lib/index.css +0 -138
- package/lib/index.css.map +0 -7
- package/lib/index.mjs +0 -104
- package/lib/index.mjs.map +0 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
2
2
|
import { VariantProps } from 'class-variance-authority';
|
|
3
3
|
declare const defaultButtonVariants: (props?: ({
|
|
4
4
|
level?: "primary" | "secondary" | "tertiary" | "quaternary" | "quinary" | "negative" | "inverse" | null | undefined;
|
|
@@ -24,21 +24,20 @@ export interface DefaultButtonProps extends CommonButtonProps, VariantProps<type
|
|
|
24
24
|
align?: 'center' | 'spaceBetween';
|
|
25
25
|
}
|
|
26
26
|
export interface TextButtonProps extends CommonButtonProps, VariantProps<typeof textButtonVariants> {
|
|
27
|
-
as
|
|
27
|
+
as: 'text';
|
|
28
28
|
asChild?: boolean;
|
|
29
29
|
level?: 'inversePrimary' | 'neutralPrimary' | 'inverseStaticPrimary';
|
|
30
30
|
}
|
|
31
31
|
export interface IconButtonProps extends CommonButtonProps, VariantProps<typeof iconButtonVariants> {
|
|
32
|
-
as
|
|
32
|
+
as: 'icon';
|
|
33
33
|
asChild?: boolean;
|
|
34
34
|
}
|
|
35
35
|
export type ButtonProps = DefaultButtonProps | TextButtonProps | IconButtonProps;
|
|
36
36
|
/**
|
|
37
37
|
* 버튼 컴포넌트
|
|
38
38
|
*/
|
|
39
|
-
export declare const DefaultButton:
|
|
40
|
-
export declare const TextButton:
|
|
41
|
-
export declare const IconButton:
|
|
42
|
-
export declare const Button:
|
|
43
|
-
export declare const Component: () => import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export declare const DefaultButton: import("react").ForwardRefExoticComponent<DefaultButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
40
|
+
export declare const TextButton: import("react").ForwardRefExoticComponent<TextButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
41
|
+
export declare const IconButton: import("react").ForwardRefExoticComponent<IconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
42
|
+
export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
44
43
|
export {};
|
package/lib/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liner-fe/prism",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.15",
|
|
4
4
|
"packageManager": "yarn@3.6.0",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "next dev",
|
|
@@ -63,7 +63,8 @@
|
|
|
63
63
|
"import": "./lib/index.mjs",
|
|
64
64
|
"require": "./lib/index.cjs"
|
|
65
65
|
},
|
|
66
|
-
"./package.json": "./package.json"
|
|
66
|
+
"./package.json": "./package.json",
|
|
67
|
+
"./index.css": "./lib/index.css"
|
|
67
68
|
},
|
|
68
69
|
"files": [
|
|
69
70
|
"lib",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ButtonHTMLAttributes, forwardRef } from 'react';
|
|
2
2
|
|
|
3
3
|
import style from './style.module.scss';
|
|
4
4
|
import { VariantProps, cva } from 'class-variance-authority';
|
|
@@ -23,7 +23,7 @@ const defaultButtonVariants = cva([style.button, style.default], {
|
|
|
23
23
|
size: {
|
|
24
24
|
cta: style.cta,
|
|
25
25
|
l: style.l,
|
|
26
|
-
m: style.
|
|
26
|
+
m: style.button,
|
|
27
27
|
s: style.s,
|
|
28
28
|
},
|
|
29
29
|
},
|
|
@@ -53,18 +53,6 @@ const iconButtonVariants = cva([style.button, style.icon], {
|
|
|
53
53
|
},
|
|
54
54
|
});
|
|
55
55
|
|
|
56
|
-
const getButtonVariant = (props: ButtonProps) => {
|
|
57
|
-
switch (props.as) {
|
|
58
|
-
case 'default':
|
|
59
|
-
const { level = 'primary', align = 'center', size = 'cta' } = props;
|
|
60
|
-
return defaultButtonVariants({ level, align, size });
|
|
61
|
-
case 'text':
|
|
62
|
-
return textButtonVariants({ level: props.level });
|
|
63
|
-
case 'icon':
|
|
64
|
-
return iconButtonVariants({ level: props.level });
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
|
|
68
56
|
interface CommonButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
69
57
|
as?: 'default' | 'text' | 'icon';
|
|
70
58
|
asChild?: boolean;
|
|
@@ -80,12 +68,12 @@ export interface DefaultButtonProps extends CommonButtonProps, VariantProps<type
|
|
|
80
68
|
// rightIcon?: ReactNode;
|
|
81
69
|
}
|
|
82
70
|
export interface TextButtonProps extends CommonButtonProps, VariantProps<typeof textButtonVariants> {
|
|
83
|
-
as
|
|
71
|
+
as: 'text';
|
|
84
72
|
asChild?: boolean;
|
|
85
73
|
level?: 'inversePrimary' | 'neutralPrimary' | 'inverseStaticPrimary';
|
|
86
74
|
}
|
|
87
75
|
export interface IconButtonProps extends CommonButtonProps, VariantProps<typeof iconButtonVariants> {
|
|
88
|
-
as
|
|
76
|
+
as: 'icon';
|
|
89
77
|
asChild?: boolean;
|
|
90
78
|
// weight
|
|
91
79
|
}
|
|
@@ -121,14 +109,13 @@ export const Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) =>
|
|
|
121
109
|
|
|
122
110
|
switch (props.as) {
|
|
123
111
|
case 'default':
|
|
124
|
-
|
|
125
|
-
|
|
112
|
+
case undefined:
|
|
113
|
+
const { as, asChild, level = 'primary', align = 'center', size = 'cta', ...rest } = props;
|
|
114
|
+
return <Comp {...rest} className={clsx(defaultButtonVariants({ level, align, size }))} ref={ref} />;
|
|
126
115
|
case 'text':
|
|
127
|
-
const { level: textLevel = 'inversePrimary' } = props;
|
|
128
|
-
return <Comp {...
|
|
116
|
+
const { as: textAs, asChild: textAsChild, level: textLevel = 'inversePrimary', ...textRest } = props;
|
|
117
|
+
return <Comp {...textRest} className={clsx(textButtonVariants({ level: textLevel }))} ref={ref} />;
|
|
129
118
|
// case 'icon':
|
|
130
119
|
// return <Comp {...props} className={clsx(iconButtonVariants({ level: props.level }))} ref={ref} />;
|
|
131
120
|
}
|
|
132
121
|
});
|
|
133
|
-
|
|
134
|
-
export const Component = () => <div>TEST</div>;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
justify-content: center;
|
|
6
6
|
border: none;
|
|
7
7
|
|
|
8
|
-
font-style:normal;
|
|
8
|
+
font-style: normal;
|
|
9
9
|
font-size: var(--lp-pri-font-size-16);
|
|
10
10
|
font-weight: var(--lp-pri-font-weight-700);
|
|
11
11
|
line-height: 130%; // TODO: 토큰
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
.text {
|
|
30
30
|
background: none;
|
|
31
31
|
color: var(--inverse-label-static-primary);
|
|
32
|
-
font-size: var(--lp-pri-font-size-13);
|
|
32
|
+
font-size: var(--lp-pri-font-size-13);
|
|
33
33
|
font-weight: var(--lp-pri-font-weight-500);
|
|
34
34
|
|
|
35
35
|
&:not(:disabled):hover {
|
|
@@ -39,29 +39,31 @@
|
|
|
39
39
|
}
|
|
40
40
|
.icon {
|
|
41
41
|
background: none;
|
|
42
|
-
|
|
43
42
|
}
|
|
44
43
|
|
|
45
44
|
// DefaultButton - level
|
|
46
45
|
.primary {
|
|
47
|
-
background: #
|
|
46
|
+
background: #4058ff; // TODO: 토큰 업데이트 (색상 다름)
|
|
48
47
|
|
|
49
|
-
&:not(:disabled):hover {
|
|
48
|
+
&:not(:disabled):hover {
|
|
49
|
+
// TODO: 토큰으로 변환
|
|
50
50
|
background: #3346cc;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
.secondary {
|
|
54
54
|
background: var(--inverse-container-high);
|
|
55
55
|
|
|
56
|
-
&:not(:disabled):hover {
|
|
56
|
+
&:not(:disabled):hover {
|
|
57
|
+
// TODO: 토큰으로 변환
|
|
57
58
|
background: #121212;
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
.tertiary {
|
|
61
|
-
background: #
|
|
62
|
+
background: #6d6d7014;
|
|
62
63
|
color: var(--neutral-label-primary);
|
|
63
64
|
|
|
64
|
-
&:not(:disabled):hover {
|
|
65
|
+
&:not(:disabled):hover {
|
|
66
|
+
// TODO: 토큰으로 변환
|
|
65
67
|
background: #ebebeb;
|
|
66
68
|
}
|
|
67
69
|
}
|
|
@@ -70,7 +72,8 @@
|
|
|
70
72
|
color: var(--neutral-label-primary);
|
|
71
73
|
border: 1px solid var(--neutral-border-overlay-normal);
|
|
72
74
|
|
|
73
|
-
&:not(:disabled):hover {
|
|
75
|
+
&:not(:disabled):hover {
|
|
76
|
+
// TODO: 토큰으로 변환
|
|
74
77
|
background: #f5f5f5;
|
|
75
78
|
}
|
|
76
79
|
|
|
@@ -82,9 +85,10 @@
|
|
|
82
85
|
}
|
|
83
86
|
.quinary {
|
|
84
87
|
// color: var(--neutral-label-secondary);
|
|
85
|
-
color: #
|
|
88
|
+
color: #6d6d70cc; // TODO: 토큰 업데이트
|
|
86
89
|
|
|
87
|
-
&:not(:disabled):hover {
|
|
90
|
+
&:not(:disabled):hover {
|
|
91
|
+
// TODO: 토큰으로 변환
|
|
88
92
|
background: #f5f5f5;
|
|
89
93
|
}
|
|
90
94
|
&:disabled {
|
|
@@ -97,7 +101,8 @@
|
|
|
97
101
|
// TODO: funtion/container/negative
|
|
98
102
|
background: var(--function-negative);
|
|
99
103
|
|
|
100
|
-
&:not(:disabled):hover {
|
|
104
|
+
&:not(:disabled):hover {
|
|
105
|
+
// TODO: 토큰으로 변환
|
|
101
106
|
background: #af1b1c;
|
|
102
107
|
}
|
|
103
108
|
}
|
|
@@ -105,7 +110,8 @@
|
|
|
105
110
|
// TODO: neutral/label/static/primary
|
|
106
111
|
color: var(--neutral-label-primary);
|
|
107
112
|
|
|
108
|
-
&:not(:disabled):hover {
|
|
113
|
+
&:not(:disabled):hover {
|
|
114
|
+
// TODO: 토큰으로 변환
|
|
109
115
|
background: #f5f5f5;
|
|
110
116
|
}
|
|
111
117
|
}
|
|
@@ -156,9 +162,9 @@
|
|
|
156
162
|
}
|
|
157
163
|
.neutral-primary {
|
|
158
164
|
// color: var(--neutral-label-secondary); // TODO: 토큰 업데이트 (색상 다름)
|
|
159
|
-
color: #
|
|
165
|
+
color: #6d6d70cc;
|
|
160
166
|
opacity: 0.8;
|
|
161
167
|
}
|
|
162
168
|
.inverse-static-primary {
|
|
163
169
|
color: var(--inverse-label-static-primary);
|
|
164
|
-
}
|
|
170
|
+
}
|
package/src/index.ts
CHANGED
package/lib/index.cjs
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
-
var __export = (target, all) => {
|
|
10
|
-
for (var name in all)
|
|
11
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
-
};
|
|
13
|
-
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
-
for (let key of __getOwnPropNames(from))
|
|
16
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
-
}
|
|
19
|
-
return to;
|
|
20
|
-
};
|
|
21
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
-
mod
|
|
28
|
-
));
|
|
29
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
-
|
|
31
|
-
// src/index.ts
|
|
32
|
-
var src_exports = {};
|
|
33
|
-
__export(src_exports, {
|
|
34
|
-
Button: () => Button,
|
|
35
|
-
Component: () => Component,
|
|
36
|
-
DefaultButton: () => DefaultButton,
|
|
37
|
-
IconButton: () => IconButton,
|
|
38
|
-
TextButton: () => TextButton,
|
|
39
|
-
objectToArray: () => objectToArray
|
|
40
|
-
});
|
|
41
|
-
module.exports = __toCommonJS(src_exports);
|
|
42
|
-
|
|
43
|
-
// src/utils/object.ts
|
|
44
|
-
var objectToArray = /* @__PURE__ */ __name((obj) => {
|
|
45
|
-
return Object.entries(obj);
|
|
46
|
-
}, "objectToArray");
|
|
47
|
-
|
|
48
|
-
// src/components/Button/index.tsx
|
|
49
|
-
var import_react = require("react");
|
|
50
|
-
|
|
51
|
-
// src/components/Button/style.module.scss
|
|
52
|
-
var style_module_default = {};
|
|
53
|
-
|
|
54
|
-
// src/components/Button/index.tsx
|
|
55
|
-
var import_class_variance_authority = require("class-variance-authority");
|
|
56
|
-
var import_react_slot = require("@radix-ui/react-slot");
|
|
57
|
-
var import_clsx = __toESM(require("clsx"));
|
|
58
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
59
|
-
var defaultButtonVariants = (0, import_class_variance_authority.cva)([style_module_default.button, style_module_default.default], {
|
|
60
|
-
variants: {
|
|
61
|
-
level: {
|
|
62
|
-
primary: style_module_default.primary,
|
|
63
|
-
secondary: style_module_default.secondary,
|
|
64
|
-
tertiary: style_module_default.tertiary,
|
|
65
|
-
quaternary: style_module_default.quaternary,
|
|
66
|
-
quinary: style_module_default.quinary,
|
|
67
|
-
negative: style_module_default.negative,
|
|
68
|
-
inverse: style_module_default.inverse
|
|
69
|
-
},
|
|
70
|
-
align: {
|
|
71
|
-
center: style_module_default["align-center"],
|
|
72
|
-
spaceBetween: style_module_default["align-space-between"]
|
|
73
|
-
},
|
|
74
|
-
size: {
|
|
75
|
-
cta: style_module_default.cta,
|
|
76
|
-
l: style_module_default.l,
|
|
77
|
-
m: style_module_default.m,
|
|
78
|
-
s: style_module_default.s
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
var textButtonVariants = (0, import_class_variance_authority.cva)([style_module_default.button, style_module_default.text], {
|
|
83
|
-
variants: {
|
|
84
|
-
level: {
|
|
85
|
-
inversePrimary: style_module_default["inverse-primary"],
|
|
86
|
-
neutralPrimary: style_module_default["neutral-primary"],
|
|
87
|
-
inverseStaticPrimary: style_module_default["inverse-static-primary"]
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
var iconButtonVariants = (0, import_class_variance_authority.cva)([style_module_default.button, style_module_default.icon], {
|
|
92
|
-
variants: {
|
|
93
|
-
level: {
|
|
94
|
-
primary: style_module_default.primary,
|
|
95
|
-
secondary: style_module_default.secondary,
|
|
96
|
-
tertiary: style_module_default.tertiary,
|
|
97
|
-
quaternary: style_module_default.quaternary,
|
|
98
|
-
quinary: style_module_default.quinary,
|
|
99
|
-
negative: style_module_default.negative
|
|
100
|
-
},
|
|
101
|
-
weight: {
|
|
102
|
-
//
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
var DefaultButton = (0, import_react.forwardRef)(
|
|
107
|
-
({ as = "default", asChild = false, level = "primary", align = "center", size = "cta", ...rest }, ref) => {
|
|
108
|
-
const Comp = asChild ? import_react_slot.Slot : "button";
|
|
109
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...rest, className: (0, import_clsx.default)(defaultButtonVariants({ level, align, size })), ref });
|
|
110
|
-
}
|
|
111
|
-
);
|
|
112
|
-
var TextButton = (0, import_react.forwardRef)(
|
|
113
|
-
({ as = "text", asChild = false, level = "inversePrimary", ...rest }, ref) => {
|
|
114
|
-
const Comp = asChild ? import_react_slot.Slot : "button";
|
|
115
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...rest, className: (0, import_clsx.default)(textButtonVariants({ level })), ref });
|
|
116
|
-
}
|
|
117
|
-
);
|
|
118
|
-
var IconButton = (0, import_react.forwardRef)((props, ref) => {
|
|
119
|
-
const Comp = props.asChild ? import_react_slot.Slot : "button";
|
|
120
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...props, className: (0, import_clsx.default)(iconButtonVariants({ level: props.level })), ref });
|
|
121
|
-
});
|
|
122
|
-
var Button = (0, import_react.forwardRef)((props, ref) => {
|
|
123
|
-
const Comp = props.asChild ? import_react_slot.Slot : "button";
|
|
124
|
-
switch (props.as) {
|
|
125
|
-
case "default":
|
|
126
|
-
const { level = "primary", align = "center", size = "cta" } = props;
|
|
127
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...props, className: (0, import_clsx.default)(defaultButtonVariants({ level, align, size })), ref });
|
|
128
|
-
case "text":
|
|
129
|
-
const { level: textLevel = "inversePrimary" } = props;
|
|
130
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...props, className: (0, import_clsx.default)(textButtonVariants({ level: textLevel })), ref });
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
var Component = /* @__PURE__ */ __name(() => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: "TEST" }), "Component");
|
|
134
|
-
/*! For license information please see index.cjs.LEGAL.txt */
|
|
135
|
-
//# sourceMappingURL=index.cjs.map
|
package/lib/index.cjs.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts", "../src/utils/object.ts", "../src/components/Button/index.tsx", "../src/components/Button/style.module.scss"],
|
|
4
|
-
"sourcesContent": ["export * from './utils/object';\nexport * from './components/Button';\n", "export const objectToArray = <T extends Record<string, any>>(obj: T) => {\n return Object.entries(obj);\n};\n", "import React, { ButtonHTMLAttributes, forwardRef } from 'react';\n\nimport style from './style.module.scss';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx';\n\nconst defaultButtonVariants = cva([style.button, style.default], {\n variants: {\n level: {\n primary: style.primary,\n secondary: style.secondary,\n tertiary: style.tertiary,\n quaternary: style.quaternary,\n quinary: style.quinary,\n negative: style.negative,\n inverse: style.inverse,\n },\n align: {\n center: style['align-center'],\n spaceBetween: style['align-space-between'],\n },\n size: {\n cta: style.cta,\n l: style.l,\n m: style.m,\n s: style.s,\n },\n },\n});\nconst textButtonVariants = cva([style.button, style.text], {\n variants: {\n level: {\n inversePrimary: style['inverse-primary'],\n neutralPrimary: style['neutral-primary'],\n inverseStaticPrimary: style['inverse-static-primary'],\n },\n },\n});\nconst iconButtonVariants = cva([style.button, style.icon], {\n variants: {\n level: {\n primary: style.primary,\n secondary: style.secondary,\n tertiary: style.tertiary,\n quaternary: style.quaternary,\n quinary: style.quinary,\n negative: style.negative,\n },\n weight: {\n //\n },\n },\n});\n\nconst getButtonVariant = (props: ButtonProps) => {\n switch (props.as) {\n case 'default':\n const { level = 'primary', align = 'center', size = 'cta' } = props;\n return defaultButtonVariants({ level, align, size });\n case 'text':\n return textButtonVariants({ level: props.level });\n case 'icon':\n return iconButtonVariants({ level: props.level });\n }\n};\n\ninterface CommonButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n as?: 'default' | 'text' | 'icon';\n asChild?: boolean;\n}\nexport interface DefaultButtonProps extends CommonButtonProps, VariantProps<typeof defaultButtonVariants> {\n as?: 'default';\n asChild?: boolean;\n level?: 'primary' | 'secondary' | 'tertiary' | 'quaternary' | 'quinary' | 'negative' | 'inverse';\n size?: 'cta' | 'l' | 'm' | 's';\n align?: 'center' | 'spaceBetween';\n // isLoading?: boolean;\n // leftIcon?: ReactNode;\n // rightIcon?: ReactNode;\n}\nexport interface TextButtonProps extends CommonButtonProps, VariantProps<typeof textButtonVariants> {\n as?: 'text';\n asChild?: boolean;\n level?: 'inversePrimary' | 'neutralPrimary' | 'inverseStaticPrimary';\n}\nexport interface IconButtonProps extends CommonButtonProps, VariantProps<typeof iconButtonVariants> {\n as?: 'icon';\n asChild?: boolean;\n // weight\n}\nexport type ButtonProps = DefaultButtonProps | TextButtonProps | IconButtonProps;\n\n/**\n * \uBC84\uD2BC \uCEF4\uD3EC\uB10C\uD2B8\n */\nexport const DefaultButton = forwardRef<HTMLButtonElement, DefaultButtonProps>(\n ({ as = 'default', asChild = false, level = 'primary', align = 'center', size = 'cta', ...rest }, ref) => {\n const Comp = asChild ? Slot : 'button';\n\n return <Comp {...rest} className={clsx(defaultButtonVariants({ level, align, size }))} ref={ref} />;\n }\n);\n\nexport const TextButton = forwardRef<HTMLButtonElement, TextButtonProps>(\n ({ as = 'text', asChild = false, level = 'inversePrimary', ...rest }, ref) => {\n const Comp = asChild ? Slot : 'button';\n\n return <Comp {...rest} className={clsx(textButtonVariants({ level }))} ref={ref} />;\n }\n);\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>((props, ref) => {\n const Comp = props.asChild ? Slot : 'button';\n\n return <Comp {...props} className={clsx(iconButtonVariants({ level: props.level }))} ref={ref} />;\n});\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n const Comp = props.asChild ? Slot : 'button';\n\n switch (props.as) {\n case 'default':\n const { level = 'primary', align = 'center', size = 'cta' } = props;\n return <Comp {...props} className={clsx(defaultButtonVariants({ level, align, size }))} ref={ref} />;\n case 'text':\n const { level: textLevel = 'inversePrimary' } = props;\n return <Comp {...props} className={clsx(textButtonVariants({ level: textLevel }))} ref={ref} />;\n // case 'icon':\n // return <Comp {...props} className={clsx(iconButtonVariants({ level: props.level }))} ref={ref} />;\n }\n});\n\nexport const Component = () => <div>TEST</div>;\n", ".button {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n font-style: normal;\n font-size: var(--lp-pri-font-size-16);\n font-weight: var(--lp-pri-font-weight-700);\n line-height: 130%;\n overflow: hidden;\n cursor: pointer;\n}\n.button:disabled {\n background: var(--neutral-container-mid);\n color: var(--neutral-label-tertiary);\n cursor: not-allowed;\n}\n\n.default {\n color: var(--inverse-label-static-primary);\n background: var(--lp-pri-achromatic-white);\n}\n\n.text {\n background: none;\n color: var(--inverse-label-static-primary);\n font-size: var(--lp-pri-font-size-13);\n font-weight: var(--lp-pri-font-weight-500);\n}\n.text:not(:disabled):hover {\n text-decoration: underline;\n text-underline-offset: 0.2rem;\n}\n\n.icon {\n background: none;\n}\n\n.primary {\n background: #4058FF;\n}\n.primary:not(:disabled):hover {\n background: #3346cc;\n}\n\n.secondary {\n background: var(--inverse-container-high);\n}\n.secondary:not(:disabled):hover {\n background: #121212;\n}\n\n.tertiary {\n background: rgba(109, 109, 112, 0.0784313725);\n color: var(--neutral-label-primary);\n}\n.tertiary:not(:disabled):hover {\n background: #ebebeb;\n}\n\n.quaternary {\n color: var(--neutral-label-primary);\n border: 1px solid var(--neutral-border-overlay-normal);\n}\n.quaternary:not(:disabled):hover {\n background: #f5f5f5;\n}\n.quaternary:disabled {\n background: var(--neutral-container-mid);\n color: var(--neutral-label-tertiary);\n opacity: 0.4;\n}\n\n.quinary {\n color: rgba(109, 109, 112, 0.8);\n}\n.quinary:not(:disabled):hover {\n background: #f5f5f5;\n}\n.quinary:disabled {\n background: var(--neutral-container-mid);\n color: var(--neutral-label-tertiary);\n opacity: 0.4;\n}\n\n.negative {\n background: var(--function-negative);\n}\n.negative:not(:disabled):hover {\n background: #af1b1c;\n}\n\n.inverse {\n color: var(--neutral-label-primary);\n}\n.inverse:not(:disabled):hover {\n background: #f5f5f5;\n}\n\n.cta {\n border-radius: 8px;\n padding: 13.5px 12px;\n font-size: var(--lp-pri-font-size-16);\n min-width: 129px;\n max-height: 48px;\n}\n\n.l {\n border-radius: 6px;\n padding: 10.5px 8px;\n font-size: var(--lp-pri-font-size-15);\n min-width: 107px;\n max-height: 40px;\n}\n\n.m {\n border-radius: 6px;\n padding: 7px 6px;\n font-size: var(--lp-pri-font-size-14);\n font-weight: var(--lp-pri-font-weight-500);\n min-width: 91px;\n max-height: 32px;\n}\n\n.s {\n border-radius: 6px;\n padding: 3.5px 6px;\n font-size: var(--lp-pri-font-size-13);\n font-weight: var(--lp-pri-font-weight-500);\n min-width: 89px;\n max-height: 24px;\n}\n\n.align-center {\n justify-content: center;\n}\n\n.align-space-between {\n justify-content: space-between;\n}\n\n.inverse-primary {\n color: var(--inverse-label-static-primary);\n}\n\n.neutral-primary {\n color: rgba(109, 109, 112, 0.8);\n opacity: 0.8;\n}\n\n.inverse-static-primary {\n color: var(--inverse-label-static-primary);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvZnJvbnRlbmQtcGFja2FnZXMvZnJvbnRlbmQtcGFja2FnZXMvcGFja2FnZXMvbGluZXItcHJpc20vc3JjL2NvbXBvbmVudHMvQnV0dG9uIiwic291cmNlcyI6WyJzdHlsZS5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQUdKO0VBQ0U7OztBQUtGO0VBQ0U7O0FBRUE7RUFDRTs7O0FBR0o7RUFDRTs7QUFFQTtFQUNFOzs7QUFHSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7O0FBR0o7RUFFRTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdKO0VBRUU7O0FBRUE7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0o7RUFFRTs7QUFFQTtFQUNFOzs7QUFHSjtFQUVFOztBQUVBO0VBQ0U7OztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUlGO0VBQ0U7OztBQUVGO0VBRUU7RUFDQTs7O0FBRUY7RUFDRSIsInNvdXJjZXNDb250ZW50IjpbIi5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG5cbiAgZm9udC1zdHlsZTpub3JtYWw7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHAtcHJpLWZvbnQtc2l6ZS0xNik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1scC1wcmktZm9udC13ZWlnaHQtNzAwKTtcbiAgbGluZS1oZWlnaHQ6IDEzMCU7IC8vIFRPRE86IO2GoO2BsFxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLWNvbnRhaW5lci1taWQpO1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWxhYmVsLXRlcnRpYXJ5KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG59XG5cbi8vIGFzXG4uZGVmYXVsdCB7XG4gIGNvbG9yOiB2YXIoLS1pbnZlcnNlLWxhYmVsLXN0YXRpYy1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tbHAtcHJpLWFjaHJvbWF0aWMtd2hpdGUpOyAvLyBUT0RPOiDthqDtgbBcbiAgLy8gY29sb3I6IHZhcigtLWJyYW5kLWNvbnRhaW5lci1taWQpO1xufVxuLnRleHQge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogdmFyKC0taW52ZXJzZS1sYWJlbC1zdGF0aWMtcHJpbWFyeSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHAtcHJpLWZvbnQtc2l6ZS0xMyk7IFxuICBmb250LXdlaWdodDogdmFyKC0tbHAtcHJpLWZvbnQtd2VpZ2h0LTUwMCk7XG5cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjJyZW07XG4gIH1cbn1cbi5pY29uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgXG59XG5cbi8vIERlZmF1bHRCdXR0b24gLSBsZXZlbFxuLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjNDA1OEZGOyAvLyBUT0RPOiDthqDtgbAg7JeF642w7J207Yq4ICjsg4nsg4Eg64uk66aEKVxuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIgeyAvLyBUT0RPOiDthqDtgbDsnLzroZwg67OA7ZmYXG4gICAgYmFja2dyb3VuZDogIzMzNDZjYztcbiAgfVxufVxuLnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWludmVyc2UtY29udGFpbmVyLWhpZ2gpO1xuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIgeyAvLyBUT0RPOiDthqDtgbDsnLzroZwg67OA7ZmYXG4gICAgYmFja2dyb3VuZDogIzEyMTIxMjtcbiAgfVxufVxuLnRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZDogIzZENkQ3MDE0O1xuICBjb2xvcjogdmFyKC0tbmV1dHJhbC1sYWJlbC1wcmltYXJ5KTtcblxuICAmOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHsgLy8gVE9ETzog7Yag7YGw7Jy866GcIOuzgO2ZmFxuICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gIH1cbn1cbi5xdWF0ZXJuYXJ5IHtcbiAgLy8gVE9ETzog7Yag7YGwIOyXheuNsOydtO2KuCBuZXV0cmFsL2JvcmRlci9vdmVybGF5L25vcm1hbFxuICBjb2xvcjogdmFyKC0tbmV1dHJhbC1sYWJlbC1wcmltYXJ5KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1ib3JkZXItb3ZlcmxheS1ub3JtYWwpO1xuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIgeyAvLyBUT0RPOiDthqDtgbDsnLzroZwg67OA7ZmYXG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtY29udGFpbmVyLW1pZCk7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtbGFiZWwtdGVydGlhcnkpO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxufVxuLnF1aW5hcnkge1xuICAvLyBjb2xvcjogdmFyKC0tbmV1dHJhbC1sYWJlbC1zZWNvbmRhcnkpO1xuICBjb2xvcjogIzZENkQ3MENDOyAvLyBUT0RPOiDthqDtgbAg7JeF642w7J207Yq4XG5cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7IC8vIFRPRE86IO2GoO2BsOycvOuhnCDrs4DtmZhcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICB9XG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtY29udGFpbmVyLW1pZCk7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtbGFiZWwtdGVydGlhcnkpO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxufVxuLm5lZ2F0aXZlIHtcbiAgLy8gVE9ETzogZnVudGlvbi9jb250YWluZXIvbmVnYXRpdmVcbiAgYmFja2dyb3VuZDogdmFyKC0tZnVuY3Rpb24tbmVnYXRpdmUpO1xuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIgeyAvLyBUT0RPOiDthqDtgbDsnLzroZwg67OA7ZmYXG4gICAgYmFja2dyb3VuZDogI2FmMWIxYztcbiAgfVxufVxuLmludmVyc2Uge1xuICAvLyBUT0RPOiBuZXV0cmFsL2xhYmVsL3N0YXRpYy9wcmltYXJ5XG4gIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWxhYmVsLXByaW1hcnkpO1xuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIgeyAvLyBUT0RPOiDthqDtgbDsnLzroZwg67OA7ZmYXG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgfVxufVxuXG4vLyBzaXplXG4uY3RhIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4OyAvLyBUT0RPOiDthqDtgbBcbiAgcGFkZGluZzogMTMuNXB4IDEycHg7IC8vIFRPRE86IO2GoO2BsFxuICBmb250LXNpemU6IHZhcigtLWxwLXByaS1mb250LXNpemUtMTYpO1xuICBtaW4td2lkdGg6IDEyOXB4O1xuICBtYXgtaGVpZ2h0OiA0OHB4O1xufVxuLmwge1xuICBib3JkZXItcmFkaXVzOiA2cHg7IC8vIFRPRE86IO2GoO2BsFxuICBwYWRkaW5nOiAxMC41cHggOHB4OyAvLyBUT0RPOiDthqDtgbBcbiAgZm9udC1zaXplOiB2YXIoLS1scC1wcmktZm9udC1zaXplLTE1KTtcbiAgbWluLXdpZHRoOiAxMDdweDtcbiAgbWF4LWhlaWdodDogNDBweDtcbn1cbi5tIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4OyAvLyBUT0RPOiDthqDtgbBcbiAgcGFkZGluZzogN3B4IDZweDsgLy8gVE9ETzog7Yag7YGwXG4gIGZvbnQtc2l6ZTogdmFyKC0tbHAtcHJpLWZvbnQtc2l6ZS0xNCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1scC1wcmktZm9udC13ZWlnaHQtNTAwKTtcbiAgbWluLXdpZHRoOiA5MXB4O1xuICBtYXgtaGVpZ2h0OiAzMnB4O1xufVxuLnMge1xuICBib3JkZXItcmFkaXVzOiA2cHg7IC8vIFRPRE86IO2GoO2BsFxuICBwYWRkaW5nOiAzLjVweCA2cHg7IC8vIFRPRE86IO2GoO2BsFxuICBmb250LXNpemU6IHZhcigtLWxwLXByaS1mb250LXNpemUtMTMpO1xuICBmb250LXdlaWdodDogdmFyKC0tbHAtcHJpLWZvbnQtd2VpZ2h0LTUwMCk7XG4gIG1pbi13aWR0aDogODlweDtcbiAgbWF4LWhlaWdodDogMjRweDtcbn1cblxuLy8gYWxpZ25cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5hbGlnbi1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4vLyBUZXh0QnV0dG9uIC0gbGV2ZWxcbi5pbnZlcnNlLXByaW1hcnkge1xuICBjb2xvcjogdmFyKC0taW52ZXJzZS1sYWJlbC1zdGF0aWMtcHJpbWFyeSk7IC8vIFRPRE86IO2GoO2BsCDsl4XrjbDsnbTtirggKOyDieyDgSDri6TrpoQpXG59XG4ubmV1dHJhbC1wcmltYXJ5IHtcbiAgLy8gY29sb3I6IHZhcigtLW5ldXRyYWwtbGFiZWwtc2Vjb25kYXJ5KTsgLy8gVE9ETzog7Yag7YGwIOyXheuNsOydtO2KuCAo7IOJ7IOBIOuLpOumhClcbiAgY29sb3I6ICM2RDZENzBDQztcbiAgb3BhY2l0eTogMC44O1xufVxuLmludmVyc2Utc3RhdGljLXByaW1hcnkge1xuICBjb2xvcjogdmFyKC0taW52ZXJzZS1sYWJlbC1zdGF0aWMtcHJpbWFyeSk7XG59Il19 */"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["clsx"]
|
|
7
|
-
}
|
package/lib/index.css
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/* src/components/Button/style.module.scss */
|
|
2
|
-
.button {
|
|
3
|
-
position: relative;
|
|
4
|
-
display: flex;
|
|
5
|
-
align-items: center;
|
|
6
|
-
justify-content: center;
|
|
7
|
-
border: none;
|
|
8
|
-
font-style: normal;
|
|
9
|
-
font-size: var(--lp-pri-font-size-16);
|
|
10
|
-
font-weight: var(--lp-pri-font-weight-700);
|
|
11
|
-
line-height: 130%;
|
|
12
|
-
overflow: hidden;
|
|
13
|
-
cursor: pointer;
|
|
14
|
-
}
|
|
15
|
-
.button:disabled {
|
|
16
|
-
background: var(--neutral-container-mid);
|
|
17
|
-
color: var(--neutral-label-tertiary);
|
|
18
|
-
cursor: not-allowed;
|
|
19
|
-
}
|
|
20
|
-
.default {
|
|
21
|
-
color: var(--inverse-label-static-primary);
|
|
22
|
-
background: var(--lp-pri-achromatic-white);
|
|
23
|
-
}
|
|
24
|
-
.text {
|
|
25
|
-
background: none;
|
|
26
|
-
color: var(--inverse-label-static-primary);
|
|
27
|
-
font-size: var(--lp-pri-font-size-13);
|
|
28
|
-
font-weight: var(--lp-pri-font-weight-500);
|
|
29
|
-
}
|
|
30
|
-
.text:not(:disabled):hover {
|
|
31
|
-
text-decoration: underline;
|
|
32
|
-
text-underline-offset: 0.2rem;
|
|
33
|
-
}
|
|
34
|
-
.icon {
|
|
35
|
-
background: none;
|
|
36
|
-
}
|
|
37
|
-
.primary {
|
|
38
|
-
background: #4058FF;
|
|
39
|
-
}
|
|
40
|
-
.primary:not(:disabled):hover {
|
|
41
|
-
background: #3346cc;
|
|
42
|
-
}
|
|
43
|
-
.secondary {
|
|
44
|
-
background: var(--inverse-container-high);
|
|
45
|
-
}
|
|
46
|
-
.secondary:not(:disabled):hover {
|
|
47
|
-
background: #121212;
|
|
48
|
-
}
|
|
49
|
-
.tertiary {
|
|
50
|
-
background: rgba(109, 109, 112, 0.0784313725);
|
|
51
|
-
color: var(--neutral-label-primary);
|
|
52
|
-
}
|
|
53
|
-
.tertiary:not(:disabled):hover {
|
|
54
|
-
background: #ebebeb;
|
|
55
|
-
}
|
|
56
|
-
.quaternary {
|
|
57
|
-
color: var(--neutral-label-primary);
|
|
58
|
-
border: 1px solid var(--neutral-border-overlay-normal);
|
|
59
|
-
}
|
|
60
|
-
.quaternary:not(:disabled):hover {
|
|
61
|
-
background: #f5f5f5;
|
|
62
|
-
}
|
|
63
|
-
.quaternary:disabled {
|
|
64
|
-
background: var(--neutral-container-mid);
|
|
65
|
-
color: var(--neutral-label-tertiary);
|
|
66
|
-
opacity: 0.4;
|
|
67
|
-
}
|
|
68
|
-
.quinary {
|
|
69
|
-
color: rgba(109, 109, 112, 0.8);
|
|
70
|
-
}
|
|
71
|
-
.quinary:not(:disabled):hover {
|
|
72
|
-
background: #f5f5f5;
|
|
73
|
-
}
|
|
74
|
-
.quinary:disabled {
|
|
75
|
-
background: var(--neutral-container-mid);
|
|
76
|
-
color: var(--neutral-label-tertiary);
|
|
77
|
-
opacity: 0.4;
|
|
78
|
-
}
|
|
79
|
-
.negative {
|
|
80
|
-
background: var(--function-negative);
|
|
81
|
-
}
|
|
82
|
-
.negative:not(:disabled):hover {
|
|
83
|
-
background: #af1b1c;
|
|
84
|
-
}
|
|
85
|
-
.inverse {
|
|
86
|
-
color: var(--neutral-label-primary);
|
|
87
|
-
}
|
|
88
|
-
.inverse:not(:disabled):hover {
|
|
89
|
-
background: #f5f5f5;
|
|
90
|
-
}
|
|
91
|
-
.cta {
|
|
92
|
-
border-radius: 8px;
|
|
93
|
-
padding: 13.5px 12px;
|
|
94
|
-
font-size: var(--lp-pri-font-size-16);
|
|
95
|
-
min-width: 129px;
|
|
96
|
-
max-height: 48px;
|
|
97
|
-
}
|
|
98
|
-
.l {
|
|
99
|
-
border-radius: 6px;
|
|
100
|
-
padding: 10.5px 8px;
|
|
101
|
-
font-size: var(--lp-pri-font-size-15);
|
|
102
|
-
min-width: 107px;
|
|
103
|
-
max-height: 40px;
|
|
104
|
-
}
|
|
105
|
-
.m {
|
|
106
|
-
border-radius: 6px;
|
|
107
|
-
padding: 7px 6px;
|
|
108
|
-
font-size: var(--lp-pri-font-size-14);
|
|
109
|
-
font-weight: var(--lp-pri-font-weight-500);
|
|
110
|
-
min-width: 91px;
|
|
111
|
-
max-height: 32px;
|
|
112
|
-
}
|
|
113
|
-
.s {
|
|
114
|
-
border-radius: 6px;
|
|
115
|
-
padding: 3.5px 6px;
|
|
116
|
-
font-size: var(--lp-pri-font-size-13);
|
|
117
|
-
font-weight: var(--lp-pri-font-weight-500);
|
|
118
|
-
min-width: 89px;
|
|
119
|
-
max-height: 24px;
|
|
120
|
-
}
|
|
121
|
-
.align-center {
|
|
122
|
-
justify-content: center;
|
|
123
|
-
}
|
|
124
|
-
.align-space-between {
|
|
125
|
-
justify-content: space-between;
|
|
126
|
-
}
|
|
127
|
-
.inverse-primary {
|
|
128
|
-
color: var(--inverse-label-static-primary);
|
|
129
|
-
}
|
|
130
|
-
.neutral-primary {
|
|
131
|
-
color: rgba(109, 109, 112, 0.8);
|
|
132
|
-
opacity: 0.8;
|
|
133
|
-
}
|
|
134
|
-
.inverse-static-primary {
|
|
135
|
-
color: var(--inverse-label-static-primary);
|
|
136
|
-
}
|
|
137
|
-
/*! For license information please see index.css.LEGAL.txt */
|
|
138
|
-
/*# sourceMappingURL=index.css.map */
|
package/lib/index.css.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/components/Button/style.module.scss"],
|
|
4
|
-
"sourcesContent": [".button {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n\n font-style:normal;\n font-size: var(--lp-pri-font-size-16);\n font-weight: var(--lp-pri-font-weight-700);\n line-height: 130%; // TODO: 토큰\n overflow: hidden;\n\n cursor: pointer;\n\n &:disabled {\n background: var(--neutral-container-mid);\n color: var(--neutral-label-tertiary);\n cursor: not-allowed;\n }\n}\n\n// as\n.default {\n color: var(--inverse-label-static-primary);\n background: var(--lp-pri-achromatic-white); // TODO: 토큰\n // color: var(--brand-container-mid);\n}\n.text {\n background: none;\n color: var(--inverse-label-static-primary);\n font-size: var(--lp-pri-font-size-13); \n font-weight: var(--lp-pri-font-weight-500);\n\n &:not(:disabled):hover {\n text-decoration: underline;\n text-underline-offset: 0.2rem;\n }\n}\n.icon {\n background: none;\n \n}\n\n// DefaultButton - level\n.primary {\n background: #4058FF; // TODO: 토큰 업데이트 (색상 다름)\n\n &:not(:disabled):hover { // TODO: 토큰으로 변환\n background: #3346cc;\n }\n}\n.secondary {\n background: var(--inverse-container-high);\n\n &:not(:disabled):hover { // TODO: 토큰으로 변환\n background: #121212;\n }\n}\n.tertiary {\n background: #6D6D7014;\n color: var(--neutral-label-primary);\n\n &:not(:disabled):hover { // TODO: 토큰으로 변환\n background: #ebebeb;\n }\n}\n.quaternary {\n // TODO: 토큰 업데이트 neutral/border/overlay/normal\n color: var(--neutral-label-primary);\n border: 1px solid var(--neutral-border-overlay-normal);\n\n &:not(:disabled):hover { // TODO: 토큰으로 변환\n background: #f5f5f5;\n }\n\n &:disabled {\n background: var(--neutral-container-mid);\n color: var(--neutral-label-tertiary);\n opacity: 0.4;\n }\n}\n.quinary {\n // color: var(--neutral-label-secondary);\n color: #6D6D70CC; // TODO: 토큰 업데이트\n\n &:not(:disabled):hover { // TODO: 토큰으로 변환\n background: #f5f5f5;\n }\n &:disabled {\n background: var(--neutral-container-mid);\n color: var(--neutral-label-tertiary);\n opacity: 0.4;\n }\n}\n.negative {\n // TODO: funtion/container/negative\n background: var(--function-negative);\n\n &:not(:disabled):hover { // TODO: 토큰으로 변환\n background: #af1b1c;\n }\n}\n.inverse {\n // TODO: neutral/label/static/primary\n color: var(--neutral-label-primary);\n\n &:not(:disabled):hover { // TODO: 토큰으로 변환\n background: #f5f5f5;\n }\n}\n\n// size\n.cta {\n border-radius: 8px; // TODO: 토큰\n padding: 13.5px 12px; // TODO: 토큰\n font-size: var(--lp-pri-font-size-16);\n min-width: 129px;\n max-height: 48px;\n}\n.l {\n border-radius: 6px; // TODO: 토큰\n padding: 10.5px 8px; // TODO: 토큰\n font-size: var(--lp-pri-font-size-15);\n min-width: 107px;\n max-height: 40px;\n}\n.m {\n border-radius: 6px; // TODO: 토큰\n padding: 7px 6px; // TODO: 토큰\n font-size: var(--lp-pri-font-size-14);\n font-weight: var(--lp-pri-font-weight-500);\n min-width: 91px;\n max-height: 32px;\n}\n.s {\n border-radius: 6px; // TODO: 토큰\n padding: 3.5px 6px; // TODO: 토큰\n font-size: var(--lp-pri-font-size-13);\n font-weight: var(--lp-pri-font-weight-500);\n min-width: 89px;\n max-height: 24px;\n}\n\n// align\n.align-center {\n justify-content: center;\n}\n.align-space-between {\n justify-content: space-between;\n}\n\n// TextButton - level\n.inverse-primary {\n color: var(--inverse-label-static-primary); // TODO: 토큰 업데이트 (색상 다름)\n}\n.neutral-primary {\n // color: var(--neutral-label-secondary); // TODO: 토큰 업데이트 (색상 다름)\n color: #6D6D70CC;\n opacity: 0.8;\n}\n.inverse-static-primary {\n color: var(--inverse-label-static-primary);\n}"],
|
|
5
|
-
"mappings": ";AAAA,CAAA;AACE,YAAA;AACA,WAAA;AACA,eAAA;AACA,mBAAA;AACA,UAAA;AAEA,cAAA;AACA,aAAA,IAAA;AACA,eAAA,IAAA;AACA,eAAA;AACA,YAAA;AAEA,UAAA;;AAEA,CAfF,MAeE;AACE,cAAA,IAAA;AACA,SAAA,IAAA;AACA,UAAA;;AAKJ,CAAA;AACE,SAAA,IAAA;AACA,cAAA,IAAA;;AAGF,CAAA;AACE,cAAA;AACA,SAAA,IAAA;AACA,aAAA,IAAA;AACA,eAAA,IAAA;;AAEA,CANF,IAME,KAAA,UAAA;AACE,mBAAA;AACA,yBAAA;;AAGJ,CAAA;AACE,cAAA;;AAKF,CAAA;AACE,cAAA;;AAEA,CAHF,OAGE,KAAA,UAAA;AACE,cAAA;;AAGJ,CAAA;AACE,cAAA,IAAA;;AAEA,CAHF,SAGE,KAAA,UAAA;AACE,cAAA;;AAGJ,CAAA;AACE,cAAA,KAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA;AACA,SAAA,IAAA;;AAEA,CAJF,QAIE,KAAA,UAAA;AACE,cAAA;;AAGJ,CAAA;AAEE,SAAA,IAAA;AACA,UAAA,IAAA,MAAA,IAAA;;AAEA,CALF,UAKE,KAAA,UAAA;AACE,cAAA;;AAGF,CATF,UASE;AACE,cAAA,IAAA;AACA,SAAA,IAAA;AACA,WAAA;;AAGJ,CAAA;AAEE,SAAA,KAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA;;AAEA,CAJF,OAIE,KAAA,UAAA;AACE,cAAA;;AAEF,CAPF,OAOE;AACE,cAAA,IAAA;AACA,SAAA,IAAA;AACA,WAAA;;AAGJ,CAAA;AAEE,cAAA,IAAA;;AAEA,CAJF,QAIE,KAAA,UAAA;AACE,cAAA;;AAGJ,CAAA;AAEE,SAAA,IAAA;;AAEA,CAJF,OAIE,KAAA,UAAA;AACE,cAAA;;AAKJ,CAAA;AACE,iBAAA;AACA,WAAA,OAAA;AACA,aAAA,IAAA;AACA,aAAA;AACA,cAAA;;AAEF,CAAA;AACE,iBAAA;AACA,WAAA,OAAA;AACA,aAAA,IAAA;AACA,aAAA;AACA,cAAA;;AAEF,CAAA;AACE,iBAAA;AACA,WAAA,IAAA;AACA,aAAA,IAAA;AACA,eAAA,IAAA;AACA,aAAA;AACA,cAAA;;AAEF,CAAA;AACE,iBAAA;AACA,WAAA,MAAA;AACA,aAAA,IAAA;AACA,eAAA,IAAA;AACA,aAAA;AACA,cAAA;;AAIF,CAAA;AACE,mBAAA;;AAEF,CAAA;AACE,mBAAA;;AAIF,CAAA;AACE,SAAA,IAAA;;AAEF,CAAA;AAEE,SAAA,KAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA;AACA,WAAA;;AAEF,CAAA;AACE,SAAA,IAAA;;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/lib/index.mjs
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// src/utils/object.ts
|
|
5
|
-
var objectToArray = /* @__PURE__ */ __name((obj) => {
|
|
6
|
-
return Object.entries(obj);
|
|
7
|
-
}, "objectToArray");
|
|
8
|
-
|
|
9
|
-
// src/components/Button/index.tsx
|
|
10
|
-
import { forwardRef } from "react";
|
|
11
|
-
|
|
12
|
-
// src/components/Button/style.module.scss
|
|
13
|
-
var style_module_default = {};
|
|
14
|
-
|
|
15
|
-
// src/components/Button/index.tsx
|
|
16
|
-
import { cva } from "class-variance-authority";
|
|
17
|
-
import { Slot } from "@radix-ui/react-slot";
|
|
18
|
-
import clsx from "clsx";
|
|
19
|
-
import { jsx } from "react/jsx-runtime";
|
|
20
|
-
var defaultButtonVariants = cva([style_module_default.button, style_module_default.default], {
|
|
21
|
-
variants: {
|
|
22
|
-
level: {
|
|
23
|
-
primary: style_module_default.primary,
|
|
24
|
-
secondary: style_module_default.secondary,
|
|
25
|
-
tertiary: style_module_default.tertiary,
|
|
26
|
-
quaternary: style_module_default.quaternary,
|
|
27
|
-
quinary: style_module_default.quinary,
|
|
28
|
-
negative: style_module_default.negative,
|
|
29
|
-
inverse: style_module_default.inverse
|
|
30
|
-
},
|
|
31
|
-
align: {
|
|
32
|
-
center: style_module_default["align-center"],
|
|
33
|
-
spaceBetween: style_module_default["align-space-between"]
|
|
34
|
-
},
|
|
35
|
-
size: {
|
|
36
|
-
cta: style_module_default.cta,
|
|
37
|
-
l: style_module_default.l,
|
|
38
|
-
m: style_module_default.m,
|
|
39
|
-
s: style_module_default.s
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
var textButtonVariants = cva([style_module_default.button, style_module_default.text], {
|
|
44
|
-
variants: {
|
|
45
|
-
level: {
|
|
46
|
-
inversePrimary: style_module_default["inverse-primary"],
|
|
47
|
-
neutralPrimary: style_module_default["neutral-primary"],
|
|
48
|
-
inverseStaticPrimary: style_module_default["inverse-static-primary"]
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
var iconButtonVariants = cva([style_module_default.button, style_module_default.icon], {
|
|
53
|
-
variants: {
|
|
54
|
-
level: {
|
|
55
|
-
primary: style_module_default.primary,
|
|
56
|
-
secondary: style_module_default.secondary,
|
|
57
|
-
tertiary: style_module_default.tertiary,
|
|
58
|
-
quaternary: style_module_default.quaternary,
|
|
59
|
-
quinary: style_module_default.quinary,
|
|
60
|
-
negative: style_module_default.negative
|
|
61
|
-
},
|
|
62
|
-
weight: {
|
|
63
|
-
//
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
var DefaultButton = forwardRef(
|
|
68
|
-
({ as = "default", asChild = false, level = "primary", align = "center", size = "cta", ...rest }, ref) => {
|
|
69
|
-
const Comp = asChild ? Slot : "button";
|
|
70
|
-
return /* @__PURE__ */ jsx(Comp, { ...rest, className: clsx(defaultButtonVariants({ level, align, size })), ref });
|
|
71
|
-
}
|
|
72
|
-
);
|
|
73
|
-
var TextButton = forwardRef(
|
|
74
|
-
({ as = "text", asChild = false, level = "inversePrimary", ...rest }, ref) => {
|
|
75
|
-
const Comp = asChild ? Slot : "button";
|
|
76
|
-
return /* @__PURE__ */ jsx(Comp, { ...rest, className: clsx(textButtonVariants({ level })), ref });
|
|
77
|
-
}
|
|
78
|
-
);
|
|
79
|
-
var IconButton = forwardRef((props, ref) => {
|
|
80
|
-
const Comp = props.asChild ? Slot : "button";
|
|
81
|
-
return /* @__PURE__ */ jsx(Comp, { ...props, className: clsx(iconButtonVariants({ level: props.level })), ref });
|
|
82
|
-
});
|
|
83
|
-
var Button = forwardRef((props, ref) => {
|
|
84
|
-
const Comp = props.asChild ? Slot : "button";
|
|
85
|
-
switch (props.as) {
|
|
86
|
-
case "default":
|
|
87
|
-
const { level = "primary", align = "center", size = "cta" } = props;
|
|
88
|
-
return /* @__PURE__ */ jsx(Comp, { ...props, className: clsx(defaultButtonVariants({ level, align, size })), ref });
|
|
89
|
-
case "text":
|
|
90
|
-
const { level: textLevel = "inversePrimary" } = props;
|
|
91
|
-
return /* @__PURE__ */ jsx(Comp, { ...props, className: clsx(textButtonVariants({ level: textLevel })), ref });
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
var Component = /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx("div", { children: "TEST" }), "Component");
|
|
95
|
-
export {
|
|
96
|
-
Button,
|
|
97
|
-
Component,
|
|
98
|
-
DefaultButton,
|
|
99
|
-
IconButton,
|
|
100
|
-
TextButton,
|
|
101
|
-
objectToArray
|
|
102
|
-
};
|
|
103
|
-
/*! For license information please see index.mjs.LEGAL.txt */
|
|
104
|
-
//# sourceMappingURL=index.mjs.map
|
package/lib/index.mjs.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/utils/object.ts", "../src/components/Button/index.tsx", "../src/components/Button/style.module.scss"],
|
|
4
|
-
"sourcesContent": ["export const objectToArray = <T extends Record<string, any>>(obj: T) => {\n return Object.entries(obj);\n};\n", "import React, { ButtonHTMLAttributes, forwardRef } from 'react';\n\nimport style from './style.module.scss';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx';\n\nconst defaultButtonVariants = cva([style.button, style.default], {\n variants: {\n level: {\n primary: style.primary,\n secondary: style.secondary,\n tertiary: style.tertiary,\n quaternary: style.quaternary,\n quinary: style.quinary,\n negative: style.negative,\n inverse: style.inverse,\n },\n align: {\n center: style['align-center'],\n spaceBetween: style['align-space-between'],\n },\n size: {\n cta: style.cta,\n l: style.l,\n m: style.m,\n s: style.s,\n },\n },\n});\nconst textButtonVariants = cva([style.button, style.text], {\n variants: {\n level: {\n inversePrimary: style['inverse-primary'],\n neutralPrimary: style['neutral-primary'],\n inverseStaticPrimary: style['inverse-static-primary'],\n },\n },\n});\nconst iconButtonVariants = cva([style.button, style.icon], {\n variants: {\n level: {\n primary: style.primary,\n secondary: style.secondary,\n tertiary: style.tertiary,\n quaternary: style.quaternary,\n quinary: style.quinary,\n negative: style.negative,\n },\n weight: {\n //\n },\n },\n});\n\nconst getButtonVariant = (props: ButtonProps) => {\n switch (props.as) {\n case 'default':\n const { level = 'primary', align = 'center', size = 'cta' } = props;\n return defaultButtonVariants({ level, align, size });\n case 'text':\n return textButtonVariants({ level: props.level });\n case 'icon':\n return iconButtonVariants({ level: props.level });\n }\n};\n\ninterface CommonButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n as?: 'default' | 'text' | 'icon';\n asChild?: boolean;\n}\nexport interface DefaultButtonProps extends CommonButtonProps, VariantProps<typeof defaultButtonVariants> {\n as?: 'default';\n asChild?: boolean;\n level?: 'primary' | 'secondary' | 'tertiary' | 'quaternary' | 'quinary' | 'negative' | 'inverse';\n size?: 'cta' | 'l' | 'm' | 's';\n align?: 'center' | 'spaceBetween';\n // isLoading?: boolean;\n // leftIcon?: ReactNode;\n // rightIcon?: ReactNode;\n}\nexport interface TextButtonProps extends CommonButtonProps, VariantProps<typeof textButtonVariants> {\n as?: 'text';\n asChild?: boolean;\n level?: 'inversePrimary' | 'neutralPrimary' | 'inverseStaticPrimary';\n}\nexport interface IconButtonProps extends CommonButtonProps, VariantProps<typeof iconButtonVariants> {\n as?: 'icon';\n asChild?: boolean;\n // weight\n}\nexport type ButtonProps = DefaultButtonProps | TextButtonProps | IconButtonProps;\n\n/**\n * \uBC84\uD2BC \uCEF4\uD3EC\uB10C\uD2B8\n */\nexport const DefaultButton = forwardRef<HTMLButtonElement, DefaultButtonProps>(\n ({ as = 'default', asChild = false, level = 'primary', align = 'center', size = 'cta', ...rest }, ref) => {\n const Comp = asChild ? Slot : 'button';\n\n return <Comp {...rest} className={clsx(defaultButtonVariants({ level, align, size }))} ref={ref} />;\n }\n);\n\nexport const TextButton = forwardRef<HTMLButtonElement, TextButtonProps>(\n ({ as = 'text', asChild = false, level = 'inversePrimary', ...rest }, ref) => {\n const Comp = asChild ? Slot : 'button';\n\n return <Comp {...rest} className={clsx(textButtonVariants({ level }))} ref={ref} />;\n }\n);\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>((props, ref) => {\n const Comp = props.asChild ? Slot : 'button';\n\n return <Comp {...props} className={clsx(iconButtonVariants({ level: props.level }))} ref={ref} />;\n});\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n const Comp = props.asChild ? Slot : 'button';\n\n switch (props.as) {\n case 'default':\n const { level = 'primary', align = 'center', size = 'cta' } = props;\n return <Comp {...props} className={clsx(defaultButtonVariants({ level, align, size }))} ref={ref} />;\n case 'text':\n const { level: textLevel = 'inversePrimary' } = props;\n return <Comp {...props} className={clsx(textButtonVariants({ level: textLevel }))} ref={ref} />;\n // case 'icon':\n // return <Comp {...props} className={clsx(iconButtonVariants({ level: props.level }))} ref={ref} />;\n }\n});\n\nexport const Component = () => <div>TEST</div>;\n", ".button {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n font-style: normal;\n font-size: var(--lp-pri-font-size-16);\n font-weight: var(--lp-pri-font-weight-700);\n line-height: 130%;\n overflow: hidden;\n cursor: pointer;\n}\n.button:disabled {\n background: var(--neutral-container-mid);\n color: var(--neutral-label-tertiary);\n cursor: not-allowed;\n}\n\n.default {\n color: var(--inverse-label-static-primary);\n background: var(--lp-pri-achromatic-white);\n}\n\n.text {\n background: none;\n color: var(--inverse-label-static-primary);\n font-size: var(--lp-pri-font-size-13);\n font-weight: var(--lp-pri-font-weight-500);\n}\n.text:not(:disabled):hover {\n text-decoration: underline;\n text-underline-offset: 0.2rem;\n}\n\n.icon {\n background: none;\n}\n\n.primary {\n background: #4058FF;\n}\n.primary:not(:disabled):hover {\n background: #3346cc;\n}\n\n.secondary {\n background: var(--inverse-container-high);\n}\n.secondary:not(:disabled):hover {\n background: #121212;\n}\n\n.tertiary {\n background: rgba(109, 109, 112, 0.0784313725);\n color: var(--neutral-label-primary);\n}\n.tertiary:not(:disabled):hover {\n background: #ebebeb;\n}\n\n.quaternary {\n color: var(--neutral-label-primary);\n border: 1px solid var(--neutral-border-overlay-normal);\n}\n.quaternary:not(:disabled):hover {\n background: #f5f5f5;\n}\n.quaternary:disabled {\n background: var(--neutral-container-mid);\n color: var(--neutral-label-tertiary);\n opacity: 0.4;\n}\n\n.quinary {\n color: rgba(109, 109, 112, 0.8);\n}\n.quinary:not(:disabled):hover {\n background: #f5f5f5;\n}\n.quinary:disabled {\n background: var(--neutral-container-mid);\n color: var(--neutral-label-tertiary);\n opacity: 0.4;\n}\n\n.negative {\n background: var(--function-negative);\n}\n.negative:not(:disabled):hover {\n background: #af1b1c;\n}\n\n.inverse {\n color: var(--neutral-label-primary);\n}\n.inverse:not(:disabled):hover {\n background: #f5f5f5;\n}\n\n.cta {\n border-radius: 8px;\n padding: 13.5px 12px;\n font-size: var(--lp-pri-font-size-16);\n min-width: 129px;\n max-height: 48px;\n}\n\n.l {\n border-radius: 6px;\n padding: 10.5px 8px;\n font-size: var(--lp-pri-font-size-15);\n min-width: 107px;\n max-height: 40px;\n}\n\n.m {\n border-radius: 6px;\n padding: 7px 6px;\n font-size: var(--lp-pri-font-size-14);\n font-weight: var(--lp-pri-font-weight-500);\n min-width: 91px;\n max-height: 32px;\n}\n\n.s {\n border-radius: 6px;\n padding: 3.5px 6px;\n font-size: var(--lp-pri-font-size-13);\n font-weight: var(--lp-pri-font-weight-500);\n min-width: 89px;\n max-height: 24px;\n}\n\n.align-center {\n justify-content: center;\n}\n\n.align-space-between {\n justify-content: space-between;\n}\n\n.inverse-primary {\n color: var(--inverse-label-static-primary);\n}\n\n.neutral-primary {\n color: rgba(109, 109, 112, 0.8);\n opacity: 0.8;\n}\n\n.inverse-static-primary {\n color: var(--inverse-label-static-primary);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvZnJvbnRlbmQtcGFja2FnZXMvZnJvbnRlbmQtcGFja2FnZXMvcGFja2FnZXMvbGluZXItcHJpc20vc3JjL2NvbXBvbmVudHMvQnV0dG9uIiwic291cmNlcyI6WyJzdHlsZS5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQUdKO0VBQ0U7OztBQUtGO0VBQ0U7O0FBRUE7RUFDRTs7O0FBR0o7RUFDRTs7QUFFQTtFQUNFOzs7QUFHSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7O0FBR0o7RUFFRTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdKO0VBRUU7O0FBRUE7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0o7RUFFRTs7QUFFQTtFQUNFOzs7QUFHSjtFQUVFOztBQUVBO0VBQ0U7OztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUlGO0VBQ0U7OztBQUVGO0VBRUU7RUFDQTs7O0FBRUY7RUFDRSIsInNvdXJjZXNDb250ZW50IjpbIi5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG5cbiAgZm9udC1zdHlsZTpub3JtYWw7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHAtcHJpLWZvbnQtc2l6ZS0xNik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1scC1wcmktZm9udC13ZWlnaHQtNzAwKTtcbiAgbGluZS1oZWlnaHQ6IDEzMCU7IC8vIFRPRE86IO2GoO2BsFxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLWNvbnRhaW5lci1taWQpO1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWxhYmVsLXRlcnRpYXJ5KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG59XG5cbi8vIGFzXG4uZGVmYXVsdCB7XG4gIGNvbG9yOiB2YXIoLS1pbnZlcnNlLWxhYmVsLXN0YXRpYy1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tbHAtcHJpLWFjaHJvbWF0aWMtd2hpdGUpOyAvLyBUT0RPOiDthqDtgbBcbiAgLy8gY29sb3I6IHZhcigtLWJyYW5kLWNvbnRhaW5lci1taWQpO1xufVxuLnRleHQge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogdmFyKC0taW52ZXJzZS1sYWJlbC1zdGF0aWMtcHJpbWFyeSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHAtcHJpLWZvbnQtc2l6ZS0xMyk7IFxuICBmb250LXdlaWdodDogdmFyKC0tbHAtcHJpLWZvbnQtd2VpZ2h0LTUwMCk7XG5cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjJyZW07XG4gIH1cbn1cbi5pY29uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgXG59XG5cbi8vIERlZmF1bHRCdXR0b24gLSBsZXZlbFxuLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjNDA1OEZGOyAvLyBUT0RPOiDthqDtgbAg7JeF642w7J207Yq4ICjsg4nsg4Eg64uk66aEKVxuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIgeyAvLyBUT0RPOiDthqDtgbDsnLzroZwg67OA7ZmYXG4gICAgYmFja2dyb3VuZDogIzMzNDZjYztcbiAgfVxufVxuLnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWludmVyc2UtY29udGFpbmVyLWhpZ2gpO1xuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIgeyAvLyBUT0RPOiDthqDtgbDsnLzroZwg67OA7ZmYXG4gICAgYmFja2dyb3VuZDogIzEyMTIxMjtcbiAgfVxufVxuLnRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZDogIzZENkQ3MDE0O1xuICBjb2xvcjogdmFyKC0tbmV1dHJhbC1sYWJlbC1wcmltYXJ5KTtcblxuICAmOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHsgLy8gVE9ETzog7Yag7YGw7Jy866GcIOuzgO2ZmFxuICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gIH1cbn1cbi5xdWF0ZXJuYXJ5IHtcbiAgLy8gVE9ETzog7Yag7YGwIOyXheuNsOydtO2KuCBuZXV0cmFsL2JvcmRlci9vdmVybGF5L25vcm1hbFxuICBjb2xvcjogdmFyKC0tbmV1dHJhbC1sYWJlbC1wcmltYXJ5KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1ib3JkZXItb3ZlcmxheS1ub3JtYWwpO1xuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIgeyAvLyBUT0RPOiDthqDtgbDsnLzroZwg67OA7ZmYXG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtY29udGFpbmVyLW1pZCk7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtbGFiZWwtdGVydGlhcnkpO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxufVxuLnF1aW5hcnkge1xuICAvLyBjb2xvcjogdmFyKC0tbmV1dHJhbC1sYWJlbC1zZWNvbmRhcnkpO1xuICBjb2xvcjogIzZENkQ3MENDOyAvLyBUT0RPOiDthqDtgbAg7JeF642w7J207Yq4XG5cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7IC8vIFRPRE86IO2GoO2BsOycvOuhnCDrs4DtmZhcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICB9XG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtY29udGFpbmVyLW1pZCk7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtbGFiZWwtdGVydGlhcnkpO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxufVxuLm5lZ2F0aXZlIHtcbiAgLy8gVE9ETzogZnVudGlvbi9jb250YWluZXIvbmVnYXRpdmVcbiAgYmFja2dyb3VuZDogdmFyKC0tZnVuY3Rpb24tbmVnYXRpdmUpO1xuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIgeyAvLyBUT0RPOiDthqDtgbDsnLzroZwg67OA7ZmYXG4gICAgYmFja2dyb3VuZDogI2FmMWIxYztcbiAgfVxufVxuLmludmVyc2Uge1xuICAvLyBUT0RPOiBuZXV0cmFsL2xhYmVsL3N0YXRpYy9wcmltYXJ5XG4gIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWxhYmVsLXByaW1hcnkpO1xuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIgeyAvLyBUT0RPOiDthqDtgbDsnLzroZwg67OA7ZmYXG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgfVxufVxuXG4vLyBzaXplXG4uY3RhIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4OyAvLyBUT0RPOiDthqDtgbBcbiAgcGFkZGluZzogMTMuNXB4IDEycHg7IC8vIFRPRE86IO2GoO2BsFxuICBmb250LXNpemU6IHZhcigtLWxwLXByaS1mb250LXNpemUtMTYpO1xuICBtaW4td2lkdGg6IDEyOXB4O1xuICBtYXgtaGVpZ2h0OiA0OHB4O1xufVxuLmwge1xuICBib3JkZXItcmFkaXVzOiA2cHg7IC8vIFRPRE86IO2GoO2BsFxuICBwYWRkaW5nOiAxMC41cHggOHB4OyAvLyBUT0RPOiDthqDtgbBcbiAgZm9udC1zaXplOiB2YXIoLS1scC1wcmktZm9udC1zaXplLTE1KTtcbiAgbWluLXdpZHRoOiAxMDdweDtcbiAgbWF4LWhlaWdodDogNDBweDtcbn1cbi5tIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4OyAvLyBUT0RPOiDthqDtgbBcbiAgcGFkZGluZzogN3B4IDZweDsgLy8gVE9ETzog7Yag7YGwXG4gIGZvbnQtc2l6ZTogdmFyKC0tbHAtcHJpLWZvbnQtc2l6ZS0xNCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1scC1wcmktZm9udC13ZWlnaHQtNTAwKTtcbiAgbWluLXdpZHRoOiA5MXB4O1xuICBtYXgtaGVpZ2h0OiAzMnB4O1xufVxuLnMge1xuICBib3JkZXItcmFkaXVzOiA2cHg7IC8vIFRPRE86IO2GoO2BsFxuICBwYWRkaW5nOiAzLjVweCA2cHg7IC8vIFRPRE86IO2GoO2BsFxuICBmb250LXNpemU6IHZhcigtLWxwLXByaS1mb250LXNpemUtMTMpO1xuICBmb250LXdlaWdodDogdmFyKC0tbHAtcHJpLWZvbnQtd2VpZ2h0LTUwMCk7XG4gIG1pbi13aWR0aDogODlweDtcbiAgbWF4LWhlaWdodDogMjRweDtcbn1cblxuLy8gYWxpZ25cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5hbGlnbi1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4vLyBUZXh0QnV0dG9uIC0gbGV2ZWxcbi5pbnZlcnNlLXByaW1hcnkge1xuICBjb2xvcjogdmFyKC0taW52ZXJzZS1sYWJlbC1zdGF0aWMtcHJpbWFyeSk7IC8vIFRPRE86IO2GoO2BsCDsl4XrjbDsnbTtirggKOyDieyDgSDri6TrpoQpXG59XG4ubmV1dHJhbC1wcmltYXJ5IHtcbiAgLy8gY29sb3I6IHZhcigtLW5ldXRyYWwtbGFiZWwtc2Vjb25kYXJ5KTsgLy8gVE9ETzog7Yag7YGwIOyXheuNsOydtO2KuCAo7IOJ7IOBIOuLpOumhClcbiAgY29sb3I6ICM2RDZENzBDQztcbiAgb3BhY2l0eTogMC44O1xufVxuLmludmVyc2Utc3RhdGljLXByaW1hcnkge1xuICBjb2xvcjogdmFyKC0taW52ZXJzZS1sYWJlbC1zdGF0aWMtcHJpbWFyeSk7XG59Il19 */"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|