@edu-tosel/design 1.0.48 → 1.0.49
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 +42 -42
- package/asset/SVG.tsx +27 -27
- package/asset/svg/Close.tsx +32 -32
- package/asset/svg/Direction.tsx +36 -36
- package/asset/svg/Email.tsx +20 -20
- package/asset/svg/Icon.tsx +186 -186
- package/asset/svg/Image.tsx +24 -24
- package/asset/svg/Notification.tsx +34 -34
- package/asset/svg/Operation.tsx +66 -66
- package/asset/svg/Phone.tsx +20 -20
- package/asset/svg/Profile.tsx +27 -27
- package/asset/svg/Symbol.tsx +60 -60
- package/asset/svg/TOSEL.tsx +63 -63
- package/globals.css +226 -226
- package/layout/template/home/Navigation.js +3 -2
- package/package.json +1 -1
- package/tailwind.config.ts +618 -618
- package/version.txt +1 -1
package/README.md
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
# TOSEL Design Library
|
|
2
|
-
|
|
3
|
-
TOSEL 통합 디자인 시스템에 맞춘 UI 라이브러리
|
|
4
|
-
|
|
5
|
-
## Component
|
|
6
|
-
|
|
7
|
-
컴포넌트들은 기본적으로 기능 단위로만 구성한다.
|
|
8
|
-
|
|
9
|
-
도메인은 구분하지 않는다. 단, Layout 컴포넌트에 대해서만 예외적으로 허용한다.
|
|
10
|
-
|
|
11
|
-
### Board
|
|
12
|
-
|
|
13
|
-
Board 컴포넌트는 가장 큰 단위의 컨테이너이다.
|
|
14
|
-
|
|
15
|
-
일반적으로
|
|
16
|
-
|
|
17
|
-
### Card
|
|
18
|
-
|
|
19
|
-
Card 컴포넌트는 여러가지 요소를 담고 있는 컨테이너이다.
|
|
20
|
-
|
|
21
|
-
일반적으로 가장 최소 단위의 컴포넌트로 사용되며, 다양한 요소를 담을 수 있다.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
### Layout
|
|
25
|
-
|
|
26
|
-
Layout 컴포넌트는 여러가지 컴포넌트를 담고 있는 컨테이너이다.
|
|
27
|
-
|
|
28
|
-
Layout 컴포넌트는 특정 프로젝트에서 반복적으로 사용되는 컴포넌트의 구조를 형성한다.
|
|
29
|
-
|
|
30
|
-
### Navigation
|
|
31
|
-
|
|
32
|
-
Navigation 컴포넌트는 여러가지 링크를 담고 있는 컨테이너이다.
|
|
33
|
-
|
|
34
|
-
각각의 링크 컴포넌트의 스타일링은 buttonClassNames로 전달받는다.
|
|
35
|
-
|
|
36
|
-
(Next.js의 Link Component와 React의 Link Component는 호환이 되지 않기 때문.)
|
|
37
|
-
|
|
38
|
-
### Shelf
|
|
39
|
-
|
|
40
|
-
Shelf 컴포넌트는 Board 컴포넌트 내부에 위치하며 여러가지 Deck 컴포넌트를 담고 있는 컨테이너이다.
|
|
41
|
-
|
|
42
|
-
Shelf 컴포넌트는 담고있는 Deck 컴포넌트들을 수직 정렬한다.
|
|
1
|
+
# TOSEL Design Library
|
|
2
|
+
|
|
3
|
+
TOSEL 통합 디자인 시스템에 맞춘 UI 라이브러리
|
|
4
|
+
|
|
5
|
+
## Component
|
|
6
|
+
|
|
7
|
+
컴포넌트들은 기본적으로 기능 단위로만 구성한다.
|
|
8
|
+
|
|
9
|
+
도메인은 구분하지 않는다. 단, Layout 컴포넌트에 대해서만 예외적으로 허용한다.
|
|
10
|
+
|
|
11
|
+
### Board
|
|
12
|
+
|
|
13
|
+
Board 컴포넌트는 가장 큰 단위의 컨테이너이다.
|
|
14
|
+
|
|
15
|
+
일반적으로
|
|
16
|
+
|
|
17
|
+
### Card
|
|
18
|
+
|
|
19
|
+
Card 컴포넌트는 여러가지 요소를 담고 있는 컨테이너이다.
|
|
20
|
+
|
|
21
|
+
일반적으로 가장 최소 단위의 컴포넌트로 사용되며, 다양한 요소를 담을 수 있다.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Layout
|
|
25
|
+
|
|
26
|
+
Layout 컴포넌트는 여러가지 컴포넌트를 담고 있는 컨테이너이다.
|
|
27
|
+
|
|
28
|
+
Layout 컴포넌트는 특정 프로젝트에서 반복적으로 사용되는 컴포넌트의 구조를 형성한다.
|
|
29
|
+
|
|
30
|
+
### Navigation
|
|
31
|
+
|
|
32
|
+
Navigation 컴포넌트는 여러가지 링크를 담고 있는 컨테이너이다.
|
|
33
|
+
|
|
34
|
+
각각의 링크 컴포넌트의 스타일링은 buttonClassNames로 전달받는다.
|
|
35
|
+
|
|
36
|
+
(Next.js의 Link Component와 React의 Link Component는 호환이 되지 않기 때문.)
|
|
37
|
+
|
|
38
|
+
### Shelf
|
|
39
|
+
|
|
40
|
+
Shelf 컴포넌트는 Board 컴포넌트 내부에 위치하며 여러가지 Deck 컴포넌트를 담고 있는 컨테이너이다.
|
|
41
|
+
|
|
42
|
+
Shelf 컴포넌트는 담고있는 Deck 컴포넌트들을 수직 정렬한다.
|
package/asset/SVG.tsx
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import Close from "./svg/Close";
|
|
2
|
-
import Direction from "./svg/Direction";
|
|
3
|
-
import Email from "./svg/Email";
|
|
4
|
-
import Icon, { IconProps } from "./svg/Icon";
|
|
5
|
-
import Image from "./svg/Image";
|
|
6
|
-
import Notification from "./svg/Notification";
|
|
7
|
-
import Operation from "./svg/Operation";
|
|
8
|
-
import Phone from "./svg/Phone";
|
|
9
|
-
import Profile from "./svg/Profile";
|
|
10
|
-
import Symbol, { SymbolProps } from "./svg/Symbol";
|
|
11
|
-
import TOSEL from "./svg/TOSEL";
|
|
12
|
-
|
|
13
|
-
const SVG = {
|
|
14
|
-
TOSEL,
|
|
15
|
-
Close,
|
|
16
|
-
Direction,
|
|
17
|
-
Email,
|
|
18
|
-
Icon,
|
|
19
|
-
Image,
|
|
20
|
-
Notification,
|
|
21
|
-
Operation,
|
|
22
|
-
Phone,
|
|
23
|
-
Profile,
|
|
24
|
-
Symbol,
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export default SVG;
|
|
1
|
+
import Close from "./svg/Close";
|
|
2
|
+
import Direction from "./svg/Direction";
|
|
3
|
+
import Email from "./svg/Email";
|
|
4
|
+
import Icon, { IconProps } from "./svg/Icon";
|
|
5
|
+
import Image from "./svg/Image";
|
|
6
|
+
import Notification from "./svg/Notification";
|
|
7
|
+
import Operation from "./svg/Operation";
|
|
8
|
+
import Phone from "./svg/Phone";
|
|
9
|
+
import Profile from "./svg/Profile";
|
|
10
|
+
import Symbol, { SymbolProps } from "./svg/Symbol";
|
|
11
|
+
import TOSEL from "./svg/TOSEL";
|
|
12
|
+
|
|
13
|
+
const SVG = {
|
|
14
|
+
TOSEL,
|
|
15
|
+
Close,
|
|
16
|
+
Direction,
|
|
17
|
+
Email,
|
|
18
|
+
Icon,
|
|
19
|
+
Image,
|
|
20
|
+
Notification,
|
|
21
|
+
Operation,
|
|
22
|
+
Phone,
|
|
23
|
+
Profile,
|
|
24
|
+
Symbol,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export default SVG;
|
package/asset/svg/Close.tsx
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { OnClick } from "../../interface";
|
|
2
|
-
import { cn } from "../../util";
|
|
3
|
-
|
|
4
|
-
export default function Close({
|
|
5
|
-
onClick,
|
|
6
|
-
className,
|
|
7
|
-
}: {
|
|
8
|
-
onClick?: OnClick;
|
|
9
|
-
className?: string;
|
|
10
|
-
}) {
|
|
11
|
-
const container = {
|
|
12
|
-
styles: onClick ? "cursor-pointer" : "",
|
|
13
|
-
className,
|
|
14
|
-
};
|
|
15
|
-
return (
|
|
16
|
-
<svg
|
|
17
|
-
onClick={onClick}
|
|
18
|
-
className={cn(container)}
|
|
19
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
20
|
-
width="36"
|
|
21
|
-
height="36"
|
|
22
|
-
viewBox="0 0 36 36"
|
|
23
|
-
fill="none"
|
|
24
|
-
>
|
|
25
|
-
<circle cx="18" cy="18" r="18" fill="#F0F0F0" />
|
|
26
|
-
<path
|
|
27
|
-
d="M19.7797 17.6997L23.8497 13.6397C24.4797 13.0997 24.5597 12.1597 24.0197 11.5297C23.4797 10.8997 22.5397 10.8197 21.9097 11.3597C21.8497 11.4097 21.7997 11.4597 21.7497 11.5197L17.6697 15.5797L13.5997 11.5097C13.0297 10.9097 12.0797 10.8697 11.4797 11.4397C10.8697 11.9997 10.8397 12.9497 11.3997 13.5597C11.4197 13.5897 11.4497 13.6097 11.4697 13.6297L15.5297 17.6997L11.4697 21.7597C10.8897 22.3497 10.8897 23.2897 11.4697 23.8797C12.0597 24.4697 13.0097 24.4697 13.5997 23.8797L17.6597 19.8197L21.7197 23.8897C21.9997 24.1797 22.3797 24.3397 22.7797 24.3297C23.6097 24.3297 24.2797 23.6597 24.2797 22.8297C24.2797 22.4297 24.1197 22.0497 23.8397 21.7697L19.7797 17.6997Z"
|
|
28
|
-
fill="#7F7F7F"
|
|
29
|
-
/>
|
|
30
|
-
</svg>
|
|
31
|
-
);
|
|
32
|
-
}
|
|
1
|
+
import { OnClick } from "../../interface";
|
|
2
|
+
import { cn } from "../../util";
|
|
3
|
+
|
|
4
|
+
export default function Close({
|
|
5
|
+
onClick,
|
|
6
|
+
className,
|
|
7
|
+
}: {
|
|
8
|
+
onClick?: OnClick;
|
|
9
|
+
className?: string;
|
|
10
|
+
}) {
|
|
11
|
+
const container = {
|
|
12
|
+
styles: onClick ? "cursor-pointer" : "",
|
|
13
|
+
className,
|
|
14
|
+
};
|
|
15
|
+
return (
|
|
16
|
+
<svg
|
|
17
|
+
onClick={onClick}
|
|
18
|
+
className={cn(container)}
|
|
19
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
20
|
+
width="36"
|
|
21
|
+
height="36"
|
|
22
|
+
viewBox="0 0 36 36"
|
|
23
|
+
fill="none"
|
|
24
|
+
>
|
|
25
|
+
<circle cx="18" cy="18" r="18" fill="#F0F0F0" />
|
|
26
|
+
<path
|
|
27
|
+
d="M19.7797 17.6997L23.8497 13.6397C24.4797 13.0997 24.5597 12.1597 24.0197 11.5297C23.4797 10.8997 22.5397 10.8197 21.9097 11.3597C21.8497 11.4097 21.7997 11.4597 21.7497 11.5197L17.6697 15.5797L13.5997 11.5097C13.0297 10.9097 12.0797 10.8697 11.4797 11.4397C10.8697 11.9997 10.8397 12.9497 11.3997 13.5597C11.4197 13.5897 11.4497 13.6097 11.4697 13.6297L15.5297 17.6997L11.4697 21.7597C10.8897 22.3497 10.8897 23.2897 11.4697 23.8797C12.0597 24.4697 13.0097 24.4697 13.5997 23.8797L17.6597 19.8197L21.7197 23.8897C21.9997 24.1797 22.3797 24.3397 22.7797 24.3297C23.6097 24.3297 24.2797 23.6597 24.2797 22.8297C24.2797 22.4297 24.1197 22.0497 23.8397 21.7697L19.7797 17.6997Z"
|
|
28
|
+
fill="#7F7F7F"
|
|
29
|
+
/>
|
|
30
|
+
</svg>
|
|
31
|
+
);
|
|
32
|
+
}
|
package/asset/svg/Direction.tsx
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
interface Direction {
|
|
2
|
-
className?: string;
|
|
3
|
-
}
|
|
4
|
-
function Right({ className }: Direction) {
|
|
5
|
-
return (
|
|
6
|
-
<svg
|
|
7
|
-
className={className}
|
|
8
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
9
|
-
width="24"
|
|
10
|
-
height="24"
|
|
11
|
-
viewBox="0 0 24 24"
|
|
12
|
-
fill="none"
|
|
13
|
-
>
|
|
14
|
-
<path
|
|
15
|
-
d="M21 12C21 13.1819 20.7672 14.3522 20.3149 15.4442C19.8626 16.5361 19.1997 17.5282 18.364 18.364C17.5282 19.1997 16.5361 19.8626 15.4442 20.3149C14.3522 20.7672 13.1819 21 12 21C10.8181 21 9.64778 20.7672 8.55585 20.3149C7.46392 19.8626 6.47177 19.1997 5.63604 18.364C4.80031 17.5282 4.13738 16.5361 3.68508 15.4442C3.23279 14.3522 3 13.1819 3 12C3 9.61305 3.94821 7.32387 5.63604 5.63604C7.32387 3.94821 9.61305 3 12 3C14.3869 3 16.6761 3.94821 18.364 5.63604C20.0518 7.32387 21 9.61305 21 12Z"
|
|
16
|
-
fill="#105652"
|
|
17
|
-
stroke="#105652"
|
|
18
|
-
strokeWidth="1.5"
|
|
19
|
-
strokeLinecap="round"
|
|
20
|
-
strokeLinejoin="round"
|
|
21
|
-
/>
|
|
22
|
-
<path
|
|
23
|
-
d="M12.75 15L15.75 12M15.75 12L12.75 9M15.75 12H8.25"
|
|
24
|
-
stroke="white"
|
|
25
|
-
strokeWidth="1.5"
|
|
26
|
-
strokeLinecap="round"
|
|
27
|
-
strokeLinejoin="round"
|
|
28
|
-
/>
|
|
29
|
-
</svg>
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const Direction = {
|
|
34
|
-
Right,
|
|
35
|
-
};
|
|
36
|
-
export default Direction;
|
|
1
|
+
interface Direction {
|
|
2
|
+
className?: string;
|
|
3
|
+
}
|
|
4
|
+
function Right({ className }: Direction) {
|
|
5
|
+
return (
|
|
6
|
+
<svg
|
|
7
|
+
className={className}
|
|
8
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
9
|
+
width="24"
|
|
10
|
+
height="24"
|
|
11
|
+
viewBox="0 0 24 24"
|
|
12
|
+
fill="none"
|
|
13
|
+
>
|
|
14
|
+
<path
|
|
15
|
+
d="M21 12C21 13.1819 20.7672 14.3522 20.3149 15.4442C19.8626 16.5361 19.1997 17.5282 18.364 18.364C17.5282 19.1997 16.5361 19.8626 15.4442 20.3149C14.3522 20.7672 13.1819 21 12 21C10.8181 21 9.64778 20.7672 8.55585 20.3149C7.46392 19.8626 6.47177 19.1997 5.63604 18.364C4.80031 17.5282 4.13738 16.5361 3.68508 15.4442C3.23279 14.3522 3 13.1819 3 12C3 9.61305 3.94821 7.32387 5.63604 5.63604C7.32387 3.94821 9.61305 3 12 3C14.3869 3 16.6761 3.94821 18.364 5.63604C20.0518 7.32387 21 9.61305 21 12Z"
|
|
16
|
+
fill="#105652"
|
|
17
|
+
stroke="#105652"
|
|
18
|
+
strokeWidth="1.5"
|
|
19
|
+
strokeLinecap="round"
|
|
20
|
+
strokeLinejoin="round"
|
|
21
|
+
/>
|
|
22
|
+
<path
|
|
23
|
+
d="M12.75 15L15.75 12M15.75 12L12.75 9M15.75 12H8.25"
|
|
24
|
+
stroke="white"
|
|
25
|
+
strokeWidth="1.5"
|
|
26
|
+
strokeLinecap="round"
|
|
27
|
+
strokeLinejoin="round"
|
|
28
|
+
/>
|
|
29
|
+
</svg>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const Direction = {
|
|
34
|
+
Right,
|
|
35
|
+
};
|
|
36
|
+
export default Direction;
|
package/asset/svg/Email.tsx
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
export default function Email() {
|
|
2
|
-
return (
|
|
3
|
-
<svg
|
|
4
|
-
className="mr-3"
|
|
5
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
6
|
-
width="25"
|
|
7
|
-
height="25"
|
|
8
|
-
viewBox="0 0 25 25"
|
|
9
|
-
fill="none"
|
|
10
|
-
>
|
|
11
|
-
<path
|
|
12
|
-
d="M22.6562 9.37501V10.3188C22.6563 10.7419 22.5417 11.1572 22.3248 11.5205C22.1078 11.8838 21.7965 12.1816 21.424 12.3823L14.676 16.0156M2.34375 9.37501V10.3188C2.34373 10.7419 2.45828 11.1572 2.67525 11.5205C2.89221 11.8838 3.20348 12.1816 3.57604 12.3823L10.324 16.0156M10.324 16.0156L11.3885 15.4427C11.7301 15.2587 12.112 15.1624 12.5 15.1624C12.888 15.1624 13.2699 15.2587 13.6115 15.4427L14.6771 16.0156L19.5312 18.6302M10.324 16.0156L5.46875 18.6302M22.6562 20.3125C22.6562 20.9341 22.4093 21.5303 21.9698 21.9698C21.5302 22.4093 20.9341 22.6563 20.3125 22.6563H4.6875C4.0659 22.6563 3.46976 22.4093 3.03022 21.9698C2.59068 21.5303 2.34375 20.9341 2.34375 20.3125V9.21251C2.34373 8.78934 2.45828 8.37407 2.67525 8.01075C2.89221 7.64744 3.20348 7.34964 3.57604 7.14897L11.3885 2.94168C11.7301 2.75769 12.112 2.66138 12.5 2.66138C12.888 2.66138 13.2699 2.75769 13.6115 2.94168L21.424 7.14897C21.7964 7.34956 22.1075 7.64719 22.3245 8.01031C22.5414 8.37342 22.6561 8.78848 22.6562 9.21147V20.3125Z"
|
|
13
|
-
stroke="#105652"
|
|
14
|
-
strokeWidth="1.5"
|
|
15
|
-
strokeLinecap="round"
|
|
16
|
-
strokeLinejoin="round"
|
|
17
|
-
/>
|
|
18
|
-
</svg>
|
|
19
|
-
);
|
|
20
|
-
}
|
|
1
|
+
export default function Email() {
|
|
2
|
+
return (
|
|
3
|
+
<svg
|
|
4
|
+
className="mr-3"
|
|
5
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
6
|
+
width="25"
|
|
7
|
+
height="25"
|
|
8
|
+
viewBox="0 0 25 25"
|
|
9
|
+
fill="none"
|
|
10
|
+
>
|
|
11
|
+
<path
|
|
12
|
+
d="M22.6562 9.37501V10.3188C22.6563 10.7419 22.5417 11.1572 22.3248 11.5205C22.1078 11.8838 21.7965 12.1816 21.424 12.3823L14.676 16.0156M2.34375 9.37501V10.3188C2.34373 10.7419 2.45828 11.1572 2.67525 11.5205C2.89221 11.8838 3.20348 12.1816 3.57604 12.3823L10.324 16.0156M10.324 16.0156L11.3885 15.4427C11.7301 15.2587 12.112 15.1624 12.5 15.1624C12.888 15.1624 13.2699 15.2587 13.6115 15.4427L14.6771 16.0156L19.5312 18.6302M10.324 16.0156L5.46875 18.6302M22.6562 20.3125C22.6562 20.9341 22.4093 21.5303 21.9698 21.9698C21.5302 22.4093 20.9341 22.6563 20.3125 22.6563H4.6875C4.0659 22.6563 3.46976 22.4093 3.03022 21.9698C2.59068 21.5303 2.34375 20.9341 2.34375 20.3125V9.21251C2.34373 8.78934 2.45828 8.37407 2.67525 8.01075C2.89221 7.64744 3.20348 7.34964 3.57604 7.14897L11.3885 2.94168C11.7301 2.75769 12.112 2.66138 12.5 2.66138C12.888 2.66138 13.2699 2.75769 13.6115 2.94168L21.424 7.14897C21.7964 7.34956 22.1075 7.64719 22.3245 8.01031C22.5414 8.37342 22.6561 8.78848 22.6562 9.21147V20.3125Z"
|
|
13
|
+
stroke="#105652"
|
|
14
|
+
strokeWidth="1.5"
|
|
15
|
+
strokeLinecap="round"
|
|
16
|
+
strokeLinejoin="round"
|
|
17
|
+
/>
|
|
18
|
+
</svg>
|
|
19
|
+
);
|
|
20
|
+
}
|