From 75e8cfecd2e3edfedbd4fa0c5d435a276cc99ec7 Mon Sep 17 00:00:00 2001 From: nayoonju Date: Tue, 2 Jul 2024 23:37:45 +0900 Subject: [PATCH 01/15] =?UTF-8?q?docs:=20README.md=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 91e8278df..a8511b670 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## 스프린트 5미션 +## 스프린트 6미션 - site 확인: https://pandamarket-momo.netlify.app/ @@ -9,21 +9,14 @@ - [x] React를 사용합니다 - [x] 피그마 디자인에 맞게 페이지를 만들어 주세요. - [x] Github에 PR(Pull Request)을 만들어서 미션을 제출합니다. - 체크리스트 [기본] - 중고마켓 -- [x] 상품 데이터 정보는 https://panda-market-api.vercel.app/docs/#/ 에 명세된 GET 메소드 “/products” 를 사용해주세요. -- [x] 전체 상품에서 드롭 다운으로 “최신 순” 또는 “좋아요 순”을 선택해서 정렬을 할 수 있습니다. -- [x] 중고마켓 페이지 주소는 “/items” 입니다. -- [x] 상단 네비게이션 바는 이전 미션에서 구현한 랜딩 페이지와 동일한 스타일로 만들어 주세요. -- [x] '상품 등록하기' 버튼을 누르면 “/additem” 로 이동합니다. ( 빈 페이지 ) -- [x] 페이지 주소가 “/items” 일때 상단네비게이션바의 '중고마켓' 버튼의 색상은 “3692FF”입니다. - 중고마켓 반응형 -- [x] 베스트 상품 - - Desktop : 4개 보이기 - - Tablet : 2개 보이기 - - Mobile : 1개 보이기 -- [x] 전체 상품 - _ Desktop : 12개 보이기 - _ Tablet : 6개 보이기 \* Mobile : 4개 보이기 + 상품 등록 +- [ ] 페이지 주소가 “/additem” 일때 상단네비게이션바의 '중고마켓' 버튼의 색상은 “3692FF”입니다. +- [x] 상품 이미지는 최대 한개 업로드가 가능합니다. +- [x] 이미지를 제외하고 input 에 모든 값을 입력하면 ‘등록' 버튼이 활성화 됩니다. +- [x] API를 통한 상품 등록은 추후 미션에서 적용합니다. +- [x] 각 input의 placeholder 값을 정확히 입력해주세요. +- [x] 상품 등록 페이지 주소는 “/additem” 입니다. 체크리스트 [심화] -- [x] 페이지 네이션 기능을 구현합니다. + 상품 등록 +- [x] 추가된 태그 안의 X 버튼을 누르면 해당 태그는 삭제됩니다. +- [x] 이미지 안의 X 버튼을 누르면 이미지가 삭제됩니다. From f6025de477b8f28153dbbab52c033c056c7f010e Mon Sep 17 00:00:00 2001 From: nayoonju Date: Tue, 2 Jul 2024 23:38:43 +0900 Subject: [PATCH 02/15] =?UTF-8?q?style:=20=EC=8A=A4=ED=94=84=EB=A6=B0?= =?UTF-8?q?=ED=8A=B8=206=20=EC=8A=A4=ED=83=80=EC=9D=BC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/css/style.css | 204 ++++++++++++++++---- src/assets/css/style.css.map | 2 +- src/assets/img/Img_inquiry_empty.png | Bin 0 -> 6816 bytes src/assets/img/ic_X.svg | 5 + src/assets/img/ic_X_blue.svg | 5 + src/assets/img/ic_back.svg | 4 + src/assets/img/ic_plus.svg | 4 + src/assets/img/product/sample2.png | Bin 0 -> 67942 bytes src/assets/img/profile.png | Bin 0 -> 1239 bytes src/assets/img/sm-logo.svg | 14 ++ src/assets/scss/components/_form.scss | 95 +++++---- src/assets/scss/components/_icon.scss | 20 +- src/assets/scss/components/_index.scss | 2 + src/assets/scss/components/_input-file.scss | 54 ++++++ src/assets/scss/components/_tag.scss | 38 ++++ src/assets/scss/layout/_responsive.scss | 31 +-- 16 files changed, 375 insertions(+), 103 deletions(-) create mode 100644 src/assets/img/Img_inquiry_empty.png create mode 100644 src/assets/img/ic_X.svg create mode 100644 src/assets/img/ic_X_blue.svg create mode 100644 src/assets/img/ic_back.svg create mode 100644 src/assets/img/ic_plus.svg create mode 100644 src/assets/img/product/sample2.png create mode 100644 src/assets/img/profile.png create mode 100644 src/assets/img/sm-logo.svg create mode 100644 src/assets/scss/components/_input-file.scss create mode 100644 src/assets/scss/components/_tag.scss diff --git a/src/assets/css/style.css b/src/assets/css/style.css index 3b402fef3..f0a59c7fc 100644 --- a/src/assets/css/style.css +++ b/src/assets/css/style.css @@ -445,7 +445,11 @@ footer { } } @media (max-width: 767px) { - header .nav li { + header .header-wrap { + padding: 0 16px; + } + header .header-wrap .nav li { + font-size: 16px; padding: 0 8px; } .logo { @@ -530,6 +534,13 @@ footer { grid-area: sns; } } +@media (max-width: 400px) { + .logo { + background: url("../img/sm-logo.svg") no-repeat; + width: 40px; + height: 40px; + } +} /* ==== button ==== */ .btn-sm { display: flex; @@ -740,17 +751,17 @@ footer { } } -.input-group label { - display: block; - font-size: 18px; - color: var(--gray800); - margin-bottom: 16px; - font-weight: 700; +.password-toggle-button { + width: 24px; + height: 24px; + position: absolute; + right: 24px; + top: 52px; + background-color: transparent; } @media (max-width: 767px) { - .input-group label { - font-size: 14px; - margin-bottom: 8px; + .password-toggle-button { + top: 40px; } } @@ -758,13 +769,25 @@ footer { position: relative; margin-bottom: 24px; } -.input-group input { +.input-group input, +.input-group textarea { + display: block; width: 100%; font-size: 16px; + font-weight: 300; background: var(--gray100); border-radius: 12px; - padding: 0 1em; - height: 56px; + padding: 1em; + min-height: 56px; + border: 0; +} +.input-group input:focus, +.input-group textarea:focus { + outline: 2px solid var(--primary); +} +.input-group input::placeholder, +.input-group textarea::placeholder { + color: var(--gray400); } .input-group.is-error .error-border, .input-group.is-error .error-border:focus { outline: 2px solid var(--error); @@ -777,34 +800,23 @@ footer { margin-bottom: 16px; } } - -.input-group .password { - position: relative; - display: flex; - align-items: center; -} - -.password-toggle-button { - width: 24px; - height: 24px; - position: absolute; - right: 24px; - top: 52px; - background-color: transparent; +.input-group label { + display: block; + font-size: 18px; + color: var(--gray800); + margin-bottom: 16px; + font-weight: 700; } @media (max-width: 767px) { - .password-toggle-button { - top: 40px; + .input-group label { + font-size: 14px; + margin-bottom: 8px; } } - -.input-group input:focus { - outline: 2px solid var(--primary); -} - -.input-group input::placeholder { - color: var(--gray400); - font-weight: 500; +.input-group .password { + position: relative; + display: flex; + align-items: center; } .error-message { @@ -827,7 +839,7 @@ footer { display: flex; align-items: center; justify-content: space-between; - background-color: #E6F2FF; + background-color: #e6f2ff; padding: 1em 1.5em; border-radius: 8px; } @@ -869,6 +881,14 @@ i.icon { background-repeat: no-repeat; } +i.icon-lg { + display: inline-block; + width: 40px; + height: 40px; + background-size: contain; + background-repeat: no-repeat; +} + i.icon-sm { display: inline-block; width: 16px; @@ -921,6 +941,18 @@ i.icon-sm { background-image: url("../img/ic_heart.svg"); } +.ic_plus { + background-image: url("../img/ic_plus.svg"); +} + +.ic_remove { + background-image: url("../img/ic_X.svg"); +} + +.ic_back { + background-image: url("../img/ic_back.svg"); +} + /* ==== dropdown ==== */ .dropdown { position: relative; @@ -1071,5 +1103,101 @@ i.icon-sm { transform: translate(0, 0); } } +.tag-list-input { + display: flex; + flex-wrap: wrap; + gap: 12px; + margin-top: 12px; +} +.tag-list-input span { + display: inline-flex; + align-items: center; + gap: 10px; + border-radius: 26px; + color: var(--gray800); + background-color: var(--gray100); + padding: 12px 16px; + cursor: pointer; +} +.tag-list-input span:hover { + background-color: var(--gray200); +} +.tag-list-input span .ic_remove { + cursor: pointer; +} +.tag-list-input span .ic_remove:hover { + background-image: url("../img/ic_X_blue.svg"); +} + +.tag-list { + display: flex; + gap: 12px; +} +.tag-list span { + display: inline-flex; + align-items: center; + gap: 10px; + border-radius: 26px; + color: var(--gray800); + background-color: var(--gray100); + padding: 0.5em 1em; +} + +.image-add-wrap { + display: flex; + gap: 25px; +} +@media (max-width: 1200px) { + .image-add-wrap { + gap: 16px; + } +} +@media (max-width: 767px) { + .image-add-wrap { + gap: 8px; + } +} +.image-add-wrap .image-add-btn { + max-width: 50%; + width: 282px; + aspect-ratio: 1/1; + font-size: 16px; + color: var(--gray400); + background-color: var(--gray100); + border-radius: 12px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 12px; + cursor: pointer; + transition: 0.2s ease; + margin: 0; +} +.image-add-wrap .image-add-btn:hover { + background-color: var(--gray200); +} +.image-add-wrap .image-add-box { + position: relative; + width: 282px; + aspect-ratio: 1/1; + overflow: hidden; + border-radius: 12px; +} +.image-add-wrap .image-add-box img { + width: 100%; + height: 100%; + object-fit: cover; +} +.image-add-wrap .image-add-box .ic_remove { + position: absolute; + right: 10px; + top: 10px; + transition: 0.2s ease; + cursor: pointer; +} +.image-add-wrap .image-add-box .ic_remove:hover { + background-image: url("./../img/ic_X_blue.svg"); +} /*# sourceMappingURL=style.css.map */ diff --git a/src/assets/css/style.css.map b/src/assets/css/style.css.map index 9a58de578..382481a2c 100644 --- a/src/assets/css/style.css.map +++ b/src/assets/css/style.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../scss/base/_fonts.scss","../scss/base/_reset.scss","../scss/base/_variables.scss","../scss/layout/_header.scss","../scss/layout/_main.scss","../scss/layout/_footer.scss","../scss/layout/_responsive.scss","../scss/components/_button.scss","../scss/components/_card.scss","../scss/components/_form.scss","../scss/components/_icon.scss","../scss/components/_dropdown.scss","../scss/components/_pagination.scss","../scss/components/_loadingbar.scss"],"names":[],"mappings":";AAAA;AAEA;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AC1BF;AAEA;AACA;AAAA;AAAA;EAGE;EACA;EACA;;;AAGF;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EA0BE;EACA;;;AAGF;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AACA;AAAA;AAAA;EAGE;EACA;;;AAGF;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACjHF;AAGA;EACE;EAEA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;;;AClCF;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;;AChDF;AAEA;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AC5HF;AAEA;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AC3CF;AAGA;EAEE;IACE;IACA;;EAEA;IACE;IACA;;EAGF;IACE;IACA;IACA;IACA;;EAGE;IACE;;EAIJ;IACE;IACA;IACA;;EAKN;IACE;;EAEA;IACE;IACA;IACA;IACA;;EAIE;IACE;;EAEA;IACE;;EAIJ;IACE;;EAIJ;IACE;IACA;;EAKN;IACE;;EAEA;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAEA;IACE;;EAKN;IACE;IACA;IACA;;;AAKJ;EAII;IACE;;EAIJ;IACE;IACA;IACA;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;EAGF;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;;EAEA;IACE;;EAIJ;IACE;IACA;IACA;IACA;;EAKN;IACE;;EAEA;IACE;;EAGE;IACE;;EAGF;IACE;;EAGF;IACE;;EAMR;IACE;;EAEA;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAEA;IACE;IACA;;EAKN;IACE;IACA;IACA;IACA,qBACE;IAEF;;EAEA;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;;AC1MN;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;ACtCF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAbF;IAcI;;;AAIJ;EACE;EACA;;AAEA;EAJF;IAKI;;;AAIJ;EACE;EACA;;AAGF;EA9CF;IA+CI;IACA;IACA;IACA,qBACE;;;AAKN;EACE;EACA;;AAEA;EAJF;IAKI;;;AAGF;EARF;IASI;;;AAIJ;EACE;;AAEA;EAHF;IAII;;;AAGF;EAPF;IAQI;;;AAGJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AC1IV;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EARF;IASI;IACA;;;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAEA;EATF;AAAA;IAUI;IACA;IACA;;;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EAPF;IAQI;IACA;;;;AAIJ;EACE;EACA;;AAGA;EACE;EACA;EACA;EACA;EAEA;EACA;;AAIF;EAEE;;AAGF;EACE;;AAGF;EAzBF;IA0BI;;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EARF;IASI;;;;AAKJ;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AC5JF;AACA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC1DF;AACA;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAXF;IAYI;IACA;;EAEA;IACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EAbF;IAcI;IACA;IACA;;;AAGF;EACE;;AAIA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;;;AC7DR;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAEF;EACE;EACA;;AAGF;EACE;;;AC/CR;AACA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;;AAIN;EACE;EACA;;;AAGJ;EACE;IACE;;EAEF;IACE;;EAEF;IACE","file":"style.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../scss/base/_fonts.scss","../scss/base/_reset.scss","../scss/base/_variables.scss","../scss/layout/_header.scss","../scss/layout/_main.scss","../scss/layout/_footer.scss","../scss/layout/_responsive.scss","../scss/components/_button.scss","../scss/components/_card.scss","../scss/components/_form.scss","../scss/components/_icon.scss","../scss/components/_dropdown.scss","../scss/components/_pagination.scss","../scss/components/_loadingbar.scss","../scss/components/_tag.scss","../scss/components/_input-file.scss"],"names":[],"mappings":";AAAA;AAEA;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AC1BF;AAEA;AACA;AAAA;AAAA;EAGE;EACA;EACA;;;AAGF;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EA0BE;EACA;;;AAGF;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AACA;AAAA;AAAA;EAGE;EACA;;;AAGF;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACjHF;AAGA;EACE;EAEA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;;;AClCF;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;;;AChDF;AAEA;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AC5HF;AAEA;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AC3CF;AAGA;EACE;IACE;IACA;;EAEA;IACE;IACA;;EAGF;IACE;IACA;IACA;IACA;;EAGE;IACE;;EAIJ;IACE;IACA;IACA;;EAKN;IACE;;EAEA;IACE;IACA;IACA;IACA;;EAGE;IACE;;EAEA;IACE;;EAIJ;IACE;;EAIJ;IACE;IACA;;EAKN;IACE;;EAEA;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAEA;IACE;;EAKN;IACE;IACA;IACA;;;AAKJ;EAGI;IACE;;EACA;IACE;IACA;;EAKN;IACE;IACA;IACA;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;EAGF;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;;EAEA;IACE;;EAIJ;IACE;IACA;IACA;IACA;;EAKN;IACE;;EAEA;IACE;;EAGE;IACE;;EAGF;IACE;;EAGF;IACE;;EAMR;IACE;;EAEA;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAEA;IACE;IACA;;EAKN;IACE;IACA;IACA;IACA,qBACE;IAEF;;EAEA;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;;AAKN;EACE;IACE;IACA;IACA;;;ACpNJ;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;ACtCF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAbF;IAcI;;;AAIJ;EACE;EACA;;AAEA;EAJF;IAKI;;;AAIJ;EACE;EACA;;AAGF;EA9CF;IA+CI;IACA;IACA;IACA,qBACE;;;AAKN;EACE;EACA;;AAEA;EAJF;IAKI;;;AAGF;EARF;IASI;;;AAIJ;EACE;;AAEA;EAHF;IAII;;;AAGF;EAPF;IAQI;;;AAGJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AC1IV;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EARF;IASI;IACA;;;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAEA;EATF;AAAA;IAUI;IACA;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EARF;IASI;;;;AAIJ;EACE;EACA;;AAEA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;;AAEF;AAAA;EACE;;AAGJ;EAEE;;AAGF;EACE;;AAGF;EAhCF;IAiCI;;;AAEF;EACE;EACA;EACA;EACA;EACA;;AAEA;EAPF;IAQI;IACA;;;AAIJ;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;ACrJF;AACA;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AC1EF;AACA;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAXF;IAYI;IACA;;EAEA;IACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EAbF;IAcI;IACA;IACA;;;AAGF;EACE;;AAIA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;;;AC7DR;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAEF;EACE;EACA;;AAGF;EACE;;;AC/CR;AACA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;;AAIN;EACE;EACA;;;AAGJ;EACE;IACE;;EAEF;IACE;;EAEF;IACE;;;ACzCJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;;AACA;EACE;;;AAKR;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;ACnCJ;EACE;EACA;;AACA;EAHF;IAII;;;AAEF;EANF;IAOI;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE","file":"style.css"} \ No newline at end of file diff --git a/src/assets/img/Img_inquiry_empty.png b/src/assets/img/Img_inquiry_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..33c10208a5719e5184220d1c66e9a4e44a619896 GIT binary patch literal 6816 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 fhYVTzGmhM)Lxbd3y7_+(B{UU<_wo(07UBN~6=? + + + + diff --git a/src/assets/img/ic_X_blue.svg b/src/assets/img/ic_X_blue.svg new file mode 100644 index 000000000..e91674d33 --- /dev/null +++ b/src/assets/img/ic_X_blue.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/img/ic_back.svg b/src/assets/img/ic_back.svg new file mode 100644 index 000000000..21876b761 --- /dev/null +++ b/src/assets/img/ic_back.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/img/ic_plus.svg b/src/assets/img/ic_plus.svg new file mode 100644 index 000000000..5bb9abf55 --- /dev/null +++ b/src/assets/img/ic_plus.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/img/product/sample2.png b/src/assets/img/product/sample2.png new file mode 100644 index 0000000000000000000000000000000000000000..8e380879e7954aa2e726a3e65edd9c7e98e83878 GIT binary patch literal 67942 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%0Do(6BR#Kl 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 IM6N<$f}kiJWB>pF literal 0 HcmV?d00001 diff --git a/src/assets/img/profile.png b/src/assets/img/profile.png new file mode 100644 index 0000000000000000000000000000000000000000..f44d9b71c01c8478d4d8cb0aa6add5436becb685 GIT binary patch literal 1239 zcmV;|1StE7P)P zVh9ovS}BUZ_XL8S-TiiU_M4FyL`1(oI28;|@b+&I>;&&iAVf(vGByTVbQy=P5b%)$ zv}?6$8zO*(G46CmC0#eqZN^@2$f!@%#g8_JM6*^aca?jo7!k2_#(az3cnz_DU8)id zBzS%O?c4%!5#D2gQ+EZ}%@?(!%e_|n8hh7+f8+C-4*>?P`m^dA-*&G*<(BH^{{r9? zo&o}{jD>b~d|V#8o4A*KDs8@hGI9h|19FI0(+)w}R#?f$lY$%~=XSxd#b5e2uNbiZ zKmnXH$R1=Mol1gfS#Upj0L!vvTMGZnVH?>@9%e9~8=wj%tT*-gv(^s5et*;uVByw^ zhRQ(2LRJ!7gUAiOjgg!Nl~TcBJG}i4hOq=CFc=#%?RXuJn=Q7%daFu~uuYDTNN^;U zhhjdrW2@_FP=)}hxv=32EAQE0c2vhmY6++wmQ~HcFfAAkM-T?aTq~0or3cA-svVOW zZeh6yVUWTF{ZT1OFDv)a4XMAf2UC=kgG@T~L~GDtI;@n``!aqmzo;s~v-dv8o;+7Q z{Pk?NK1{Z42il^=8MhU@M{-dq7a$Ih2TO&Vnyr8nj;H2jkRhGeDBJ1>T~A4^3<4Gt zryLc$5oCCf(IIY7JO_d$UTRqNHYm^dfmZ7Fo^1=5Vuo0nro5-gwihvZn4>TovMqz& z%AgK%?i@o;6Tu1WCn!o93FAJSw8vJA@9rJx%feK*O>jE>nf54y%+U6*;*=(eYg+i) z&J)NjFtEI0Z@Dx#_cG_Q-KuSyFfG7)>;wdXQ|^P1*dCaQfrRFqD49&c!)(6!old17 z5|A5bg6$o6lu7F-I|6$Y&uUx*8I=LZ%Hriv`AzyD*Tth=qY| z=Qh8$L85+yxtbQ|Cr>8EUSNe|+n+d|;t%_5=rEW*flS2QZb}hjQ;NP+R^c94+Ojm zGAF&d9pA(F`vjtZMEz!Xt4NN(+wzk>usCd~bfMsndLpTBMpsXn9G1=1H-aixTd=)e zlqEe@G=7Id1@s)FQY6r;ky@?R-4G<0i^Rn~(I%~nqoOGn^E-Lj3DI49&q0v9C~RnY zb)oWzt~fx8%pUk}HKv8;+ItRygctQ{%WJE1E}{NaWPQf7g?Q(FndBKzz5ZbH>VsDN zXSD)xW9L~JGurd|(O+&m&tO>0wSVAIz>`T0eh0S8IP_B6SWM3#EI#*!t-JfF_#K$d z7UFAvAU^kQlqAj<@j4=AESJmCm);zH?~fq9T6TQye`5L zi<}m4qElF%bb4%UJYMU`$B!2sG%Dw=7-MaSfFC%_>QB#XbRqx%002ovPDHLkV1h7* BHEjR@ literal 0 HcmV?d00001 diff --git a/src/assets/img/sm-logo.svg b/src/assets/img/sm-logo.svg new file mode 100644 index 000000000..98e357b7f --- /dev/null +++ b/src/assets/img/sm-logo.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/scss/components/_form.scss b/src/assets/scss/components/_form.scss index e5046ac0e..a2d9d7e06 100644 --- a/src/assets/scss/components/_form.scss +++ b/src/assets/scss/components/_form.scss @@ -7,7 +7,7 @@ background-size: contain; margin: 0 auto 20px; - @media (max-width:767px) { + @media (max-width: 767px) { width: 198px; height: 66px; } @@ -22,24 +22,23 @@ max-width: 640px; margin: 60px auto; - @media (max-width:767px) { + @media (max-width: 767px) { width: calc(100% - 32px); max-width: 400px; margin: 24px auto; - } } -.input-group label { - display: block; - font-size: 18px; - color: var(--gray800); - margin-bottom: 16px; - font-weight: 700; - - @media (max-width:767px) { - font-size: 14px; - margin-bottom: 8px; +.password-toggle-button { + width: 24px; + height: 24px; + position: absolute; + right: 24px; + top: 52px; + background-color: transparent; + + @media (max-width: 767px) { + top: 40px; } } @@ -47,18 +46,25 @@ position: relative; margin-bottom: 24px; - - input { + input, + textarea { + display: block; width: 100%; font-size: 16px; + font-weight: 300; background: var(--gray100); border-radius: 12px; - - padding: 0 1em; - height: 56px; - + padding: 1em; + min-height: 56px; + border: 0; + + &:focus { + outline: 2px solid var(--primary); + } + &::placeholder { + color: var(--gray400); + } } - &.is-error .error-border, &.is-error .error-border:focus { outline: 2px solid var(--error); @@ -68,38 +74,27 @@ display: none; } - @media (max-width:767px) { + @media (max-width: 767px) { margin-bottom: 16px; } -} - -.input-group .password { - position: relative; - display: flex; - align-items: center; -} - -.password-toggle-button { - width: 24px; - height: 24px; - position: absolute; - right: 24px; - top: 52px; - background-color: transparent; + label { + display: block; + font-size: 18px; + color: var(--gray800); + margin-bottom: 16px; + font-weight: 700; - @media (max-width:767px) { - top: 40px; + @media (max-width: 767px) { + font-size: 14px; + margin-bottom: 8px; + } } -} - - -.input-group input:focus { - outline: 2px solid var(--primary); -} -.input-group input::placeholder { - color: var(--gray400); - font-weight: 500; + .password { + position: relative; + display: flex; + align-items: center; + } } .error-message { @@ -118,13 +113,11 @@ height: 56px; } - - .sns-box { display: flex; align-items: center; justify-content: space-between; - background-color: #E6F2FF; + background-color: #e6f2ff; padding: 1em 1.5em; border-radius: 8px; } @@ -155,4 +148,4 @@ .underline { color: var(--primary); text-decoration: underline; -} \ No newline at end of file +} diff --git a/src/assets/scss/components/_icon.scss b/src/assets/scss/components/_icon.scss index 12c891777..594ce2288 100644 --- a/src/assets/scss/components/_icon.scss +++ b/src/assets/scss/components/_icon.scss @@ -6,7 +6,13 @@ i.icon { background-size: contain; background-repeat: no-repeat; } - +i.icon-lg { + display: inline-block; + width: 40px; + height: 40px; + background-size: contain; + background-repeat: no-repeat; +} i.icon-sm { display: inline-block; width: 16px; @@ -57,4 +63,14 @@ i.icon-sm { .ic_heart { background-image: url('../img/ic_heart.svg'); -} \ No newline at end of file +} + +.ic_plus { + background-image: url('../img/ic_plus.svg'); +} +.ic_remove { + background-image: url('../img/ic_X.svg'); +} +.ic_back { + background-image: url('../img/ic_back.svg'); +} diff --git a/src/assets/scss/components/_index.scss b/src/assets/scss/components/_index.scss index 9463488fa..89cec7042 100644 --- a/src/assets/scss/components/_index.scss +++ b/src/assets/scss/components/_index.scss @@ -5,3 +5,5 @@ @forward 'dropdown'; @forward 'pagination'; @forward 'loadingbar'; +@forward 'tag'; +@forward 'input-file'; diff --git a/src/assets/scss/components/_input-file.scss b/src/assets/scss/components/_input-file.scss new file mode 100644 index 000000000..3b7291fa0 --- /dev/null +++ b/src/assets/scss/components/_input-file.scss @@ -0,0 +1,54 @@ +.image-add-wrap { + display: flex; + gap: 25px; + @media (max-width: 1200px) { + gap: 16px; + } + @media (max-width: 767px) { + gap: 8px; + } + + .image-add-btn { + max-width: 50%; + width: 282px; + aspect-ratio: 1/1; + font-size: 16px; + color: var(--gray400); + background-color: var(--gray100); + border-radius: 12px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 12px; + cursor: pointer; + transition: 0.2s ease; + margin: 0; + &:hover { + background-color: var(--gray200); + } + } + + .image-add-box { + position: relative; + width: 282px; + aspect-ratio: 1/1; + overflow: hidden; + border-radius: 12px; + img { + width: 100%; + height: 100%; + object-fit: cover; + } + .ic_remove { + position: absolute; + right: 10px; + top: 10px; + transition: 0.2s ease; + cursor: pointer; + &:hover { + background-image: url('./../img/ic_X_blue.svg'); + } + } + } +} diff --git a/src/assets/scss/components/_tag.scss b/src/assets/scss/components/_tag.scss new file mode 100644 index 000000000..e9a8656e3 --- /dev/null +++ b/src/assets/scss/components/_tag.scss @@ -0,0 +1,38 @@ +.tag-list-input { + display: flex; + flex-wrap: wrap; + gap: 12px; + margin-top: 12px; + span { + display: inline-flex; + align-items: center; + gap: 10px; + border-radius: 26px; + color: var(--gray800); + background-color: var(--gray100); + padding: 12px 16px; + cursor: pointer; + &:hover { + background-color: var(--gray200); + } + .ic_remove { + cursor: pointer; + &:hover { + background-image: url('../img/ic_X_blue.svg'); + } + } + } +} +.tag-list { + display: flex; + gap: 12px; + span { + display: inline-flex; + align-items: center; + gap: 10px; + border-radius: 26px; + color: var(--gray800); + background-color: var(--gray100); + padding: 0.5em 1em; + } +} diff --git a/src/assets/scss/layout/_responsive.scss b/src/assets/scss/layout/_responsive.scss index 3626f146b..20709b83d 100644 --- a/src/assets/scss/layout/_responsive.scss +++ b/src/assets/scss/layout/_responsive.scss @@ -1,8 +1,7 @@ /* ==== responsive ==== */ // 테블릿 가로 (해상도 768px ~ 1199px) -@media (max-width:1199px) { - +@media (max-width: 1199px) { .main-banner { height: 771px; align-items: unset; @@ -42,7 +41,6 @@ margin-bottom: 64px; .section-text { - .title { font-size: 32px; @@ -89,13 +87,16 @@ } } -// 모바일 가로 & 테블릿 세로 (해상도 375px ~ 767px) -@media (max-width:767px) { - +// 모바일 가로 & 테블릿 세로 (해상도 375px ~ 767px) +@media (max-width: 767px) { //스타일 입력 header { - .nav li { - padding: 0 8px + .header-wrap { + padding: 0 16px; + .nav li { + font-size: 16px; + padding: 0 8px; + } } } @@ -185,8 +186,8 @@ grid-template-columns: 1fr 1fr; padding: 32px; grid-template-areas: - "sitemap sns" - "copyright copyright"; + 'sitemap sns' + 'copyright copyright'; height: inherit; .copyright { @@ -203,4 +204,12 @@ grid-area: sns; } } -} \ No newline at end of file +} + +@media (max-width: 400px) { + .logo { + background: url('../img/sm-logo.svg') no-repeat; + width: 40px; + height: 40px; + } +} From ccd8f2cb7f72cc68ef6fac9c1464b96c08da42dc Mon Sep 17 00:00:00 2001 From: nayoonju Date: Tue, 2 Jul 2024 23:39:55 +0900 Subject: [PATCH 03/15] =?UTF-8?q?docs:=20eslint/helmet=20=EC=84=A4?= =?UTF-8?q?=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 2659 ++++++++++++++++++++++++++++----------------- package.json | 15 +- 2 files changed, 1649 insertions(+), 1025 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6ed85476e..083d92f2f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,13 +14,20 @@ "node-sass": "^7.0.3", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-helmet": "^6.1.0", "react-router-dom": "^6.23.1", "react-scripts": "5.0.1", "sass": "^1.77.6", "web-vitals": "^2.1.4" }, "devDependencies": { - "eslint-plugin-prettier": "^5.1.3" + "@eslint/compat": "^1.1.0", + "@eslint/js": "^9.6.0", + "eslint": "^9.6.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-react": "^7.34.3", + "globals": "^15.7.0", + "prettier": "^3.3.2" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -117,9 +124,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", - "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.7.tgz", + "integrity": "sha512-SO5E3bVxDuxyNxM5agFv480YA2HO6ohZbGxbazZdIk3KQOPOGVNw6q78I9/lbviIf95eq6tPozeYnJLbjnC8IA==", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -130,7 +137,7 @@ }, "peerDependencies": { "@babel/core": "^7.11.0", - "eslint": "^7.5.0 || ^8.0.0" + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { @@ -1058,6 +1065,14 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", @@ -1988,6 +2003,14 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.15.tgz", @@ -2298,15 +2321,37 @@ "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/compat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.1.0.tgz", + "integrity": "sha512-s9Wi/p25+KbzxKlDm3VshQdImhWk+cbdblhwGNnyCU5lpSwtWa4v7VQCxSki0FAUrGA3s8nCWgYzAH41mwQVKQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.0.tgz", + "integrity": "sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==", + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -2314,7 +2359,7 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -2326,14 +2371,11 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dependencies": { - "type-fest": "^0.20.2" - }, + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2350,23 +2392,20 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/@eslint/js": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.6.0.tgz", + "integrity": "sha512-D9B0/3vNg44ZeWbYMpBoXqNP4j6eQD5vNwIlGAuFRRzK/WtT/jvDQW3Bi9kkf3PMDMlM7Yi+73VLUsn5bJcl8A==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/js": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", - "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@gar/promisify": { @@ -2375,12 +2414,13 @@ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -2400,9 +2440,22 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead" + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", + "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", @@ -3380,9 +3433,9 @@ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "node_modules/@rushstack/eslint-patch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.3.tgz", - "integrity": "sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==" + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.3.tgz", + "integrity": "sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==" }, "node_modules/@sinclair/typebox": { "version": "0.24.51", @@ -4442,9 +4495,9 @@ "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" }, "node_modules/@types/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==" + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" }, "node_modules/@types/send": { "version": "0.17.1", @@ -4520,21 +4573,13 @@ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" }, - "node_modules/@typescript-eslint/eslint-plugin": { + "node_modules/@typescript-eslint/scope-manager": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4542,23 +4587,17 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } } }, - "node_modules/@typescript-eslint/experimental-utils": { + "node_modules/@typescript-eslint/type-utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", - "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dependencies": { - "@typescript-eslint/utils": "5.62.0" + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4568,18 +4607,27 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@typescript-eslint/parser": { + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4590,53 +4638,26 @@ }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/@typescript-eslint/type-utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8.0.0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, + "node_modules/@typescript-eslint/type-utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=4.0" } }, "node_modules/@typescript-eslint/types": { @@ -4677,51 +4698,6 @@ } } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, "node_modules/@typescript-eslint/visitor-keys": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", @@ -4738,6 +4714,11 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", @@ -4902,9 +4883,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", "bin": { "acorn": "bin/acorn" }, @@ -5170,12 +5151,15 @@ } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5187,14 +5171,15 @@ "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" }, "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", "is-string": "^1.0.7" }, "engines": { @@ -5212,16 +5197,36 @@ "node": ">=8" } }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -5282,29 +5287,44 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.tosorted": { + "node_modules/array.prototype.toreversed": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", - "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "es-shim-unscopables": "^1.0.0" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", "is-shared-array-buffer": "^1.0.2" }, "engines": { @@ -5344,9 +5364,9 @@ } }, "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" }, "node_modules/async": { "version": "3.2.4", @@ -5361,14 +5381,6 @@ "node": "*" } }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dependencies": { - "has-symbols": "^1.0.3" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -5419,9 +5431,12 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -5443,19 +5458,19 @@ "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==" }, "node_modules/axe-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.0.tgz", - "integrity": "sha512-ZtlVZobOeDQhb/y2lMK6mznDw7TJHDNcKx5/bbBkFvArIQ5CVFhSI6hWWQnMx9I8cNmNmZ30wpDyOC2E2nvgbQ==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.9.1.tgz", + "integrity": "sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==", "engines": { "node": ">=4" } }, "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", "dependencies": { - "dequal": "^2.0.3" + "deep-equal": "^2.0.5" } }, "node_modules/babel-jest": { @@ -6007,12 +6022,18 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6954,6 +6975,54 @@ "node": ">=10" } }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -7063,6 +7132,22 @@ "node": ">= 10" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -7072,10 +7157,11 @@ } }, "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -7212,14 +7298,14 @@ } }, "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { "esutils": "^2.0.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, "node_modules/dom-accessibility-api": { @@ -7456,49 +7542,56 @@ } }, "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -7512,6 +7605,25 @@ "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-get-iterator": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", @@ -7532,24 +7644,27 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.14.tgz", - "integrity": "sha512-JgtVnwiuoRuzLvqelrvN3Xu7H9bu2ap/kQ2CrM62iidP8SKuD99rWU3CJy++s7IVL2qb/AjXPGR/E7i9ngd/Cw==", - "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "iterator.prototype": "^1.1.0", - "safe-array-concat": "^1.0.0" + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-module-lexer": { @@ -7557,25 +7672,36 @@ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { @@ -7645,39 +7771,36 @@ } }, "node_modules/eslint": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", - "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.6.0.tgz", + "integrity": "sha512-ElQkdLMEEqQNM9Njff+2Y4q2afHk7JpkPvrd7Xh7xefwgQynqPxwf55J7di9+MEibWUGdNjFF9ITG9Pck5M84w==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.48.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/config-array": "^0.17.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.6.0", "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", + "eslint-scope": "^8.0.1", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.1.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", @@ -7691,37 +7814,10 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-react-app": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", - "dependencies": { - "@babel/core": "^7.16.0", - "@babel/eslint-parser": "^7.16.3", - "@rushstack/eslint-patch": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.5.0", - "@typescript-eslint/parser": "^5.5.0", - "babel-preset-react-app": "^10.0.1", - "confusing-browser-globals": "^1.0.11", - "eslint-plugin-flowtype": "^8.0.3", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jest": "^25.3.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.27.1", - "eslint-plugin-react-hooks": "^4.3.0", - "eslint-plugin-testing-library": "^5.0.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "eslint": "^8.0.0" + "url": "https://eslint.org/donate" } }, "node_modules/eslint-import-resolver-node": { @@ -7743,9 +7839,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", "dependencies": { "debug": "^3.2.7" }, @@ -7766,140 +7862,6 @@ "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-flowtype": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", - "dependencies": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@babel/plugin-syntax-flow": "^7.14.5", - "@babel/plugin-transform-react-jsx": "^7.14.9", - "eslint": "^8.1.0" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.13.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "dependencies": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/eslint-plugin-prettier": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", @@ -7931,26 +7893,28 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", + "version": "7.34.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.3.tgz", + "integrity": "sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA==", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", + "es-iterator-helpers": "^1.0.19", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.hasown": "^1.1.4", + "object.values": "^1.2.0", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", + "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "string.prototype.matchall": "^4.0.11" }, "engines": { "node": ">=4" @@ -7959,34 +7923,12 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -8005,31 +7947,16 @@ "semver": "bin/semver.js" } }, - "node_modules/eslint-plugin-testing-library": { - "version": "5.11.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", - "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", - "dependencies": { - "@typescript-eslint/utils": "^5.58.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0", - "npm": ">=6" - }, - "peerDependencies": { - "eslint": "^7.5.0 || ^8.0.0" - } - }, "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", + "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -8046,113 +7973,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "dependencies": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0", - "webpack": "^5.0.0" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -8167,11 +7987,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8214,18 +8029,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dependencies": { - "type-fest": "^0.20.2" - }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "engines": { - "node": ">=8" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/has-flag": { @@ -8236,17 +8048,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/eslint/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -8258,28 +8059,28 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/espree": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "dependencies": { + "acorn": "^8.12.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.0.0" + }, "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -8552,14 +8353,14 @@ } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/file-loader": { @@ -8689,22 +8490,21 @@ } }, "node_modules/flat-cache": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", - "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dependencies": { - "flatted": "^3.2.7", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": ">=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" }, "node_modules/follow-redirects": { "version": "1.15.2", @@ -8986,9 +8786,12 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { "version": "1.1.6", @@ -9062,14 +8865,18 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9108,12 +8915,13 @@ } }, "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -9201,11 +9009,15 @@ } }, "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.7.0.tgz", + "integrity": "sha512-ivatRXWwKC6ImcdKO7dOwXuXR5XFrdwo45qFwD7D0qOkEPzzJdLXC3BHceBdyrPOD3p1suPaWi4Y4NMm2D++AQ==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globalthis": { @@ -9359,17 +9171,6 @@ "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -9387,20 +9188,20 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -9420,11 +9221,11 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -9438,6 +9239,17 @@ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -9878,12 +9690,12 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", + "es-errors": "^1.3.0", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { @@ -9936,13 +9748,15 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10016,22 +9830,39 @@ } }, "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dependencies": { - "has-tostringtag": "^1.0.0" + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -10133,9 +9964,9 @@ "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "engines": { "node": ">= 0.4" }, @@ -10237,11 +10068,14 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10287,11 +10121,11 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dependencies": { - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -10473,14 +10307,15 @@ } }, "node_modules/iterator.prototype": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.1.tgz", - "integrity": "sha512-9E+nePc8C9cnQldmNl6bgpTY6zI4OPRZd97fhJ/iVZ1GifIUDVV5F6x1nEDqpe8KaMEZGT4xgrwKQDxXnjOIZQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", "dependencies": { - "define-properties": "^1.2.0", + "define-properties": "^1.2.1", "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.3" + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" } }, "node_modules/jake": { @@ -12643,9 +12478,9 @@ } }, "node_modules/keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dependencies": { "json-buffer": "3.0.1" } @@ -12675,16 +12510,19 @@ } }, "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==" }, "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "dependencies": { - "language-subtag-registry": "~0.3.2" + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" } }, "node_modules/launch-editor": { @@ -13662,9 +13500,12 @@ } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -13693,12 +13534,12 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -13710,26 +13551,27 @@ } }, "node_modules/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -13757,36 +13599,42 @@ } }, "node_modules/object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/object.hasown": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", - "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -14199,6 +14047,14 @@ "node": ">=4" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { "version": "8.4.29", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz", @@ -15391,7 +15247,6 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", "dev": true, - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -15817,136 +15672,837 @@ "node": ">=8" } }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-helmet": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", + "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", + "dependencies": { + "object-assign": "^4.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.1.1", + "react-side-effect": "^2.1.0" + }, + "peerDependencies": { + "react": ">=16.3.0" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.23.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.1.tgz", + "integrity": "sha512-fzcOaRF69uvqbbM7OhvQyBTFDVrrGlsFdS3AL+1KfIBtGETibHzi3FkoTRyiDJnWNc2VxrfvR+657ROHjaNjqQ==", + "dependencies": { + "@remix-run/router": "1.16.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.23.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.1.tgz", + "integrity": "sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ==", + "dependencies": { + "@remix-run/router": "1.16.1", + "react-router": "6.23.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/react-scripts/node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "dependencies": { + "@typescript-eslint/utils": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/react-scripts/node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/react-scripts/node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/react-scripts/node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/react-scripts/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-scripts/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/react-scripts/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/react-scripts/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/react-scripts/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/react-scripts/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/react-scripts/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/react-scripts/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-scripts/node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/react-scripts/node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/react-scripts/node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/react-scripts/node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/react-scripts/node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/react-scripts/node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-scripts/node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/react-scripts/node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/eslint-plugin-jsx-a11y": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz", + "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==", + "dependencies": { + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.9.1", + "axobject-query": "~3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/react-scripts/node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/react-scripts/node_modules/eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/react-scripts/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/react-scripts/node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/react-scripts/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/react-scripts/node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/react-scripts/node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/react-scripts/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-scripts/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-scripts/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/react-scripts/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "argparse": "^2.0.1" }, - "peerDependencies": { - "react": "^18.2.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/react-scripts/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, - "node_modules/react-router": { - "version": "6.23.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.1.tgz", - "integrity": "sha512-fzcOaRF69uvqbbM7OhvQyBTFDVrrGlsFdS3AL+1KfIBtGETibHzi3FkoTRyiDJnWNc2VxrfvR+657ROHjaNjqQ==", + "node_modules/react-scripts/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dependencies": { - "@remix-run/router": "1.16.1" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 12.13.0" }, - "peerDependencies": { - "react": ">=16.8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/react-router-dom": { - "version": "6.23.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.1.tgz", - "integrity": "sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ==", + "node_modules/react-scripts/node_modules/schema-utils/node_modules/ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", "dependencies": { - "@remix-run/router": "1.16.1", - "react-router": "6.23.1" + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/react-scripts/node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" }, "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" + "ajv": "^8.8.2" } }, - "node_modules/react-scripts": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", - "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "node_modules/react-scripts/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" - }, - "bin": { - "react-scripts": "bin/react-scripts.js" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "node": ">=8" + } + }, + "node_modules/react-scripts/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-side-effect": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz", + "integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==", "peerDependencies": { - "react": ">= 16", - "typescript": "^3.2.1 || ^4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "react": "^16.3.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/read-cache": { @@ -16123,14 +16679,15 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", - "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", "which-builtin-type": "^1.1.3" }, @@ -16176,13 +16733,14 @@ "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" }, "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -16562,12 +17120,12 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -16598,14 +17156,17 @@ ] }, "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -16962,6 +17523,36 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -16995,13 +17586,17 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -17455,32 +18050,49 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "node_modules/string.prototype.matchall": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.9.tgz", - "integrity": "sha512-6i5hL3MqG/K2G43mWXWgP+qizFW/QH/7kCNN13JrJS5q48FN5IKksLDscexKP3dnmB6cdm9jlNgAsWNLpSykmA==", + "node_modules/string.prototype.includes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", + "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "side-channel": "^1.0.4" + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -17490,26 +18102,29 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -18151,9 +18766,9 @@ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" }, "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -18263,27 +18878,28 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -18293,15 +18909,16 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -18311,13 +18928,19 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -19090,15 +19713,15 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" diff --git a/package.json b/package.json index 98d7052ec..9407baf12 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "node-sass": "^7.0.3", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-helmet": "^6.1.0", "react-router-dom": "^6.23.1", "react-scripts": "5.0.1", "sass": "^1.77.6", @@ -20,12 +21,6 @@ "test": "react-scripts test", "eject": "react-scripts eject" }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] - }, "browserslist": { "production": [ ">0.2%", @@ -39,6 +34,12 @@ ] }, "devDependencies": { - "eslint-plugin-prettier": "^5.1.3" + "@eslint/compat": "^1.1.0", + "@eslint/js": "^9.6.0", + "eslint": "^9.6.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-react": "^7.34.3", + "globals": "^15.7.0", + "prettier": "^3.3.2" } } From ec0522cc66e483859a9557f61820e6e1d687b8db Mon Sep 17 00:00:00 2001 From: nayoonju Date: Tue, 2 Jul 2024 23:40:18 +0900 Subject: [PATCH 04/15] =?UTF-8?q?feat:=20router=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.js | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/App.js b/src/App.js index b0bee0815..9c97a2c1b 100644 --- a/src/App.js +++ b/src/App.js @@ -1,10 +1,27 @@ -import Items from './pages/Items'; -import './assets/css/style.css' - +import { BrowserRouter, Routes, Route } from 'react-router-dom'; +import AddItem from './pages/AddItem'; +import Items from './pages/Items'; +import Board from './pages/Board'; +import Login from './pages/Login'; +import Notfound from './pages/Notfound'; +import './assets/css/style.css'; function App() { return ( - + + + {/* 일시적 확인용 메인으로 addItems 세팅 */} + } /> + }> + } /> + {/* } /> */} + + } /> + } /> + } /> + } /> + + ); } From cbf84d2a6e3319170650c006cd2330dceb48cb79 Mon Sep 17 00:00:00 2001 From: nayoonju Date: Tue, 2 Jul 2024 23:41:50 +0900 Subject: [PATCH 05/15] =?UTF-8?q?fix:dropdown=20=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20=EB=B6=84=EB=A6=AC=20&=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/AllProductList.js | 61 +++++++++++--------------------- src/components/Dropdown.js | 33 +++++++++++++++++ 2 files changed, 54 insertions(+), 40 deletions(-) create mode 100644 src/components/Dropdown.js diff --git a/src/components/AllProductList.js b/src/components/AllProductList.js index 478534579..bb9d21528 100644 --- a/src/components/AllProductList.js +++ b/src/components/AllProductList.js @@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react'; import ProductCard from './ProductCard'; import Pagination from './Pagination'; import Loadingbar from './Loadingbar'; +import Dropdown from './Dropdown'; import { getProducts } from '../services/api'; const getPageSize = () => { @@ -33,18 +34,8 @@ function AllProductList() { const [page, setPage] = useState(1); const [pageSize, setPageSize] = useState(getPageSize()); const [totalPageNum, setTotalPageNum] = useState(0); - const [menuOpen, setMenuOpen] = useState(false); const [loading, setLoading] = useState(false); - const toggleMenu = () => { - setMenuOpen(prevState => !prevState); - }; - - const handleSortMenuClick = sortMenu => { - setMenuOpen(false); - setOrderBy(sortMenu.orderLabel); - }; - const handleLoad = async ({ orderBy, page, pageSize }) => { setLoading(true); try { @@ -78,44 +69,34 @@ function AllProductList() { }; }, [orderBy, page, pageSize]); + const ProductList = + products.length > 0 ? ( +
    + {products.map(product => ( +
  • + +
  • + ))} +
+ ) : ( +

상품이 없습니다.

+ ); + return ( <>

판매 중인 상품

- + 상품 등록하기 -
- -
    - {Object.entries(SORT_MENU_INFO).map(([key, value]) => { - return ( -
  • - -
  • - ); - })} -
-
+ setOrderBy(option.orderLabel)} + />
- {loading ? ( - - ) : products.length > 0 ? ( -
    - {products.map(product => ( -
  • - -
  • - ))} -
- ) : ( -

상품이 없습니다.

- )} + {loading ? : ProductList} {totalPageNum > 1 && } ); diff --git a/src/components/Dropdown.js b/src/components/Dropdown.js new file mode 100644 index 000000000..3ef7792a6 --- /dev/null +++ b/src/components/Dropdown.js @@ -0,0 +1,33 @@ +import React, { useState } from 'react'; + +function Dropdown({ options, selectedOption, onSelect }) { + const [menuOpen, setMenuOpen] = useState(false); + + const toggleMenu = () => { + setMenuOpen(prevState => !prevState); + }; + + const handleOptionClick = option => { + setMenuOpen(false); + onSelect(option); + }; + + return ( +
+ +
    + {options.map(option => ( +
  • + +
  • + ))} +
+
+ ); +} + +export default Dropdown; From a9698160daf78ad7fb8031ea8d3c73045d88933c Mon Sep 17 00:00:00 2001 From: nayoonju Date: Tue, 2 Jul 2024 23:42:24 +0900 Subject: [PATCH 06/15] =?UTF-8?q?feat:=20loadingbar=20js=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Loadingbar.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/Loadingbar.js b/src/components/Loadingbar.js index 464bd44ce..37a186f5d 100644 --- a/src/components/Loadingbar.js +++ b/src/components/Loadingbar.js @@ -1,10 +1,10 @@ function Loadingbar() { return ( -
-
-
-
-
+
+
+
+
+

로딩 중..

From d1f0b81ca56ee3b89a9cd976b7bc29020e264a9e Mon Sep 17 00:00:00 2001 From: nayoonju Date: Tue, 2 Jul 2024 23:42:54 +0900 Subject: [PATCH 07/15] =?UTF-8?q?fix:=20Link=20=ED=83=9C=EA=B7=B8=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/Header.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/layout/Header.js b/src/layout/Header.js index 0d275a898..8903c3dc7 100644 --- a/src/layout/Header.js +++ b/src/layout/Header.js @@ -1,15 +1,17 @@ +import Nav from './../components/Nav'; +import { Link } from 'react-router-dom'; + function Header() { return (
); From 74bb681b90d1fe50b1e39adac8cef437ddee39a5 Mon Sep 17 00:00:00 2001 From: nayoonju Date: Tue, 2 Jul 2024 23:44:12 +0900 Subject: [PATCH 08/15] =?UTF-8?q?fix:=20TagInput=20=EB=A6=AC=ED=8C=A9?= =?UTF-8?q?=ED=86=A0=EB=A7=81=20/=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/TagInput.js | 60 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/components/TagInput.js diff --git a/src/components/TagInput.js b/src/components/TagInput.js new file mode 100644 index 000000000..2ae8640f1 --- /dev/null +++ b/src/components/TagInput.js @@ -0,0 +1,60 @@ +import React, { useState, useEffect, useCallback } from 'react'; + +const TagInput = ({ onTagListChange, reset }) => { + const [tagInputValue, setTagInputValue] = useState(''); + const [tagList, setTagList] = useState([]); + + const handleKeyPress = useCallback( + e => { + if (e.key === 'Enter' && tagInputValue.trim()) { + e.preventDefault(); + + const newTagList = [...tagList, tagInputValue.trim()]; + setTagList(newTagList); + setTagInputValue(''); + onTagListChange(newTagList); + } + }, + [tagInputValue, tagList, onTagListChange], + ); + + const handleTagRemove = useCallback( + tagToRemove => { + const updatedList = tagList.filter(tag => tag !== tagToRemove); + setTagList(updatedList); + onTagListChange(updatedList); + }, + [tagList, onTagListChange], + ); + + useEffect(() => { + if (reset) { + setTagList([]); + onTagListChange([]); + } + }, [reset, onTagListChange]); + + return ( +
+ setTagInputValue(e.target.value)} + onKeyUp={handleKeyPress} + /> + {tagList.length > 0 && ( +
+ {tagList.map((tag, index) => ( + + {tag} handleTagRemove(tag)}> + + ))} +
+ )} +
+ ); +}; + +export default TagInput; From 25410021de47b749f510491e45a6c6c41a812414 Mon Sep 17 00:00:00 2001 From: nayoonju Date: Tue, 2 Jul 2024 23:44:37 +0900 Subject: [PATCH 09/15] =?UTF-8?q?fix:=20FileInput=20=EB=A6=AC=ED=8C=A9?= =?UTF-8?q?=ED=86=A0=EB=A7=81=20/=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/FileInput.js | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/components/FileInput.js diff --git a/src/components/FileInput.js b/src/components/FileInput.js new file mode 100644 index 000000000..27b8f91da --- /dev/null +++ b/src/components/FileInput.js @@ -0,0 +1,64 @@ +import { useEffect, useRef, useState } from 'react'; +import inputImg from '../assets/img/product/sample2.png'; + +function FileInput({ name, value, onChange }) { + const [preview, setPreview] = useState(value || inputImg); + const inputRef = useRef(); + const [isBoxVisible, setIsBoxVisible] = useState(null); + + const handleChange = e => { + const file = e.target.files[0]; + + if (file) { + onChange(name, file); + const reader = new FileReader(); + reader.onloadend = () => { + setPreview(reader.result); + setIsBoxVisible(true); + }; + reader.readAsDataURL(file); + } else { + onChange(name, null); + setPreview(inputImg); + setIsBoxVisible(false); + } + }; + + const handleRemove = () => { + onChange(name, null); + setPreview(inputImg); + setIsBoxVisible(false); + }; + + useEffect(() => { + if (value) { + setPreview(URL.createObjectURL(value)); + setIsBoxVisible(true); + } else { + setPreview(inputImg); + setIsBoxVisible(false); + } + }, [value]); + + const handleImageError = () => { + setPreview(inputImg); + }; + + return ( +
+ + {isBoxVisible && ( +
+ 상품 이미지 + +
+ )} +
+ ); +} + +export default FileInput; From 2c6a7adba81d68ca5f15536b6b19849234a3916a Mon Sep 17 00:00:00 2001 From: nayoonju Date: Tue, 2 Jul 2024 23:45:07 +0900 Subject: [PATCH 10/15] =?UTF-8?q?feat:=20NavLink=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Nav.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/components/Nav.js diff --git a/src/components/Nav.js b/src/components/Nav.js new file mode 100644 index 000000000..0ffee8e55 --- /dev/null +++ b/src/components/Nav.js @@ -0,0 +1,25 @@ +import React from 'react'; +import { NavLink } from 'react-router-dom'; + +function getLinkStyle({ isActive }) { + return isActive ? 'nav-link active' : 'nav-link'; +} + +function Nav() { + return ( +
    +
  • + + 자유게시판 + +
  • +
  • + + 중고마켓 + +
  • +
+ ); +} + +export default Nav; From 69c0cc8b0a7e739910be6285a093a32314812d5b Mon Sep 17 00:00:00 2001 From: nayoonju Date: Tue, 2 Jul 2024 23:45:35 +0900 Subject: [PATCH 11/15] =?UTF-8?q?fix:=20Additem=20=EB=A6=AC=ED=8C=A9?= =?UTF-8?q?=ED=86=A0=EB=A7=81/=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/AddItem.js | 120 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 115 insertions(+), 5 deletions(-) diff --git a/src/pages/AddItem.js b/src/pages/AddItem.js index 877ff7d18..074724123 100644 --- a/src/pages/AddItem.js +++ b/src/pages/AddItem.js @@ -1,6 +1,116 @@ -function AddItem() { - return (<> - ); -} +import { Helmet } from 'react-helmet'; +import { useState, useMemo, useCallback } from 'react'; +import './AddItem.scss'; +import Header from '../layout/Header'; +import FileInput from '../components/FileInput'; +import TagInput from '../components/TagInput'; -export default AddItem; \ No newline at end of file +const INITIAL_VALUES = { + imgFile: null, + product: '', + content: '', + price: 0, + tag: [], +}; + +const AddItem = () => { + const [values, setValues] = useState(INITIAL_VALUES); + const [resetTagInput, setResetTagInput] = useState(false); + + const resetForm = () => { + setValues(INITIAL_VALUES); + setResetTagInput(true); + }; + + const isFormValid = useMemo(() => { + const { product, content, price, tag } = values; + return product.trim() !== '' && content.trim() !== '' && price !== 0 && tag.length > 0; + }, [values]); + + const handleChange = useCallback((name, value) => { + setValues(prevValues => ({ + ...prevValues, + [name]: value, + })); + }, []); + + const handleInputChange = e => { + const { name, value, type } = e.target; + handleChange(name, type === 'file' ? e.target.files[0] : value); + }; + + const handleTagListChange = useCallback( + tagList => { + handleChange('tag', tagList); + }, + [handleChange], + ); + + const handleSubmit = e => { + e.preventDefault(); + e.stopPropagation(); + alert('등록되었습니다'); + console.log(values); + resetForm(); + }; + + return ( + <> + + 판다마켓 - 상품 등록 + +
+
+
+
+
+

상품 등록하기

+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + ); +}; + +export default AddItem; From 39e2c9b51ee4e90aaadead770898119281ed4247 Mon Sep 17 00:00:00 2001 From: nayoonju Date: Tue, 2 Jul 2024 23:47:28 +0900 Subject: [PATCH 12/15] =?UTF-8?q?feat:=20=EC=A0=84=EC=B2=B4=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=B6=94=EA=B0=80=20=EC=84=B8=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/AddBoard.js | 16 ++++++++++++++++ src/pages/AddBoard.scss | 0 src/pages/Board.js | 16 ++++++++++++++++ src/pages/Board.scss | 0 src/pages/Faq.js | 16 +++++++++++++--- src/pages/Faq.scss | 0 src/pages/Home.js | 18 ++++++++++++++++++ src/pages/Home.scss | 0 src/pages/Login.js | 16 +++++++++++++--- src/pages/Login.scss | 0 src/pages/Notfound.js | 9 +++++++++ src/pages/Notfound.scss | 0 src/pages/Privacy.js | 16 +++++++++++++--- src/pages/Signup.js | 17 ++++++++++++++--- src/pages/Signup.scss | 0 src/pages/privacy.scss | 0 16 files changed, 112 insertions(+), 12 deletions(-) create mode 100644 src/pages/AddBoard.js create mode 100644 src/pages/AddBoard.scss create mode 100644 src/pages/Board.js create mode 100644 src/pages/Board.scss create mode 100644 src/pages/Faq.scss create mode 100644 src/pages/Home.js create mode 100644 src/pages/Home.scss create mode 100644 src/pages/Login.scss create mode 100644 src/pages/Notfound.js create mode 100644 src/pages/Notfound.scss create mode 100644 src/pages/Signup.scss create mode 100644 src/pages/privacy.scss diff --git a/src/pages/AddBoard.js b/src/pages/AddBoard.js new file mode 100644 index 000000000..35a9efdc5 --- /dev/null +++ b/src/pages/AddBoard.js @@ -0,0 +1,16 @@ +import { Helmet } from 'react-helmet'; +import Header from '../layout/Header'; +import './AddBoard.scss'; + +function AddBoard() { + return ( + <> + + 판다마켓 - 자유게시판 등록 + +
; + + ); +} + +export default AddBoard; diff --git a/src/pages/AddBoard.scss b/src/pages/AddBoard.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/pages/Board.js b/src/pages/Board.js new file mode 100644 index 000000000..1e1526911 --- /dev/null +++ b/src/pages/Board.js @@ -0,0 +1,16 @@ +import { Helmet } from 'react-helmet'; +import Header from '../layout/Header'; +import './Board.scss'; + +function Board() { + return ( + <> + + 판다마켓 - 자유게시판 + +
; + + ); +} + +export default Board; diff --git a/src/pages/Board.scss b/src/pages/Board.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/pages/Faq.js b/src/pages/Faq.js index fefe8fa77..b1ba62098 100644 --- a/src/pages/Faq.js +++ b/src/pages/Faq.js @@ -1,6 +1,16 @@ +import { Helmet } from 'react-helmet'; +import Header from '../layout/Header'; +import './Faq.scss'; + function Faq() { - return (<> - ); + return ( + <> + + 판다마켓 - Faq + +
; + + ); } -export default Faq; \ No newline at end of file +export default Faq; diff --git a/src/pages/Faq.scss b/src/pages/Faq.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/pages/Home.js b/src/pages/Home.js new file mode 100644 index 000000000..e8dade7d2 --- /dev/null +++ b/src/pages/Home.js @@ -0,0 +1,18 @@ +import { Helmet } from 'react-helmet'; +import Header from '../layout/Header'; +import Footer from '../layout/Footer'; +import './Home.scss'; + +function Home() { + return ( + <> + + 판다마켓 + +
; +