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 CHANGED
@@ -16,11 +16,11 @@
16
16
 
17
17
  ## โœจ Features
18
18
 
19
- - ๐ŸŽจ Consistent design system with Tailwind-like syntax
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
- - ๐ŸŒ€ Utility-first class support (e.g., `pd-10`, `mg-4`)
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
- SUD provides full theming support via `SoonUIDesign`.
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 fontSizeType =
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
- } from "../commonType";
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
- } from "../commonType";
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
- disabledKeys?: string[];
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
- } from "../commonType";
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
- width?: number | string;
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
- } from "../commonType";
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
- width?: number | string;
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 { shapeType, borderType, shadowType } from "../commonType";
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 Input: FC<InputProps> & {
124
- Textarea: FC<TextareaProps>;
125
- OTP: FC<OTPProps>;
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;
@@ -20,6 +20,4 @@ export interface RateProps extends HTMLAttributes<HTMLDivElement> {
20
20
  icon?: RateIcon;
21
21
  }
22
22
 
23
- declare const Rate: FC<RateProps>;
24
-
25
- export default Rate;
23
+ export declare const Rate: FC<RateProps>;
@@ -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
- } from "../commonType";
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
- size?: SelectSize;
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
- className?: string;
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
- } from "../commonType";
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
- expandType?: "accordion" | "popover";
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
- } from "../../commonType";
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
- colorType?: defaultColorType;
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/Layout/index.d";
41
- export * from "./components/layout/Header/index.d";
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";