diff --git a/apps/duri/src/components/home/RecommendedShop.tsx b/apps/duri/src/components/home/RecommendedShop.tsx index c07a3b9e..aab48770 100644 --- a/apps/duri/src/components/home/RecommendedShop.tsx +++ b/apps/duri/src/components/home/RecommendedShop.tsx @@ -24,7 +24,7 @@ const RecommendedShop = ({ shopList }: { shopList: RecommendedShopType[] }) => { )} 여기 샵은 어때요? - + diff --git a/apps/duri/src/components/home/ShopHorizontal.tsx b/apps/duri/src/components/home/ShopHorizontal.tsx index d2a97aa3..683f797a 100644 --- a/apps/duri/src/components/home/ShopHorizontal.tsx +++ b/apps/duri/src/components/home/ShopHorizontal.tsx @@ -41,7 +41,7 @@ export const ShopHorizontal = ({ }; return ( - + {shopList && shopList.map((shop: RegularShopType) => ( diff --git a/apps/duri/src/components/home/ShopVertical.tsx b/apps/duri/src/components/home/ShopVertical.tsx index 419fe0b6..1c62f834 100644 --- a/apps/duri/src/components/home/ShopVertical.tsx +++ b/apps/duri/src/components/home/ShopVertical.tsx @@ -14,17 +14,16 @@ export const ShopVertical = ({ const handleClickShop = (shopIdx: number) => navigate(`/shop/${shopIdx}`); return ( - + {shopList && shopList.map((shop: RecommendedShopType) => ( handleClickShop(shop.shopId)} > {shop.imageURL ? ( @@ -84,6 +83,38 @@ export const ShopVertical = ({ {shop.shopTag2} + + {shop.address} + + + + {shop.shopTag1 && ( + + {shop.shopTag1} + + )} + {shop.shopTag2 && ( + + {shop.shopTag2} + + )} + ))} @@ -94,7 +125,7 @@ export const ShopVertical = ({ const Tag = styled(Button)` padding: 10px; `; -const Wrapper = styled(HeightFitFlex)` +const Wrapper = styled(Flex)` border-radius: 12px; background: var(--bw-white, #fff); box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1); @@ -104,3 +135,7 @@ const Wrapper = styled(HeightFitFlex)` const FitFlex = styled(HeightFitFlex)` width: fit-content; `; + +const TagWrapper = styled(HeightFitFlex)` + min-height: 45px; +`; \ No newline at end of file diff --git a/apps/duri/src/components/my/history/ResponseQuotationHistory.tsx b/apps/duri/src/components/my/history/ResponseQuotationHistory.tsx index 161c68ac..0a3081f3 100644 --- a/apps/duri/src/components/my/history/ResponseQuotationHistory.tsx +++ b/apps/duri/src/components/my/history/ResponseQuotationHistory.tsx @@ -13,7 +13,7 @@ export const ResponseQuotationHistory = ({ const navigate = useNavigate(); const { data: quotationData } = useGetDetailQuotation(requestId); const handleClickReviewButton = (quotationId: number) => { - navigate('/review/write', { + navigate('/my/review/write', { state: { quotationId: quotationId, }, diff --git a/apps/duri/src/components/payment/Widget.tsx b/apps/duri/src/components/payment/Widget.tsx index f0d3ac41..fff81b83 100644 --- a/apps/duri/src/components/payment/Widget.tsx +++ b/apps/duri/src/components/payment/Widget.tsx @@ -32,8 +32,8 @@ const PaymentWidget = ({ const { mutateAsync: postAmount } = usePostAmount(); const { widgets, ready } = useTossPaymentWidget( - uuidData?.customerKey, amount, + uuidData?.customerKey, ); const handleClickPaymentButton = () => { @@ -68,6 +68,14 @@ const PaymentWidget = ({ widgets.setAmount(amount); }, [widgets, amount]); + useEffect(() => { + if (ready) { + setTimeout(() => { + window.dispatchEvent(new Event('resize')); + }, 0); // 0ms 대기 후 스크롤 적용 + } + }, [ready]); + return ( diff --git a/apps/duri/src/components/quotation/IncomingQuotation.tsx b/apps/duri/src/components/quotation/IncomingQuotation.tsx index 125fa9d8..da3f4279 100644 --- a/apps/duri/src/components/quotation/IncomingQuotation.tsx +++ b/apps/duri/src/components/quotation/IncomingQuotation.tsx @@ -20,6 +20,7 @@ export const IncomingQuotation = ({ return ( <> + {isPendingRegularData ? ( + + + + ) : ( + <> + {/* 단골샵이 없는 경우 */} + {regularListData && regularListData.homeShopList.length > 0 ? ( + + ) : ( + + + + 아직 단골샵이 없어요! + + + 단골샵을 찾으러 가볼까요? + + + + + )} + )} @@ -143,16 +157,13 @@ const Home = () => { {/* 추천 샵 */} - {recommendedListLoading || - (recommendedListPending && ( - - - Loading... - - - ))} - {recommendedListData && ( - + {isPendingRecommendData ? ( + + + + + ) : ( + )} diff --git a/apps/duri/src/pages/Login/index.tsx b/apps/duri/src/pages/Login/index.tsx index 4dd382fa..bffc82eb 100644 --- a/apps/duri/src/pages/Login/index.tsx +++ b/apps/duri/src/pages/Login/index.tsx @@ -1,5 +1,5 @@ import { - Doori, + DuriDog, Flex, MobileLayout, NaverLogo, @@ -19,8 +19,8 @@ const LoginPage = () => { {/** 로고 */} - - + + 두리묭실로 쉽고 빠르게 예약해요! { const navigate = useNavigate(); - const handleNavigate = () => navigate(-1); + const handleNavigate = () => navigate('/my'); const { data: reviewListData } = useGetMyReviews(); const [reviewCount, setReviewCount] = useState(0); const [reviewList, setReviewList] = diff --git a/apps/duri/src/pages/Payment/Success.tsx b/apps/duri/src/pages/Payment/Success.tsx index 56f669b3..5f8eb913 100644 --- a/apps/duri/src/pages/Payment/Success.tsx +++ b/apps/duri/src/pages/Payment/Success.tsx @@ -14,6 +14,8 @@ import { } from '@duri-fe/ui'; import { usePostAmountVerity, usePostPayment } from '@duri-fe/utils'; import styled from '@emotion/styled'; +import { format } from 'date-fns'; + const SuccessPage = () => { const navigate = useNavigate(); @@ -133,13 +135,13 @@ const SuccessPage = () => { 결제일시 - 2024-11-21 10:52:16 + {format(new Date(), "yyyy-MM-dd HH:mm:ss")} - 결제카드 + 결제수단 - 현대카드 + 간편결제 diff --git a/apps/duri/src/pages/Quotation/QuotationDetail.tsx b/apps/duri/src/pages/Quotation/QuotationDetail.tsx index 990bb177..74253352 100644 --- a/apps/duri/src/pages/Quotation/QuotationDetail.tsx +++ b/apps/duri/src/pages/Quotation/QuotationDetail.tsx @@ -10,6 +10,7 @@ import { Flex, Header, MobileLayout, + SkeletonCard, Text, theme, } from '@duri-fe/ui'; @@ -40,11 +41,8 @@ const QuotationDetailPage = () => { null, ); - const { data: quotationListData } = useGetQuotationList( - Number(quotationReqId), - lat, - lon, - ); + const { data: quotationListData, isPending: isPendingQuotationList } = + useGetQuotationList(Number(quotationReqId), lat, lon); const handleClickBackButton = () => { navigate(-1); @@ -149,14 +147,24 @@ const QuotationDetailPage = () => { 들어온 견적 - {quotationList?.map(({ requestId, shopName, totalPrice }) => ( - - ))} + {isPendingQuotationList ? ( + + + + + + ) : ( + <> + {quotationList?.map(({ requestId, shopName, totalPrice }) => ( + + ))} + + )} } diff --git a/apps/duri/src/pages/Review/index.tsx b/apps/duri/src/pages/Review/index.tsx index 019adc57..df69fc51 100644 --- a/apps/duri/src/pages/Review/index.tsx +++ b/apps/duri/src/pages/Review/index.tsx @@ -52,7 +52,7 @@ const ReviewWritePage = () => { const { control, handleSubmit, setValue } = useForm({ mode: 'onChange', defaultValues: { - quotationId: location.state || 0, + quotationId: quotationId || 0, rating: 5, comment: '', image: null, diff --git a/apps/salon/package.json b/apps/salon/package.json index 7b3c3fb3..a98d4e2e 100644 --- a/apps/salon/package.json +++ b/apps/salon/package.json @@ -16,6 +16,7 @@ "@duri-fe/utils": "workspace:packages/utils", "@emotion/react": "^11.13.5", "@emotion/styled": "^11.13.5", + "@nivo/pie": "^0.88.0", "@tanstack/react-query": "^5.62.1", "@tanstack/react-query-devtools": "^5.62.2", "@types/node": "^22.10.1", diff --git a/apps/salon/src/assets/images/ShopDefaultImage.png b/apps/salon/src/assets/images/ShopDefaultImage.png index 0fa2f1e0..6670f593 100644 Binary files a/apps/salon/src/assets/images/ShopDefaultImage.png and b/apps/salon/src/assets/images/ShopDefaultImage.png differ diff --git a/apps/salon/src/components/my/info/OwnerInfo.tsx b/apps/salon/src/components/my/info/OwnerInfo.tsx index 3b389af4..14f7c0b7 100644 --- a/apps/salon/src/components/my/info/OwnerInfo.tsx +++ b/apps/salon/src/components/my/info/OwnerInfo.tsx @@ -1,10 +1,4 @@ -import { - Flex, - ProfileImage, - Text, - theme, - WidthFitFlex, -} from '@duri-fe/ui'; +import { Flex, ProfileImage, Text, theme, WidthFitFlex } from '@duri-fe/ui'; import styled from '@emotion/styled'; interface OwnerInfoProps { @@ -22,7 +16,11 @@ export const OwnerInfo = ({ image, shopName }: OwnerInfoProps) => {
안녕하세요! - 내 포트폴리오 보기 + + + 내 포트폴리오 보기 + +
diff --git a/apps/salon/src/pages/Income/Income.tsx b/apps/salon/src/pages/Income/Income.tsx index af848717..9aaeedc2 100644 --- a/apps/salon/src/pages/Income/Income.tsx +++ b/apps/salon/src/pages/Income/Income.tsx @@ -19,7 +19,7 @@ const IncomePage = () => { }; const { data: monthIncomeData } = useGetThisMonthIncome({}); - const { data: selectedIncomeData } = useGetSelectedMonthIncome({ month: 12 }); + const { data: selectedIncomeData } = useGetSelectedMonthIncome({ month: "2024-12" }); const { data: agePetStatistic } = useGetAgeStatistic({}); const { data: diseasePetStatistic } = useGetDiseaseStatistic({}); const { data: characterPetStatistic } = useGetCharacterStatistic({}); diff --git a/apps/salon/src/pages/Login/index.tsx b/apps/salon/src/pages/Login/index.tsx index b5bd0c8e..b2fc8439 100644 --- a/apps/salon/src/pages/Login/index.tsx +++ b/apps/salon/src/pages/Login/index.tsx @@ -1,5 +1,5 @@ import { - Doori, + DuriDog, Flex, MobileLayout, NaverLogo, @@ -19,8 +19,8 @@ const LoginPage = () => { {/** 로고 */} - - + + 두리묭실로 쉽고 빠르게 예약해요! ) => ( + + + + + + + + + +); +export default SvgDuriDog; diff --git a/packages/ui/src/assets/images/ShopDefaultImage.png b/packages/ui/src/assets/images/ShopDefaultImage.png index 0fa2f1e0..6670f593 100644 Binary files a/packages/ui/src/assets/images/ShopDefaultImage.png and b/packages/ui/src/assets/images/ShopDefaultImage.png differ diff --git a/packages/ui/src/assets/index.tsx b/packages/ui/src/assets/index.tsx index 08287981..f4e00366 100644 --- a/packages/ui/src/assets/index.tsx +++ b/packages/ui/src/assets/index.tsx @@ -13,6 +13,7 @@ export { default as Backup } from './Backup'; export { default as BeforeArrow } from './BeforeArrow'; export { default as Chat } from './Chat'; export { default as Chatting } from './Chatting'; +export { default as DuriDog } from './DuriDog'; export { default as Close } from './Close'; export { default as CloseCircle } from './CloseCircle'; export { default as DownArrow } from './DownArrow'; diff --git a/packages/ui/src/components/Quotation/RequestQuotation.tsx b/packages/ui/src/components/Quotation/RequestQuotation.tsx index 02d63b33..f61f8fbf 100644 --- a/packages/ui/src/components/Quotation/RequestQuotation.tsx +++ b/packages/ui/src/components/Quotation/RequestQuotation.tsx @@ -5,6 +5,7 @@ import { Seperator, Text, TextField, + theme, WidthFitFlex, } from '@duri-fe/ui'; import { TimeType } from '@duri-fe/utils'; @@ -73,8 +74,8 @@ export const RequestQuotation = ({ 보호자 - {requestList.userName} - {requestList.userPhone} + {requestList.userName} + {requestList.userPhone} @@ -125,7 +126,7 @@ export const RequestQuotation = ({ gap={12} > 요청사항 - + {/** 하단 버튼 */} diff --git a/packages/ui/src/components/Quotation/ResponseQuotation.tsx b/packages/ui/src/components/Quotation/ResponseQuotation.tsx index 1fb6ac29..302354bf 100644 --- a/packages/ui/src/components/Quotation/ResponseQuotation.tsx +++ b/packages/ui/src/components/Quotation/ResponseQuotation.tsx @@ -11,6 +11,7 @@ import { import styled from '@emotion/styled'; import { format } from 'date-fns'; +import ShopDefaultImage from '../../assets/images/ShopDefaultImage.png'; import { ResponseQuotationType } from '../../types'; import { DetailGrooming } from './DetailGrooming'; @@ -35,7 +36,7 @@ export const ResponseQuotation = ({ {shopName} @@ -80,7 +81,13 @@ export const ResponseQuotation = ({ {memo} ) : ( - + )} diff --git a/packages/ui/src/styles/GlobalStyles.ts b/packages/ui/src/styles/GlobalStyles.ts index 1a173122..9a7dfafc 100644 --- a/packages/ui/src/styles/GlobalStyles.ts +++ b/packages/ui/src/styles/GlobalStyles.ts @@ -58,4 +58,7 @@ export const globalStyle = css` border: none !important; width: 100%; } + .css-1f7sphi { + z-index: -1 !important; + } `; diff --git a/packages/ui/src/types/quotation.ts b/packages/ui/src/types/quotation.ts index 8d21c1a4..509bf6c0 100644 --- a/packages/ui/src/types/quotation.ts +++ b/packages/ui/src/types/quotation.ts @@ -9,6 +9,7 @@ export interface ResponseQuotationType { shopAddress: string; shopPhone: string; groomerName: string; + shopImage: string; }; quotationCreatedAt: string; menuDetail: { diff --git a/packages/utils/src/apis/duri/hooks/home.ts b/packages/utils/src/apis/duri/hooks/home.ts index c17c6ca6..86f34a01 100644 --- a/packages/utils/src/apis/duri/hooks/home.ts +++ b/packages/utils/src/apis/duri/hooks/home.ts @@ -16,12 +16,11 @@ export const useGetPetInfo = () => { }; export const useGetRegularShopList = () => { - const { data, isError } = useQuery({ + return useQuery({ queryKey: ['getRegularShopList'], queryFn: () => getRegularShopInfo(), staleTime: 1000 * 60 * 30, }); - return { data, isError }; }; export const useGetRecommendedShopList = ( diff --git a/packages/utils/src/apis/salon/hooks/income.ts b/packages/utils/src/apis/salon/hooks/income.ts index 2e867046..37a743a7 100644 --- a/packages/utils/src/apis/salon/hooks/income.ts +++ b/packages/utils/src/apis/salon/hooks/income.ts @@ -41,7 +41,7 @@ type UseGetSelectedMonthIncomeType = UseQueryProps< GetSelectedMonthIncomeResponse['response'], BaseError > & { - month: number; + month: string; }; export const useGetSelectedMonthIncome = ({ diff --git a/packages/utils/src/apis/salon/income.ts b/packages/utils/src/apis/salon/income.ts index ca23beaa..e3b3c7c1 100644 --- a/packages/utils/src/apis/salon/income.ts +++ b/packages/utils/src/apis/salon/income.ts @@ -15,7 +15,7 @@ export const getThisMonthIncome = async (): Promise< return data; }; -export const getSelectedMonthIncome = async (month: number): Promise< +export const getSelectedMonthIncome = async (month: string): Promise< GetSelectedMonthIncomeResponse['response'] > => { const { data } = await salonInstance.get('statistics/income/month', { diff --git a/packages/utils/src/apis/types/quotation.ts b/packages/utils/src/apis/types/quotation.ts index 51399666..881e03cf 100644 --- a/packages/utils/src/apis/types/quotation.ts +++ b/packages/utils/src/apis/types/quotation.ts @@ -144,7 +144,6 @@ export interface CompletedQuotationListResponse extends BaseResponse { }; } - //응답 견적서 상세조회 export interface QuotationDetailResponse extends BaseResponse { response: { @@ -163,6 +162,7 @@ export interface ShopDetailType { shopAddress: string; shopPhone: string; groomerName: string; + shopImage: string; } export interface ShopType { diff --git a/packages/utils/src/hooks/useTossPaymentWidget.ts b/packages/utils/src/hooks/useTossPaymentWidget.ts index 28a46784..d847b019 100644 --- a/packages/utils/src/hooks/useTossPaymentWidget.ts +++ b/packages/utils/src/hooks/useTossPaymentWidget.ts @@ -9,8 +9,8 @@ interface Amount { } export const useTossPaymentWidget = ( - customerKey: string | undefined, amount: Amount, + customerKey?: string, ) => { const [ready, setReady] = useState(false); const [widgets, setWidgets] = useState(null); @@ -26,7 +26,20 @@ export const useTossPaymentWidget = ( import.meta.env.VITE_CLIENT_KEY, // Client Key ); + // 기존 위젯을 렌더링할 HTML 요소 제거 + const paymentMethodElement = document.querySelector('#payment-method'); + const agreementElement = document.querySelector('#agreement'); + + if (paymentMethodElement) { + paymentMethodElement.innerHTML = ''; // 기존 내용 제거 + } + + if (agreementElement) { + agreementElement.innerHTML = ''; // 기존 내용 제거 + } + const widgetsInstance = tossPayments.widgets({ customerKey }); + await widgetsInstance.setAmount(amount); await Promise.all([ diff --git a/yarn.lock b/yarn.lock index 28e3c7eb..d53b4c95 100644 --- a/yarn.lock +++ b/yarn.lock @@ -538,6 +538,7 @@ __metadata: "@duri-fe/utils": "workspace:packages/utils" "@emotion/react": "npm:^11.13.5" "@emotion/styled": "npm:^11.13.5" + "@nivo/pie": "npm:^0.88.0" "@tanstack/react-query": "npm:^5.62.1" "@tanstack/react-query-devtools": "npm:^5.62.2" "@types/navermaps": "npm:^3.7.8" @@ -1452,6 +1453,106 @@ __metadata: languageName: node linkType: hard +"@nivo/arcs@npm:0.88.0": + version: 0.88.0 + resolution: "@nivo/arcs@npm:0.88.0" + dependencies: + "@nivo/colors": "npm:0.88.0" + "@nivo/core": "npm:0.88.0" + "@react-spring/web": "npm:9.4.5 || ^9.7.2" + "@types/d3-shape": "npm:^3.1.6" + d3-shape: "npm:^3.2.0" + peerDependencies: + react: ">= 16.14.0 < 19.0.0" + checksum: 10c0/a9fe18e1012fb8d0e7d53b21d4dca8b8510d0773380220553a18052dcfb0886a362126b1a492d82e12c47829a33ac0d6633a89c81611bc0e26bb5ad0928a4246 + languageName: node + linkType: hard + +"@nivo/colors@npm:0.88.0": + version: 0.88.0 + resolution: "@nivo/colors@npm:0.88.0" + dependencies: + "@nivo/core": "npm:0.88.0" + "@types/d3-color": "npm:^3.0.0" + "@types/d3-scale": "npm:^4.0.8" + "@types/d3-scale-chromatic": "npm:^3.0.0" + "@types/prop-types": "npm:^15.7.2" + d3-color: "npm:^3.1.0" + d3-scale: "npm:^4.0.2" + d3-scale-chromatic: "npm:^3.0.0" + lodash: "npm:^4.17.21" + prop-types: "npm:^15.7.2" + peerDependencies: + react: ">= 16.14.0 < 19.0.0" + checksum: 10c0/e52a69fc6fb942f30f053f02e4dd36c4ecdf1012446368b20a5c847f8eb3c2ecb70924505cb3041b0d72efb4f0c5edcb8322b009b7fa3f4934bf154bc7e45776 + languageName: node + linkType: hard + +"@nivo/core@npm:0.88.0": + version: 0.88.0 + resolution: "@nivo/core@npm:0.88.0" + dependencies: + "@nivo/tooltip": "npm:0.88.0" + "@react-spring/web": "npm:9.4.5 || ^9.7.2" + "@types/d3-shape": "npm:^3.1.6" + d3-color: "npm:^3.1.0" + d3-format: "npm:^1.4.4" + d3-interpolate: "npm:^3.0.1" + d3-scale: "npm:^4.0.2" + d3-scale-chromatic: "npm:^3.0.0" + d3-shape: "npm:^3.2.0" + d3-time-format: "npm:^3.0.0" + lodash: "npm:^4.17.21" + prop-types: "npm:^15.7.2" + peerDependencies: + react: ">= 16.14.0 < 19.0.0" + checksum: 10c0/5dbc7f7b78ca502a0ec2bfcd459c20a6fba6bf1a4da19dbd31c50141ec0a2a6506bfde07bdd6f116ff6d96b9d4806de2b87c886ee8a0152eb4b9b1a337f2708c + languageName: node + linkType: hard + +"@nivo/legends@npm:0.88.0": + version: 0.88.0 + resolution: "@nivo/legends@npm:0.88.0" + dependencies: + "@nivo/colors": "npm:0.88.0" + "@nivo/core": "npm:0.88.0" + "@types/d3-scale": "npm:^4.0.8" + d3-scale: "npm:^4.0.2" + peerDependencies: + react: ">= 16.14.0 < 19.0.0" + checksum: 10c0/5d798c9e907d488dcdb0fefaf6ebe72f484a17cb08368328f3ec9aded59ae48d21898d852b7e3639215cae38bdcc9561052426d4efca6106ac0f375f144e5ad2 + languageName: node + linkType: hard + +"@nivo/pie@npm:^0.88.0": + version: 0.88.0 + resolution: "@nivo/pie@npm:0.88.0" + dependencies: + "@nivo/arcs": "npm:0.88.0" + "@nivo/colors": "npm:0.88.0" + "@nivo/core": "npm:0.88.0" + "@nivo/legends": "npm:0.88.0" + "@nivo/tooltip": "npm:0.88.0" + "@types/d3-shape": "npm:^3.1.6" + d3-shape: "npm:^3.2.0" + peerDependencies: + react: ">= 16.14.0 < 19.0.0" + checksum: 10c0/575c3d6520ce80cc5fa74f68feb039b4cbe8ad09669ceda7a1a9ba27e895f1839d030ed8735560d9796488dd266f6e51384bc322f41cd7ed4af4ec5809accf53 + languageName: node + linkType: hard + +"@nivo/tooltip@npm:0.88.0": + version: 0.88.0 + resolution: "@nivo/tooltip@npm:0.88.0" + dependencies: + "@nivo/core": "npm:0.88.0" + "@react-spring/web": "npm:9.4.5 || ^9.7.2" + peerDependencies: + react: ">= 16.14.0 < 19.0.0" + checksum: 10c0/1a5eef73875f7a87984055adffee5f804a1e1be92166c9799877a25ccd61768963b0ad80f603a0e9e5e43e4121bb11e9cce9123078a89e816d1bfae20e9b07bf + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -1559,6 +1660,72 @@ __metadata: languageName: node linkType: hard +"@react-spring/animated@npm:~9.7.5": + version: 9.7.5 + resolution: "@react-spring/animated@npm:9.7.5" + dependencies: + "@react-spring/shared": "npm:~9.7.5" + "@react-spring/types": "npm:~9.7.5" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 10c0/f8c2473c60f39a878c7dd0fdfcfcdbc720521e1506aa3f63c9de64780694a0a73d5ccc535a5ccec3520ddb70a71cf43b038b32c18e99531522da5388c510ecd7 + languageName: node + linkType: hard + +"@react-spring/core@npm:~9.7.5": + version: 9.7.5 + resolution: "@react-spring/core@npm:9.7.5" + dependencies: + "@react-spring/animated": "npm:~9.7.5" + "@react-spring/shared": "npm:~9.7.5" + "@react-spring/types": "npm:~9.7.5" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 10c0/5bfd83dfe248cd91889f215f015d908c7714ef445740fd5afa054b27ebc7d5a456abf6c309e2459d9b5b436e78d6fda16b62b9601f96352e9130552c02270830 + languageName: node + linkType: hard + +"@react-spring/rafz@npm:~9.7.5": + version: 9.7.5 + resolution: "@react-spring/rafz@npm:9.7.5" + checksum: 10c0/8bdad180feaa9a0e870a513043a5e98a4e9b7292a9f887575b7e6fadab2677825bc894b7ff16c38511b35bfe6cc1072df5851c5fee64448d67551559578ca759 + languageName: node + linkType: hard + +"@react-spring/shared@npm:~9.7.5": + version: 9.7.5 + resolution: "@react-spring/shared@npm:9.7.5" + dependencies: + "@react-spring/rafz": "npm:~9.7.5" + "@react-spring/types": "npm:~9.7.5" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 10c0/0207eacccdedd918a2fc55e78356ce937f445ce27ad9abd5d3accba8f9701a39349b55115641dc2b39bb9d3a155b058c185b411d292dc8cc5686bfa56f73b94f + languageName: node + linkType: hard + +"@react-spring/types@npm:~9.7.5": + version: 9.7.5 + resolution: "@react-spring/types@npm:9.7.5" + checksum: 10c0/85c05121853cacb64f7cf63a4855e9044635e1231f70371cd7b8c78bc10be6f4dd7c68f592f92a2607e8bb68051540989b4677a2ccb525dba937f5cd95dc8bc1 + languageName: node + linkType: hard + +"@react-spring/web@npm:9.4.5 || ^9.7.2": + version: 9.7.5 + resolution: "@react-spring/web@npm:9.7.5" + dependencies: + "@react-spring/animated": "npm:~9.7.5" + "@react-spring/core": "npm:~9.7.5" + "@react-spring/shared": "npm:~9.7.5" + "@react-spring/types": "npm:~9.7.5" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 10c0/bcd1e052e1b16341a12a19bf4515f153ca09d1fa86ff7752a5d02d7c4db58e8baf80e6283e64411f1e388c65340dce2254b013083426806b5dbae38bd151e53e + languageName: node + linkType: hard + "@rollup/pluginutils@npm:^5.0.0, @rollup/pluginutils@npm:^5.0.2, @rollup/pluginutils@npm:^5.1.3": version: 5.1.4 resolution: "@rollup/pluginutils@npm:5.1.4" @@ -2609,6 +2776,52 @@ __metadata: languageName: node linkType: hard +"@types/d3-color@npm:^3.0.0": + version: 3.1.3 + resolution: "@types/d3-color@npm:3.1.3" + checksum: 10c0/65eb0487de606eb5ad81735a9a5b3142d30bc5ea801ed9b14b77cb14c9b909f718c059f13af341264ee189acf171508053342142bdf99338667cea26a2d8d6ae + languageName: node + linkType: hard + +"@types/d3-path@npm:*": + version: 3.1.0 + resolution: "@types/d3-path@npm:3.1.0" + checksum: 10c0/85e8b3aa968a60a5b33198ade06ae7ffedcf9a22d86f24859ff58e014b053ccb7141ec163b78d547bc8215bb12bb54171c666057ab6156912814005b686afb31 + languageName: node + linkType: hard + +"@types/d3-scale-chromatic@npm:^3.0.0": + version: 3.1.0 + resolution: "@types/d3-scale-chromatic@npm:3.1.0" + checksum: 10c0/93c564e02d2e97a048e18fe8054e4a935335da6ab75a56c3df197beaa87e69122eef0dfbeb7794d4a444a00e52e3123514ee27cec084bd21f6425b7037828cc2 + languageName: node + linkType: hard + +"@types/d3-scale@npm:^4.0.8": + version: 4.0.8 + resolution: "@types/d3-scale@npm:4.0.8" + dependencies: + "@types/d3-time": "npm:*" + checksum: 10c0/57de90e4016f640b83cb960b7e3a0ab3ed02e720898840ddc5105264ffcfea73336161442fdc91895377c2d2f91904d637282f16852b8535b77e15a761c8e99e + languageName: node + linkType: hard + +"@types/d3-shape@npm:^3.1.6": + version: 3.1.6 + resolution: "@types/d3-shape@npm:3.1.6" + dependencies: + "@types/d3-path": "npm:*" + checksum: 10c0/0625715925d3c7ed3d44ce998b42c993f063c31605b6e4a8046c4be0fe724e2d214fc83e86d04f429a30a6e1f439053e92b0d9e59e1180c3a5327b4a6e79fa0a + languageName: node + linkType: hard + +"@types/d3-time@npm:*": + version: 3.0.4 + resolution: "@types/d3-time@npm:3.0.4" + checksum: 10c0/6d9e2255d63f7a313a543113920c612e957d70da4fb0890931da6c2459010291b8b1f95e149a538500c1c99e7e6c89ffcce5554dd29a31ff134a38ea94b6d174 + languageName: node + linkType: hard + "@types/debug@npm:^4.0.0": version: 4.1.12 resolution: "@types/debug@npm:4.1.12" @@ -2790,7 +3003,7 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:*": +"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.2": version: 15.7.14 resolution: "@types/prop-types@npm:15.7.14" checksum: 10c0/1ec775160bfab90b67a782d735952158c7e702ca4502968aa82565bd8e452c2de8601c8dfe349733073c31179116cf7340710160d3836aa8a1ef76d1532893b1 @@ -4225,6 +4438,129 @@ __metadata: languageName: node linkType: hard +"d3-array@npm:2": + version: 2.12.1 + resolution: "d3-array@npm:2.12.1" + dependencies: + internmap: "npm:^1.0.0" + checksum: 10c0/7eca10427a9f113a4ca6a0f7301127cab26043fd5e362631ef5a0edd1c4b2dd70c56ed317566700c31e4a6d88b55f3951aaba192291817f243b730cb2352882e + languageName: node + linkType: hard + +"d3-array@npm:2 - 3, d3-array@npm:2.10.0 - 3": + version: 3.2.4 + resolution: "d3-array@npm:3.2.4" + dependencies: + internmap: "npm:1 - 2" + checksum: 10c0/08b95e91130f98c1375db0e0af718f4371ccacef7d5d257727fe74f79a24383e79aba280b9ffae655483ffbbad4fd1dec4ade0119d88c4749f388641c8bf8c50 + languageName: node + linkType: hard + +"d3-color@npm:1 - 3, d3-color@npm:^3.1.0": + version: 3.1.0 + resolution: "d3-color@npm:3.1.0" + checksum: 10c0/a4e20e1115fa696fce041fbe13fbc80dc4c19150fa72027a7c128ade980bc0eeeba4bcf28c9e21f0bce0e0dbfe7ca5869ef67746541dcfda053e4802ad19783c + languageName: node + linkType: hard + +"d3-format@npm:1 - 3": + version: 3.1.0 + resolution: "d3-format@npm:3.1.0" + checksum: 10c0/049f5c0871ebce9859fc5e2f07f336b3c5bfff52a2540e0bac7e703fce567cd9346f4ad1079dd18d6f1e0eaa0599941c1810898926f10ac21a31fd0a34b4aa75 + languageName: node + linkType: hard + +"d3-format@npm:^1.4.4": + version: 1.4.5 + resolution: "d3-format@npm:1.4.5" + checksum: 10c0/40800a2fb2182d2d711cea3acc2b8b2b3afdb6f644c51de77feb9b08a6150b14c753933d2fd4ad2f6f45130757b738673372c45b4b820466c560f3b1ec0b3ce8 + languageName: node + linkType: hard + +"d3-interpolate@npm:1 - 3, d3-interpolate@npm:1.2.0 - 3, d3-interpolate@npm:^3.0.1": + version: 3.0.1 + resolution: "d3-interpolate@npm:3.0.1" + dependencies: + d3-color: "npm:1 - 3" + checksum: 10c0/19f4b4daa8d733906671afff7767c19488f51a43d251f8b7f484d5d3cfc36c663f0a66c38fe91eee30f40327443d799be17169f55a293a3ba949e84e57a33e6a + languageName: node + linkType: hard + +"d3-path@npm:^3.1.0": + version: 3.1.0 + resolution: "d3-path@npm:3.1.0" + checksum: 10c0/dc1d58ec87fa8319bd240cf7689995111a124b141428354e9637aa83059eb12e681f77187e0ada5dedfce346f7e3d1f903467ceb41b379bfd01cd8e31721f5da + languageName: node + linkType: hard + +"d3-scale-chromatic@npm:^3.0.0": + version: 3.1.0 + resolution: "d3-scale-chromatic@npm:3.1.0" + dependencies: + d3-color: "npm:1 - 3" + d3-interpolate: "npm:1 - 3" + checksum: 10c0/9a3f4671ab0b971f4a411b42180d7cf92bfe8e8584e637ce7e698d705e18d6d38efbd20ec64f60cc0dfe966c20d40fc172565bc28aaa2990c0a006360eed91af + languageName: node + linkType: hard + +"d3-scale@npm:^4.0.2": + version: 4.0.2 + resolution: "d3-scale@npm:4.0.2" + dependencies: + d3-array: "npm:2.10.0 - 3" + d3-format: "npm:1 - 3" + d3-interpolate: "npm:1.2.0 - 3" + d3-time: "npm:2.1.1 - 3" + d3-time-format: "npm:2 - 4" + checksum: 10c0/65d9ad8c2641aec30ed5673a7410feb187a224d6ca8d1a520d68a7d6eac9d04caedbff4713d1e8545be33eb7fec5739983a7ab1d22d4e5ad35368c6729d362f1 + languageName: node + linkType: hard + +"d3-shape@npm:^3.2.0": + version: 3.2.0 + resolution: "d3-shape@npm:3.2.0" + dependencies: + d3-path: "npm:^3.1.0" + checksum: 10c0/f1c9d1f09926daaf6f6193ae3b4c4b5521e81da7d8902d24b38694517c7f527ce3c9a77a9d3a5722ad1e3ff355860b014557b450023d66a944eabf8cfde37132 + languageName: node + linkType: hard + +"d3-time-format@npm:2 - 4": + version: 4.1.0 + resolution: "d3-time-format@npm:4.1.0" + dependencies: + d3-time: "npm:1 - 3" + checksum: 10c0/735e00fb25a7fd5d418fac350018713ae394eefddb0d745fab12bbff0517f9cdb5f807c7bbe87bb6eeb06249662f8ea84fec075f7d0cd68609735b2ceb29d206 + languageName: node + linkType: hard + +"d3-time-format@npm:^3.0.0": + version: 3.0.0 + resolution: "d3-time-format@npm:3.0.0" + dependencies: + d3-time: "npm:1 - 2" + checksum: 10c0/0abe3379f07d1c12ce8930cdddad1223c99cd3e4eac05cf409b5a7953e9ebed56a95a64b0977f63958cfb6101fa4a2a85533a5eae40df84f22c0117dbf5e8982 + languageName: node + linkType: hard + +"d3-time@npm:1 - 2": + version: 2.1.1 + resolution: "d3-time@npm:2.1.1" + dependencies: + d3-array: "npm:2" + checksum: 10c0/4a01770a857bc37d2bafb8f00250e0e6a1fcc8051aea93e5eed168d8ee93e92da508a75ab5e42fc5472aa37e2a83aac68afaf3f12d9167c184ce781faadf5682 + languageName: node + linkType: hard + +"d3-time@npm:1 - 3, d3-time@npm:2.1.1 - 3": + version: 3.1.0 + resolution: "d3-time@npm:3.1.0" + dependencies: + d3-array: "npm:2 - 3" + checksum: 10c0/a984f77e1aaeaa182679b46fbf57eceb6ebdb5f67d7578d6f68ef933f8eeb63737c0949991618a8d29472dbf43736c7d7f17c452b2770f8c1271191cba724ca1 + languageName: node + linkType: hard + "dargs@npm:^7.0.0": version: 7.0.0 resolution: "dargs@npm:7.0.0" @@ -6416,6 +6752,20 @@ __metadata: languageName: node linkType: hard +"internmap@npm:1 - 2": + version: 2.0.3 + resolution: "internmap@npm:2.0.3" + checksum: 10c0/8cedd57f07bbc22501516fbfc70447f0c6812871d471096fad9ea603516eacc2137b633633daf432c029712df0baefd793686388ddf5737e3ea15074b877f7ed + languageName: node + linkType: hard + +"internmap@npm:^1.0.0": + version: 1.0.1 + resolution: "internmap@npm:1.0.1" + checksum: 10c0/60942be815ca19da643b6d4f23bd0bf4e8c97abbd080fb963fe67583b60bdfb3530448ad4486bae40810e92317bded9995cc31411218acc750d72cd4e8646eee + languageName: node + linkType: hard + "ip-address@npm:^9.0.5": version: 9.0.5 resolution: "ip-address@npm:9.0.5"