sud-ui 1.9.0 โ 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -5
- package/dist/components/SoonUIDesign.d.ts +11 -0
- package/dist/components/commonType.d.ts +10 -3
- package/dist/components/dataDisplay/Card.d.ts +11 -8
- package/dist/components/dataDisplay/Collapse.d.ts +10 -8
- package/dist/components/dataDisplay/Drawer.d.ts +10 -8
- package/dist/components/dataDisplay/Modal.d.ts +10 -8
- package/dist/components/dataEntry/Input.d.ts +13 -4
- package/dist/components/dataEntry/Rate.d.ts +1 -3
- package/dist/components/dataEntry/Select.d.ts +10 -8
- package/dist/components/feedback/Progress.d.ts +19 -10
- package/dist/components/layout/index.d.ts +10 -0
- package/dist/components/navigation/Dropdown.d.ts +9 -7
- package/dist/components/navigation/base/PopupBase.d.ts +10 -8
- package/dist/index.css +1 -1
- package/dist/index.d.ts +26 -5
- package/dist/index.js +5302 -5207
- package/dist/index.js.map +1 -1
- package/dist/theme/ThemeContext.d.ts +42 -0
- package/dist/theme/darkTheme.d.ts +3 -0
- package/dist/theme/defaultTheme.d.ts +3 -0
- package/dist/theme/index.d.ts +4 -0
- package/dist/theme/themeUtils.d.ts +80 -0
- package/docs/surface-guidelines.md +29 -0
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
|
|
17
17
|
## โจ Features
|
|
18
18
|
|
|
19
|
-
- ๐จ
|
|
19
|
+
- ๐จ Tailwind CSS utilities with SUD-specific animations and design tokens
|
|
20
20
|
- ๐งฉ 50+ reusable components (Button, Modal, Table, etc.)
|
|
21
21
|
- ๐ Light/Dark theme support
|
|
22
22
|
- โ๏ธ Fully customizable theme and styles
|
|
23
|
-
-
|
|
23
|
+
- ๐งช Local demo page for visual QA before publishing
|
|
24
24
|
|
|
25
25
|
## ๐ฆ Installation
|
|
26
26
|
|
|
@@ -100,9 +100,15 @@ Sud UI provides a comprehensive suite of ready-to-use components:
|
|
|
100
100
|
|
|
101
101
|
๐ [See full list and API โ](https://www.sud.co.kr/component/component-overview)
|
|
102
102
|
|
|
103
|
-
## ๐จ Theme & Customization
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
## ๐จ Theme & Customization
|
|
104
|
+
|
|
105
|
+
Surface defaults are intentionally conservative: content/form components use a
|
|
106
|
+
border by default, floating overlays use a shadow by default, and action
|
|
107
|
+
components stay flat unless `shadow` is explicitly enabled. See
|
|
108
|
+
[`docs/surface-guidelines.md`](./docs/surface-guidelines.md) for the release
|
|
109
|
+
checklist and surface rules.
|
|
110
|
+
|
|
111
|
+
SUD provides full theming support via `SoonUIDesign`.
|
|
106
112
|
|
|
107
113
|
```jsx
|
|
108
114
|
import { SoonUIDesign, defaultTheme, darkTheme } from "sud-ui";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { FC, ReactNode } from "react";
|
|
2
|
+
import type { SUDTheme } from "../theme";
|
|
3
|
+
|
|
4
|
+
export interface SoonUIDesignProps {
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
theme?: SUDTheme;
|
|
7
|
+
darkTheme?: SUDTheme;
|
|
8
|
+
isDarkMode?: boolean;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export declare const SoonUIDesign: FC<SoonUIDesignProps>;
|
|
@@ -52,9 +52,16 @@ export type borderType =
|
|
|
52
52
|
| "outset"
|
|
53
53
|
| "none";
|
|
54
54
|
|
|
55
|
-
export type shadowType = "none" | "sm" | "md" | "lg" | "xl";
|
|
56
|
-
|
|
57
|
-
export type
|
|
55
|
+
export type shadowType = "none" | "sm" | "md" | "lg" | "xl";
|
|
56
|
+
|
|
57
|
+
export type surfaceType =
|
|
58
|
+
| "bare"
|
|
59
|
+
| "outlined"
|
|
60
|
+
| "elevated"
|
|
61
|
+
| "floating"
|
|
62
|
+
| "overlay";
|
|
63
|
+
|
|
64
|
+
export type fontSizeType =
|
|
58
65
|
| "xs"
|
|
59
66
|
| "sm"
|
|
60
67
|
| "base"
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ReactNode, CSSProperties, FC, HTMLAttributes } from "react";
|
|
2
2
|
import type {
|
|
3
|
-
defaultColorType,
|
|
4
|
-
shapeType,
|
|
5
|
-
borderType,
|
|
6
|
-
shadowType
|
|
7
|
-
|
|
3
|
+
defaultColorType,
|
|
4
|
+
shapeType,
|
|
5
|
+
borderType,
|
|
6
|
+
shadowType,
|
|
7
|
+
surfaceType
|
|
8
|
+
} from "../commonType";
|
|
8
9
|
|
|
9
10
|
export type CardVariant =
|
|
10
11
|
| "card"
|
|
@@ -40,9 +41,11 @@ export interface CardProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
40
41
|
borderWeight?: number;
|
|
41
42
|
/** ์นด๋ ๋ชจ์ */
|
|
42
43
|
shape?: shapeType;
|
|
43
|
-
/** ๊ทธ๋ฆผ์ ํจ๊ณผ */
|
|
44
|
-
shadow?: shadowType;
|
|
45
|
-
/**
|
|
44
|
+
/** ๊ทธ๋ฆผ์ ํจ๊ณผ */
|
|
45
|
+
shadow?: shadowType;
|
|
46
|
+
/** ๊ธฐ๋ณธ surface ํ๋ฆฌ์
*/
|
|
47
|
+
surface?: surfaceType;
|
|
48
|
+
/** ์นด๋ ๋๋น */
|
|
46
49
|
width?: number | string;
|
|
47
50
|
/** ์นด๋ ๋์ด */
|
|
48
51
|
height?: number | string;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ReactNode, CSSProperties, FC, HTMLAttributes } from "react";
|
|
2
2
|
import type {
|
|
3
|
-
defaultColorType,
|
|
4
|
-
shapeType,
|
|
5
|
-
borderType,
|
|
6
|
-
shadowType
|
|
7
|
-
|
|
3
|
+
defaultColorType,
|
|
4
|
+
shapeType,
|
|
5
|
+
borderType,
|
|
6
|
+
shadowType,
|
|
7
|
+
surfaceType
|
|
8
|
+
} from "../commonType";
|
|
8
9
|
|
|
9
10
|
export type CollapseSize = "sm" | "md" | "lg";
|
|
10
11
|
|
|
@@ -28,9 +29,10 @@ export interface CollapseProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
28
29
|
headerColor?: string;
|
|
29
30
|
contentColorType?: defaultColorType;
|
|
30
31
|
contentBackground?: string;
|
|
31
|
-
contentColor?: string;
|
|
32
|
-
shadow?: shadowType;
|
|
33
|
-
|
|
32
|
+
contentColor?: string;
|
|
33
|
+
shadow?: shadowType;
|
|
34
|
+
surface?: surfaceType;
|
|
35
|
+
disabledKeys?: string[];
|
|
34
36
|
className?: string;
|
|
35
37
|
size?: CollapseSize;
|
|
36
38
|
shape?: shapeType;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ReactNode, CSSProperties, FC, HTMLAttributes } from "react";
|
|
2
2
|
import type {
|
|
3
|
-
defaultColorType,
|
|
4
|
-
shapeType,
|
|
5
|
-
borderType,
|
|
6
|
-
shadowType
|
|
7
|
-
|
|
3
|
+
defaultColorType,
|
|
4
|
+
shapeType,
|
|
5
|
+
borderType,
|
|
6
|
+
shadowType,
|
|
7
|
+
surfaceType
|
|
8
|
+
} from "../commonType";
|
|
8
9
|
|
|
9
10
|
export type DrawerPlacement = "left" | "right" | "top" | "bottom";
|
|
10
11
|
|
|
@@ -23,9 +24,10 @@ export interface DrawerProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
23
24
|
borderColor?: string;
|
|
24
25
|
borderType?: borderType;
|
|
25
26
|
borderWeight?: number;
|
|
26
|
-
shape?: shapeType;
|
|
27
|
-
shadow?: shadowType;
|
|
28
|
-
|
|
27
|
+
shape?: shapeType;
|
|
28
|
+
shadow?: shadowType;
|
|
29
|
+
surface?: surfaceType;
|
|
30
|
+
width?: number | string;
|
|
29
31
|
height?: number | string;
|
|
30
32
|
className?: string;
|
|
31
33
|
placement?: DrawerPlacement;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ReactNode, CSSProperties, FC, HTMLAttributes } from "react";
|
|
2
2
|
import type {
|
|
3
|
-
defaultColorType,
|
|
4
|
-
shapeType,
|
|
5
|
-
borderType,
|
|
6
|
-
shadowType
|
|
7
|
-
|
|
3
|
+
defaultColorType,
|
|
4
|
+
shapeType,
|
|
5
|
+
borderType,
|
|
6
|
+
shadowType,
|
|
7
|
+
surfaceType
|
|
8
|
+
} from "../commonType";
|
|
8
9
|
|
|
9
10
|
export interface ModalProps extends HTMLAttributes<HTMLDivElement> {
|
|
10
11
|
open?: boolean;
|
|
@@ -20,9 +21,10 @@ export interface ModalProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
20
21
|
borderColor?: string;
|
|
21
22
|
borderType?: borderType;
|
|
22
23
|
borderWeight?: number;
|
|
23
|
-
shape?: shapeType;
|
|
24
|
-
shadow?: shadowType;
|
|
25
|
-
|
|
24
|
+
shape?: shapeType;
|
|
25
|
+
shadow?: shadowType;
|
|
26
|
+
surface?: surfaceType;
|
|
27
|
+
width?: number | string;
|
|
26
28
|
height?: number | string;
|
|
27
29
|
className?: string;
|
|
28
30
|
divider?: boolean;
|
|
@@ -7,7 +7,12 @@ import type {
|
|
|
7
7
|
KeyboardEvent,
|
|
8
8
|
ChangeEvent
|
|
9
9
|
} from "react";
|
|
10
|
-
import type {
|
|
10
|
+
import type {
|
|
11
|
+
shapeType,
|
|
12
|
+
borderType,
|
|
13
|
+
shadowType,
|
|
14
|
+
surfaceType
|
|
15
|
+
} from "../commonType";
|
|
11
16
|
|
|
12
17
|
export type InputSize = "sm" | "md" | "lg";
|
|
13
18
|
|
|
@@ -68,6 +73,7 @@ export interface InputProps
|
|
|
68
73
|
onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;
|
|
69
74
|
shape?: shapeType;
|
|
70
75
|
shadow?: shadowType;
|
|
76
|
+
surface?: surfaceType;
|
|
71
77
|
size?: InputSize;
|
|
72
78
|
id?: string;
|
|
73
79
|
name?: string;
|
|
@@ -120,9 +126,12 @@ export interface OTPProps
|
|
|
120
126
|
length?: number;
|
|
121
127
|
}
|
|
122
128
|
|
|
123
|
-
declare const
|
|
124
|
-
|
|
125
|
-
|
|
129
|
+
export declare const Textarea: FC<TextareaProps>;
|
|
130
|
+
export declare const OTP: FC<OTPProps>;
|
|
131
|
+
|
|
132
|
+
export declare const Input: FC<InputProps> & {
|
|
133
|
+
Textarea: typeof Textarea;
|
|
134
|
+
OTP: typeof OTP;
|
|
126
135
|
};
|
|
127
136
|
|
|
128
137
|
export default Input;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { ReactNode, CSSProperties, FC, HTMLAttributes } from "react";
|
|
2
2
|
import type {
|
|
3
3
|
defaultColorType,
|
|
4
|
-
shapeType,
|
|
5
|
-
borderType,
|
|
6
|
-
shadowType,
|
|
7
|
-
tagColorType
|
|
8
|
-
|
|
4
|
+
shapeType,
|
|
5
|
+
borderType,
|
|
6
|
+
shadowType,
|
|
7
|
+
tagColorType,
|
|
8
|
+
surfaceType
|
|
9
|
+
} from "../commonType";
|
|
9
10
|
|
|
10
11
|
export type SelectSize = "sm" | "md" | "lg";
|
|
11
12
|
|
|
@@ -29,9 +30,10 @@ export interface SelectProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
29
30
|
style?: CSSProperties;
|
|
30
31
|
value?: string | number | (string | number)[];
|
|
31
32
|
onChange?: (value: string | number | (string | number)[]) => void;
|
|
32
|
-
shape?: shapeType;
|
|
33
|
-
shadow?: shadowType;
|
|
34
|
-
|
|
33
|
+
shape?: shapeType;
|
|
34
|
+
shadow?: shadowType;
|
|
35
|
+
surface?: surfaceType;
|
|
36
|
+
size?: SelectSize;
|
|
35
37
|
id?: string;
|
|
36
38
|
tagColorType?: tagColorType;
|
|
37
39
|
colorType?: defaultColorType;
|
|
@@ -4,12 +4,20 @@ import type { tagColorType } from "../commonType";
|
|
|
4
4
|
export type ProgressType = "bar" | "circle" | "dashboard";
|
|
5
5
|
export type ProgressSize = "sm" | "md" | "lg";
|
|
6
6
|
|
|
7
|
-
export type ProgressValuePosition =
|
|
8
|
-
| "inside-start"
|
|
9
|
-
| "inside-center"
|
|
10
|
-
| "inside-end"
|
|
11
|
-
| "outside-left"
|
|
12
|
-
| "outside-right";
|
|
7
|
+
export type ProgressValuePosition =
|
|
8
|
+
| "inside-start"
|
|
9
|
+
| "inside-center"
|
|
10
|
+
| "inside-end"
|
|
11
|
+
| "outside-left"
|
|
12
|
+
| "outside-right";
|
|
13
|
+
|
|
14
|
+
export type ProgressShadow =
|
|
15
|
+
| boolean
|
|
16
|
+
| "none"
|
|
17
|
+
| {
|
|
18
|
+
gauge?: boolean | string;
|
|
19
|
+
track?: boolean | string;
|
|
20
|
+
};
|
|
13
21
|
|
|
14
22
|
export interface ProgressProps extends HTMLAttributes<HTMLDivElement> {
|
|
15
23
|
type?: ProgressType;
|
|
@@ -22,10 +30,11 @@ export interface ProgressProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
22
30
|
colorType?: tagColorType;
|
|
23
31
|
backgroundColor?: string;
|
|
24
32
|
color?: string;
|
|
25
|
-
valuePosition?: ProgressValuePosition;
|
|
26
|
-
size?: ProgressSize;
|
|
27
|
-
fontSize?: number;
|
|
28
|
-
|
|
33
|
+
valuePosition?: ProgressValuePosition;
|
|
34
|
+
size?: ProgressSize;
|
|
35
|
+
fontSize?: number;
|
|
36
|
+
shadow?: ProgressShadow;
|
|
37
|
+
className?: string;
|
|
29
38
|
style?: CSSProperties;
|
|
30
39
|
}
|
|
31
40
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { default as Layout } from "./Layout/index.d";
|
|
2
|
+
export * from "./Layout/index.d";
|
|
3
|
+
export { default as Header } from "./Header/index.d";
|
|
4
|
+
export * from "./Header/index.d";
|
|
5
|
+
export { default as Sider } from "./Sider/index.d";
|
|
6
|
+
export * from "./Sider/index.d";
|
|
7
|
+
export { default as Content } from "./Content/index.d";
|
|
8
|
+
export * from "./Content/index.d";
|
|
9
|
+
export { default as Footer } from "./Footer/index.d";
|
|
10
|
+
export * from "./Footer/index.d";
|
|
@@ -3,10 +3,11 @@ import type { MenuItem } from "./Menu";
|
|
|
3
3
|
import type { PopupPlacement, PopupTrigger } from "./base/PopupBase";
|
|
4
4
|
import type {
|
|
5
5
|
defaultColorType,
|
|
6
|
-
shapeType,
|
|
7
|
-
borderType,
|
|
8
|
-
shadowType
|
|
9
|
-
|
|
6
|
+
shapeType,
|
|
7
|
+
borderType,
|
|
8
|
+
shadowType,
|
|
9
|
+
surfaceType
|
|
10
|
+
} from "../commonType";
|
|
10
11
|
|
|
11
12
|
export interface DropdownProps
|
|
12
13
|
extends Omit<HTMLAttributes<HTMLDivElement>, "style"> {
|
|
@@ -26,9 +27,10 @@ export interface DropdownProps
|
|
|
26
27
|
borderColor?: string;
|
|
27
28
|
borderType?: borderType;
|
|
28
29
|
borderWeight?: number;
|
|
29
|
-
shape?: shapeType;
|
|
30
|
-
shadow?: shadowType;
|
|
31
|
-
|
|
30
|
+
shape?: shapeType;
|
|
31
|
+
shadow?: shadowType;
|
|
32
|
+
surface?: surfaceType;
|
|
33
|
+
expandType?: "accordion" | "popover";
|
|
32
34
|
popupPlacement?: PopupPlacement;
|
|
33
35
|
placement?: [PopupPlacement, PopupPlacement];
|
|
34
36
|
colorType?: defaultColorType;
|
|
@@ -6,11 +6,12 @@ import type {
|
|
|
6
6
|
RefObject
|
|
7
7
|
} from "react";
|
|
8
8
|
import type {
|
|
9
|
-
defaultColorType,
|
|
10
|
-
borderType,
|
|
11
|
-
shadowType,
|
|
12
|
-
shapeType
|
|
13
|
-
|
|
9
|
+
defaultColorType,
|
|
10
|
+
borderType,
|
|
11
|
+
shadowType,
|
|
12
|
+
shapeType,
|
|
13
|
+
surfaceType
|
|
14
|
+
} from "../../commonType";
|
|
14
15
|
|
|
15
16
|
export type PopupTrigger = "click" | "hover" | "contextMenu";
|
|
16
17
|
|
|
@@ -56,9 +57,10 @@ export interface PopupBaseProps
|
|
|
56
57
|
borderColor?: string;
|
|
57
58
|
borderType?: borderType;
|
|
58
59
|
borderWeight?: number;
|
|
59
|
-
shape?: shapeType;
|
|
60
|
-
shadow?: shadowType;
|
|
61
|
-
|
|
60
|
+
shape?: shapeType;
|
|
61
|
+
shadow?: shadowType;
|
|
62
|
+
surface?: surfaceType;
|
|
63
|
+
colorType?: defaultColorType;
|
|
62
64
|
style?: CSSProperties;
|
|
63
65
|
wrapperStyle?: CSSProperties;
|
|
64
66
|
followTrigger?: boolean;
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-\[10px\]{gap:10px}.gap-\[8px\]{gap:8px}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.border{border-width:1px}.underline{text-decoration-line:underline}.\!shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1) !important;--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@font-face{font-family:Pretendard-T;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2) format("woff2");font-weight:100;font-display:swap}@font-face{font-family:Pretendard-EL;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraLight.woff2) format("woff2");font-weight:200;font-display:swap}@font-face{font-family:Pretendard-L;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Pretendard-R;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Pretendard-M;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Pretendard-SB;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Pretendard-B;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Pretendard-EB;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:Pretendard-Black;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2) format("woff2");font-weight:900;font-display:swap}@font-face{font-family:GmarketSansLight;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansLight.woff) format("woff");font-display:swap}@font-face{font-family:GmarketSansMedium;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff) format("woff");font-display:swap}@font-face{font-family:GmarketSansBold;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff) format("woff");font-display:swap}@font-face{font-family:SUITE-T;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Thin.woff2) format("woff2");font-weight:100;font-display:swap}@font-face{font-family:SUITE-EL;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-ExtraLight.woff2) format("woff2");font-weight:200;font-display:swap}@font-face{font-family:SUITE-L;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Light.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:SUITE-R;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:SUITE-M;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:SUITE-SM;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:SUITE-B;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:SUITE-EB;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:SUITE-H;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Heavy.woff2) format("woff2");font-weight:900;font-display:swap}@font-face{font-family:IntelOneMono-Medium;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2307-1@1.1/intelone-mono-font-family-medium.woff2) format("woff2");font-weight:500;font-display:swap}*{box-sizing:border-box;font-family:Pretendard-R,sans-serif}.codding-font{font-family:IntelOneMono-Medium,monospace}a{color:inherit;text-decoration:none}*{scrollbar-width:thin;scrollbar-color:transparent transparent}*:hover{scrollbar-color:rgba(0,0,0,.15) transparent}*::-webkit-scrollbar{width:6px;height:6px;background:transparent}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:transparent;border-radius:6px;-webkit-transition:background-color .2s;transition:background-color .2s}*:hover::-webkit-scrollbar-thumb{background-color:#00000026}*::-webkit-scrollbar-thumb:hover,*:hover::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.sud-hover{animation:none}.sud-hover:hover{animation:sud-hover-flash-3 1s ease-in-out}.sud-hover-1:hover{animation:sud-hover-flash-1 1s ease-in-out}@keyframes sud-hover-flash-1{0%{filter:brightness(1)}30%{filter:brightness(1.02)}to{filter:brightness(1)}}.sud-hover-2:hover{animation:sud-hover-flash-2 1s ease-in-out}@keyframes sud-hover-flash-2{0%{filter:brightness(1)}30%{filter:brightness(1.04)}to{filter:brightness(1)}}.sud-hover-3:hover{animation:sud-hover-flash-3 1s ease-in-out}@keyframes sud-hover-flash-3{0%{filter:brightness(1)}30%{filter:brightness(1.06)}to{filter:brightness(1)}}.sud-hover-4:hover{animation:sud-hover-flash-4 1s ease-in-out}@keyframes sud-hover-flash-4{0%{filter:brightness(1)}30%{filter:brightness(1.08)}to{filter:brightness(1)}}.sud-hover-5:hover{animation:sud-hover-flash-5 1s ease-in-out}@keyframes sud-hover-flash-5{0%{filter:brightness(1)}30%{filter:brightness(1.1)}to{filter:brightness(1)}}.sud-hover-6:hover{animation:sud-hover-flash-6 1s ease-in-out}@keyframes sud-hover-flash-6{0%{filter:brightness(1)}30%{filter:brightness(1.12)}to{filter:brightness(1)}}.sud-hover-7:hover{animation:sud-hover-flash-7 1s ease-in-out}@keyframes sud-hover-flash-7{0%{filter:brightness(1)}30%{filter:brightness(1.14)}to{filter:brightness(1)}}.sud-hover-8:hover{animation:sud-hover-flash-8 1s ease-in-out}@keyframes sud-hover-flash-8{0%{filter:brightness(1)}30%{filter:brightness(1.16)}to{filter:brightness(1)}}.sud-hover-9:hover{animation:sud-hover-flash-9 1s ease-in-out}@keyframes sud-hover-flash-9{0%{filter:brightness(1)}30%{filter:brightness(1.18)}to{filter:brightness(1)}}.sud-hover-10:hover{animation:sud-hover-flash-10 1s ease-in-out}@keyframes sud-hover-flash-10{0%{filter:brightness(1)}30%{filter:brightness(1.2)}to{filter:brightness(1)}}.hover-scale-1,.hover-scale-2,.hover-scale-3,.hover-scale-4,.hover-scale-5,.hover-scale-6,.hover-scale-7,.hover-scale-8,.hover-scale-9,.hover-scale-10{transition:transform .3s ease-in-out}.hover-scale-1:hover{transform:scale(.9)}.hover-scale-2:hover{transform:scale(.93)}.hover-scale-3:hover{transform:scale(.96)}.hover-scale-4:hover{transform:scale(1)}.hover-scale-5:hover{transform:scale(1.05)}.hover-scale-6:hover{transform:scale(1.08)}.hover-scale-7:hover{transform:scale(1.12)}.hover-scale-8:hover{transform:scale(1.16)}.hover-scale-9:hover{transform:scale(1.2)}.hover-scale-10:hover{transform:scale(1.25)}@keyframes bounce-1{0%{transform:translateY(0)}20%{transform:translateY(-2px)}40%{transform:translateY(1px)}60%{transform:translateY(-0px)}80%{transform:translateY(0)}to{transform:translateY(0)}}.hover-bounce-1:hover{animation:bounce-1 .4s ease-out}@keyframes bounce-2{0%{transform:translateY(0)}20%{transform:translateY(-4px)}40%{transform:translateY(2px)}60%{transform:translateY(-1px)}80%{transform:translateY(0)}to{transform:translateY(0)}}.hover-bounce-2:hover{animation:bounce-2 .4s ease-out}@keyframes bounce-3{0%{transform:translateY(0)}20%{transform:translateY(-6px)}40%{transform:translateY(3px)}60%{transform:translateY(-1px)}80%{transform:translateY(1px)}to{transform:translateY(0)}}.hover-bounce-3:hover{animation:bounce-3 .4s ease-out}@keyframes bounce-4{0%{transform:translateY(0)}20%{transform:translateY(-8px)}40%{transform:translateY(4px)}60%{transform:translateY(-2px)}80%{transform:translateY(1px)}to{transform:translateY(0)}}.hover-bounce-4:hover{animation:bounce-4 .4s ease-out}@keyframes bounce-5{0%{transform:translateY(0)}20%{transform:translateY(-10px)}40%{transform:translateY(5px)}60%{transform:translateY(-2px)}80%{transform:translateY(1px)}to{transform:translateY(0)}}.hover-bounce-5:hover{animation:bounce-5 .4s ease-out}@keyframes bounce-6{0%{transform:translateY(0)}20%{transform:translateY(-12px)}40%{transform:translateY(6px)}60%{transform:translateY(-3px)}80%{transform:translateY(2px)}to{transform:translateY(0)}}.hover-bounce-6:hover{animation:bounce-6 .4s ease-out}@keyframes bounce-7{0%{transform:translateY(0)}20%{transform:translateY(-14px)}40%{transform:translateY(7px)}60%{transform:translateY(-3px)}80%{transform:translateY(2px)}to{transform:translateY(0)}}.hover-bounce-7:hover{animation:bounce-7 .4s ease-out}@keyframes bounce-8{0%{transform:translateY(0)}20%{transform:translateY(-16px)}40%{transform:translateY(8px)}60%{transform:translateY(-4px)}80%{transform:translateY(2px)}to{transform:translateY(0)}}.hover-bounce-8:hover{animation:bounce-8 .4s ease-out}@keyframes bounce-9{0%{transform:translateY(0)}20%{transform:translateY(-18px)}40%{transform:translateY(9px)}60%{transform:translateY(-4px)}80%{transform:translateY(3px)}to{transform:translateY(0)}}.hover-bounce-9:hover{animation:bounce-9 .4s ease-out}@keyframes bounce-10{0%{transform:translateY(0)}20%{transform:translateY(-20px)}40%{transform:translateY(10px)}60%{transform:translateY(-5px)}80%{transform:translateY(3px)}to{transform:translateY(0)}}.hover-bounce-10:hover{animation:bounce-10 .4s ease-out}@keyframes hover-pulse-1{0%{transform:scale(1)}25%{transform:scale(1.02)}50%{transform:scale(.985)}75%{transform:scale(1.01)}to{transform:scale(1)}}.hover-pulse-1:hover{animation:hover-pulse-1 .4s ease-in-out}@keyframes hover-pulse-2{0%{transform:scale(1)}25%{transform:scale(1.04)}50%{transform:scale(.97)}75%{transform:scale(1.02)}to{transform:scale(1)}}.hover-pulse-2:hover{animation:hover-pulse-2 .4s ease-in-out}@keyframes hover-pulse-3{0%{transform:scale(1)}25%{transform:scale(1.06)}50%{transform:scale(.955)}75%{transform:scale(1.03)}to{transform:scale(1)}}.hover-pulse-3:hover{animation:hover-pulse-3 .4s ease-in-out}@keyframes hover-pulse-4{0%{transform:scale(1)}25%{transform:scale(1.08)}50%{transform:scale(.94)}75%{transform:scale(1.04)}to{transform:scale(1)}}.hover-pulse-4:hover{animation:hover-pulse-4 .4s ease-in-out}@keyframes hover-pulse-5{0%{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(.925)}75%{transform:scale(1.05)}to{transform:scale(1)}}.hover-pulse-5:hover{animation:hover-pulse-5 .4s ease-in-out}@keyframes hover-pulse-6{0%{transform:scale(1)}25%{transform:scale(1.12)}50%{transform:scale(.91)}75%{transform:scale(1.06)}to{transform:scale(1)}}.hover-pulse-6:hover{animation:hover-pulse-6 .4s ease-in-out}@keyframes hover-pulse-7{0%{transform:scale(1)}25%{transform:scale(1.14)}50%{transform:scale(.895)}75%{transform:scale(1.07)}to{transform:scale(1)}}.hover-pulse-7:hover{animation:hover-pulse-7 .4s ease-in-out}@keyframes hover-pulse-8{0%{transform:scale(1)}25%{transform:scale(1.16)}50%{transform:scale(.88)}75%{transform:scale(1.08)}to{transform:scale(1)}}.hover-pulse-8:hover{animation:hover-pulse-8 .4s ease-in-out}@keyframes hover-pulse-9{0%{transform:scale(1)}25%{transform:scale(1.18)}50%{transform:scale(.865)}75%{transform:scale(1.09)}to{transform:scale(1)}}.hover-pulse-9:hover{animation:hover-pulse-9 .4s ease-in-out}@keyframes hover-pulse-10{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.85)}75%{transform:scale(1.1)}to{transform:scale(1)}}.hover-pulse-10:hover{animation:hover-pulse-10 .4s ease-in-out}@keyframes shake-1{0%,to{transform:translate(0)}50%{transform:translate(-1px)}}.hover-shake-1:hover{animation:shake-1 .2s ease-in-out}@keyframes shake-2{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.hover-shake-2:hover{animation:shake-2 .25s ease-in-out}@keyframes shake-3{0%,to{transform:translate(0)}20%{transform:translate(-3px)}50%{transform:translate(3px)}80%{transform:translate(-2px)}}.hover-shake-3:hover{animation:shake-3 .3s ease-in-out}@keyframes shake-4{0%,to{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}}.hover-shake-4:hover{animation:shake-4 .3s ease-in-out}@keyframes shake-5{0%,to{transform:translate(0)}10%{transform:translate(-5px)}20%{transform:translate(5px)}30%{transform:translate(-4px)}40%{transform:translate(4px)}50%{transform:translate(-3px)}60%{transform:translate(3px)}}.hover-shake-5:hover{animation:shake-5 .35s ease-in-out}@keyframes shake-6{0%,to{transform:translate(0)}10%{transform:translate(-6px)}20%{transform:translate(6px)}30%{transform:translate(-5px)}40%{transform:translate(5px)}50%{transform:translate(-4px)}60%{transform:translate(4px)}70%{transform:translate(-3px)}80%{transform:translate(3px)}}.hover-shake-6:hover{animation:shake-6 .4s ease-in-out}@keyframes shake-7{0%,to{transform:translate(0)}8%{transform:translate(-7px)}16%{transform:translate(7px)}24%{transform:translate(-6px)}32%{transform:translate(6px)}40%{transform:translate(-5px)}48%{transform:translate(5px)}56%{transform:translate(-4px)}64%{transform:translate(4px)}72%{transform:translate(-3px)}80%{transform:translate(3px)}}.hover-shake-7:hover{animation:shake-7 .45s ease-in-out}@keyframes shake-8{0%,to{transform:translate(0)}7%{transform:translate(-8px)}14%{transform:translate(8px)}21%{transform:translate(-7px)}28%{transform:translate(7px)}35%{transform:translate(-6px)}42%{transform:translate(6px)}49%{transform:translate(-5px)}56%{transform:translate(5px)}63%{transform:translate(-4px)}70%{transform:translate(4px)}77%{transform:translate(-3px)}84%{transform:translate(3px)}}.hover-shake-8:hover{animation:shake-8 .5s ease-in-out}@keyframes shake-9{0%,to{transform:translate(0)}6%{transform:translate(-9px)}12%{transform:translate(9px)}18%{transform:translate(-8px)}24%{transform:translate(8px)}30%{transform:translate(-7px)}36%{transform:translate(7px)}42%{transform:translate(-6px)}48%{transform:translate(6px)}54%{transform:translate(-5px)}60%{transform:translate(5px)}66%{transform:translate(-4px)}72%{transform:translate(4px)}78%{transform:translate(-3px)}84%{transform:translate(3px)}}.hover-shake-9:hover{animation:shake-9 .55s ease-in-out}@keyframes shake-10{0%,to{transform:translate(0)}5%{transform:translate(-10px)}10%{transform:translate(10px)}15%{transform:translate(-9px)}20%{transform:translate(9px)}25%{transform:translate(-8px)}30%{transform:translate(8px)}35%{transform:translate(-7px)}40%{transform:translate(7px)}45%{transform:translate(-6px)}50%{transform:translate(6px)}55%{transform:translate(-5px)}60%{transform:translate(5px)}65%{transform:translate(-4px)}70%{transform:translate(4px)}75%{transform:translate(-3px)}80%{transform:translate(3px)}85%{transform:translate(-2px)}90%{transform:translate(2px)}}.hover-shake-10:hover{animation:shake-10 .6s ease-in-out}.shadow-sm{box-shadow:0 0 4px #0000001a}.shadow-md{box-shadow:0 0 8px #0003}.shadow-lg{box-shadow:0 0 16px #0000004d}.hover-shadow-1:hover{box-shadow:0 0 2px #0000000d!important}.hover-shadow-2:hover{box-shadow:0 0 4px #00000014!important}.hover-shadow-3:hover{box-shadow:0 0 6px #0000001f!important}.hover-shadow-4:hover{box-shadow:0 0 8px #00000029!important}.hover-shadow-5:hover{box-shadow:0 0 12px #0003!important}.hover-shadow-6:hover{box-shadow:0 0 16px #00000040!important}.hover-shadow-7:hover{box-shadow:0 0 20px #0000004d!important}.hover-shadow-8:hover{box-shadow:0 0 24px #00000059!important}.hover-shadow-9:hover{box-shadow:0 0 28px #0006!important}.hover-shadow-10:hover{box-shadow:0 0 32px #00000080!important}.hover-shadow-1,.hover-shadow-2,.hover-shadow-3,.hover-shadow-4,.hover-shadow-5,.hover-shadow-6,.hover-shadow-7,.hover-shadow-8,.hover-shadow-9,.hover-shadow-10{transition:box-shadow .3s ease-in-out}
|
|
1
|
+
.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-\[10px\]{gap:10px}.gap-\[8px\]{gap:8px}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.border{border-width:1px}.underline{text-decoration-line:underline}.\!shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1) !important;--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@font-face{font-family:Pretendard-T;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2) format("woff2");font-weight:100;font-display:swap}@font-face{font-family:Pretendard-EL;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraLight.woff2) format("woff2");font-weight:200;font-display:swap}@font-face{font-family:Pretendard-L;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Pretendard-R;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Pretendard-M;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Pretendard-SB;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Pretendard-B;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Pretendard-EB;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:Pretendard-Black;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2) format("woff2");font-weight:900;font-display:swap}@font-face{font-family:GmarketSansLight;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansLight.woff) format("woff");font-display:swap}@font-face{font-family:GmarketSansMedium;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff) format("woff");font-display:swap}@font-face{font-family:GmarketSansBold;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff) format("woff");font-display:swap}@font-face{font-family:SUITE-T;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Thin.woff2) format("woff2");font-weight:100;font-display:swap}@font-face{font-family:SUITE-EL;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-ExtraLight.woff2) format("woff2");font-weight:200;font-display:swap}@font-face{font-family:SUITE-L;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Light.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:SUITE-R;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:SUITE-M;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:SUITE-SM;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:SUITE-B;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:SUITE-EB;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:SUITE-H;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Heavy.woff2) format("woff2");font-weight:900;font-display:swap}@font-face{font-family:IntelOneMono-Medium;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2307-1@1.1/intelone-mono-font-family-medium.woff2) format("woff2");font-weight:500;font-display:swap}*{box-sizing:border-box;font-family:Pretendard-R,sans-serif}.codding-font{font-family:IntelOneMono-Medium,monospace}a{color:inherit;text-decoration:none}*{scrollbar-width:thin;scrollbar-color:transparent transparent}*:hover{scrollbar-color:rgba(0,0,0,.15) transparent}*::-webkit-scrollbar{width:6px;height:6px;background:transparent}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:transparent;border-radius:6px;-webkit-transition:background-color .2s;transition:background-color .2s}*:hover::-webkit-scrollbar-thumb{background-color:#00000026}*::-webkit-scrollbar-thumb:hover,*:hover::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.sud-hover{animation:none}.sud-hover:hover{animation:sud-hover-flash-3 1s ease-in-out}.sud-hover-1:hover{animation:sud-hover-flash-1 1s ease-in-out}@keyframes sud-hover-flash-1{0%{filter:brightness(1)}30%{filter:brightness(1.02)}to{filter:brightness(1)}}.sud-hover-2:hover{animation:sud-hover-flash-2 1s ease-in-out}@keyframes sud-hover-flash-2{0%{filter:brightness(1)}30%{filter:brightness(1.04)}to{filter:brightness(1)}}.sud-hover-3:hover{animation:sud-hover-flash-3 1s ease-in-out}@keyframes sud-hover-flash-3{0%{filter:brightness(1)}30%{filter:brightness(1.06)}to{filter:brightness(1)}}.sud-hover-4:hover{animation:sud-hover-flash-4 1s ease-in-out}@keyframes sud-hover-flash-4{0%{filter:brightness(1)}30%{filter:brightness(1.08)}to{filter:brightness(1)}}.sud-hover-5:hover{animation:sud-hover-flash-5 1s ease-in-out}@keyframes sud-hover-flash-5{0%{filter:brightness(1)}30%{filter:brightness(1.1)}to{filter:brightness(1)}}.sud-hover-6:hover{animation:sud-hover-flash-6 1s ease-in-out}@keyframes sud-hover-flash-6{0%{filter:brightness(1)}30%{filter:brightness(1.12)}to{filter:brightness(1)}}.sud-hover-7:hover{animation:sud-hover-flash-7 1s ease-in-out}@keyframes sud-hover-flash-7{0%{filter:brightness(1)}30%{filter:brightness(1.14)}to{filter:brightness(1)}}.sud-hover-8:hover{animation:sud-hover-flash-8 1s ease-in-out}@keyframes sud-hover-flash-8{0%{filter:brightness(1)}30%{filter:brightness(1.16)}to{filter:brightness(1)}}.sud-hover-9:hover{animation:sud-hover-flash-9 1s ease-in-out}@keyframes sud-hover-flash-9{0%{filter:brightness(1)}30%{filter:brightness(1.18)}to{filter:brightness(1)}}.sud-hover-10:hover{animation:sud-hover-flash-10 1s ease-in-out}@keyframes sud-hover-flash-10{0%{filter:brightness(1)}30%{filter:brightness(1.2)}to{filter:brightness(1)}}.hover-scale-1,.hover-scale-2,.hover-scale-3,.hover-scale-4,.hover-scale-5,.hover-scale-6,.hover-scale-7,.hover-scale-8,.hover-scale-9,.hover-scale-10{transition:transform .3s ease-in-out}.hover-scale-1:hover{transform:scale(.9)}.hover-scale-2:hover{transform:scale(.93)}.hover-scale-3:hover{transform:scale(.96)}.hover-scale-4:hover{transform:scale(1)}.hover-scale-5:hover{transform:scale(1.05)}.hover-scale-6:hover{transform:scale(1.08)}.hover-scale-7:hover{transform:scale(1.12)}.hover-scale-8:hover{transform:scale(1.16)}.hover-scale-9:hover{transform:scale(1.2)}.hover-scale-10:hover{transform:scale(1.25)}@keyframes bounce-1{0%{transform:translateY(0)}20%{transform:translateY(-2px)}40%{transform:translateY(1px)}60%{transform:translateY(-0px)}80%{transform:translateY(0)}to{transform:translateY(0)}}.hover-bounce-1:hover{animation:bounce-1 .4s ease-out}@keyframes bounce-2{0%{transform:translateY(0)}20%{transform:translateY(-4px)}40%{transform:translateY(2px)}60%{transform:translateY(-1px)}80%{transform:translateY(0)}to{transform:translateY(0)}}.hover-bounce-2:hover{animation:bounce-2 .4s ease-out}@keyframes bounce-3{0%{transform:translateY(0)}20%{transform:translateY(-6px)}40%{transform:translateY(3px)}60%{transform:translateY(-1px)}80%{transform:translateY(1px)}to{transform:translateY(0)}}.hover-bounce-3:hover{animation:bounce-3 .4s ease-out}@keyframes bounce-4{0%{transform:translateY(0)}20%{transform:translateY(-8px)}40%{transform:translateY(4px)}60%{transform:translateY(-2px)}80%{transform:translateY(1px)}to{transform:translateY(0)}}.hover-bounce-4:hover{animation:bounce-4 .4s ease-out}@keyframes bounce-5{0%{transform:translateY(0)}20%{transform:translateY(-10px)}40%{transform:translateY(5px)}60%{transform:translateY(-2px)}80%{transform:translateY(1px)}to{transform:translateY(0)}}.hover-bounce-5:hover{animation:bounce-5 .4s ease-out}@keyframes bounce-6{0%{transform:translateY(0)}20%{transform:translateY(-12px)}40%{transform:translateY(6px)}60%{transform:translateY(-3px)}80%{transform:translateY(2px)}to{transform:translateY(0)}}.hover-bounce-6:hover{animation:bounce-6 .4s ease-out}@keyframes bounce-7{0%{transform:translateY(0)}20%{transform:translateY(-14px)}40%{transform:translateY(7px)}60%{transform:translateY(-3px)}80%{transform:translateY(2px)}to{transform:translateY(0)}}.hover-bounce-7:hover{animation:bounce-7 .4s ease-out}@keyframes bounce-8{0%{transform:translateY(0)}20%{transform:translateY(-16px)}40%{transform:translateY(8px)}60%{transform:translateY(-4px)}80%{transform:translateY(2px)}to{transform:translateY(0)}}.hover-bounce-8:hover{animation:bounce-8 .4s ease-out}@keyframes bounce-9{0%{transform:translateY(0)}20%{transform:translateY(-18px)}40%{transform:translateY(9px)}60%{transform:translateY(-4px)}80%{transform:translateY(3px)}to{transform:translateY(0)}}.hover-bounce-9:hover{animation:bounce-9 .4s ease-out}@keyframes bounce-10{0%{transform:translateY(0)}20%{transform:translateY(-20px)}40%{transform:translateY(10px)}60%{transform:translateY(-5px)}80%{transform:translateY(3px)}to{transform:translateY(0)}}.hover-bounce-10:hover{animation:bounce-10 .4s ease-out}@keyframes hover-pulse-1{0%{transform:scale(1)}25%{transform:scale(1.02)}50%{transform:scale(.985)}75%{transform:scale(1.01)}to{transform:scale(1)}}.hover-pulse-1:hover{animation:hover-pulse-1 .4s ease-in-out}@keyframes hover-pulse-2{0%{transform:scale(1)}25%{transform:scale(1.04)}50%{transform:scale(.97)}75%{transform:scale(1.02)}to{transform:scale(1)}}.hover-pulse-2:hover{animation:hover-pulse-2 .4s ease-in-out}@keyframes hover-pulse-3{0%{transform:scale(1)}25%{transform:scale(1.06)}50%{transform:scale(.955)}75%{transform:scale(1.03)}to{transform:scale(1)}}.hover-pulse-3:hover{animation:hover-pulse-3 .4s ease-in-out}@keyframes hover-pulse-4{0%{transform:scale(1)}25%{transform:scale(1.08)}50%{transform:scale(.94)}75%{transform:scale(1.04)}to{transform:scale(1)}}.hover-pulse-4:hover{animation:hover-pulse-4 .4s ease-in-out}@keyframes hover-pulse-5{0%{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(.925)}75%{transform:scale(1.05)}to{transform:scale(1)}}.hover-pulse-5:hover{animation:hover-pulse-5 .4s ease-in-out}@keyframes hover-pulse-6{0%{transform:scale(1)}25%{transform:scale(1.12)}50%{transform:scale(.91)}75%{transform:scale(1.06)}to{transform:scale(1)}}.hover-pulse-6:hover{animation:hover-pulse-6 .4s ease-in-out}@keyframes hover-pulse-7{0%{transform:scale(1)}25%{transform:scale(1.14)}50%{transform:scale(.895)}75%{transform:scale(1.07)}to{transform:scale(1)}}.hover-pulse-7:hover{animation:hover-pulse-7 .4s ease-in-out}@keyframes hover-pulse-8{0%{transform:scale(1)}25%{transform:scale(1.16)}50%{transform:scale(.88)}75%{transform:scale(1.08)}to{transform:scale(1)}}.hover-pulse-8:hover{animation:hover-pulse-8 .4s ease-in-out}@keyframes hover-pulse-9{0%{transform:scale(1)}25%{transform:scale(1.18)}50%{transform:scale(.865)}75%{transform:scale(1.09)}to{transform:scale(1)}}.hover-pulse-9:hover{animation:hover-pulse-9 .4s ease-in-out}@keyframes hover-pulse-10{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.85)}75%{transform:scale(1.1)}to{transform:scale(1)}}.hover-pulse-10:hover{animation:hover-pulse-10 .4s ease-in-out}@keyframes shake-1{0%,to{transform:translate(0)}50%{transform:translate(-1px)}}.hover-shake-1:hover{animation:shake-1 .2s ease-in-out}@keyframes shake-2{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.hover-shake-2:hover{animation:shake-2 .25s ease-in-out}@keyframes shake-3{0%,to{transform:translate(0)}20%{transform:translate(-3px)}50%{transform:translate(3px)}80%{transform:translate(-2px)}}.hover-shake-3:hover{animation:shake-3 .3s ease-in-out}@keyframes shake-4{0%,to{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}}.hover-shake-4:hover{animation:shake-4 .3s ease-in-out}@keyframes shake-5{0%,to{transform:translate(0)}10%{transform:translate(-5px)}20%{transform:translate(5px)}30%{transform:translate(-4px)}40%{transform:translate(4px)}50%{transform:translate(-3px)}60%{transform:translate(3px)}}.hover-shake-5:hover{animation:shake-5 .35s ease-in-out}@keyframes shake-6{0%,to{transform:translate(0)}10%{transform:translate(-6px)}20%{transform:translate(6px)}30%{transform:translate(-5px)}40%{transform:translate(5px)}50%{transform:translate(-4px)}60%{transform:translate(4px)}70%{transform:translate(-3px)}80%{transform:translate(3px)}}.hover-shake-6:hover{animation:shake-6 .4s ease-in-out}@keyframes shake-7{0%,to{transform:translate(0)}8%{transform:translate(-7px)}16%{transform:translate(7px)}24%{transform:translate(-6px)}32%{transform:translate(6px)}40%{transform:translate(-5px)}48%{transform:translate(5px)}56%{transform:translate(-4px)}64%{transform:translate(4px)}72%{transform:translate(-3px)}80%{transform:translate(3px)}}.hover-shake-7:hover{animation:shake-7 .45s ease-in-out}@keyframes shake-8{0%,to{transform:translate(0)}7%{transform:translate(-8px)}14%{transform:translate(8px)}21%{transform:translate(-7px)}28%{transform:translate(7px)}35%{transform:translate(-6px)}42%{transform:translate(6px)}49%{transform:translate(-5px)}56%{transform:translate(5px)}63%{transform:translate(-4px)}70%{transform:translate(4px)}77%{transform:translate(-3px)}84%{transform:translate(3px)}}.hover-shake-8:hover{animation:shake-8 .5s ease-in-out}@keyframes shake-9{0%,to{transform:translate(0)}6%{transform:translate(-9px)}12%{transform:translate(9px)}18%{transform:translate(-8px)}24%{transform:translate(8px)}30%{transform:translate(-7px)}36%{transform:translate(7px)}42%{transform:translate(-6px)}48%{transform:translate(6px)}54%{transform:translate(-5px)}60%{transform:translate(5px)}66%{transform:translate(-4px)}72%{transform:translate(4px)}78%{transform:translate(-3px)}84%{transform:translate(3px)}}.hover-shake-9:hover{animation:shake-9 .55s ease-in-out}@keyframes shake-10{0%,to{transform:translate(0)}5%{transform:translate(-10px)}10%{transform:translate(10px)}15%{transform:translate(-9px)}20%{transform:translate(9px)}25%{transform:translate(-8px)}30%{transform:translate(8px)}35%{transform:translate(-7px)}40%{transform:translate(7px)}45%{transform:translate(-6px)}50%{transform:translate(6px)}55%{transform:translate(-5px)}60%{transform:translate(5px)}65%{transform:translate(-4px)}70%{transform:translate(4px)}75%{transform:translate(-3px)}80%{transform:translate(3px)}85%{transform:translate(-2px)}90%{transform:translate(2px)}}.hover-shake-10:hover{animation:shake-10 .6s ease-in-out}.shadow-sm{box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014}.shadow-md{box-shadow:0 4px 6px -1px #00000029,0 2px 4px -1px #0000001f}.shadow-lg{box-shadow:0 10px 15px -3px #0003,0 4px 6px -2px #0000001f}.hover-shadow-1:hover{box-shadow:0 2px 4px #0000001f!important}.hover-shadow-2:hover{box-shadow:0 4px 6px -1px #00000024,0 2px 4px -1px #0000001a!important}.hover-shadow-3:hover{box-shadow:0 6px 8px -1px #00000029,0 3px 6px -1px #0000001f!important}.hover-shadow-4:hover{box-shadow:0 8px 12px -2px #0000002e,0 4px 8px -2px #0000001f!important}.hover-shadow-5:hover{box-shadow:0 10px 15px -3px #0003,0 4px 6px -2px #0000001f!important}.hover-shadow-6:hover{box-shadow:0 12px 20px -4px #00000038,0 6px 8px -3px #0000001f!important}.hover-shadow-7:hover{box-shadow:0 16px 24px -4px #0000003d,0 8px 12px -4px #0000001f!important}.hover-shadow-8:hover{box-shadow:0 20px 25px -5px #00000042,0 10px 10px -5px #0000001f!important}.hover-shadow-9:hover{box-shadow:0 24px 30px -6px #00000047,0 12px 14px -6px #0000001f!important}.hover-shadow-10:hover{box-shadow:0 30px 40px -8px #0000004d,0 16px 20px -8px #0000001f!important}.hover-shadow-1,.hover-shadow-2,.hover-shadow-3,.hover-shadow-4,.hover-shadow-5,.hover-shadow-6,.hover-shadow-7,.hover-shadow-8,.hover-shadow-9,.hover-shadow-10{transition:box-shadow .3s ease-in-out}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
export * from "./components/Div/Div.d";
|
|
2
|
+
export * from "./components/SoonUIDesign.d";
|
|
1
3
|
export * from "./components/general/Button.d";
|
|
2
4
|
export * from "./components/general/Typography.d";
|
|
3
5
|
export * from "./components/general/FloatButton.d";
|
|
4
6
|
export * from "./components/dataDisplay/Badge.d";
|
|
5
7
|
export * from "./components/dataDisplay/Accordion.d";
|
|
8
|
+
export { default as Avatar } from "./components/dataDisplay/Avatar.d";
|
|
6
9
|
export * from "./components/dataDisplay/Avatar.d";
|
|
7
10
|
export * from "./components/dataDisplay/Calendar.d";
|
|
8
11
|
export * from "./components/dataDisplay/Card.d";
|
|
@@ -15,36 +18,54 @@ export * from "./components/dataDisplay/Modal.d";
|
|
|
15
18
|
export * from "./components/dataDisplay/Popover.d";
|
|
16
19
|
export * from "./components/dataDisplay/Segmented.d";
|
|
17
20
|
export * from "./components/dataDisplay/Table.d";
|
|
21
|
+
export { default as Timeline } from "./components/dataDisplay/Timeline.d";
|
|
18
22
|
export * from "./components/dataDisplay/Timeline.d";
|
|
23
|
+
export { default as Tabs } from "./components/dataDisplay/Tabs.d";
|
|
19
24
|
export * from "./components/dataDisplay/Tabs.d";
|
|
25
|
+
export { default as Tag } from "./components/dataDisplay/Tag.d";
|
|
20
26
|
export * from "./components/dataDisplay/Tag.d";
|
|
21
27
|
export * from "./components/dataDisplay/Tooltip.d";
|
|
28
|
+
export { default as Checkbox } from "./components/dataEntry/Checkbox.d";
|
|
22
29
|
export * from "./components/dataEntry/Checkbox.d";
|
|
30
|
+
export { default as ColorPicker } from "./components/dataEntry/ColorPicker.d";
|
|
23
31
|
export * from "./components/dataEntry/ColorPicker.d";
|
|
32
|
+
export { default as DatePicker } from "./components/dataEntry/DatePicker.d";
|
|
24
33
|
export * from "./components/dataEntry/DatePicker.d";
|
|
34
|
+
export { default as Input } from "./components/dataEntry/Input.d";
|
|
25
35
|
export * from "./components/dataEntry/Input.d";
|
|
36
|
+
export { default as Radio } from "./components/dataEntry/Radio.d";
|
|
26
37
|
export * from "./components/dataEntry/Radio.d";
|
|
38
|
+
export * from "./components/dataEntry/Rate.d";
|
|
39
|
+
export { default as Select } from "./components/dataEntry/Select.d";
|
|
27
40
|
export * from "./components/dataEntry/Select.d";
|
|
41
|
+
export { default as Slider } from "./components/dataEntry/Slider.d";
|
|
28
42
|
export * from "./components/dataEntry/Slider.d";
|
|
43
|
+
export { default as Switch } from "./components/dataEntry/Switch.d";
|
|
29
44
|
export * from "./components/dataEntry/Switch.d";
|
|
45
|
+
export { default as TimePicker } from "./components/dataEntry/TimePicker.d";
|
|
30
46
|
export * from "./components/dataEntry/TimePicker.d";
|
|
31
47
|
export * from "./components/dataEntry/TimeSelector.d";
|
|
32
48
|
export * from "./components/dataEntry/Upload.d";
|
|
33
49
|
export * from "./components/feedback/Empty.d";
|
|
34
50
|
export * from "./components/feedback/PopConfirm.d";
|
|
51
|
+
export { default as Progress } from "./components/feedback/Progress.d";
|
|
35
52
|
export * from "./components/feedback/Progress.d";
|
|
53
|
+
export { default as Spinner } from "./components/feedback/Spinner.d";
|
|
36
54
|
export * from "./components/feedback/Spinner.d";
|
|
55
|
+
export { default as DotSpinner } from "./components/feedback/DotSpinner.d";
|
|
37
56
|
export * from "./components/feedback/DotSpinner.d";
|
|
38
57
|
export * from "./components/feedback/ToastRoot.d";
|
|
39
58
|
export * from "./components/feedback/NotificationRoot.d";
|
|
40
|
-
export * from "./components/layout
|
|
41
|
-
export
|
|
42
|
-
export * from "./components/layout/Footer/index.d";
|
|
43
|
-
export * from "./components/layout/Sider/index.d";
|
|
44
|
-
export * from "./components/layout/Content/index.d";
|
|
59
|
+
export * from "./components/layout";
|
|
60
|
+
export { default as Breadcrumb } from "./components/navigation/Breadcrumb.d";
|
|
45
61
|
export * from "./components/navigation/Breadcrumb.d";
|
|
62
|
+
export { default as Pagination } from "./components/navigation/Pagination.d";
|
|
46
63
|
export * from "./components/navigation/Pagination.d";
|
|
64
|
+
export { default as Divider } from "./components/navigation/Divider.d";
|
|
47
65
|
export * from "./components/navigation/Divider.d";
|
|
66
|
+
export { default as Menu } from "./components/navigation/Menu.d";
|
|
48
67
|
export * from "./components/navigation/Menu.d";
|
|
68
|
+
export { default as Dropdown } from "./components/navigation/Dropdown.d";
|
|
49
69
|
export * from "./components/navigation/Dropdown.d";
|
|
50
70
|
export * from "./components/navigation/base/PopupBase.d";
|
|
71
|
+
export * from "./theme";
|