@edu-tosel/design 1.0.304 → 1.0.305
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/asset/SVG.d.ts +2 -2
- package/asset/svg/Symbol.d.ts +3 -2
- package/asset/svg/Symbol.js +4 -4
- package/asset/svg/Symbol.tsx +7 -6
- package/layout/template/home/Announcement.js +44 -9
- package/layout/template/home/layout/Carousel.js +34 -13
- package/layout/template/home/layout/Header.js +1 -1
- package/package.json +1 -1
- package/version.txt +1 -1
package/asset/SVG.d.ts
CHANGED
|
@@ -54,8 +54,8 @@ declare const SVG: {
|
|
|
54
54
|
Print: typeof Print;
|
|
55
55
|
Profile: typeof Profile;
|
|
56
56
|
Symbol: {
|
|
57
|
-
LessThan: ({ className, onClick }: import("./svg/Symbol").SymbolProps) => import("react/jsx-runtime").JSX.Element;
|
|
58
|
-
GreaterThan: ({ className, onClick }: import("./svg/Symbol").SymbolProps) => import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
LessThan: ({ className, onClick, color }: import("./svg/Symbol").SymbolProps) => import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
GreaterThan: ({ className, onClick, color }: import("./svg/Symbol").SymbolProps) => import("react/jsx-runtime").JSX.Element;
|
|
59
59
|
};
|
|
60
60
|
Login: {
|
|
61
61
|
User: ({ size }: import("./svg/Login").IconProps) => import("react/jsx-runtime").JSX.Element;
|
package/asset/svg/Symbol.d.ts
CHANGED
|
@@ -2,11 +2,12 @@ import { OnClick } from "../../interface";
|
|
|
2
2
|
export interface SymbolProps {
|
|
3
3
|
className?: string;
|
|
4
4
|
onClick?: OnClick;
|
|
5
|
+
color?: string;
|
|
5
6
|
}
|
|
6
7
|
declare const Symbol: {
|
|
7
8
|
LessThan: typeof LessThan;
|
|
8
9
|
GreaterThan: typeof GreaterThan;
|
|
9
10
|
};
|
|
10
|
-
declare function LessThan({ className, onClick }: SymbolProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
declare function GreaterThan({ className, onClick }: SymbolProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function LessThan({ className, onClick, color }: SymbolProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function GreaterThan({ className, onClick, color }: SymbolProps): import("react/jsx-runtime").JSX.Element;
|
|
12
13
|
export default Symbol;
|
package/asset/svg/Symbol.js
CHANGED
|
@@ -4,18 +4,18 @@ const Symbol = {
|
|
|
4
4
|
LessThan,
|
|
5
5
|
GreaterThan,
|
|
6
6
|
};
|
|
7
|
-
function LessThan({ className, onClick }) {
|
|
7
|
+
function LessThan({ className, onClick, color }) {
|
|
8
8
|
const container = {
|
|
9
9
|
className,
|
|
10
10
|
cursors: onClick ? "cursor-pointer" : "cursor-default",
|
|
11
11
|
};
|
|
12
|
-
return (_jsx("svg", { className: cn(container), onClick: onClick, xmlns: "http://www.w3.org/2000/svg", height: "11", width: "6", viewBox: "0 0 6 11", fill: "none", children: _jsx("path", { d: "M5.2475 10.7488C5.0575 10.7488 4.8675 10.6788 4.7175 10.5288L0.2175 6.02875C-0.0725 5.73875 -0.0725 5.25875 0.2175 4.96875L4.7175 0.468751C5.0075 0.178751 5.4875 0.178751 5.7775 0.468751C6.0675 0.758751 6.0675 1.23875 5.7775 1.52875L1.8075 5.49875L5.7775 9.46875C6.0675 9.75875 6.0675 10.2388 5.7775 10.5288C5.6275 10.6788 5.4375 10.7488 5.2475 10.7488Z", fill: "
|
|
12
|
+
return (_jsx("svg", { className: cn(container, color || "text-white"), onClick: onClick, xmlns: "http://www.w3.org/2000/svg", height: "11", width: "6", viewBox: "0 0 6 11", fill: "none", children: _jsx("path", { d: "M5.2475 10.7488C5.0575 10.7488 4.8675 10.6788 4.7175 10.5288L0.2175 6.02875C-0.0725 5.73875 -0.0725 5.25875 0.2175 4.96875L4.7175 0.468751C5.0075 0.178751 5.4875 0.178751 5.7775 0.468751C6.0675 0.758751 6.0675 1.23875 5.7775 1.52875L1.8075 5.49875L5.7775 9.46875C6.0675 9.75875 6.0675 10.2388 5.7775 10.5288C5.6275 10.6788 5.4375 10.7488 5.2475 10.7488Z", fill: "currentColor" }) }));
|
|
13
13
|
}
|
|
14
|
-
function GreaterThan({ className, onClick }) {
|
|
14
|
+
function GreaterThan({ className, onClick, color }) {
|
|
15
15
|
const container = {
|
|
16
16
|
className,
|
|
17
17
|
cursors: onClick ? "cursor-pointer" : "cursor-default",
|
|
18
18
|
};
|
|
19
|
-
return (_jsx("svg", { className: cn(container), onClick: onClick, xmlns: "http://www.w3.org/2000/svg", width: "6", height: "11", viewBox: "0 0 6 11", fill: "none", children: _jsx("path", { d: "M0.74249 0.251248C0.93249 0.251248 1.12249 0.321249 1.27249 0.471249L5.77249 4.97125C6.06249 5.26125 6.06249 5.74125 5.77249 6.03125L1.27249 10.5312C0.982491 10.8212 0.50249 10.8212 0.21249 10.5312C-0.0775099 10.2412 -0.0775099 9.76125 0.21249 9.47125L4.18249 5.50125L0.21249 1.53125C-0.0775099 1.24125 -0.0775099 0.761249 0.21249 0.471249C0.36249 0.321249 0.55249 0.251248 0.74249 0.251248Z", fill: "
|
|
19
|
+
return (_jsx("svg", { className: cn(container, color || "text-white"), onClick: onClick, xmlns: "http://www.w3.org/2000/svg", width: "6", height: "11", viewBox: "0 0 6 11", fill: "none", children: _jsx("path", { d: "M0.74249 0.251248C0.93249 0.251248 1.12249 0.321249 1.27249 0.471249L5.77249 4.97125C6.06249 5.26125 6.06249 5.74125 5.77249 6.03125L1.27249 10.5312C0.982491 10.8212 0.50249 10.8212 0.21249 10.5312C-0.0775099 10.2412 -0.0775099 9.76125 0.21249 9.47125L4.18249 5.50125L0.21249 1.53125C-0.0775099 1.24125 -0.0775099 0.761249 0.21249 0.471249C0.36249 0.321249 0.55249 0.251248 0.74249 0.251248Z", fill: "currentColor" }) }));
|
|
20
20
|
}
|
|
21
21
|
export default Symbol;
|
package/asset/svg/Symbol.tsx
CHANGED
|
@@ -4,6 +4,7 @@ import { cn } from "../../util";
|
|
|
4
4
|
export interface SymbolProps {
|
|
5
5
|
className?: string;
|
|
6
6
|
onClick?: OnClick;
|
|
7
|
+
color?: string; // 테일윈드 텍스트 색상 클래스 (예: "text-red-500", "text-blue-400")
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
const Symbol = {
|
|
@@ -11,14 +12,14 @@ const Symbol = {
|
|
|
11
12
|
GreaterThan,
|
|
12
13
|
};
|
|
13
14
|
|
|
14
|
-
function LessThan({ className, onClick }: SymbolProps) {
|
|
15
|
+
function LessThan({ className, onClick, color }: SymbolProps) {
|
|
15
16
|
const container = {
|
|
16
17
|
className,
|
|
17
18
|
cursors: onClick ? "cursor-pointer" : "cursor-default",
|
|
18
19
|
};
|
|
19
20
|
return (
|
|
20
21
|
<svg
|
|
21
|
-
className={cn(container)}
|
|
22
|
+
className={cn(container, color || "text-white")}
|
|
22
23
|
onClick={onClick}
|
|
23
24
|
xmlns="http://www.w3.org/2000/svg"
|
|
24
25
|
height="11"
|
|
@@ -28,20 +29,20 @@ function LessThan({ className, onClick }: SymbolProps) {
|
|
|
28
29
|
>
|
|
29
30
|
<path
|
|
30
31
|
d="M5.2475 10.7488C5.0575 10.7488 4.8675 10.6788 4.7175 10.5288L0.2175 6.02875C-0.0725 5.73875 -0.0725 5.25875 0.2175 4.96875L4.7175 0.468751C5.0075 0.178751 5.4875 0.178751 5.7775 0.468751C6.0675 0.758751 6.0675 1.23875 5.7775 1.52875L1.8075 5.49875L5.7775 9.46875C6.0675 9.75875 6.0675 10.2388 5.7775 10.5288C5.6275 10.6788 5.4375 10.7488 5.2475 10.7488Z"
|
|
31
|
-
fill="
|
|
32
|
+
fill="currentColor"
|
|
32
33
|
/>
|
|
33
34
|
</svg>
|
|
34
35
|
);
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
function GreaterThan({ className, onClick }: SymbolProps) {
|
|
38
|
+
function GreaterThan({ className, onClick, color }: SymbolProps) {
|
|
38
39
|
const container = {
|
|
39
40
|
className,
|
|
40
41
|
cursors: onClick ? "cursor-pointer" : "cursor-default",
|
|
41
42
|
};
|
|
42
43
|
return (
|
|
43
44
|
<svg
|
|
44
|
-
className={cn(container)}
|
|
45
|
+
className={cn(container, color || "text-white")}
|
|
45
46
|
onClick={onClick}
|
|
46
47
|
xmlns="http://www.w3.org/2000/svg"
|
|
47
48
|
width="6"
|
|
@@ -51,7 +52,7 @@ function GreaterThan({ className, onClick }: SymbolProps) {
|
|
|
51
52
|
>
|
|
52
53
|
<path
|
|
53
54
|
d="M0.74249 0.251248C0.93249 0.251248 1.12249 0.321249 1.27249 0.471249L5.77249 4.97125C6.06249 5.26125 6.06249 5.74125 5.77249 6.03125L1.27249 10.5312C0.982491 10.8212 0.50249 10.8212 0.21249 10.5312C-0.0775099 10.2412 -0.0775099 9.76125 0.21249 9.47125L4.18249 5.50125L0.21249 1.53125C-0.0775099 1.24125 -0.0775099 0.761249 0.21249 0.471249C0.36249 0.321249 0.55249 0.251248 0.74249 0.251248Z"
|
|
54
|
-
fill="
|
|
55
|
+
fill="currentColor"
|
|
55
56
|
/>
|
|
56
57
|
</svg>
|
|
57
58
|
);
|
|
@@ -1,9 +1,39 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "../../../util";
|
|
3
|
-
import { useRef } from "react";
|
|
3
|
+
import { useRef, useState, useEffect } from "react";
|
|
4
4
|
export default function Announcement({ banners }) {
|
|
5
5
|
const scrollContainerRef = useRef(null);
|
|
6
6
|
const cardWidth = 320; //card width
|
|
7
|
+
// 스크롤 위치 상태 관리
|
|
8
|
+
const [canScrollLeft, setCanScrollLeft] = useState(false);
|
|
9
|
+
const [canScrollRight, setCanScrollRight] = useState(true);
|
|
10
|
+
// 스크롤 위치 확인 함수
|
|
11
|
+
const checkScrollPosition = () => {
|
|
12
|
+
if (scrollContainerRef.current) {
|
|
13
|
+
const { scrollLeft, scrollWidth, clientWidth } = scrollContainerRef.current;
|
|
14
|
+
// 왼쪽 끝 확인 (약간의 여유값 포함)
|
|
15
|
+
setCanScrollLeft(scrollLeft > 5);
|
|
16
|
+
// 오른쪽 끝 확인 (약간의 여유값 포함)
|
|
17
|
+
setCanScrollRight(scrollLeft < scrollWidth - clientWidth - 5);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
// 초기 로드시와 banners 변경시 스크롤 위치 확인
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
const timer = setTimeout(() => {
|
|
23
|
+
checkScrollPosition();
|
|
24
|
+
}, 100); // DOM 렌더링 후 확인
|
|
25
|
+
return () => clearTimeout(timer);
|
|
26
|
+
}, [banners]);
|
|
27
|
+
// 스크롤 이벤트 리스너 등록
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
const scrollContainer = scrollContainerRef.current;
|
|
30
|
+
if (scrollContainer) {
|
|
31
|
+
scrollContainer.addEventListener("scroll", checkScrollPosition);
|
|
32
|
+
return () => {
|
|
33
|
+
scrollContainer.removeEventListener("scroll", checkScrollPosition);
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}, []);
|
|
7
37
|
const handleScroll = (direction) => {
|
|
8
38
|
if (scrollContainerRef.current) {
|
|
9
39
|
const scrollAmount = cardWidth;
|
|
@@ -19,7 +49,7 @@ export default function Announcement({ banners }) {
|
|
|
19
49
|
};
|
|
20
50
|
const bgWrapper = {
|
|
21
51
|
displays: "flex",
|
|
22
|
-
sizes: "h-fit w-full mt-10",
|
|
52
|
+
sizes: "h-fit w-full mt-10 pb-10",
|
|
23
53
|
bacgrounds: "bg-gray-light/80",
|
|
24
54
|
};
|
|
25
55
|
const container = {
|
|
@@ -52,18 +82,23 @@ export default function Announcement({ banners }) {
|
|
|
52
82
|
spacings: "gap-5 xl:mr-[calc(100vw-1200px)]",
|
|
53
83
|
};
|
|
54
84
|
const buttonPositioning = {
|
|
55
|
-
displays: "
|
|
85
|
+
displays: "flex flex-row",
|
|
56
86
|
sizes: "w-full h-full",
|
|
57
|
-
spacings: "xl:
|
|
58
|
-
positions: "
|
|
87
|
+
spacings: "xl:pr-[calc(50vw-600px)] md:pr-[62px] pl-2 pr-4 gap-5",
|
|
88
|
+
positions: "justify-end items-center duration-300",
|
|
59
89
|
hovering: "group pointer-events-none",
|
|
60
90
|
};
|
|
61
91
|
const hoverButton = {
|
|
62
|
-
sizes: "rounded-full w-
|
|
63
|
-
animation: "duration-300
|
|
64
|
-
test: "bg-gray-medium/
|
|
92
|
+
sizes: "rounded-full w-9 h-9",
|
|
93
|
+
animation: "duration-300",
|
|
94
|
+
test: "bg-gray-medium/50 hover:bg-gray-medium pointer-events-auto backdrop-blur-sm",
|
|
95
|
+
};
|
|
96
|
+
const disabledButton = {
|
|
97
|
+
sizes: "rounded-full w-9 h-9",
|
|
98
|
+
animation: "duration-300",
|
|
99
|
+
test: "bg-gray-medium/20 pointer-events-none backdrop-blur-sm opacity-30",
|
|
65
100
|
};
|
|
66
|
-
return (_jsx("div", { className: cn(bgWrapper), children: _jsxs("div", { className: cn(container), children: [_jsx("div", { className: cn(deckTitlePositioning), children: _jsx("div", { className: cn(deckTitle), children: "\uACF5\uC9C0\uC0AC\uD56D" }) }), _jsx("div", { className: cn(cardPositioning), children: _jsx("div", { className: cn(cardWrapper), ref: scrollContainerRef, children: _jsx("div", { className: cn(cardDeck), children: banners.map((banner) => (_jsx(Banner, { ...banner }, banner.titles.title))) }) }) }), _jsxs("div", { className: cn(buttonPositioning), children: [_jsx("div", { className: cn(hoverButton), onClick: () => handleScroll("left"), children: _jsx("img", { src: "images/home/handle-left.svg", alt: "" }) }), _jsx("div", { className: cn(hoverButton), onClick: () => handleScroll("right"), children: _jsx("img", { src: "images/home/handle-right.svg", alt: "" }) })] })] }) }));
|
|
101
|
+
return (_jsx("div", { className: cn(bgWrapper), children: _jsxs("div", { className: cn(container), children: [_jsx("div", { className: cn(deckTitlePositioning), children: _jsx("div", { className: cn(deckTitle), children: "\uACF5\uC9C0\uC0AC\uD56D" }) }), _jsx("div", { className: cn(cardPositioning), children: _jsx("div", { className: cn(cardWrapper), ref: scrollContainerRef, children: _jsx("div", { className: cn(cardDeck), children: banners.map((banner) => (_jsx(Banner, { ...banner }, banner.titles.title))) }) }) }), _jsxs("div", { className: cn(buttonPositioning), children: [_jsx("div", { className: cn(canScrollLeft ? hoverButton : disabledButton), onClick: canScrollLeft ? () => handleScroll("left") : undefined, children: _jsx("img", { src: "images/home/handle-left.svg", alt: "" }) }), _jsx("div", { className: cn(canScrollRight ? hoverButton : disabledButton), onClick: canScrollRight ? () => handleScroll("right") : undefined, children: _jsx("img", { src: "images/home/handle-right.svg", alt: "" }) })] })] }) }));
|
|
67
102
|
}
|
|
68
103
|
function Banner({ onClick, titles }) {
|
|
69
104
|
//ghost card snaps to the end of the viewport
|
|
@@ -11,6 +11,7 @@ export default function Carousel({ contents, option, }) {
|
|
|
11
11
|
const [index, setIndex] = useState(0);
|
|
12
12
|
const [flag, inTime] = useEase(10000, 1000);
|
|
13
13
|
const [loaded, setLoaded] = useState(false);
|
|
14
|
+
const [isPlaying, setIsPlaying] = useState(true);
|
|
14
15
|
const isMD = useResponsive("md");
|
|
15
16
|
const isXL = useResponsive("xl");
|
|
16
17
|
const intervalRef = useRef(null);
|
|
@@ -24,20 +25,29 @@ export default function Carousel({ contents, option, }) {
|
|
|
24
25
|
easing: easings.easeOutQuad,
|
|
25
26
|
},
|
|
26
27
|
});
|
|
28
|
+
// 인덱스 변경 시 애니메이션을 위해 loaded를 false로 설정
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
setLoaded(false);
|
|
31
|
+
// 짧은 지연 후 애니메이션 시작 (이미지가 캐시된 경우를 위해)
|
|
32
|
+
const timer = setTimeout(() => {
|
|
33
|
+
setLoaded(true);
|
|
34
|
+
}, 50);
|
|
35
|
+
return () => clearTimeout(timer);
|
|
36
|
+
}, [index]);
|
|
27
37
|
const resetTimer = useCallback(() => {
|
|
28
38
|
// resetting the timer
|
|
29
39
|
if (intervalRef.current) {
|
|
30
40
|
clearInterval(intervalRef.current);
|
|
31
41
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
if (!option?.isStatic) {
|
|
39
|
-
resetTimer(); // timerstarts after mounting component
|
|
42
|
+
if (isPlaying && !option?.isStatic) {
|
|
43
|
+
intervalRef.current = setInterval(() => {
|
|
44
|
+
setIndex((prevIndex) => (prevIndex + 1) % contents.length);
|
|
45
|
+
setLoaded(false); // trigger animation
|
|
46
|
+
}, 3000);
|
|
40
47
|
}
|
|
48
|
+
}, [contents.length, isPlaying, option?.isStatic]);
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
resetTimer(); // timer starts/stops based on isPlaying state
|
|
41
51
|
return () => {
|
|
42
52
|
// clear timer after unmounting component
|
|
43
53
|
if (intervalRef.current) {
|
|
@@ -55,6 +65,10 @@ export default function Carousel({ contents, option, }) {
|
|
|
55
65
|
setIndex((prevIndex) => (prevIndex - 1 + contents.length) % contents.length);
|
|
56
66
|
resetTimer();
|
|
57
67
|
};
|
|
68
|
+
const handlePlayPause = (e) => {
|
|
69
|
+
e.stopPropagation();
|
|
70
|
+
setIsPlaying(!isPlaying);
|
|
71
|
+
};
|
|
58
72
|
// Styles definition
|
|
59
73
|
const container = {
|
|
60
74
|
displays: "relative flex justify-center items-center",
|
|
@@ -66,7 +80,7 @@ export default function Carousel({ contents, option, }) {
|
|
|
66
80
|
const titleWrapper = {
|
|
67
81
|
displays: "static md:relative flex flex-col xxs:flex-row xxs:items-center md:items-start md:flex-col",
|
|
68
82
|
sizes: "w-full h-fit xxs:h-full xxs:w-fit md:w-72",
|
|
69
|
-
spacings: "mt-4 px-5 xxs:mt-8 xxs:gap-8 md:p-0 md:mt-0 md:gap-6 md:pl-7.5 md:pt-20",
|
|
83
|
+
spacings: "mt-4 px-5 xxs:mt-8 xxs:gap-8 md:p-0 md:mt-0 md:gap-6 md:pl-7.5 md:pt-10 ml:pt-20",
|
|
70
84
|
animations: "duration-500",
|
|
71
85
|
};
|
|
72
86
|
const titleSet = {
|
|
@@ -80,7 +94,7 @@ export default function Carousel({ contents, option, }) {
|
|
|
80
94
|
textStyles: "text-sm md:text-base break-keep",
|
|
81
95
|
};
|
|
82
96
|
const body = {
|
|
83
|
-
displays: "flex flex-none flex-col items-center justify-center md:flex-row",
|
|
97
|
+
displays: "relative flex flex-none flex-col items-center justify-center md:flex-row",
|
|
84
98
|
sizes: "w-full max-w-256 h-full",
|
|
85
99
|
text: contents[index].option?.text ?? "text-gray-dark",
|
|
86
100
|
animations: "duration-500",
|
|
@@ -100,12 +114,19 @@ export default function Carousel({ contents, option, }) {
|
|
|
100
114
|
const buttonBox = {
|
|
101
115
|
displays: "relative justify-center items-center gap-1 flex z-10",
|
|
102
116
|
animations: "duration-500",
|
|
103
|
-
sizes: "w-34 h-10 md:h-6.25 md:w-26
|
|
104
|
-
paddings: "px-1.5 mt-0 mb-5 md:mb-17 ",
|
|
117
|
+
sizes: "w-34 h-10 md:h-6.25 md:w-26 rounded-full",
|
|
118
|
+
paddings: "px-1.5 mt-0 mb-5 md:mb-10 ml:mb-17 ",
|
|
119
|
+
background: "bg-white shadow-main",
|
|
105
120
|
};
|
|
106
121
|
const handlePosition = {
|
|
107
122
|
displays: "absolute flex justify-between items-center",
|
|
108
123
|
sizes: "w-full h-full",
|
|
109
124
|
};
|
|
110
|
-
|
|
125
|
+
const playbutton = {
|
|
126
|
+
displays: "absolute flex justify-center items-center",
|
|
127
|
+
positions: "bottom-10 right-10",
|
|
128
|
+
sizes: "w-10 h-10 rounded-full",
|
|
129
|
+
background: "bg-white text-gray-dark shadow-main",
|
|
130
|
+
};
|
|
131
|
+
return (_jsx("div", { onClick: contents[index].onClick, className: cn(container), children: _jsxs("div", { className: cn(body), children: [_jsxs("div", { className: cn(titleWrapper), children: [_jsxs("div", { className: cn(titleSet), children: [_jsx("div", { className: cn(tagBox), children: tagString[tag.type] }), _jsx("div", { className: "font-pretendard-bold text-xl md:text-2xl", children: titles.title })] }), _jsx(LineBreaks, { className: cn(subtitleStyles), texts: titles.subtitle }), _jsx("div", { className: cn(buttonBoxPosition), onClick: (e) => e.stopPropagation(), children: _jsxs("div", { className: cn(buttonBox), children: [_jsxs("div", { className: cn(handlePosition), children: [_jsx("button", { onClick: handlePrev, className: "w-10 md:w-6 h-full flex justify-center items-center", children: _jsx(SVG.Symbol.LessThan, { color: "text-gray-dark" }) }), _jsx("button", { onClick: handleNext, className: "w-10 md:w-6 h-full flex justify-center items-center", children: _jsx(SVG.Symbol.GreaterThan, { color: "text-gray-dark" }) })] }), _jsxs("div", { className: "flex flex-row md:gap-2 gap-4 justify-center items-center", children: [_jsx("div", { className: "text-gray-dark w-4 text-sm text-center", children: index + 1 }), _jsx("div", { className: "w-0.5 h-3 bg-gray-medium" }), _jsx("div", { className: "text-gray-dark w-4 text-sm text-center", children: contents.length })] })] }) })] }), _jsx("div", { className: "h-full overflow-hidden w-fit image-container", children: image && (_jsx(animated.img, { src: image, alt: "carousel-image", onLoad: () => setLoaded(true), className: "object-cover h-full z-0", style: transitionStyles })) }), isMD && (_jsx("div", { className: cn(playbutton), onClick: handlePlayPause, children: isPlaying ? (_jsx("svg", { width: "12", height: "14", viewBox: "0 0 12 14", fill: "none", children: _jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M9.5.25A1.5 1.5 0 008 1.75v10.5a1.5 1.5 0 003 0V1.75A1.5 1.5 0 009.5.25zm-7 0A1.5 1.5 0 001 1.75v10.5a1.5 1.5 0 003 0V1.75A1.5 1.5 0 002.5.25z", clipRule: "evenodd" }) })) : (_jsx("svg", { width: "12", height: "14", viewBox: "0 0 12 14", fill: "none", children: _jsx("path", { fill: "currentColor", d: "M1.688 12.952a1 1 0 001.614.789l7.4-5.77a1 1 0 00.019-1.562L3.32.34a1 1 0 00-1.634.774v11.838z" }) })) }))] }) }));
|
|
111
132
|
}
|
|
@@ -86,7 +86,7 @@ export default function Header({ logo, rightButton, contents, }) {
|
|
|
86
86
|
background: gradient.bg.greenToRed,
|
|
87
87
|
text: "text-white",
|
|
88
88
|
} })), _jsx("button", { onClick: toggleHeight, className: cn(menuButton), children: _jsx("div", { className: "w-6 h-6", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [!isExpanded && (_jsx("path", { id: "menu", fill: "#B0B8C1", d: "M4.118 6.2h16a1.2 1.2 0 100-2.4h-16a1.2 1.2 0 100 2.4m16 4.6h-16a1.2 1.2 0 100 2.4h16a1.2 1.2 0 100-2.4m0 7h-16a1.2 1.2 0 100 2.4h16a1.2 1.2 0 100-2.4", "fill-rule": "evenodd" })), isExpanded && (_jsx("path", { id: "close", fill: "#B0B8C1", "fill-rule": "evenodd", d: "M13.815 12l5.651-5.651a1.2 1.2 0 00-1.697-1.698l-5.651 5.652-5.652-5.652a1.201 1.201 0 00-1.697 1.698L10.421 12l-5.652 5.651a1.202 1.202 0 00.849 2.049c.307 0 .614-.117.848-.351l5.652-5.652 5.651 5.652a1.198 1.198 0 001.697 0 1.2 1.2 0 000-1.698L13.815 12z" }))] }) }) })] })] }), _jsxs("div", { className: cn(rightWrapper), children: [_jsx("div", { className: cn(buttonBoxWrapper), children: contents.map((button, index) => (_jsx("button", { onClick: button.onClick, className: cn(buttonBox), children: button.title }, index))) }), _jsx("div", { className: "hidden md:block", children: rightButton && (_jsx(Label.Button, { title: rightButton.title, onClick: rightButton?.onClick, option: {
|
|
89
|
-
width: "
|
|
89
|
+
width: "xs",
|
|
90
90
|
height: "xs",
|
|
91
91
|
background: gradient.bg.greenToRed,
|
|
92
92
|
text: "text-white",
|
package/package.json
CHANGED
package/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.0.
|
|
1
|
+
1.0.305
|