- Reviews
+
+
diff --git a/src/views/MainPage/components/Comment/index.tsx b/src/views/MainPage/components/Comment/index.tsx
index fe6988d8..0da66cc2 100644
--- a/src/views/MainPage/components/Comment/index.tsx
+++ b/src/views/MainPage/components/Comment/index.tsx
@@ -4,7 +4,7 @@ import { SOPT_COMMENT_LIST } from '@src/lib/constants/main';
import CommentCard from './Card';
import * as S from './style';
-export default function Comment() {
+export default function CommentSection() {
const [activeIdx, setActiveIdx] = useState(0);
const controls = useAnimationControls();
@@ -19,7 +19,7 @@ export default function Comment() {
return (
-
+
Q. 솝트 어때요?
{SOPT_COMMENT_LIST[activeIdx]?.summary}
diff --git a/src/views/MainPage/components/Comment/style.ts b/src/views/MainPage/components/Comment/style.ts
index 112f42e6..5644de7e 100644
--- a/src/views/MainPage/components/Comment/style.ts
+++ b/src/views/MainPage/components/Comment/style.ts
@@ -4,10 +4,11 @@ import { motion } from 'framer-motion';
export const Wrapper = styled.div`
position: relative;
- padding: 0 88px;
+ padding-top: 200px;
+ padding-bottom: 600px;
`;
-export const TitleWrapper = styled.div`
+export const TitleWrapper = styled.div<{ activeIdx: number }>`
position: sticky;
color: white;
top: 200px;
@@ -16,8 +17,10 @@ export const TitleWrapper = styled.div`
@media (max-width: 1440px) {
top: 0;
padding-top: 120px;
- padding-bottom: 60px;
- background: linear-gradient(to bottom, ${colors.background} 80%, transparent);
+ padding-bottom: 80px;
+ background: ${({ activeIdx }) =>
+ activeIdx > 1 ? 'linear-gradient(to bottom, #0D111F 80%, transparent)' : 'transparent'};
+ transition: 0.4s;
}
`;
@@ -25,7 +28,6 @@ export const CardWrapper = styled.div`
display: flex;
flex-direction: column;
align-items: flex-end;
-
@media (max-width: 1440px) {
padding-top: 200px;
}
From 7f0b9f84997e024dbfbe011a445ee5ee87b86599 Mon Sep 17 00:00:00 2001
From: SeojinSeojin <1106laura@naver.com>
Date: Thu, 21 Dec 2023 16:31:35 +0900
Subject: [PATCH 3/5] feat: try to enhance desktop ui ..
---
.../components/Comment/Cards/index.tsx | 49 +++++++++++++++++++
.../MainPage/components/Comment/index.tsx | 16 +-----
.../MainPage/components/Comment/style.ts | 21 ++++++--
3 files changed, 69 insertions(+), 17 deletions(-)
create mode 100644 src/views/MainPage/components/Comment/Cards/index.tsx
diff --git a/src/views/MainPage/components/Comment/Cards/index.tsx b/src/views/MainPage/components/Comment/Cards/index.tsx
new file mode 100644
index 00000000..210b9dfd
--- /dev/null
+++ b/src/views/MainPage/components/Comment/Cards/index.tsx
@@ -0,0 +1,49 @@
+import Carousel from '@src/components/common/Carousel';
+import { useIsDesktop } from '@src/hooks/useDevice';
+import { SOPT_COMMENT_LIST } from '@src/lib/constants/main';
+import CommentCard from '../Card';
+import * as S from '../style';
+
+type CommentCardProps = {
+ activeIdx: number;
+ changeActiveIdx: (idx: number) => void;
+};
+
+export default function CommentCards({ activeIdx, changeActiveIdx }: CommentCardProps) {
+ const isDesktop = useIsDesktop('768px');
+ if (isDesktop)
+ return ;
+ return (
+
+ {SOPT_COMMENT_LIST.map((comment, idx) => (
+
+ ))}
+
+ );
+}
+
+function CommentCardsDesktop({ activeIdx, changeActiveIdx }: CommentCardProps) {
+ return (
+
+ {SOPT_COMMENT_LIST.map((comment, idx) => (
+
+ ))}
+
+ );
+}
diff --git a/src/views/MainPage/components/Comment/index.tsx b/src/views/MainPage/components/Comment/index.tsx
index 0da66cc2..a70c56b9 100644
--- a/src/views/MainPage/components/Comment/index.tsx
+++ b/src/views/MainPage/components/Comment/index.tsx
@@ -1,7 +1,7 @@
import { useAnimationControls } from 'framer-motion';
import { useState } from 'react';
import { SOPT_COMMENT_LIST } from '@src/lib/constants/main';
-import CommentCard from './Card';
+import CommentCards from './Cards';
import * as S from './style';
export default function CommentSection() {
@@ -25,19 +25,7 @@ export default function CommentSection() {
{SOPT_COMMENT_LIST[activeIdx]?.summary}
-
- {SOPT_COMMENT_LIST.map((comment, idx) => (
-
- ))}
-
+
);
}
diff --git a/src/views/MainPage/components/Comment/style.ts b/src/views/MainPage/components/Comment/style.ts
index 5644de7e..d0ce12ff 100644
--- a/src/views/MainPage/components/Comment/style.ts
+++ b/src/views/MainPage/components/Comment/style.ts
@@ -5,7 +5,7 @@ import { motion } from 'framer-motion';
export const Wrapper = styled.div`
position: relative;
padding-top: 200px;
- padding-bottom: 600px;
+ padding-bottom: 800px;
`;
export const TitleWrapper = styled.div<{ activeIdx: number }>`
@@ -18,8 +18,6 @@ export const TitleWrapper = styled.div<{ activeIdx: number }>`
top: 0;
padding-top: 120px;
padding-bottom: 80px;
- background: ${({ activeIdx }) =>
- activeIdx > 1 ? 'linear-gradient(to bottom, #0D111F 80%, transparent)' : 'transparent'};
transition: 0.4s;
}
`;
@@ -30,6 +28,7 @@ export const CardWrapper = styled.div`
align-items: flex-end;
@media (max-width: 1440px) {
padding-top: 200px;
+ padding-bottom: 600px;
}
`;
@@ -41,6 +40,16 @@ export const SectionTitle = styled.div`
font-weight: 500;
line-height: 61.6px; /* 112% */
letter-spacing: -1.65px;
+ @media (max-width: 768px) and (min-width: 1440px) {
+ padding-bottom: 200px;
+ }
+ @media (max-width: 768px) {
+ padding-top: 200px;
+ font-family: SUIT;
+ font-size: 41px;
+ line-height: 45.956px; /* 112.087% */
+ letter-spacing: -1.23px;
+ }
`;
export const Summary = styled(motion.div)<{ color: string }>`
@@ -54,4 +63,10 @@ export const Summary = styled(motion.div)<{ color: string }>`
letter-spacing: -2.31px;
white-space: pre-line;
padding-top: 36px;
+ @media (max-width: 768px) {
+ font-size: 57px;
+ font-weight: 600;
+ line-height: 45.956px; /* 80.624% */
+ letter-spacing: -1.71px;
+ }
`;
From 2066b8fcf6d4083d98fc8289fefbd4af55219d87 Mon Sep 17 00:00:00 2001
From: SeojinSeojin <1106laura@naver.com>
Date: Thu, 21 Dec 2023 17:21:12 +0900
Subject: [PATCH 4/5] feat: implement mobile
---
.../Comment/Card/{ => Desktop}/index.tsx | 0
.../Comment/Card/{ => Desktop}/style.ts | 0
.../components/Comment/Card/Mobile/index.tsx | 19 ++++++
.../components/Comment/Card/Mobile/style.ts | 36 ++++++++++
.../components/Comment/Cards/index.tsx | 38 +++++------
.../MainPage/components/Comment/style.ts | 67 ++++++++++++++++++-
6 files changed, 139 insertions(+), 21 deletions(-)
rename src/views/MainPage/components/Comment/Card/{ => Desktop}/index.tsx (100%)
rename src/views/MainPage/components/Comment/Card/{ => Desktop}/style.ts (100%)
create mode 100644 src/views/MainPage/components/Comment/Card/Mobile/index.tsx
create mode 100644 src/views/MainPage/components/Comment/Card/Mobile/style.ts
diff --git a/src/views/MainPage/components/Comment/Card/index.tsx b/src/views/MainPage/components/Comment/Card/Desktop/index.tsx
similarity index 100%
rename from src/views/MainPage/components/Comment/Card/index.tsx
rename to src/views/MainPage/components/Comment/Card/Desktop/index.tsx
diff --git a/src/views/MainPage/components/Comment/Card/style.ts b/src/views/MainPage/components/Comment/Card/Desktop/style.ts
similarity index 100%
rename from src/views/MainPage/components/Comment/Card/style.ts
rename to src/views/MainPage/components/Comment/Card/Desktop/style.ts
diff --git a/src/views/MainPage/components/Comment/Card/Mobile/index.tsx b/src/views/MainPage/components/Comment/Card/Mobile/index.tsx
new file mode 100644
index 00000000..084fec13
--- /dev/null
+++ b/src/views/MainPage/components/Comment/Card/Mobile/index.tsx
@@ -0,0 +1,19 @@
+import { SoptCommentType } from '@src/lib/types/main';
+import * as S from './style';
+
+interface CommentCardProps {
+ color: SoptCommentType['color'];
+ comment: SoptCommentType['comment'];
+ commenter: SoptCommentType['commenter'];
+}
+
+export default function CommentCard({ color, comment, commenter }: CommentCardProps) {
+ return (
+
+ {comment}
+
+ {commenter.name}
|{commenter.history}
|{commenter.part}
+
+
+ );
+}
diff --git a/src/views/MainPage/components/Comment/Card/Mobile/style.ts b/src/views/MainPage/components/Comment/Card/Mobile/style.ts
new file mode 100644
index 00000000..9cddb746
--- /dev/null
+++ b/src/views/MainPage/components/Comment/Card/Mobile/style.ts
@@ -0,0 +1,36 @@
+import styled from '@emotion/styled';
+
+export const Wrapper = styled.div<{ color: string }>`
+ background-color: ${({ color }) => color};
+ display: flex;
+ flex-direction: column;
+ height: 480px;
+ border-radius: 21px;
+ padding: 42px 40px;
+
+ font-family: SUIT;
+ font-size: 19px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 33.3px; /* 177.5% */
+ letter-spacing: -0.8px;
+
+ @media (max-width: 520px) {
+ height: 280px;
+ border-radius: 12px;
+ padding: 24px 20px;
+ font-size: 12.669px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 20.85px; /* 164.575% */
+ letter-spacing: -0.507px;
+ }
+`;
+
+export const Footer = styled.div`
+ flex: 1;
+ display: flex;
+ align-items: flex-end;
+ gap: 8px;
+ font-weight: 600;
+`;
diff --git a/src/views/MainPage/components/Comment/Cards/index.tsx b/src/views/MainPage/components/Comment/Cards/index.tsx
index 210b9dfd..6573ca6b 100644
--- a/src/views/MainPage/components/Comment/Cards/index.tsx
+++ b/src/views/MainPage/components/Comment/Cards/index.tsx
@@ -1,22 +1,26 @@
-import Carousel from '@src/components/common/Carousel';
import { useIsDesktop } from '@src/hooks/useDevice';
import { SOPT_COMMENT_LIST } from '@src/lib/constants/main';
-import CommentCard from '../Card';
+import CommentCardDesktop from '../Card/Desktop';
+import CommentCardMobile from '../Card/Mobile';
import * as S from '../style';
-type CommentCardProps = {
+type CommentCardsProps = {
activeIdx: number;
changeActiveIdx: (idx: number) => void;
};
-export default function CommentCards({ activeIdx, changeActiveIdx }: CommentCardProps) {
+export default function CommentCards({ activeIdx, changeActiveIdx }: CommentCardsProps) {
const isDesktop = useIsDesktop('768px');
if (isDesktop)
return
;
+ return
;
+}
+
+function CommentCardsDesktop({ activeIdx, changeActiveIdx }: CommentCardsProps) {
return (
-
+
{SOPT_COMMENT_LIST.map((comment, idx) => (
-
))}
-
+
);
}
-function CommentCardsDesktop({ activeIdx, changeActiveIdx }: CommentCardProps) {
+function CommentCardsMobile({ activeIdx, changeActiveIdx }: CommentCardsProps) {
+ const activeCard = SOPT_COMMENT_LIST[activeIdx];
+ const commentLength = SOPT_COMMENT_LIST.length;
return (
- {SOPT_COMMENT_LIST.map((comment, idx) => (
-
- ))}
+ changeActiveIdx((activeIdx - 1 + commentLength) % commentLength)}
+ />
+
+ changeActiveIdx((activeIdx + 1) % commentLength)} />
);
}
diff --git a/src/views/MainPage/components/Comment/style.ts b/src/views/MainPage/components/Comment/style.ts
index d0ce12ff..7e53d1f4 100644
--- a/src/views/MainPage/components/Comment/style.ts
+++ b/src/views/MainPage/components/Comment/style.ts
@@ -1,11 +1,19 @@
import styled from '@emotion/styled';
import { colors } from '@sopt-makers/colors';
import { motion } from 'framer-motion';
+import icLeftArrow from '@src/assets/icons/ic_arrow_left.svg';
+import icRightArrow from '@src/assets/icons/ic_arrow_right.svg';
export const Wrapper = styled.div`
position: relative;
padding-top: 200px;
padding-bottom: 800px;
+ @media (max-width: 768px) {
+ height: 130vh;
+ }
+ @media (max-width: 520px) {
+ height: inherit;
+ }
`;
export const TitleWrapper = styled.div<{ activeIdx: number }>`
@@ -20,6 +28,11 @@ export const TitleWrapper = styled.div<{ activeIdx: number }>`
padding-bottom: 80px;
transition: 0.4s;
}
+ @media (max-width: 768px) {
+ position: static;
+ padding-top: 0;
+ padding-bottom: 0;
+ }
`;
export const CardWrapper = styled.div`
@@ -30,6 +43,17 @@ export const CardWrapper = styled.div`
padding-top: 200px;
padding-bottom: 600px;
}
+ @media (max-width: 768px) {
+ padding-top: 64px;
+ flex-direction: row;
+ align-items: center;
+ gap: 22px;
+ }
+ @media (max-width: 520px) {
+ padding-top: 32px;
+ padding-bottom: 0;
+ gap: 12px;
+ }
`;
export const SectionTitle = styled.div`
@@ -44,12 +68,18 @@ export const SectionTitle = styled.div`
padding-bottom: 200px;
}
@media (max-width: 768px) {
- padding-top: 200px;
font-family: SUIT;
font-size: 41px;
line-height: 45.956px; /* 112.087% */
letter-spacing: -1.23px;
}
+ @media (max-width: 520px) {
+ font-size: 21px;
+ font-style: normal;
+ font-weight: 500;
+ line-height: 24.28px; /* 115.617% */
+ letter-spacing: -0.63px;
+ }
`;
export const Summary = styled(motion.div)<{ color: string }>`
@@ -66,7 +96,40 @@ export const Summary = styled(motion.div)<{ color: string }>`
@media (max-width: 768px) {
font-size: 57px;
font-weight: 600;
- line-height: 45.956px; /* 80.624% */
+ line-height: 60px;
letter-spacing: -1.71px;
+ height: 156px;
}
+ @media (max-width: 520px) {
+ font-size: 30px;
+ font-style: normal;
+ font-weight: 600;
+ line-height: 32px;
+ letter-spacing: -0.9px;
+ height: 120px;
+ }
+`;
+
+const Arrow = styled.div`
+ width: 26px;
+ height: 42px;
+ background-color: #b1c3d9b2;
+ flex-shrink: 0;
+ cursor: pointer;
+ mask-repeat: no-repeat;
+ mask-size: contain;
+ mask-position: center;
+
+ @media (max-width: 520px) {
+ width: 15px;
+ height: 24px;
+ }
+`;
+
+export const LeftArrow = styled(Arrow)`
+ mask-image: url(${icLeftArrow});
+`;
+
+export const RightArrow = styled(Arrow)`
+ mask-image: url(${icRightArrow});
`;
From 1691f68c7824bfe23ff96978ae6bef216ee50d1d Mon Sep 17 00:00:00 2001
From: SeojinSeojin <1106laura@naver.com>
Date: Thu, 21 Dec 2023 17:28:45 +0900
Subject: [PATCH 5/5] chore: update pnpm-lock.yaml
---
pnpm-lock.yaml | 58 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 57 insertions(+), 1 deletion(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index cae71195..8b4f241d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,6 +7,7 @@ specifiers:
'@babel/preset-env': ^7.18.2
'@babel/runtime': ^7.18.9
'@emotion/babel-plugin': ^11.10.0
+ '@emotion/is-prop-valid': ^1.2.1
'@emotion/react': ^11.9.0
'@emotion/styled': ^11.8.1
'@sopt-makers/colors': ^2.2.0
@@ -22,6 +23,7 @@ specifiers:
'@types/qs': 6.9.7
'@types/react': 18.0.10
'@types/react-dom': 18.0.5
+ '@types/react-slick': ^0.23.12
'@types/react-test-renderer': ^18.0.0
'@typescript-eslint/eslint-plugin': ^5.27.0
'@typescript-eslint/parser': ^5.27.0
@@ -58,10 +60,12 @@ specifiers:
react-dom: 18.2.0
react-query: ^3.39.2
react-responsive: 9.0.0-beta.10
+ react-slick: ^0.29.0
react-test-renderer: ^18.2.0
react-toastify: ^9.0.8
sass: ^1.55.0
shortid: ^2.2.16
+ slick-carousel: ^1.8.1
ts-jest: ^28.0.4
ts-loader: ^9.3.0
ts-pattern: ^4.0.5
@@ -71,10 +75,12 @@ specifiers:
dependencies:
'@amplitude/analytics-browser': 2.3.0
+ '@emotion/is-prop-valid': 1.2.1
'@emotion/react': 11.11.1_z2b3xs64x2tj5h6d73q25pmyxa
'@emotion/styled': 11.11.0_lrlg252sqoeehi74frojlg57f4
'@sopt-makers/colors': 2.2.0
'@types/qs': 6.9.7
+ '@types/react-slick': 0.23.13
axios: 0.27.2
classcat: 5.0.4
dayjs: 1.11.9
@@ -86,9 +92,11 @@ dependencies:
react-dom: 18.2.0_react@18.2.0
react-query: 3.39.3_biqbaboplfbrettd7655fr4n2y
react-responsive: 9.0.0-beta.10_react@18.2.0
+ react-slick: 0.29.0_biqbaboplfbrettd7655fr4n2y
react-test-renderer: 18.2.0_react@18.2.0
react-toastify: 9.1.3_biqbaboplfbrettd7655fr4n2y
shortid: 2.2.16
+ slick-carousel: 1.8.1
devDependencies:
'@babel/core': 7.22.11
@@ -2474,6 +2482,12 @@ packages:
'@types/react': 18.0.10
dev: true
+ /@types/react-slick/0.23.13:
+ resolution: {integrity: sha512-bNZfDhe/L8t5OQzIyhrRhBr/61pfBcWaYJoq6UDqFtv5LMwfg4NsVDD2J8N01JqdAdxLjOt66OZEp6PX+dGs/A==}
+ dependencies:
+ '@types/react': 18.0.10
+ dev: false
+
/@types/react-test-renderer/18.0.0:
resolution: {integrity: sha512-C7/5FBJ3g3sqUahguGi03O79b8afNeSD6T8/GU50oQrJCU0bVCCGQHaGKUbg2Ce8VQEEqTw8/HiS6lXHHdgkdQ==}
dependencies:
@@ -3344,6 +3358,10 @@ packages:
resolution: {integrity: sha512-sbpkOw6z413p+HDGcBENe498WM9woqWHiJxCq7nvmxe9WmrUmqfAcxpIwAiMtM5Q3AhYkzXcNQHqsWq0mND51g==}
dev: false
+ /classnames/2.3.2:
+ resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==}
+ dev: false
+
/clean-stack/2.2.0:
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
engines: {node: '>=6'}
@@ -3771,6 +3789,10 @@ packages:
tapable: 2.2.1
dev: true
+ /enquire.js/2.1.6:
+ resolution: {integrity: sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw==}
+ dev: false
+
/enquirer/2.4.1:
resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
engines: {node: '>=8.6'}
@@ -5603,6 +5625,12 @@ packages:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
dev: true
+ /json2mq/0.2.0:
+ resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==}
+ dependencies:
+ string-convert: 0.2.1
+ dev: false
+
/json5/0.5.1:
resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==}
hasBin: true
@@ -5745,7 +5773,6 @@ packages:
/lodash.debounce/4.0.8:
resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
- dev: true
/lodash.isplainobject/4.0.6:
resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
@@ -6473,6 +6500,21 @@ packages:
react-is: 18.2.0
dev: false
+ /react-slick/0.29.0_biqbaboplfbrettd7655fr4n2y:
+ resolution: {integrity: sha512-TGdOKE+ZkJHHeC4aaoH85m8RnFyWqdqRfAGkhd6dirmATXMZWAxOpTLmw2Ll/jPTQ3eEG7ercFr/sbzdeYCJXA==}
+ peerDependencies:
+ react: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ classnames: 2.3.2
+ enquire.js: 2.1.6
+ json2mq: 0.2.0
+ lodash.debounce: 4.0.8
+ react: 18.2.0
+ react-dom: 18.2.0_react@18.2.0
+ resize-observer-polyfill: 1.5.1
+ dev: false
+
/react-test-renderer/18.2.0_react@18.2.0:
resolution: {integrity: sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==}
peerDependencies:
@@ -6592,6 +6634,10 @@ packages:
resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==}
dev: true
+ /resize-observer-polyfill/1.5.1:
+ resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
+ dev: false
+
/resolve-cwd/3.0.0:
resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
engines: {node: '>=8'}
@@ -6808,6 +6854,12 @@ packages:
is-fullwidth-code-point: 3.0.0
dev: true
+ /slick-carousel/1.8.1:
+ resolution: {integrity: sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==}
+ peerDependencies:
+ jquery: '>=1.8.0'
+ dev: false
+
/source-map-js/1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
@@ -6868,6 +6920,10 @@ packages:
engines: {node: '>=0.6.19'}
dev: true
+ /string-convert/0.2.1:
+ resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==}
+ dev: false
+
/string-length/4.0.2:
resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
engines: {node: '>=10'}