From d8f78345b46f8f47013e7d181ae41225362a5f19 Mon Sep 17 00:00:00 2001 From: kundan singh Date: Thu, 28 Mar 2024 18:38:10 +0530 Subject: [PATCH] feat: initial setup of tourism app --- apps/tourism/.prettierignore | 4 + apps/tourism/Jenkinsfile | 29 + .../components/BottomModal/BottomModal.tsx | 65 + .../BottomModal/BottomModalScan.tsx | 56 + apps/tourism/components/BottomModal/index.tsx | 3 + apps/tourism/components/UI/Breadcrumb.tsx | 83 + .../components/UI/CarouselBox/CarouselBox.tsx | 108 + .../UI/CarouselBox/CarouselBoxArrows.tsx | 25 + .../UI/CarouselBox/CarouselBoxCard.tsx | 41 + apps/tourism/components/UI/DropDown.tsx | 94 + apps/tourism/components/UI/Input.tsx | 72 + .../components/UI/MenuItems/MenuItems.tsx | 92 + apps/tourism/components/UI/ProductPrice.tsx | 44 + .../components/UI/SectionTitle/index.tsx | 12 + apps/tourism/components/UI/card/Card.tsx | 111 + .../components/UI/card/CardActions.tsx | 69 + .../UI/discountCountdown/DateTimeDisplay.tsx | 25 + .../discountCountdown/DiscountCountdown.tsx | 25 + .../UI/discountCountdown/ExpiredNotice.tsx | 13 + .../UI/discountCountdown/ShowCounter.tsx | 40 + .../components/appHeader/AppHeader.tsx | 41 + .../components/assemblyDetails/index.tsx | 352 + apps/tourism/components/button/Button.tsx | 39 + apps/tourism/components/card/Card.module.css | 35 + apps/tourism/components/card/Card.tsx | 93 + apps/tourism/components/card/CardUncked.tsx | 90 + .../components/emptyCart/EmptyCart.tsx | 15 + apps/tourism/components/filter/Filter.tsx | 206 + .../GeoLocationInput.module.css | 125 + .../geoLocationInput/GeoLocationInputList.tsx | 126 + apps/tourism/components/header/SearchBar.tsx | 58 + .../components/header/header.module.css | 84 + apps/tourism/components/header/index.tsx | 410 ++ .../components/layout/Layout.module.css | 40 + apps/tourism/components/layout/Layout.tsx | 65 + .../components/loader/LoaderWithMessage.tsx | 38 + .../components/orderHistory/emptyOrder.tsx | 50 + .../productCard/product-card-renderer.tsx | 138 + .../productDetails/CallToAction.tsx | 49 + .../productDetails/DetailsSection.tsx | 90 + .../productDetails/ImageSection.tsx | 62 + .../productDetails/ProductPageActions.tsx | 42 + .../productDetails/SimilarProducts.tsx | 27 + .../components/productDetails/index.tsx | 85 + .../components/productList/ProductList.tsx | 68 + apps/tourism/components/productList/Sort.tsx | 99 + .../productList/SubmenuCategory.tsx | 47 + .../components/qrCode/QrCode.module.css | 3 + apps/tourism/components/qrCode/Qrcode.tsx | 18 + .../components/starRating/StarRating.tsx | 58 + .../components/topSheet/TopSheet.module.css | 17 + apps/tourism/components/topSheet/TopSheet.tsx | 179 + apps/tourism/garudaa-1.0.0.tgz | Bin 0 -> 63816 bytes apps/tourism/global.d.ts | 5 + apps/tourism/hooks/useLanguage.tsx | 9 + .../lib/types/geoLocationSearchPage.ts | 9 + apps/tourism/lib/types/products.ts | 101 + apps/tourism/lib/types/search.ts | 4 + apps/tourism/locales/en.ts | 110 + apps/tourism/locales/fa.ts | 350 + apps/tourism/next-env.d.ts | 5 + apps/tourism/next-sitemap.config.js | 6 + apps/tourism/next.config.js | 48 + apps/tourism/npm | 0 apps/tourism/package-lock.json | 5794 +++++++++++++++++ apps/tourism/package.json | 79 + apps/tourism/pages/_app.tsx | 42 + apps/tourism/pages/_document.tsx | 39 + apps/tourism/pages/assemblyDetails.tsx | 10 + apps/tourism/pages/cart.tsx | 8 + apps/tourism/pages/checkoutPage.tsx | 309 + apps/tourism/pages/feedback.tsx | 153 + apps/tourism/pages/filter.tsx | 38 + apps/tourism/pages/homePage.tsx | 89 + apps/tourism/pages/index.tsx | 220 + apps/tourism/pages/invoiceDetails.tsx | 111 + apps/tourism/pages/orderCancellation.tsx | 74 + apps/tourism/pages/orderConfirmation.tsx | 110 + apps/tourism/pages/orderDetails.tsx | 790 +++ apps/tourism/pages/orderHistory.tsx | 157 + apps/tourism/pages/paymentMode.tsx | 114 + apps/tourism/pages/product.tsx | 40 + apps/tourism/pages/profile.tsx | 128 + apps/tourism/pages/updateShippingDetails.tsx | 163 + .../public/fonts/ttf/iranyekanwebblack.ttf | Bin 0 -> 58592 bytes .../public/fonts/ttf/iranyekanwebbold.ttf | Bin 0 -> 58800 bytes .../fonts/ttf/iranyekanwebextrablack.ttf | Bin 0 -> 60276 bytes .../fonts/ttf/iranyekanwebextrabold.ttf | Bin 0 -> 59096 bytes .../public/fonts/ttf/iranyekanweblight.ttf | Bin 0 -> 60536 bytes .../public/fonts/ttf/iranyekanwebmedium.ttf | Bin 0 -> 59604 bytes .../public/fonts/ttf/iranyekanwebregular.ttf | Bin 0 -> 59456 bytes .../public/fonts/ttf/iranyekanwebthin.ttf | Bin 0 -> 62628 bytes .../public/fonts/woff/iranyekanwebblack.woff | Bin 0 -> 34333 bytes .../public/fonts/woff/iranyekanwebbold.woff | Bin 0 -> 34897 bytes .../fonts/woff/iranyekanwebextrablack.woff | Bin 0 -> 35393 bytes .../fonts/woff/iranyekanwebextrabold.woff | Bin 0 -> 34097 bytes .../public/fonts/woff/iranyekanweblight.woff | Bin 0 -> 35273 bytes .../public/fonts/woff/iranyekanwebmedium.woff | Bin 0 -> 35925 bytes .../fonts/woff/iranyekanwebregular.woff | Bin 0 -> 34933 bytes .../public/fonts/woff/iranyekanwebthin.woff | Bin 0 -> 35621 bytes apps/tourism/public/images/3-dots.svg | 5 + apps/tourism/public/images/Back.svg | 3 + apps/tourism/public/images/CallphoneIcon.svg | 3 + apps/tourism/public/images/CenterMarker.svg | 3 + apps/tourism/public/images/CommerceLogo.svg | 20 + .../tourism/public/images/ENABLE LOCATION.svg | 11 + apps/tourism/public/images/EmptyInbox.svg | 10 + apps/tourism/public/images/Hamburger1.svg | 19 + apps/tourism/public/images/Home_icon.svg | 3 + apps/tourism/public/images/Indicator.svg | 3 + apps/tourism/public/images/Kuza-mini.svg | 3 + apps/tourism/public/images/KuzaLogo.svg | 9 + apps/tourism/public/images/LocateMe.svg | 20 + apps/tourism/public/images/Location.svg | 20 + apps/tourism/public/images/LocationIcon2.svg | 3 + apps/tourism/public/images/LoginIcon.svg | 27 + apps/tourism/public/images/Logo.svg | 10 + apps/tourism/public/images/Payment.svg | 34 + apps/tourism/public/images/SearchIcon1.svg | 3 + apps/tourism/public/images/SelectedMarker.svg | 4 + apps/tourism/public/images/Star.svg | 3 + .../public/images/Suppliflow_app_logo.svg | 3 + .../tourism/public/images/Suppliflow_logo.svg | 15 + apps/tourism/public/images/TrackIcon.svg | 5 + apps/tourism/public/images/about-me.svg | 1 + apps/tourism/public/images/addShippingBtn.svg | 3 + apps/tourism/public/images/backArrow.svg | 3 + .../public/images/banners-img/home1.webp | Bin 0 -> 21242 bytes .../public/images/banners-img/home2.webp | Bin 0 -> 13636 bytes .../benefit-icons/003-cash-on-delivery.webp | Bin 0 -> 1386 bytes .../images/benefit-icons/004-headphones.webp | Bin 0 -> 3280 bytes .../benefit-icons/005-delivery-truck-2.webp | Bin 0 -> 1510 bytes .../images/benefit-icons/006-best-seller.webp | Bin 0 -> 1984 bytes .../images/benefit-icons/007-return.webp | Bin 0 -> 1386 bytes .../public/images/brand-logo-img/adidas.webp | Bin 0 -> 1992 bytes .../public/images/brand-logo-img/apple.webp | Bin 0 -> 3634 bytes .../public/images/brand-logo-img/asus.webp | Bin 0 -> 3878 bytes .../public/images/brand-logo-img/benq.webp | Bin 0 -> 1488 bytes .../public/images/brand-logo-img/bvlgari.webp | Bin 0 -> 2154 bytes .../public/images/brand-logo-img/del.webp | Bin 0 -> 2970 bytes .../public/images/brand-logo-img/dior.webp | Bin 0 -> 2132 bytes .../images/brand-logo-img/dolce-gabbana.webp | Bin 0 -> 1428 bytes .../public/images/brand-logo-img/gucci.webp | Bin 0 -> 1976 bytes .../public/images/brand-logo-img/hp.webp | Bin 0 -> 3300 bytes .../public/images/brand-logo-img/lg.webp | Bin 0 -> 1440 bytes .../public/images/brand-logo-img/loreal.webp | Bin 0 -> 2426 bytes .../images/brand-logo-img/louis-vuitton.webp | Bin 0 -> 1930 bytes .../public/images/brand-logo-img/mac.webp | Bin 0 -> 1180 bytes .../images/brand-logo-img/maybelline.webp | Bin 0 -> 1774 bytes .../public/images/brand-logo-img/msi.webp | Bin 0 -> 1264 bytes .../images/brand-logo-img/patek-philippe.webp | Bin 0 -> 2330 bytes .../public/images/brand-logo-img/puma.webp | Bin 0 -> 1380 bytes .../public/images/brand-logo-img/rolex.webp | Bin 0 -> 2266 bytes .../public/images/brand-logo-img/samsung.webp | Bin 0 -> 3078 bytes .../public/images/brand-logo-img/sony.webp | Bin 0 -> 1470 bytes .../public/images/brand-logo-img/toshiba.webp | Bin 0 -> 1562 bytes .../public/images/brand-logo-img/versace.webp | Bin 0 -> 4914 bytes .../public/images/brand-logo-img/xiaomi.webp | Bin 0 -> 1396 bytes apps/tourism/public/images/callCustomer.svg | 3 + apps/tourism/public/images/cancelOrder.svg | 3 + apps/tourism/public/images/cancelled.svg | 3 + apps/tourism/public/images/cancleHomeImg.svg | 7 + .../images/carouselBox-bg/offersbg.webp | Bin 0 -> 6386 bytes apps/tourism/public/images/cartIcon.svg | 19 + apps/tourism/public/images/cash.svg | 15 + .../images/category-icon/beauty-category.webp | Bin 0 -> 1884 bytes .../public/images/category-icon/beverages.svg | 9 + .../public/images/category-icon/dairy.svg | 9 + .../category-icon/digital-category.webp | Bin 0 -> 1368 bytes .../category-icon/fashion-category.webp | Bin 0 -> 1570 bytes .../images/category-icon/frozen-food.svg | 9 + .../images/category-icon/fruits-Vegetable.svg | 9 + .../images/category-icon/house-category.webp | Bin 0 -> 1276 bytes .../images/category-icon/meat-and-fish.svg | 9 + .../public/images/category-icon/snacks.svg | 9 + .../images/category-icon/sport-category.webp | Bin 0 -> 2146 bytes .../category-icon/stationery-category.webp | Bin 0 -> 2732 bytes .../images/category-icon/toy-category.webp | Bin 0 -> 2972 bytes .../images/category-img/beauty-category.webp | Bin 0 -> 19702 bytes .../public/images/category-img/beverages.svg | 9 + .../public/images/category-img/dairy.svg | 9 + .../images/category-img/digital-category.webp | Bin 0 -> 26416 bytes .../images/category-img/fashion-category.webp | Bin 0 -> 97882 bytes .../images/category-img/frozen-food.svg | 9 + .../category-img/fruitsAndVegetables.svg | 9 + .../images/category-img/house-category.webp | Bin 0 -> 59492 bytes .../images/category-img/meat-and-fish.svg | 9 + .../public/images/category-img/snacks.svg | 9 + .../images/category-img/sport-category.webp | Bin 0 -> 30680 bytes .../category-img/stationery-category.webp | Bin 0 -> 25172 bytes .../images/category-img/toy-category.webp | Bin 0 -> 19648 bytes apps/tourism/public/images/completed.svg | 3 + apps/tourism/public/images/crossIcon.svg | 3 + .../public/images/deliveryAgentBlack.svg | 3 + .../public/images/deliveryAgentRed.svg | 3 + .../public/images/discount-icon/discount.webp | Bin 0 -> 10528 bytes apps/tourism/public/images/downArrow.svg | 3 + .../tourism/public/images/downloadInvoice.svg | 5 + apps/tourism/public/images/emailCustomer.svg | 4 + apps/tourism/public/images/feedbackImg.svg | 204 + apps/tourism/public/images/filter-btn.svg | 13 + apps/tourism/public/images/filter-icon.svg | 13 + apps/tourism/public/images/footer.svg | 9 + apps/tourism/public/images/greenVeg.svg | 6 + apps/tourism/public/images/hamburger.png | Bin 0 -> 2736 bytes apps/tourism/public/images/invoiceDetails.svg | 7 + .../public/images/landingPageTourism.svg | 19 + apps/tourism/public/images/lineBlack.svg | 3 + apps/tourism/public/images/lineRed.svg | 3 + apps/tourism/public/images/locationIcon.svg | 4 + apps/tourism/public/images/logo.png | Bin 0 -> 11055 bytes apps/tourism/public/images/masterCard.svg | 15 + apps/tourism/public/images/menuham.svg | 19 + apps/tourism/public/images/meter.svg | 6 + apps/tourism/public/images/nameIcon.svg | 3 + apps/tourism/public/images/netbanking.svg | 15 + apps/tourism/public/images/ofdBlack.svg | 11 + apps/tourism/public/images/ofdRed.svg | 11 + apps/tourism/public/images/openCommerce.svg | 21 + apps/tourism/public/images/orderConfirmed.svg | 3 + .../public/images/orderConfirmmark.svg | 28 + .../public/images/orderDeliveredBlack.svg | 4 + .../public/images/orderDeliveredRed.svg | 4 + .../public/images/orderDetailsIcon.svg | 14 + apps/tourism/public/images/orderHistory.svg | 9 + .../public/images/orderHistoryPageIcon.svg | 106 + apps/tourism/public/images/pendingStatus.svg | 10 + apps/tourism/public/images/phonePay.svg | 17 + .../tourism/public/images/phonePayPayment.svg | 17 + apps/tourism/public/images/proceedToPay.svg | 3 + apps/tourism/public/images/qrCode.svg | 9 + apps/tourism/public/images/redNonVeg.svg | 6 + apps/tourism/public/images/rightArrow.svg | 3 + apps/tourism/public/images/search.svg | 3 + apps/tourism/public/images/searchHome.svg | 3 + apps/tourism/public/images/searchIcon.svg | 3 + apps/tourism/public/images/searchInput.svg | 3 + .../public/images/searchlocationmarker.svg | 3 + apps/tourism/public/images/setLocation.svg | 4 + .../images/slider-img/Hamburger (1).svg | 19 + .../images/slider-img/beauty-banner.webp | Bin 0 -> 62990 bytes .../images/slider-img/digital-banner.webp | Bin 0 -> 103756 bytes .../images/slider-img/fashion-banner.webp | Bin 0 -> 101722 bytes .../images/slider-img/house-banner.webp | Bin 0 -> 70606 bytes .../images/slider-img/stationery-banner.webp | Bin 0 -> 97024 bytes .../public/images/slider-img/toy-banner.webp | Bin 0 -> 60638 bytes apps/tourism/public/images/speaker.svg | 29 + apps/tourism/public/images/store-images/1.png | Bin 0 -> 3694 bytes apps/tourism/public/images/store-images/2.png | Bin 0 -> 15399 bytes apps/tourism/public/images/store-images/3.png | Bin 0 -> 14345 bytes apps/tourism/public/images/store-images/4.png | Bin 0 -> 15967 bytes .../public/images/store-options/Books.svg | 10 + .../images/store-options/Books_light.svg | 10 + .../public/images/store-options/Hospitals.svg | 3 + .../images/store-options/Hospitals_light.svg | 3 + .../public/images/store-options/Hotels.svg | 3 + .../images/store-options/Hotels_light.svg | 3 + .../images/store-options/Restaurants.svg | 3 + .../store-options/Restaurants_light.svg | 3 + .../public/images/store-options/Shopping.svg | 3 + .../images/store-options/Shopping_light.svg | 3 + apps/tourism/public/images/supFevIcon.svg | 5 + apps/tourism/public/images/threeDots.svg | 5 + apps/tourism/public/images/tourismIcon.svg | 9 + apps/tourism/public/images/trackOrder.svg | 4 + apps/tourism/public/images/trackOrderMap.svg | 177 + apps/tourism/public/images/uparrow.svg | 3 + apps/tourism/public/images/updateOrder.svg | 4 + apps/tourism/public/images/user.svg | 5 + apps/tourism/public/images/visa.svg | 15 + apps/tourism/public/images/zishopBanner.png | Bin 0 -> 271448 bytes apps/tourism/public/robots.txt | 9 + apps/tourism/public/sitemap-0.xml | 24 + apps/tourism/public/sitemap.xml | 4 + apps/tourism/services/Users.ts | 36 + apps/tourism/services/types.ts | 4 + apps/tourism/store/activeMenuItem-slice.ts | 24 + apps/tourism/store/cart-slice.ts | 75 + apps/tourism/store/cartUI-slice.ts | 20 + apps/tourism/store/favorite-slice.ts | 30 + .../store/geoMapLocationSearch-slice.ts | 31 + apps/tourism/store/index.ts | 41 + apps/tourism/store/megaMenu-slice.ts | 23 + apps/tourism/store/newestProduct-slice.ts | 22 + apps/tourism/store/responseData-slice.ts | 33 + apps/tourism/store/settingBox-slice.ts | 26 + apps/tourism/store/sideNavBar-slice.ts | 40 + apps/tourism/store/sortedProductList-slice.ts | 40 + .../store/specialOfferProducts-slice.ts | 22 + apps/tourism/store/user-slice.ts | 23 + apps/tourism/styles/globals.css | 103 + apps/tourism/tsconfig.json | 21 + apps/tourism/types/confirm.types.ts | 170 + apps/tourism/types/init.types.ts | 152 + apps/tourism/types/order-details.types.ts | 24 + apps/tourism/types/order-history.types.ts | 67 + apps/tourism/types/search.types.ts | 112 + apps/tourism/types/select.types.ts | 75 + apps/tourism/types/status.types.ts | 175 + apps/tourism/utilities/auth.ts | 8 + .../utilities/calculateDiscountPercentage.ts | 3 + apps/tourism/utilities/cart-utils.ts | 75 + .../utilities/changeNumbersFormatEnToFa.ts | 2 + apps/tourism/utilities/checkout-utils.ts | 198 + apps/tourism/utilities/common-utils.ts | 40 + apps/tourism/utilities/confirm-utils.ts | 195 + apps/tourism/utilities/currencyFormat.ts | 9 + apps/tourism/utilities/error.ts | 4 + apps/tourism/utilities/form-utils.ts | 104 + apps/tourism/utilities/homePage.utils.ts | 27 + apps/tourism/utilities/orderDetails-utils.ts | 65 + apps/tourism/utilities/orderHistory-utils.ts | 27 + .../tourism/utilities/search-results.utils.ts | 45 + apps/tourism/utilities/sortByCost.ts | 9 + apps/tourism/utilities/sortByPopularity.ts | 10 + apps/tourism/utilities/sortByTimeStamp.ts | 28 + package.json | 3 + yarn.lock | 79 + 318 files changed, 16713 insertions(+) create mode 100644 apps/tourism/.prettierignore create mode 100644 apps/tourism/Jenkinsfile create mode 100644 apps/tourism/components/BottomModal/BottomModal.tsx create mode 100644 apps/tourism/components/BottomModal/BottomModalScan.tsx create mode 100644 apps/tourism/components/BottomModal/index.tsx create mode 100644 apps/tourism/components/UI/Breadcrumb.tsx create mode 100644 apps/tourism/components/UI/CarouselBox/CarouselBox.tsx create mode 100644 apps/tourism/components/UI/CarouselBox/CarouselBoxArrows.tsx create mode 100644 apps/tourism/components/UI/CarouselBox/CarouselBoxCard.tsx create mode 100644 apps/tourism/components/UI/DropDown.tsx create mode 100644 apps/tourism/components/UI/Input.tsx create mode 100644 apps/tourism/components/UI/MenuItems/MenuItems.tsx create mode 100644 apps/tourism/components/UI/ProductPrice.tsx create mode 100644 apps/tourism/components/UI/SectionTitle/index.tsx create mode 100644 apps/tourism/components/UI/card/Card.tsx create mode 100644 apps/tourism/components/UI/card/CardActions.tsx create mode 100644 apps/tourism/components/UI/discountCountdown/DateTimeDisplay.tsx create mode 100644 apps/tourism/components/UI/discountCountdown/DiscountCountdown.tsx create mode 100644 apps/tourism/components/UI/discountCountdown/ExpiredNotice.tsx create mode 100644 apps/tourism/components/UI/discountCountdown/ShowCounter.tsx create mode 100644 apps/tourism/components/appHeader/AppHeader.tsx create mode 100644 apps/tourism/components/assemblyDetails/index.tsx create mode 100644 apps/tourism/components/button/Button.tsx create mode 100644 apps/tourism/components/card/Card.module.css create mode 100644 apps/tourism/components/card/Card.tsx create mode 100644 apps/tourism/components/card/CardUncked.tsx create mode 100644 apps/tourism/components/emptyCart/EmptyCart.tsx create mode 100644 apps/tourism/components/filter/Filter.tsx create mode 100644 apps/tourism/components/geoLocationInput/GeoLocationInput.module.css create mode 100644 apps/tourism/components/geoLocationInput/GeoLocationInputList.tsx create mode 100644 apps/tourism/components/header/SearchBar.tsx create mode 100644 apps/tourism/components/header/header.module.css create mode 100644 apps/tourism/components/header/index.tsx create mode 100644 apps/tourism/components/layout/Layout.module.css create mode 100644 apps/tourism/components/layout/Layout.tsx create mode 100644 apps/tourism/components/loader/LoaderWithMessage.tsx create mode 100644 apps/tourism/components/orderHistory/emptyOrder.tsx create mode 100644 apps/tourism/components/productCard/product-card-renderer.tsx create mode 100644 apps/tourism/components/productDetails/CallToAction.tsx create mode 100644 apps/tourism/components/productDetails/DetailsSection.tsx create mode 100644 apps/tourism/components/productDetails/ImageSection.tsx create mode 100644 apps/tourism/components/productDetails/ProductPageActions.tsx create mode 100644 apps/tourism/components/productDetails/SimilarProducts.tsx create mode 100644 apps/tourism/components/productDetails/index.tsx create mode 100644 apps/tourism/components/productList/ProductList.tsx create mode 100644 apps/tourism/components/productList/Sort.tsx create mode 100644 apps/tourism/components/productList/SubmenuCategory.tsx create mode 100644 apps/tourism/components/qrCode/QrCode.module.css create mode 100644 apps/tourism/components/qrCode/Qrcode.tsx create mode 100644 apps/tourism/components/starRating/StarRating.tsx create mode 100644 apps/tourism/components/topSheet/TopSheet.module.css create mode 100644 apps/tourism/components/topSheet/TopSheet.tsx create mode 100644 apps/tourism/garudaa-1.0.0.tgz create mode 100644 apps/tourism/global.d.ts create mode 100644 apps/tourism/hooks/useLanguage.tsx create mode 100644 apps/tourism/lib/types/geoLocationSearchPage.ts create mode 100644 apps/tourism/lib/types/products.ts create mode 100644 apps/tourism/lib/types/search.ts create mode 100644 apps/tourism/locales/en.ts create mode 100644 apps/tourism/locales/fa.ts create mode 100644 apps/tourism/next-env.d.ts create mode 100644 apps/tourism/next-sitemap.config.js create mode 100644 apps/tourism/next.config.js create mode 100644 apps/tourism/npm create mode 100644 apps/tourism/package-lock.json create mode 100644 apps/tourism/package.json create mode 100644 apps/tourism/pages/_app.tsx create mode 100644 apps/tourism/pages/_document.tsx create mode 100644 apps/tourism/pages/assemblyDetails.tsx create mode 100644 apps/tourism/pages/cart.tsx create mode 100644 apps/tourism/pages/checkoutPage.tsx create mode 100644 apps/tourism/pages/feedback.tsx create mode 100644 apps/tourism/pages/filter.tsx create mode 100644 apps/tourism/pages/homePage.tsx create mode 100644 apps/tourism/pages/index.tsx create mode 100644 apps/tourism/pages/invoiceDetails.tsx create mode 100644 apps/tourism/pages/orderCancellation.tsx create mode 100644 apps/tourism/pages/orderConfirmation.tsx create mode 100644 apps/tourism/pages/orderDetails.tsx create mode 100644 apps/tourism/pages/orderHistory.tsx create mode 100644 apps/tourism/pages/paymentMode.tsx create mode 100644 apps/tourism/pages/product.tsx create mode 100644 apps/tourism/pages/profile.tsx create mode 100644 apps/tourism/pages/updateShippingDetails.tsx create mode 100644 apps/tourism/public/fonts/ttf/iranyekanwebblack.ttf create mode 100644 apps/tourism/public/fonts/ttf/iranyekanwebbold.ttf create mode 100644 apps/tourism/public/fonts/ttf/iranyekanwebextrablack.ttf create mode 100644 apps/tourism/public/fonts/ttf/iranyekanwebextrabold.ttf create mode 100644 apps/tourism/public/fonts/ttf/iranyekanweblight.ttf create mode 100644 apps/tourism/public/fonts/ttf/iranyekanwebmedium.ttf create mode 100644 apps/tourism/public/fonts/ttf/iranyekanwebregular.ttf create mode 100644 apps/tourism/public/fonts/ttf/iranyekanwebthin.ttf create mode 100644 apps/tourism/public/fonts/woff/iranyekanwebblack.woff create mode 100644 apps/tourism/public/fonts/woff/iranyekanwebbold.woff create mode 100644 apps/tourism/public/fonts/woff/iranyekanwebextrablack.woff create mode 100644 apps/tourism/public/fonts/woff/iranyekanwebextrabold.woff create mode 100644 apps/tourism/public/fonts/woff/iranyekanweblight.woff create mode 100644 apps/tourism/public/fonts/woff/iranyekanwebmedium.woff create mode 100644 apps/tourism/public/fonts/woff/iranyekanwebregular.woff create mode 100644 apps/tourism/public/fonts/woff/iranyekanwebthin.woff create mode 100644 apps/tourism/public/images/3-dots.svg create mode 100644 apps/tourism/public/images/Back.svg create mode 100644 apps/tourism/public/images/CallphoneIcon.svg create mode 100644 apps/tourism/public/images/CenterMarker.svg create mode 100644 apps/tourism/public/images/CommerceLogo.svg create mode 100644 apps/tourism/public/images/ENABLE LOCATION.svg create mode 100644 apps/tourism/public/images/EmptyInbox.svg create mode 100644 apps/tourism/public/images/Hamburger1.svg create mode 100644 apps/tourism/public/images/Home_icon.svg create mode 100644 apps/tourism/public/images/Indicator.svg create mode 100644 apps/tourism/public/images/Kuza-mini.svg create mode 100644 apps/tourism/public/images/KuzaLogo.svg create mode 100644 apps/tourism/public/images/LocateMe.svg create mode 100644 apps/tourism/public/images/Location.svg create mode 100644 apps/tourism/public/images/LocationIcon2.svg create mode 100644 apps/tourism/public/images/LoginIcon.svg create mode 100755 apps/tourism/public/images/Logo.svg create mode 100644 apps/tourism/public/images/Payment.svg create mode 100644 apps/tourism/public/images/SearchIcon1.svg create mode 100644 apps/tourism/public/images/SelectedMarker.svg create mode 100644 apps/tourism/public/images/Star.svg create mode 100644 apps/tourism/public/images/Suppliflow_app_logo.svg create mode 100644 apps/tourism/public/images/Suppliflow_logo.svg create mode 100644 apps/tourism/public/images/TrackIcon.svg create mode 100644 apps/tourism/public/images/about-me.svg create mode 100644 apps/tourism/public/images/addShippingBtn.svg create mode 100644 apps/tourism/public/images/backArrow.svg create mode 100644 apps/tourism/public/images/banners-img/home1.webp create mode 100644 apps/tourism/public/images/banners-img/home2.webp create mode 100644 apps/tourism/public/images/benefit-icons/003-cash-on-delivery.webp create mode 100644 apps/tourism/public/images/benefit-icons/004-headphones.webp create mode 100644 apps/tourism/public/images/benefit-icons/005-delivery-truck-2.webp create mode 100644 apps/tourism/public/images/benefit-icons/006-best-seller.webp create mode 100644 apps/tourism/public/images/benefit-icons/007-return.webp create mode 100644 apps/tourism/public/images/brand-logo-img/adidas.webp create mode 100644 apps/tourism/public/images/brand-logo-img/apple.webp create mode 100644 apps/tourism/public/images/brand-logo-img/asus.webp create mode 100644 apps/tourism/public/images/brand-logo-img/benq.webp create mode 100644 apps/tourism/public/images/brand-logo-img/bvlgari.webp create mode 100644 apps/tourism/public/images/brand-logo-img/del.webp create mode 100644 apps/tourism/public/images/brand-logo-img/dior.webp create mode 100644 apps/tourism/public/images/brand-logo-img/dolce-gabbana.webp create mode 100644 apps/tourism/public/images/brand-logo-img/gucci.webp create mode 100644 apps/tourism/public/images/brand-logo-img/hp.webp create mode 100644 apps/tourism/public/images/brand-logo-img/lg.webp create mode 100644 apps/tourism/public/images/brand-logo-img/loreal.webp create mode 100644 apps/tourism/public/images/brand-logo-img/louis-vuitton.webp create mode 100644 apps/tourism/public/images/brand-logo-img/mac.webp create mode 100644 apps/tourism/public/images/brand-logo-img/maybelline.webp create mode 100644 apps/tourism/public/images/brand-logo-img/msi.webp create mode 100644 apps/tourism/public/images/brand-logo-img/patek-philippe.webp create mode 100644 apps/tourism/public/images/brand-logo-img/puma.webp create mode 100644 apps/tourism/public/images/brand-logo-img/rolex.webp create mode 100644 apps/tourism/public/images/brand-logo-img/samsung.webp create mode 100644 apps/tourism/public/images/brand-logo-img/sony.webp create mode 100644 apps/tourism/public/images/brand-logo-img/toshiba.webp create mode 100644 apps/tourism/public/images/brand-logo-img/versace.webp create mode 100644 apps/tourism/public/images/brand-logo-img/xiaomi.webp create mode 100644 apps/tourism/public/images/callCustomer.svg create mode 100644 apps/tourism/public/images/cancelOrder.svg create mode 100644 apps/tourism/public/images/cancelled.svg create mode 100644 apps/tourism/public/images/cancleHomeImg.svg create mode 100644 apps/tourism/public/images/carouselBox-bg/offersbg.webp create mode 100644 apps/tourism/public/images/cartIcon.svg create mode 100644 apps/tourism/public/images/cash.svg create mode 100644 apps/tourism/public/images/category-icon/beauty-category.webp create mode 100644 apps/tourism/public/images/category-icon/beverages.svg create mode 100644 apps/tourism/public/images/category-icon/dairy.svg create mode 100644 apps/tourism/public/images/category-icon/digital-category.webp create mode 100644 apps/tourism/public/images/category-icon/fashion-category.webp create mode 100644 apps/tourism/public/images/category-icon/frozen-food.svg create mode 100644 apps/tourism/public/images/category-icon/fruits-Vegetable.svg create mode 100644 apps/tourism/public/images/category-icon/house-category.webp create mode 100644 apps/tourism/public/images/category-icon/meat-and-fish.svg create mode 100644 apps/tourism/public/images/category-icon/snacks.svg create mode 100644 apps/tourism/public/images/category-icon/sport-category.webp create mode 100644 apps/tourism/public/images/category-icon/stationery-category.webp create mode 100644 apps/tourism/public/images/category-icon/toy-category.webp create mode 100644 apps/tourism/public/images/category-img/beauty-category.webp create mode 100644 apps/tourism/public/images/category-img/beverages.svg create mode 100644 apps/tourism/public/images/category-img/dairy.svg create mode 100644 apps/tourism/public/images/category-img/digital-category.webp create mode 100644 apps/tourism/public/images/category-img/fashion-category.webp create mode 100644 apps/tourism/public/images/category-img/frozen-food.svg create mode 100644 apps/tourism/public/images/category-img/fruitsAndVegetables.svg create mode 100644 apps/tourism/public/images/category-img/house-category.webp create mode 100644 apps/tourism/public/images/category-img/meat-and-fish.svg create mode 100644 apps/tourism/public/images/category-img/snacks.svg create mode 100644 apps/tourism/public/images/category-img/sport-category.webp create mode 100644 apps/tourism/public/images/category-img/stationery-category.webp create mode 100644 apps/tourism/public/images/category-img/toy-category.webp create mode 100644 apps/tourism/public/images/completed.svg create mode 100644 apps/tourism/public/images/crossIcon.svg create mode 100644 apps/tourism/public/images/deliveryAgentBlack.svg create mode 100644 apps/tourism/public/images/deliveryAgentRed.svg create mode 100644 apps/tourism/public/images/discount-icon/discount.webp create mode 100644 apps/tourism/public/images/downArrow.svg create mode 100644 apps/tourism/public/images/downloadInvoice.svg create mode 100644 apps/tourism/public/images/emailCustomer.svg create mode 100644 apps/tourism/public/images/feedbackImg.svg create mode 100644 apps/tourism/public/images/filter-btn.svg create mode 100644 apps/tourism/public/images/filter-icon.svg create mode 100644 apps/tourism/public/images/footer.svg create mode 100644 apps/tourism/public/images/greenVeg.svg create mode 100644 apps/tourism/public/images/hamburger.png create mode 100644 apps/tourism/public/images/invoiceDetails.svg create mode 100644 apps/tourism/public/images/landingPageTourism.svg create mode 100644 apps/tourism/public/images/lineBlack.svg create mode 100644 apps/tourism/public/images/lineRed.svg create mode 100644 apps/tourism/public/images/locationIcon.svg create mode 100644 apps/tourism/public/images/logo.png create mode 100644 apps/tourism/public/images/masterCard.svg create mode 100644 apps/tourism/public/images/menuham.svg create mode 100644 apps/tourism/public/images/meter.svg create mode 100644 apps/tourism/public/images/nameIcon.svg create mode 100644 apps/tourism/public/images/netbanking.svg create mode 100644 apps/tourism/public/images/ofdBlack.svg create mode 100644 apps/tourism/public/images/ofdRed.svg create mode 100644 apps/tourism/public/images/openCommerce.svg create mode 100644 apps/tourism/public/images/orderConfirmed.svg create mode 100644 apps/tourism/public/images/orderConfirmmark.svg create mode 100644 apps/tourism/public/images/orderDeliveredBlack.svg create mode 100644 apps/tourism/public/images/orderDeliveredRed.svg create mode 100644 apps/tourism/public/images/orderDetailsIcon.svg create mode 100644 apps/tourism/public/images/orderHistory.svg create mode 100644 apps/tourism/public/images/orderHistoryPageIcon.svg create mode 100644 apps/tourism/public/images/pendingStatus.svg create mode 100644 apps/tourism/public/images/phonePay.svg create mode 100644 apps/tourism/public/images/phonePayPayment.svg create mode 100644 apps/tourism/public/images/proceedToPay.svg create mode 100644 apps/tourism/public/images/qrCode.svg create mode 100644 apps/tourism/public/images/redNonVeg.svg create mode 100644 apps/tourism/public/images/rightArrow.svg create mode 100644 apps/tourism/public/images/search.svg create mode 100644 apps/tourism/public/images/searchHome.svg create mode 100644 apps/tourism/public/images/searchIcon.svg create mode 100644 apps/tourism/public/images/searchInput.svg create mode 100755 apps/tourism/public/images/searchlocationmarker.svg create mode 100644 apps/tourism/public/images/setLocation.svg create mode 100644 apps/tourism/public/images/slider-img/Hamburger (1).svg create mode 100644 apps/tourism/public/images/slider-img/beauty-banner.webp create mode 100644 apps/tourism/public/images/slider-img/digital-banner.webp create mode 100644 apps/tourism/public/images/slider-img/fashion-banner.webp create mode 100644 apps/tourism/public/images/slider-img/house-banner.webp create mode 100644 apps/tourism/public/images/slider-img/stationery-banner.webp create mode 100644 apps/tourism/public/images/slider-img/toy-banner.webp create mode 100644 apps/tourism/public/images/speaker.svg create mode 100644 apps/tourism/public/images/store-images/1.png create mode 100644 apps/tourism/public/images/store-images/2.png create mode 100644 apps/tourism/public/images/store-images/3.png create mode 100644 apps/tourism/public/images/store-images/4.png create mode 100644 apps/tourism/public/images/store-options/Books.svg create mode 100644 apps/tourism/public/images/store-options/Books_light.svg create mode 100644 apps/tourism/public/images/store-options/Hospitals.svg create mode 100644 apps/tourism/public/images/store-options/Hospitals_light.svg create mode 100644 apps/tourism/public/images/store-options/Hotels.svg create mode 100644 apps/tourism/public/images/store-options/Hotels_light.svg create mode 100644 apps/tourism/public/images/store-options/Restaurants.svg create mode 100644 apps/tourism/public/images/store-options/Restaurants_light.svg create mode 100644 apps/tourism/public/images/store-options/Shopping.svg create mode 100644 apps/tourism/public/images/store-options/Shopping_light.svg create mode 100644 apps/tourism/public/images/supFevIcon.svg create mode 100644 apps/tourism/public/images/threeDots.svg create mode 100644 apps/tourism/public/images/tourismIcon.svg create mode 100644 apps/tourism/public/images/trackOrder.svg create mode 100644 apps/tourism/public/images/trackOrderMap.svg create mode 100644 apps/tourism/public/images/uparrow.svg create mode 100644 apps/tourism/public/images/updateOrder.svg create mode 100644 apps/tourism/public/images/user.svg create mode 100644 apps/tourism/public/images/visa.svg create mode 100644 apps/tourism/public/images/zishopBanner.png create mode 100644 apps/tourism/public/robots.txt create mode 100644 apps/tourism/public/sitemap-0.xml create mode 100644 apps/tourism/public/sitemap.xml create mode 100644 apps/tourism/services/Users.ts create mode 100644 apps/tourism/services/types.ts create mode 100644 apps/tourism/store/activeMenuItem-slice.ts create mode 100644 apps/tourism/store/cart-slice.ts create mode 100644 apps/tourism/store/cartUI-slice.ts create mode 100644 apps/tourism/store/favorite-slice.ts create mode 100644 apps/tourism/store/geoMapLocationSearch-slice.ts create mode 100644 apps/tourism/store/index.ts create mode 100644 apps/tourism/store/megaMenu-slice.ts create mode 100644 apps/tourism/store/newestProduct-slice.ts create mode 100644 apps/tourism/store/responseData-slice.ts create mode 100644 apps/tourism/store/settingBox-slice.ts create mode 100644 apps/tourism/store/sideNavBar-slice.ts create mode 100644 apps/tourism/store/sortedProductList-slice.ts create mode 100644 apps/tourism/store/specialOfferProducts-slice.ts create mode 100644 apps/tourism/store/user-slice.ts create mode 100644 apps/tourism/styles/globals.css create mode 100644 apps/tourism/tsconfig.json create mode 100644 apps/tourism/types/confirm.types.ts create mode 100644 apps/tourism/types/init.types.ts create mode 100644 apps/tourism/types/order-details.types.ts create mode 100644 apps/tourism/types/order-history.types.ts create mode 100644 apps/tourism/types/search.types.ts create mode 100644 apps/tourism/types/select.types.ts create mode 100644 apps/tourism/types/status.types.ts create mode 100644 apps/tourism/utilities/auth.ts create mode 100644 apps/tourism/utilities/calculateDiscountPercentage.ts create mode 100644 apps/tourism/utilities/cart-utils.ts create mode 100644 apps/tourism/utilities/changeNumbersFormatEnToFa.ts create mode 100644 apps/tourism/utilities/checkout-utils.ts create mode 100644 apps/tourism/utilities/common-utils.ts create mode 100644 apps/tourism/utilities/confirm-utils.ts create mode 100644 apps/tourism/utilities/currencyFormat.ts create mode 100644 apps/tourism/utilities/error.ts create mode 100644 apps/tourism/utilities/form-utils.ts create mode 100644 apps/tourism/utilities/homePage.utils.ts create mode 100644 apps/tourism/utilities/orderDetails-utils.ts create mode 100644 apps/tourism/utilities/orderHistory-utils.ts create mode 100644 apps/tourism/utilities/search-results.utils.ts create mode 100644 apps/tourism/utilities/sortByCost.ts create mode 100644 apps/tourism/utilities/sortByPopularity.ts create mode 100644 apps/tourism/utilities/sortByTimeStamp.ts diff --git a/apps/tourism/.prettierignore b/apps/tourism/.prettierignore new file mode 100644 index 000000000..a02ef09e5 --- /dev/null +++ b/apps/tourism/.prettierignore @@ -0,0 +1,4 @@ +/node_modules/ +/coverage/ +/.next/ +/public/ diff --git a/apps/tourism/Jenkinsfile b/apps/tourism/Jenkinsfile new file mode 100644 index 000000000..65d08c9ab --- /dev/null +++ b/apps/tourism/Jenkinsfile @@ -0,0 +1,29 @@ +pipeline { + agent any + stages { + stage('Executing Shell Script On Server') { + steps { + script { + sshagent(credentials: ['"${credentials}"']) { + sh ''' + ssh -t -t ${userName}@${hostIP} -o StrictHostKeyChecking=no << EOF + ${listOfCommands} + logout + EOF + ''' + } + } + } + } + } + post { + always { + cleanWs(cleanWhenNotBuilt: false, + deleteDirs: true, + disableDeferredWipeout: true, + notFailBuild: true, + patterns: [[pattern: '.gitignore', type: 'INCLUDE'], + [pattern: '.propsfile', type: 'EXCLUDE']]) + } + } +} diff --git a/apps/tourism/components/BottomModal/BottomModal.tsx b/apps/tourism/components/BottomModal/BottomModal.tsx new file mode 100644 index 000000000..04f3c3e6c --- /dev/null +++ b/apps/tourism/components/BottomModal/BottomModal.tsx @@ -0,0 +1,65 @@ +import React from 'react' +import { Image, Box } from '@chakra-ui/react' +import { Transition } from '@headlessui/react' + +interface ModalProps { + isOpen: boolean + onClose: () => void + children: React.ReactNode + partialClose?: boolean +} + +const Modal: React.FC = ({ isOpen, onClose, children, partialClose }) => { + return ( + onClose()} + > + + + + indicator + {children} + + + + + ) +} + +export default Modal diff --git a/apps/tourism/components/BottomModal/BottomModalScan.tsx b/apps/tourism/components/BottomModal/BottomModalScan.tsx new file mode 100644 index 000000000..d14e8edf9 --- /dev/null +++ b/apps/tourism/components/BottomModal/BottomModalScan.tsx @@ -0,0 +1,56 @@ +import React from 'react' +import { Image, ModalOverlay, Modal, ModalContent, Box, ModalHeader, Divider, Flex } from '@chakra-ui/react' + +interface ModalProps { + isOpen: boolean + onClose: () => void + children: React.ReactNode + partialClose?: boolean + modalHeader?: string +} + +const BottomModal: React.FC = ({ isOpen, onClose, children, modalHeader }) => { + return ( + <> + + + + + + {modalHeader} + + + + + + + {children} + + + + ) +} + +export default BottomModal diff --git a/apps/tourism/components/BottomModal/index.tsx b/apps/tourism/components/BottomModal/index.tsx new file mode 100644 index 000000000..88b5f609a --- /dev/null +++ b/apps/tourism/components/BottomModal/index.tsx @@ -0,0 +1,3 @@ +import BottomModal from './BottomModal' + +export default BottomModal diff --git a/apps/tourism/components/UI/Breadcrumb.tsx b/apps/tourism/components/UI/Breadcrumb.tsx new file mode 100644 index 000000000..3a97c512b --- /dev/null +++ b/apps/tourism/components/UI/Breadcrumb.tsx @@ -0,0 +1,83 @@ +import React, { useEffect, useState } from 'react' +import { useRouter } from 'next/router' +import Link from 'next/link' +import { IBreadcrumb } from '../../lib/types/breadcrumb' +import { useLanguage } from '../../hooks/useLanguage' +import { BsShop } from 'react-icons/bs' + +const convertBreadcrumb = (str: string) => { + return str.replace(/-/g, ' ').replace(/oe/g, 'ö').replace(/ae/g, 'ä').replace(/ue/g, 'ü') +} + +const Breadcrumb = () => { + const { t } = useLanguage() + const router = useRouter() + const [breadcrumbs, setBreadcrumbs] = useState([]) + useEffect(() => { + if (router) { + const paths = router.asPath.split('/') + paths.shift() + + const pathsArray = paths.map((path, i) => { + return { + breadcrumb: path, + href: '/' + paths.slice(0, i + 1).join('/') + } + }) + + setBreadcrumbs(pathsArray) + } + }, [router]) + + if (!breadcrumbs) { + return null + } + + return ( +
+ +
+ ) +} + +export default Breadcrumb diff --git a/apps/tourism/components/UI/CarouselBox/CarouselBox.tsx b/apps/tourism/components/UI/CarouselBox/CarouselBox.tsx new file mode 100644 index 000000000..0d8facb2b --- /dev/null +++ b/apps/tourism/components/UI/CarouselBox/CarouselBox.tsx @@ -0,0 +1,108 @@ +import React from 'react' +import Link from 'next/link' +import { useLanguage } from '../../../hooks/useLanguage' +import { NextArrow, PrevArrow } from './CarouselBoxArrows' +import Slider from 'react-slick' +import { HiOutlineChevronLeft, HiOutlineChevronRight } from 'react-icons/hi' + +interface Props { + title: string + className?: string + href?: string + children?: React.ReactNode + full?: boolean +} +const CarouselBox: React.FC = ({ title, className, children, href, full }) => { + const { t } = useLanguage() + + const settings = { + className: ` px-4 ${full ? 'bg-palette-fill' : 'bg-[#37bccef9]'}`, + infinite: true, + speed: 600, + centerPadding: '60px', + slidesToShow: 5, + slidesToScroll: 5, + // initialSlide: 0, + swipeToSlide: true, + // rtl: true, + nextArrow: , + prevArrow: , + responsive: [ + { + breakpoint: 1324, + settings: { + slidesToShow: 4, + slidesToScroll: 4 + } + }, + { + breakpoint: 1024, + settings: { + slidesToShow: 3, + slidesToScroll: 3 + } + }, + { + breakpoint: 768, + settings: { + slidesToShow: 2, + slidesToScroll: 2 + } + }, + { + breakpoint: 640, + settings: { + slidesToShow: 1, + slidesToScroll: 1 + } + } + ] + } + + return ( +
+
+

+ {t[`${title}`]} +

+ {!full ? ( + + + {t.seeAll} + + + ) : null} +
+
+ {children} +
+
+ +
+
+ +
+
+
+
+ ) +} + +export default CarouselBox diff --git a/apps/tourism/components/UI/CarouselBox/CarouselBoxArrows.tsx b/apps/tourism/components/UI/CarouselBox/CarouselBoxArrows.tsx new file mode 100644 index 000000000..2d6eaae74 --- /dev/null +++ b/apps/tourism/components/UI/CarouselBox/CarouselBoxArrows.tsx @@ -0,0 +1,25 @@ +import React from 'react' + +interface Props { + className?: string + style?: any + onClick?: () => void +} +export const NextArrow: React.FC = ({ className, style, onClick }) => { + return ( +
+ ) +} +export const PrevArrow: React.FC = ({ className, style, onClick }) => { + return ( +
+ ) +} diff --git a/apps/tourism/components/UI/CarouselBox/CarouselBoxCard.tsx b/apps/tourism/components/UI/CarouselBox/CarouselBoxCard.tsx new file mode 100644 index 000000000..8d87012a6 --- /dev/null +++ b/apps/tourism/components/UI/CarouselBox/CarouselBoxCard.tsx @@ -0,0 +1,41 @@ +import React from 'react' +import { Image } from '@chakra-ui/react' +import { urlFor } from '../../../lib/client' +import { RetailItem } from '../../../lib/types/products' +import Link from 'next/link' +import ProductPrice from '../ProductPrice' + +interface Props { + product: RetailItem +} + +const CarouselBoxCard: React.FC = ({ product }) => { + return ( + + ) +} + +export default CarouselBoxCard diff --git a/apps/tourism/components/UI/DropDown.tsx b/apps/tourism/components/UI/DropDown.tsx new file mode 100644 index 000000000..f6bfb107f --- /dev/null +++ b/apps/tourism/components/UI/DropDown.tsx @@ -0,0 +1,94 @@ +import React, { useState, forwardRef, useRef } from 'react' +import Link from 'next/link' +import { HiChevronUp, HiChevronDown } from 'react-icons/hi' +import { Transition } from 'react-transition-group' + +import { IDropDown } from '../../lib/types/dropDown' +import { useDispatch } from 'react-redux' +import { sideNavBarActions } from '../../store/sideNavBar-slice' +import { useSelector } from 'react-redux' +import { IActiveMenuItemRootState } from '../../lib/types/activeMenuItem' +import { useLanguage } from '../../hooks/useLanguage' + +interface Props { + dropDown: IDropDown + ref: React.HTMLProps +} +const DropDown = forwardRef(({ dropDown }, ref) => { + const [openDropdown, setOpenDropDown] = useState(false) + const nodeRef = useRef(null) + const dispatch = useDispatch() + const { t } = useLanguage() + let ArrowDirection = !openDropdown ? HiChevronDown : HiChevronUp + + const activeMenuItemText = useSelector((state: IActiveMenuItemRootState) => state.activeMenuItem.activeMenuItemText) + + const closeNavbar = () => { + dispatch(sideNavBarActions.closeNavbar()) + } + + return ( +
+
setOpenDropDown(prevState => !prevState)} + > +

{t[`${dropDown.title}`]}

+ +
+ + {state => ( + <> +
+ {dropDown.subtitles.map((item, index) => { + return ( + + ) + })} +
+ + )} +
+
+ ) +}) + +DropDown.displayName = 'DropDown' +export default DropDown diff --git a/apps/tourism/components/UI/Input.tsx b/apps/tourism/components/UI/Input.tsx new file mode 100644 index 000000000..ad5d4ef9c --- /dev/null +++ b/apps/tourism/components/UI/Input.tsx @@ -0,0 +1,72 @@ +import React, { useImperativeHandle, useRef, useState } from 'react' +import { useLanguage } from '../../hooks/useLanguage' + +interface Props { + id: string + type: string + minLength?: number + maxLength?: number + placeholder?: string + classes?: string + value?: string + ref?: HTMLInputElement + readonly?: boolean + autocomplete?: string + title?: string + required?: boolean +} + +interface IImperativeHandler { + focus: () => void + value?: string +} +const Input = React.forwardRef((props, ref) => { + const inputRef = useRef(null) + const [value, setValue] = useState(props.value || '') + + function inputChangeHandler(e: React.FormEvent) { + setValue(e.currentTarget.value) + } + + function inputFocused() { + inputRef.current?.focus() + inputRef.current?.setAttribute('style', 'border:2px solid red') + } + + useImperativeHandle(ref, () => { + return { + focus: inputFocused, + value: value + } + }) + const { t } = useLanguage() + return ( +
+ + +
+ ) +}) + +Input.displayName = 'Input' +export default Input diff --git a/apps/tourism/components/UI/MenuItems/MenuItems.tsx b/apps/tourism/components/UI/MenuItems/MenuItems.tsx new file mode 100644 index 000000000..e911fc456 --- /dev/null +++ b/apps/tourism/components/UI/MenuItems/MenuItems.tsx @@ -0,0 +1,92 @@ +import React from 'react' +import Link from 'next/link' +import { useDispatch, useSelector } from 'react-redux' +import { megaMenuActions } from '../../../store/megaMenu-slice' +import { useLanguage } from '../../../hooks/useLanguage' +import menuItems from '../../../mock/menuItems' +import { HiChevronRight, HiChevronLeft } from 'react-icons/hi' +import { IDropDown } from '../../../lib/types/dropDown' +import { useRouter } from 'next/router' +import { useWindowDimensions } from '../../../hooks/useWindowDimensions' +import { IActiveMenuItemRootState } from '../../../lib/types/activeMenuItem' + +interface Props { + onClick?: (submenu: IDropDown[] | undefined, activeItemName: string, index: number) => void + onMouseOver?: (submenu: IDropDown[] | undefined, index: number, activeItemName: string) => void +} + +const MenuItems: React.FC = props => { + const { t, locale } = useLanguage() + const route = useRouter() + const dispatch = useDispatch() + const { width } = useWindowDimensions() + const ArrowDirection = locale === 'en' ? HiChevronRight : HiChevronLeft + + function onMenuItemClickHandler(productsGroup: IDropDown[] | undefined, category: string, index: number) { + props.onClick && props.onClick(productsGroup, category, index) + width >= 768 && dispatch(megaMenuActions.closeMegaMenu()) + } + + const activeMenuItemIndex = useSelector((state: IActiveMenuItemRootState) => state.activeMenuItem.activeMenuItemIndex) + return ( + + ) +} + +export default MenuItems diff --git a/apps/tourism/components/UI/ProductPrice.tsx b/apps/tourism/components/UI/ProductPrice.tsx new file mode 100644 index 000000000..0fca7c978 --- /dev/null +++ b/apps/tourism/components/UI/ProductPrice.tsx @@ -0,0 +1,44 @@ +import { Box } from '@chakra-ui/react' +import React from 'react' +import { useLanguage } from '../../hooks/useLanguage' + +interface Props { + price: number + discount?: number + isLargeSize?: boolean + isInSlider?: boolean +} +const ProductPrice: React.FC = ({ price, isLargeSize = false, isInSlider }) => { + const { t, locale } = useLanguage() + + //style base on component position + const textMainPriceSize = isLargeSize ? ' md:text-3xl' : ' md:text-lg' + const textDiscountPriceSize = isLargeSize ? ' md:text-xl' : ' md:text-md' + const justifyContent = isInSlider && locale === 'fa' ? 'flex-start' : '' + const flexDirection = 'row' + + return ( +
+
+
+ {/* ☝slider cards (.slick-slide=>Slider component) are float and because of that, they don't accept height so, for making cards the same height, I have to do this hack*/} + + {t.currencySymbol} + {price.toFixed(2)} + +
+
+
+ ) +} + +export default ProductPrice diff --git a/apps/tourism/components/UI/SectionTitle/index.tsx b/apps/tourism/components/UI/SectionTitle/index.tsx new file mode 100644 index 000000000..19883edac --- /dev/null +++ b/apps/tourism/components/UI/SectionTitle/index.tsx @@ -0,0 +1,12 @@ +import React from 'react' +import { useLanguage } from '../../../hooks/useLanguage' + +interface Props { + title: string +} +const SectionTitle: React.FC = ({ title }) => { + const { t } = useLanguage() + return

{t[`${title}`]}

+} + +export default SectionTitle diff --git a/apps/tourism/components/UI/card/Card.tsx b/apps/tourism/components/UI/card/Card.tsx new file mode 100644 index 000000000..9adfb1e51 --- /dev/null +++ b/apps/tourism/components/UI/card/Card.tsx @@ -0,0 +1,111 @@ +import React from 'react' +import Link from 'next/link' +import { Box, Flex, Text, Image } from '@chakra-ui/react' +import { toBinary } from '../../../utilities/common-utils' +import StarIcon from '../../../public/images/Star.svg' +import { useLanguage } from '@hooks/useLanguage' + +interface Props { + product: RetailItem +} + +const Card: React.FC = ({ product }) => { + const { t } = useLanguage() + const encodedProduct = window.btoa(toBinary(JSON.stringify(product))) + return ( + + + + {product.descriptor.name} + + + + + + {product.descriptor.name} + + + + {product.descriptor.short_desc} + + + + 800 m + + + + {product.tags.Rating} + + + + + + + + {t.viewDetails} + + + + + + + ) +} + +export default Card diff --git a/apps/tourism/components/UI/card/CardActions.tsx b/apps/tourism/components/UI/card/CardActions.tsx new file mode 100644 index 000000000..ebc38668a --- /dev/null +++ b/apps/tourism/components/UI/card/CardActions.tsx @@ -0,0 +1,69 @@ +import React from 'react' +import { useDispatch, useSelector } from 'react-redux' +import { useTheme } from 'next-themes' +import { cartActions } from '../../../store/cart-slice' +import { favoriteActions } from '../../../store/favorite-slice' +import { RiHeartFill, RiHeartAddLine, RiShareLine, RiShoppingCart2Line } from 'react-icons/ri' +import { RetailItem } from '../../../lib/types/products' +import { IFavoriteRootState } from '../../../lib/types/favorite' + +import { toast } from 'react-toastify' +import { useLanguage } from '../../../hooks/useLanguage' + +interface Props { + product: RetailItem +} + +const CardActions: React.FC = ({ product }) => { + const dispatch = useDispatch() + const { t } = useLanguage() + + const favoriteItems = useSelector((state: IFavoriteRootState) => state.favorite.items) + const isInFavorite = favoriteItems.some(item => item.id === product.id) + const FavoriteIcon = isInFavorite ? RiHeartFill : RiHeartAddLine + + function addToCartHandler() { + dispatch(cartActions.addItemToCart({ product: product, quantity: 1 })) + toast.success(t.productAddedToCartMsg, { + theme: 'light' + }) + } + + function toggleFavoriteHandler() { + !isInFavorite + ? dispatch(favoriteActions.addToFavorite(product)) + : dispatch(favoriteActions.removeFromFavorite(product.id)) + } + + return ( + <> + //
+ //
+ // + //
+ //
+ // + //
+ //
+ // + //
+ //
+ ) +} + +export default CardActions diff --git a/apps/tourism/components/UI/discountCountdown/DateTimeDisplay.tsx b/apps/tourism/components/UI/discountCountdown/DateTimeDisplay.tsx new file mode 100644 index 000000000..19f6751a5 --- /dev/null +++ b/apps/tourism/components/UI/discountCountdown/DateTimeDisplay.tsx @@ -0,0 +1,25 @@ +import React from 'react' +import { useLanguage } from '../../../hooks/useLanguage' + +interface Props { + value: number + type: string + isDanger: boolean +} +const DateTimeDisplay: React.FC = ({ value, type, isDanger }) => { + const { t, locale } = useLanguage() + const dateTime = + locale === 'en' ? new Intl.NumberFormat('en-EN').format(value) : new Intl.NumberFormat('fa-IR').format(value) + return ( +
+

{dateTime}

+ {t[`${type}`]} +
+ ) +} + +export default DateTimeDisplay diff --git a/apps/tourism/components/UI/discountCountdown/DiscountCountdown.tsx b/apps/tourism/components/UI/discountCountdown/DiscountCountdown.tsx new file mode 100644 index 000000000..c6d86f9e4 --- /dev/null +++ b/apps/tourism/components/UI/discountCountdown/DiscountCountdown.tsx @@ -0,0 +1,25 @@ +import React from 'react' +import { useCountdown } from '../../../hooks/useCountdown' +import ExpiredNotice from './ExpiredNotice' +import ShowCounter from './ShowCounter' + +interface Props { + targetDate: number +} +const DiscountFlipCountdown: React.FC = ({ targetDate }) => { + const [days, hours, minutes, seconds] = useCountdown(targetDate) + if (days + hours + minutes + seconds <= 0) { + return + } else { + return ( + + ) + } +} + +export default DiscountFlipCountdown diff --git a/apps/tourism/components/UI/discountCountdown/ExpiredNotice.tsx b/apps/tourism/components/UI/discountCountdown/ExpiredNotice.tsx new file mode 100644 index 000000000..98ce398d2 --- /dev/null +++ b/apps/tourism/components/UI/discountCountdown/ExpiredNotice.tsx @@ -0,0 +1,13 @@ +import React from 'react' +import { useLanguage } from '../../../hooks/useLanguage' + +const ExpiredNotice = () => { + const { t } = useLanguage() + return ( +
+

{t.expireDiscount}

+
+ ) +} + +export default ExpiredNotice diff --git a/apps/tourism/components/UI/discountCountdown/ShowCounter.tsx b/apps/tourism/components/UI/discountCountdown/ShowCounter.tsx new file mode 100644 index 000000000..997487906 --- /dev/null +++ b/apps/tourism/components/UI/discountCountdown/ShowCounter.tsx @@ -0,0 +1,40 @@ +import React from 'react' +import DateTimeDisplay from './DateTimeDisplay' + +interface Props { + days: number + hours: number + minutes: number + seconds: number +} +const ShowCounter: React.FC = ({ days, hours, minutes, seconds }) => { + return ( +
+ +

:

+ +

:

+ +

:

+ +
+ ) +} + +export default ShowCounter diff --git a/apps/tourism/components/appHeader/AppHeader.tsx b/apps/tourism/components/appHeader/AppHeader.tsx new file mode 100644 index 000000000..f2634fc90 --- /dev/null +++ b/apps/tourism/components/appHeader/AppHeader.tsx @@ -0,0 +1,41 @@ +import React from 'react' +import Router from 'next/router' +import { Box, Card, CardBody, Image, Text } from '@chakra-ui/react' +import backArrow from '/public/images/Back.svg' + +export interface AppHeaderPropsModel { + appHeaderText: string +} + +export const AppHeader: React.FC = props => { + const goBack = () => Router.back() + return ( + + + goBack()} + cursor={'pointer'} + > + {/* eslint-disable-next-line jsx-a11y/alt-text */} + + + + {props.appHeaderText} + + + + ) +} diff --git a/apps/tourism/components/assemblyDetails/index.tsx b/apps/tourism/components/assemblyDetails/index.tsx new file mode 100644 index 000000000..b307039da --- /dev/null +++ b/apps/tourism/components/assemblyDetails/index.tsx @@ -0,0 +1,352 @@ +import { Button } from '@beckn-ui/molecules' +import { ChakraProvider, FormControl, FormLabel, Input, extendTheme, Box, Select, Flex } from '@chakra-ui/react' +import Router from 'next/router' +import React, { useEffect, useState } from 'react' + +const activeLabelStyles = { + transform: 'scale(1) translateY(-24px)' +} + +export const theme = extendTheme({ + components: { + Form: { + variants: { + floating: { + container: { + _focusWithin: { + label: { + ...activeLabelStyles + } + }, + 'input:not(:placeholder-shown) + label, .chakra-select__wrapper + label, textarea:not(:placeholder-shown) ~ label': + { + ...activeLabelStyles + }, + label: { + top: 0, + left: 0, + zIndex: 2, + position: 'absolute', + backgroundColor: 'white', + pointerEvents: 'none', + mx: 3, + px: 1, + my: 2, + transformOrigin: 'left top' + } + } + } + } + } + } +}) + +export default function AssemblyDetails() { + const [count, setCount] = useState(100) + const [formData, setFormData] = useState({ + type: '', + colour: '', + shape: '', + length: '', + width: '', + quantity: count, + weight: '' + }) + const [isFormDataFilled, setIsFormDataFilled] = useState(false) + + useEffect(() => { + const areAllFieldsFilled = Object.values(formData).every(value => value !== '') + setIsFormDataFilled(areAllFieldsFilled) + }, [formData]) + + function increment() { + setCount(prevCount => prevCount + 1) + setFormData(prevData => ({ ...prevData, quantity: count + 1 })) + } + + function decrement() { + if (count > 0) { + setCount(prevCount => prevCount - 1) + setFormData(prevData => ({ ...prevData, quantity: count - 1 })) + } else { + setCount(0) + setFormData(prevData => ({ ...prevData, quantity: 0 })) + } + } + + const handleInputChange = (e: any, fieldName: any) => { + const updatedFormData = { ...formData, [fieldName]: e.target.value } + setFormData(updatedFormData) + } + const handleSelectChange = (value: any, fieldName: any) => { + const updatedFormData = { ...formData, [fieldName]: value } + setFormData(updatedFormData) + } + + function submitAssemblyDetails() { + localStorage.setItem('assemblyDetails', JSON.stringify(formData)) + Router.push('/checkoutPage') + } + + return ( + <> + + + + + + Type + + + + + + Color + + + + + Shape + + + + + handleInputChange(e, 'length')} + border={'unset'} + borderRadius="unset" + borderBottom={'1px solid'} + paddingBottom={'2px'} + height="unset" + fontSize={'15px'} + paddingInlineEnd="unset" + paddingInlineStart="unset" + _focusVisible={{ + borderColor: 'unset', + boxShadow: 'unset' + }} + placeholder=" " + value={formData.length} + /> + Length (in mm) + + + handleInputChange(e, 'width')} + border={'unset'} + borderRadius="unset" + borderBottom={'1px solid'} + paddingBottom={'2px'} + height="unset" + fontSize={'15px'} + paddingInlineStart="unset" + paddingInlineEnd="unset" + _focusVisible={{ + borderColor: 'unset', + boxShadow: 'unset' + }} + placeholder="" + value={formData.width} + /> + + Width (in mm) + + + + + + + - + + + + + + + + + Quantity + + + + handleInputChange(e, 'weight')} + border={'unset'} + borderRadius="unset" + borderBottom={'1px solid'} + paddingBottom={'2px'} + height="unset" + fontSize={'15px'} + paddingInlineEnd="unset" + paddingInlineStart="unset" + _focusVisible={{ + borderColor: 'unset', + boxShadow: 'unset' + }} + placeholder=" " + type={'text'} + value={formData.weight} + /> + + Weight (in Kg) + + + + + + + ) +} + +export default CallToAction diff --git a/apps/tourism/components/productDetails/DetailsSection.tsx b/apps/tourism/components/productDetails/DetailsSection.tsx new file mode 100644 index 000000000..8e1bf15da --- /dev/null +++ b/apps/tourism/components/productDetails/DetailsSection.tsx @@ -0,0 +1,90 @@ +import { Box, Flex, Image } from '@chakra-ui/react' +import React, { useEffect, useState } from 'react' +import StarRatingComponent from 'react-star-rating-component' +import { useLanguage } from '../../hooks/useLanguage' +import { RetailItem } from '../../lib/types/products' +import CallToAction from './CallToAction' +import greenVegIcon from '../../public/images/greenVeg.svg' +import redNonVegIcon from '../../public/images/redNonVeg.svg' + +interface Props { + product: RetailItem +} +const DetailsSection: React.FC = ({ product }) => { + const { t } = useLanguage() + const [showComponent, setShowComponent] = useState(false) + + useEffect(() => { + setShowComponent(true) + }, []) + + if (!showComponent) { + return <> + } + + return ( + + +

+ {product.descriptor.name} +

+ + {product.tags.foodType ? ( + product.tags.foodType === 'veg' ? ( + greenVegIcon + ) : ( + redNonVegIcon + ) + ) : null} +
+
+
+
+
+ +

+ {parseFloat(product.tags.rating)} {t.stars} +

+
+ +
+
+ +
+
+ ) +} + +export default DetailsSection diff --git a/apps/tourism/components/productDetails/ImageSection.tsx b/apps/tourism/components/productDetails/ImageSection.tsx new file mode 100644 index 000000000..931d83a95 --- /dev/null +++ b/apps/tourism/components/productDetails/ImageSection.tsx @@ -0,0 +1,62 @@ +import { Image } from '@chakra-ui/react' +import React, { useState } from 'react' +import { RetailItem } from '../../lib/types/products' +import ProductPageActions from './ProductPageActions' + +interface Props { + imgArray: string[] + product: RetailItem +} +const ImageSection: React.FC = ({ imgArray, product }) => { + const [selectedImg, setSelectedImg] = useState(0) + function onClickHandler(index: number) { + setSelectedImg(index) + } + return ( +
+ +
+
+ product img +
+ + {/* TODO :- will uncomment it if we get multiple images in the array */} + + {/*
+ {imgArray.map((imgItem: string, index: number) => { + return ( +
onClickHandler(index)} + > + product img +
+ ); + })} +
*/} +
+
+ ) +} + +export default ImageSection diff --git a/apps/tourism/components/productDetails/ProductPageActions.tsx b/apps/tourism/components/productDetails/ProductPageActions.tsx new file mode 100644 index 000000000..2970fd2df --- /dev/null +++ b/apps/tourism/components/productDetails/ProductPageActions.tsx @@ -0,0 +1,42 @@ +import React from 'react' +import { useSelector, useDispatch } from 'react-redux' +import { favoriteActions } from '../../store/favorite-slice' +import { RetailItem } from '../../lib/types/products' +import { IFavoriteRootState } from '../../lib/types/favorite' +import { RiHeartFill, RiHeartAddLine, RiShareLine } from 'react-icons/ri' + +interface Props { + product: RetailItem +} +const ProductPageActions: React.FC = ({ product }) => { + const dispatch = useDispatch() + const favoriteItems = useSelector((state: IFavoriteRootState) => state.favorite.items) + const isInFavorite = favoriteItems.some(item => item.id === product.id) + let FavoriteIcon = isInFavorite ? RiHeartFill : RiHeartAddLine + function toggleFavoriteHandler() { + !isInFavorite + ? dispatch(favoriteActions.addToFavorite(product)) + : dispatch(favoriteActions.removeFromFavorite(product.id)) + } + return ( + <> + //
+ //
+ // + //
+ //
+ // + //
+ //
+ ) +} + +export default ProductPageActions diff --git a/apps/tourism/components/productDetails/SimilarProducts.tsx b/apps/tourism/components/productDetails/SimilarProducts.tsx new file mode 100644 index 000000000..e37a7bd2e --- /dev/null +++ b/apps/tourism/components/productDetails/SimilarProducts.tsx @@ -0,0 +1,27 @@ +import React from 'react' +import { RetailItem } from '../../lib/types/products' +import CarouselBox from '../UI/CarouselBox/CarouselBox' +import CarouselBoxCard from '../UI/CarouselBox/CarouselBoxCard' + +interface Props { + products: RetailItem[] +} +const SimilarProducts: React.FC = ({ products }) => { + return ( +
+ + {products.map(product => ( + + ))} + +
+ ) +} + +export default SimilarProducts diff --git a/apps/tourism/components/productDetails/index.tsx b/apps/tourism/components/productDetails/index.tsx new file mode 100644 index 000000000..9a87b3c87 --- /dev/null +++ b/apps/tourism/components/productDetails/index.tsx @@ -0,0 +1,85 @@ +import React from 'react' +import { Box, Flex, Text } from '@chakra-ui/react' +import { ProductDescription, ProductSummary } from '@beckn-ui/becknified-components' +import StarRatingComponent from 'react-star-rating-component' +import { Button } from '@beckn-ui/molecules' +import { useRouter } from 'next/router' +import { useLanguage } from '@hooks/useLanguage' +import { ParsedItemModel } from '../../types/search.types' + +interface Props { + product: ParsedItemModel +} + +// TODO :- remove the static value and add dynamic value for the description + +const ProductDetails: React.FC = ({ product }) => { + const router = useRouter() + const { t } = useLanguage() + return ( + + + + + + + {product.item.short_desc} + + + + + {product.rating ? `${parseFloat(product.rating)} stars` : null} + + + + { + router.push('/assemblyDetails') + }} + > + + + + + + ) +} + +export default ProductDetails diff --git a/apps/tourism/components/productList/ProductList.tsx b/apps/tourism/components/productList/ProductList.tsx new file mode 100644 index 000000000..df60c7d22 --- /dev/null +++ b/apps/tourism/components/productList/ProductList.tsx @@ -0,0 +1,68 @@ +import React, { useEffect, useState } from 'react' +import { useLanguage } from '../../hooks/useLanguage' +import Card from '../UI/card/Card' +import { useDispatch, useSelector } from 'react-redux' +import { SortedProductsListActions } from '../../store/sortedProductList-slice' +import { IProductListRootState } from '../../lib/types/productList' +import { ParsedScholarshipData } from './ProductList.utils' +import { Box, Flex, Grid, Text } from '@chakra-ui/react' + +interface Props { + productList: ParsedScholarshipData[] +} +const ProductList: React.FC = ({ productList }) => { + const { t } = useLanguage() + + const [selectedRadioBtn, setSelectedRadioBtn] = useState('all') + const dispatch = useDispatch() + + useEffect(() => { + dispatch( + SortedProductsListActions.sortProductsList({ + productsList: productList, + sortBasedOn: selectedRadioBtn + }) + ) + }, [dispatch, productList, selectedRadioBtn]) + + const sortedProductList = useSelector((state: IProductListRootState) => state.sortedProductsList.productsList) + + return ( + + {sortedProductList && sortedProductList.length ? ( + + {sortedProductList.map(product => { + return ( + + ) + })} + + ) : ( + {t.noProduct} + )} + + ) +} + +export default ProductList diff --git a/apps/tourism/components/productList/Sort.tsx b/apps/tourism/components/productList/Sort.tsx new file mode 100644 index 000000000..28975e063 --- /dev/null +++ b/apps/tourism/components/productList/Sort.tsx @@ -0,0 +1,99 @@ +import React, { ChangeEvent } from 'react' +import { useLanguage } from '../../hooks/useLanguage' +import { BsFilterLeft, BsArrowDown } from 'react-icons/bs' +import { radioBtnValue } from '../../mock/sortRadioInput' +import { Box } from '@chakra-ui/react' + +interface Props { + selectedBtn: string + onChangeSelectedBtn: (e: ChangeEvent) => void +} +const Sort: React.FC = ({ selectedBtn: selectedRadioBtn, onChangeSelectedBtn }) => { + const { t } = useLanguage() + + const isRadioSelected = (value: string): boolean => (value === selectedRadioBtn ? true : false) + + return ( + +
+
+
+ +
+
{t.sort}
+
+ +
+ {radioBtnValue.map(radioInput => { + return ( +
+ + +
+ ) + })} +
+
+
+ ) +} + +export default Sort diff --git a/apps/tourism/components/productList/SubmenuCategory.tsx b/apps/tourism/components/productList/SubmenuCategory.tsx new file mode 100644 index 000000000..c9291d557 --- /dev/null +++ b/apps/tourism/components/productList/SubmenuCategory.tsx @@ -0,0 +1,47 @@ +import React from 'react' +import { useRouter } from 'next/router' +import { useLanguage } from '../../hooks/useLanguage' +import menuItems from '../../mock/menuItems' +import { useWindowDimensions } from '../../hooks/useWindowDimensions' + +const SubmenuCategory = () => { + const { t } = useLanguage() + const router = useRouter() + const { width } = useWindowDimensions() + const iconFontSize = width <= 768 ? '1.5rem' : '2.5rem' + const category = router.query.category + const selectedCategory = menuItems.filter(item => item.category === category) + const subCategories = selectedCategory[0]?.productsGroup?.map(item => ({ + title: item.title, + icon: item.icon + })) + function onClickHandler(subCategory: string) { + if (selectedCategory[0].category) { + router.push(`/${selectedCategory[0].category}/${subCategory}`) + } + } + + return subCategories ? ( +
+

{t.categories}

+
+ {subCategories?.map(subCategory => ( +
onClickHandler(subCategory.title)} + > + +

{t[subCategory.title]}

+
+ ))} +
+
+ ) : null +} + +export default SubmenuCategory diff --git a/apps/tourism/components/qrCode/QrCode.module.css b/apps/tourism/components/qrCode/QrCode.module.css new file mode 100644 index 000000000..114246322 --- /dev/null +++ b/apps/tourism/components/qrCode/QrCode.module.css @@ -0,0 +1,3 @@ +.qrCode_tourism canvas { + margin: 0 auto; +} diff --git a/apps/tourism/components/qrCode/Qrcode.tsx b/apps/tourism/components/qrCode/Qrcode.tsx new file mode 100644 index 000000000..a881d087b --- /dev/null +++ b/apps/tourism/components/qrCode/Qrcode.tsx @@ -0,0 +1,18 @@ +import { QRCodeCanvas } from 'qrcode.react' +import React from 'react' +import { Box } from '@chakra-ui/react' +import Style from './QrCode.module.css' + +interface QrCodePropsModel { + value: string +} + +const Qrcode = ({ value }: QrCodePropsModel) => { + return ( + + + + ) +} + +export default Qrcode diff --git a/apps/tourism/components/starRating/StarRating.tsx b/apps/tourism/components/starRating/StarRating.tsx new file mode 100644 index 000000000..fd5540fa2 --- /dev/null +++ b/apps/tourism/components/starRating/StarRating.tsx @@ -0,0 +1,58 @@ +import { Box, Text } from '@chakra-ui/react' +import React, { useState } from 'react' +import { FaStar } from 'react-icons/fa' + +export interface StarRatingProps { + rating: number + setRating: (rating: number) => void + count?: number + size?: number + transition: string + ratingText: string +} + +const StarRating: React.FC = props => { + const [hover, setHover] = useState(null) + + return ( + + + {props.ratingText} + + + {[...Array(props.count || 5)].map((star, index) => { + const ratingValue = index + 1 + return ( + + ) + })} + + + ) +} +export default StarRating diff --git a/apps/tourism/components/topSheet/TopSheet.module.css b/apps/tourism/components/topSheet/TopSheet.module.css new file mode 100644 index 000000000..e6a730287 --- /dev/null +++ b/apps/tourism/components/topSheet/TopSheet.module.css @@ -0,0 +1,17 @@ +.TopSheet ::before { + content: ''; + border-left: 18px solid transparent; + border-right: 18px solid transparent; +} + +.searchTopSheetMargin { + margin-left: -20px; + margin-right: -20px; + display: flex; + align-items: center; + margin-bottom: 16px; + justify-content: space-between; + background-color: #ffffff; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); + height: 60px; +} diff --git a/apps/tourism/components/topSheet/TopSheet.tsx b/apps/tourism/components/topSheet/TopSheet.tsx new file mode 100644 index 000000000..bcc52fa7f --- /dev/null +++ b/apps/tourism/components/topSheet/TopSheet.tsx @@ -0,0 +1,179 @@ +/* eslint-disable jsx-a11y/alt-text */ +import React from 'react' +import { + Modal, + ModalOverlay, + ModalContent, + useDisclosure, + Box, + Image, + Text, + Flex, + ChakraProvider, + Input, + useTheme, + Skeleton +} from '@chakra-ui/react' +import style from './TopSheet.module.css' +import { useLanguage } from '../../hooks/useLanguage' +import { useDispatch, useSelector } from 'react-redux' +import { IGeoLocationSearchPageRootState } from '../../lib/types/geoLocationSearchPage' +import { toggleLocationSearchPageVisibility } from '../../store/geoMapLocationSearch-slice' +import { MdMyLocation } from 'react-icons/md' +import { BiSolidUpArrow } from 'react-icons/bi' +import { useRouter } from 'next/router' + +interface TopSheetPropsModel { + currentAddress: string + loadingForCurrentAddress?: boolean + currentLocationFetchError?: string +} + +const TopSheet: React.FC = props => { + const { currentAddress, currentLocationFetchError, loadingForCurrentAddress } = props + const theme = useTheme() + const router = useRouter() + const { isOpen, onOpen, onClose } = useDisclosure() + const { t } = useLanguage() + const dispatch = useDispatch() + const bgColorOfSearchIcon = theme.colors.primary['100'] + const isSearchPage = router.pathname === '/search' + + const geoLocationSearchPageSelectedAddress = useSelector((state: IGeoLocationSearchPageRootState) => { + return state.geoLocationSearchPageUI.geoAddress + }) + + const onFocusChange = () => { + dispatch(toggleLocationSearchPageVisibility(true)) + } + + const renderAddresstext = currentLocationFetchError || geoLocationSearchPageSelectedAddress || currentAddress || '' + + return ( + + + + + + + + + {t.yourLocation} + + + {loadingForCurrentAddress ? ( + + ) : ( + <> + + {renderAddresstext} + + + + )} + + + + + + + + + + + + + + {t.devicelocationisnotenabled} + + {t.accessToProvideLocation} + + + + + + + + + + + ) +} + +export default TopSheet diff --git a/apps/tourism/garudaa-1.0.0.tgz b/apps/tourism/garudaa-1.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6c88662eda41db13599fe370c7c39f85aa9be7af GIT binary patch literal 63816 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 z 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 literal 0 HcmV?d00001 diff --git a/apps/tourism/global.d.ts b/apps/tourism/global.d.ts new file mode 100644 index 000000000..ba29177a1 --- /dev/null +++ b/apps/tourism/global.d.ts @@ -0,0 +1,5 @@ +interface Date { + addDays: (days: number) => Date +} + +//to fix error that when I want to add function (addDays) to Date.prototype, happen. diff --git a/apps/tourism/hooks/useLanguage.tsx b/apps/tourism/hooks/useLanguage.tsx new file mode 100644 index 000000000..f30556c73 --- /dev/null +++ b/apps/tourism/hooks/useLanguage.tsx @@ -0,0 +1,9 @@ +import { useRouter } from 'next/router' +import en from '../locales/en' +import fa from '../locales/fa' + +export const useLanguage = () => { + const { locale } = useRouter() + const t = locale === 'en' ? en : fa + return { t, locale } +} diff --git a/apps/tourism/lib/types/geoLocationSearchPage.ts b/apps/tourism/lib/types/geoLocationSearchPage.ts new file mode 100644 index 000000000..df1862447 --- /dev/null +++ b/apps/tourism/lib/types/geoLocationSearchPage.ts @@ -0,0 +1,9 @@ +export interface IGeoLocationSearchPage { + geoLocationSearchPageVisible: boolean + geoAddress: string + geoLatLong: string +} + +export interface IGeoLocationSearchPageRootState { + geoLocationSearchPageUI: IGeoLocationSearchPage +} diff --git a/apps/tourism/lib/types/products.ts b/apps/tourism/lib/types/products.ts new file mode 100644 index 000000000..510cfe5e5 --- /dev/null +++ b/apps/tourism/lib/types/products.ts @@ -0,0 +1,101 @@ +export interface IProductDetails { + processor?: string + screen?: string + operating_system?: string + ram?: string + ssd?: string + ports?: string + graphic?: string + warranty?: string + back_camera?: string + front_camera?: string + battery?: string + frequency_response?: string + microphone?: boolean + wireless?: boolean + wireless_standby_time?: boolean + connectionType?: string[] + connectors?: string[] + bluetooth?: boolean + noise_cancelling?: boolean + sound_isolating?: boolean +} + +export type TSlug = { + _type: string + current: string +} + +export type TImage = { + _key: string + _type: 'image' + asset: { + _ref: string + _type: 'reference' + } +} + +export interface IProduct { + image: any + name: string + slug: TSlug + price: number + discount?: number + details?: IProductDetails[] + brand: string + category: string[] + isOffer?: boolean + registerDate?: string + timeStamp?: number + starRating: number +} + +/** + * New types for the retail + */ + +export interface RetailItem { + extended_attributes?: any + price: { + listed_value?: string + currency?: string + value: string + } + matched?: boolean + id: string + descriptor: { + images: string[] + name: string + short_desc: string + long_desc: string + } + location_id?: string + recommended?: boolean + tags: { + fulfillment_start_loc?: string + Category?: string + Trekking?: string + Himalayas?: string + fulfillment_end_time?: string + Country?: string + Ladakh?: string + Treks?: string + Package?: string + Leh?: string + fulfillment_end_loc?: string + authorName: string + rating: string + foodType?: string + } +} + +export interface SanitizedProduct { + productName: string + productImage: string + productDescription: string +} + +export interface IProductRootState { + product: RetailItem + encodedProduct: string +} diff --git a/apps/tourism/lib/types/search.ts b/apps/tourism/lib/types/search.ts new file mode 100644 index 000000000..fc0c8e241 --- /dev/null +++ b/apps/tourism/lib/types/search.ts @@ -0,0 +1,4 @@ +export interface SearchBarPropsModel { + searchString: string | string[] | undefined + handleChange: Function +} diff --git a/apps/tourism/locales/en.ts b/apps/tourism/locales/en.ts new file mode 100644 index 000000000..b6bd745cd --- /dev/null +++ b/apps/tourism/locales/en.ts @@ -0,0 +1,110 @@ +const en: { [key: string]: string } = { + name: 'Name', + fullName: 'Enter Your Full Name', + password: 'Password', + enterPassword: 'Enter Password', + email: 'Email', + enterEmailID: 'Enter Email ID', + signIn: 'Sign In', + signUp: 'Sign Up', + enterMobileNumber: 'Enter Mobile Number', + enterYourUserName: 'Please Enter Your UserName', + enterYourPassword: 'Please Enter Your Password', + enterYourEmail: 'Please Enter Your Email', + doHaveAnAccount: "Don't You Have An Account? ", + alreadyHaveAnAccount: 'Already You Have An Account? ', + Invalid_email_or_password: 'Invalid email or password', + Email_already_exists: 'Email already exists', + errorNumber: 'Mobile Number is required', + errorNumber2: 'Invalid Mobile Number', + errorPassword: 'Password is required', + errorPassword2: 'Password must be at least 8 characters long', + errorPassword3: 'Password must contain at least one uppercase letter', + errorPassword4: 'Password must contain at least one special character', + errorPassword5: 'Password cannot consist of only digits', + errorPassword6: 'Password must contain at least one digit', + errorEmail: 'Invalid Email', + errorName: 'Name is required', + errorName2: 'Name can only contain letters and spaces', + errorName3: 'Name must contain at least 3 characters', + searchforService: 'search for service', + homePara: 'To proceed with creating your workflow, please set your location and search for services.', + footerText: 'Powered by', + yourLocation: 'Select location', + devicelocationisnotenabled: ' Device location is not enabled', + accessToProvideLocation: ' Please provide the permission to access better & hassle free services', + enableLocation: ' Enable Location', + or: ' Or', + searchforlocation: 'Search For Location', + search: 'Search', + viewDetails: 'View Details', + book: 'Book', + orderSuccesfully: 'The order has been placed successfully.', + orderPlaced: ' Order Placed', + currencySymbol: '€', + orderOverview: 'Order Overview', + assembly: 'Assembly', + shipping: 'Shipping', + billing: 'Billing', + addBillingDetails: 'Add Billing Details', + addShippingDetails: 'Add Shipping Details', + overviewofBillingDetails: 'Overview of Billing Details', + completed: 'Completed', + pending: 'Pending', + progressSummary: 'Progress Summary', + cards: 'Credit & Debit cards', + addCard: 'Add', + upi: 'UPI', + other: 'Other', + confirmOrder: 'Confirm Order', + phonePay: 'PhonePe UPI', + cashOnDelivery: 'Cash on Delivery', + netBanking: ' Net Banking', + orderHistory: 'Order History', + invoiceDetails: 'Invoice Details', + cardNumber: '**** **** **** 1234', + procced: 'Proceed', + clicktheShopbuttontobuyitemsforthistrip: 'Click ‘Proceed’ to continue', + toImportthisorderanotherapp: 'to Import this order another app', + scanthisQR: 'Scan this QR ', + scanQR: 'Scan QR', + openInWallet: 'Open in Wallet', + viewJSON: 'View JSON', + payment: 'Payment', + pleaseWait: 'Please wait!', + searchLoaderSubText: ' While we find service providers near you', + total: 'Total', + checkoutLoaderSubText: 'while we setup a form to understand your requirements', + confirmLoaderSubtext: 'while we confirm your order', + statusLoaderSubText: 'while we update the current status of your order.', + emptyOrderHistoryText: 'This space appears quite empty!', + noExistingWorkflowText: 'No existing workflows found; create a new workflow to proceed.', + allRequestFullfilled: 'All orders delivered!', + howTodo: 'How did we do?', + rateUs: 'Rate Us', + orderDeliveredOnTime: 'Order Delivered on Time!', + pleaseShareYourFeedback: 'Please share your feedback with us', + rateDeliveryExperience: 'Rate the overall experience', + addCommentsHere: 'Add your comments here', + writeExperience: 'Write about your experience..', + shippingDetails: 'Shipping Details', + orderCancellation: 'Order Cancellation', + pleaseSelectReason: 'Please select the reason for cancellation', + orderCancel: 'Order Cancelled!', + yourOrderHasBeencancel: 'Your order has been cancelled,', + ifYouPaid: 'If you have paid already, it will get ', + refundedSoon: 'refunded soon', + fetchingTrackLoaderSubtext: 'While we fetch for tracking and support details', + updateOrderLoaderSubText: 'While we update your Order', + rateOrderLoaderSubText: 'While we submit your feedback', + cancelLoaderSubText: 'While we process your request', + signInwithGoogle: 'Sign In with Google', + saveContinue: 'Save & Continue', + enterFlatDetails: 'Enter Flat, House no, Building , etc', + enterStreetDetails: 'Enter Area , Street , Sector, Village', + enterCity: 'Enter City /Town', + enterPincode: 'Enter Pincode', + enterState: 'Enter State / Province', + enterCountry: 'Enter Country' +} +export default en diff --git a/apps/tourism/locales/fa.ts b/apps/tourism/locales/fa.ts new file mode 100644 index 000000000..f7f764ef9 --- /dev/null +++ b/apps/tourism/locales/fa.ts @@ -0,0 +1,350 @@ +const fa: { [key: string]: string } = { + mainPage: 'Page principale de ZiShop', + search: 'Recherche', + login: 'Connexion', + logout: 'Se déconnecter', + favorites: 'Favoris', + delete: 'Supprimer', + thereAreNoFavorites: "actuellement, il n'y a pas d'articles favoris", + signIn: "S'identifier", + seeCart: 'Voir le panier', + product: 'Produit', + totalAmount: 'Montant total', + totalQuantity: 'Quantité totale', + payableAmount: 'Montant payable', + loginAndOrder: 'Se connecter et commander', + orderSummary: 'Récapitulatif de la commande', + cartIsEmpty: 'Le panier est vide', + categories: 'Catégories', + seeAllProduct: 'Voir tous les produits de cette catégorie', + offer: 'Offres et réductions', + bestSells: 'Les meilleures ventes', + mainMenu: 'Menu principal', + language: 'Langue: ', + fa: 'français - Fa', + en: 'Anglais - En', + theme: 'Thème: ', + dark: 'Sombre', + light: 'Lumière', + digital: 'Numérique', + laptop: 'Ordinateur portable et accessoires', + asus: 'Asus', + apple: 'Pomme', + dell: 'Dell', + lenovo: 'Lenovo', + samsung: 'Samsung', + hp: 'CV', + huawei: 'HUAWEI', + acer: 'Acer', + msi: 'MSI', + mobile: 'Mobile et Accessoires', + nokia: 'Nokia', + xiaomi: 'Xiaomi', + motorola: 'Motorola', + lg: 'LG', + sony: 'Sony', + computer: 'Ordinateur et Accessoires', + monitor: 'Moniteur', + mouse: 'Souris', + keyboard: 'Clavier', + hard: 'Disque dur, mémoire Flash et SSD', + other: 'Autre', + tablet: 'Tablette', + powerBank: "Banque d'alimentation", + speaker: 'Haut-parleur Bluetooth et fil', + headphones: 'Casque, casque et mains libres', + fashion: 'Mode et vêtements', + women: 'La mode des femmes', + dress: 'Robe', + skirt: 'Jupe', + jeans: 'jeans', + pants: 'Pantalon', + tShirt: 'T-shirt', + scarf: 'Foulard', + shirt: 'Chemise', + tie: 'Cravate', + overalls: 'Salopette', + mittens: 'Mitaines', + babyApron: 'Tablier bébé', + shoes: 'Chaussures', + watch: 'Montre', + wallet: 'Portefeuille', + hat: 'Chapeau', + belt: 'Ceinture', + men: 'La mode masculine', + child: 'Mode enfantine', + toys: 'Jouets et Bébé', + cosmetic: 'Cosmétique', + home: 'Meubles et cuisine', + stationery: 'Livres, Papeterie et Art', + noProduct: "Il n'y a pas encore de produits dans cette catégorie ! ", + digitalBT: 'Vivez les meilleures expériences', + digitalBD: 'Nous fournissons la meilleure expérience avec les marques les plus populaires. ', + stationeryBT: 'Variété de choix', + stationeryBD: "Quand il s'agit de Beauté et d'Efficacité. ", + toyBT: 'Divertissement et croissance de la créativité', + toyBD: 'Des produits de la meilleure qualité et anti-allergiques pour créer des moments heureux', + houseBT: 'Maison moderne', + houseBD: + 'profitez de beaux moments de satisfaction et de paix avec vos proches à la maison avec des produits conçus selon les styles les plus récents et les plus en vue.', + fashionBT: 'Beauté et confort', + fashionBD: + 'Vous trouverez les meilleurs tissus, les designs les plus en vogue et les marques les plus populaires à des prix raisonnables. ', + beautyBT: 'Accentue votre Beauté', + beautyBD: 'sans allergènes, les personnes de tous types de peau peuvent trouver les produits dont elles ont besoin. ', + deliver: 'livraison express', + cash: 'paiement sur place', + support: 'Assistance 24h/24 et 7j/7', + warrantyBenefit: "Garantir l'originalité", + return: 'garantie de remboursement des marchandises', + offers: 'Offres spéciales', + newest: 'Marchandises les plus récentes', + seeAll: 'Voir tout', + specialSale: 'Vente spéciale', + seeAllNewProducts: 'Voir tous les nouveaux produits', + digitalCategoryDescription: 'Nous offrons les produits les plus récents aux prix les plus compétitifs', + fashionCategoryDescription: 'Les marques les plus populaires avec les prix les plus raisonnables', + beautyCategoryDescription: 'Produits anti-allergiques adaptés à tous les types de peau de marques réputées', + sportCategoryDescription: 'Des produits de qualité et durables', + houseCategoryDescription: 'Conforme aux dessins du jour', + toyCategoryDescription: 'Une combinaison de divertissement et de créativité', + stationeryCategoryTitle: 'Livres, Papeterie et Art', + stationeryCategoryDescription: 'Variété de choix', + seeAllProducts: 'Voir tous les produits', + expireDiscount: 'La remise pour ce produit était Expire.', + days: 'Jours', + hours: 'Heures', + mins: 'Minutes', + seconds: 'Secondes', + larisaTitle: 'Meubles Larissa', + larisaDescription: + 'Le beau canapé Larissa avec son design privé peut donner une beauté unique à votre décoration de réception.', + byNow: 'Ajouter au panier', + see: 'Voir le produit', + romanoTitle: 'Meubles romans', + romanoDescription: + 'Le canapé Romano a une beauté impressionnante et peut multiplier le charme de la décoration de votre maison.', + popularBrands: 'Marques populaires', + zishopMap: 'Carte de Zishop', + aboutUs: 'À propos de nous', + contactUs: 'Contactez-nous', + saleInZishop: 'Vente à Zishop', + careerOpportunities: 'Opportunités de carrière', + customerServices: 'Service client', + commonQuestions: 'Questions courantes', + returnProcedures: 'Procédures de retour', + privacy: 'Confidentialité', + shoppingGuide: "Guide d'achat", + howToPlaceAnOrder: 'Comment passer une commande ?', + orderSubmissionProcedure: 'Procédure de soumission de commande', + paymentMethods: 'méthodes de payement', + beWithUs: 'Soyez avec nous!', + emailRegister: 'Restez au courant des dernières réductions en nous envoyant un e-mail', + yourEmail: 'Veuillez saisir votre e-mail', + register: 'Enregistrer', + copyRight: '© 2022 ZiShop. ', + sort: 'Trier en fonction de : ', + all: 'Tous', + newestProducts: 'Le plus récent', + cheapest: 'Le moins cher', + popular: 'Le plus populaire', + expensive: 'Le plus cher', + details: 'détails du produit', + back_camera: 'Caméra principale', + battery: 'Batterie', + front_camera: 'Caméra frontale', + operating_system: 'Système opérateur', + processor: 'CPU', + ram: 'RAM', + screen: 'Filtrer', + resolution: 'Résolution', + display_type: "Type d'affichage", + viewing_angle: 'Angle de vue', + response_time: 'Temps de réponse', + refresh_rate: 'Fréquence de rafraîchissement', + panel_technology: 'Technologie des panneaux', + input_output_types: "Types d'entrée/sortie", + true: 'Oui', + false: 'Non', + bluetooth: 'Bluetooth', + frequency_response: 'Fréquence de réponse', + sound_isolating: 'Isolation acoustique', + microphone: 'Microphone', + noise_cancelling: 'Suppression du bruit', + wireless: 'Sans fil', + wireless_standby_time: 'Autonomie de la batterie en mode veille', + connectionType: 'Type de connexion', + connectors: 'Connecteurs', + multimedia_keys: 'Touches multimédia', + number_of_buttons: 'Nombre de boutons (y compris la molette de défilement)', + width: 'Largeur', + height: 'Hauteur', + depth: 'Profondeur', + curved: 'Incurvé', + built_in_speakers: 'Haut-parleurs intégrés', + mechanical_keys: 'Clés mécaniques', + backlit_keys: 'Touches rétroéclairées', + ergonomic_design: 'Design ergonomique', + designed_for_gaming: 'Conçu pour les jeux', + graphic: 'Graphique', + ports: 'Ports', + ssd: 'Disque dur SSD', + warranty: 'garantie', + addToCart: 'AJOUTER AU PANIER', + stars: 'Étoile', + price: 'Prix ​​du produit', + similarProducts: 'Vous etes peut etre intéressé', + cart: 'Panier', + hi: 'Salut!', + loginExplanation: + 'En plus de vous inscrire, vous pouvez également tester le modèle avec les informations du compte de test (e-mail : test@info.com - Mot de passe : 123456)', + testAccount: "compte d'essai", + userName: "Nom d'utilisateur", + password: 'Mot de passe', + email: 'E-mail', + enterYourUserName: "S'il vous plaît entrez votre nom d'utilisateur", + enterYourPassword: "S'il vous plait entrez votre mot de passe", + enterYourEmail: 'Veuillez saisir votre e-mail', + doHaveAnAccount: "Vous n'avez pas de compte ? ", + alreadyHaveAnAccount: 'Vous avez déjà un compte ? ', + signUp: "S'inscrire", + Invalid_email_or_password: 'email ou mot de passe invalide', + Email_already_exists: "l'email existe déjà", + aboutLongText: + 'Le modèle de magasin ZShop a été écrit pour consolider mes connaissances frontales, en utilisant des technologies telles que Nextjs, Typescript, React, Tailwindcss, etc. en tant que portefeuille. ', + aboutEnjoy: "J'espère que vous apprécierez regarder et travailler avec ce modèle.", + myName: 'Kehyshow', + cafeDX: "Le travail a pour but d'améliorer la vie, et non l'inverse.", + productAddedToCartMsg: 'Produit ajouté au panier avec succès', + BrowseByCategory: 'Parcourir par catégorie', + meatAndFish: 'Viande', + fruitsVegetablesTitle: 'Fruits et légumes', + frozenFood: 'Des surgelés', + beverages: 'Breuvages', + snacks: 'Collations', + dairy: 'Laitier', + cashOnDelivery: 'Paiement à la réception', + selectPaymentMethod: 'Sélectionnez le mode de paiement', + orderDetails: 'Détails de la commande', + trackOrder: 'Suivi de commande', + proceedToPay: 'Procéder au paiement', + backToHome: 'Retournez à la maison', + contactSupport: 'Contactez le support', + orderDeliveredOnTime: 'Commande livrée à temps !', + shareYourfeedback: "S'il vous plaît partagez vos commentaires avec nous", + submitReview: 'Poster le commentaire', + skipForNow: 'Passer pour le moment', + orderConfirmed: 'Commande confirmée', + orderConfirmedMssg: 'ABC Mart a confirmé votre commande', + orderConfirmedTime: '10h13', + agentAssigned: "Un livreur s'occupe de vous", + agentAssignedMssg: 'Steve notre transporteur est au magasin pour récupérer votre commande.', + agentAssignedTime: '10h35', + OFD: 'En cours de livraison', + OFDMssg: 'La commande a été récupérée ! ', + orderDeliveredMssg: 'La commande a été retirée ! Notre transporteur est en chemin pour vous livrer', + orderDeliveredTime: '12h23', + checkout: 'Vérifier', + items: 'Articles', + shipping: 'Expédition', + billing: 'Facturation', + changeText: 'Changer', + paymentText: 'Paiement', + orderDetailsCheckboxText: "Identique aux détails d'expédition", + subtotalText: 'Total', + deliveryChargesText: 'Frais de livraison', + totalText: 'Total', + orderpolicyText: 'Politique de commande', + orderPolicyText: + "Dans l'édition et la conception graphique, Lorem ipsum est un texte d'espace réservé couramment utilisé pour démontrer la forme visuelle d'un document ou d'une police de caractères sans s'appuyer sur Dans l'édition et la conception graphique, Lorem ipsum est un texte d'espace réservé couramment utilisé pour démontrer la forme visuelle d'un document ", + readMoreText: 'En savoir plus', + readLessText: 'Lire moins', + addShippingdetailsBtnText: 'Ajouter les détails de livraison', + orderHistory: 'Historique des commandes', + bottomModalTitle: 'Recherche', + optionRestaurants: 'Restaurants', + optionRestaurant: 'Restaurant', + restaurants: 'Restaurants à', + optionStores: 'Commerces', + optionHotels: 'Hôtels', + optionBooks: 'Librairies', + categoryLoadPrimary: "S'il vous plaît, attendez!", + categoryLoadSecondary: 'Récupération du catalogue du magasin à partir du réseau', + shopButton: 'magasiner', + summary: 'Summary', + fulfillment: 'Fulfillment ', + order: 'Commande', + localStores: 'Commerces de proximité', + cartLoader: 'Obtention des devis', + initializingOrderLoader: 'Veuillez patienter pendant que nous préparons les choses pour vous', + confirmingOrderLoader: 'Veuillez patienter pendant que nous confirmons votre commande', + orderConfirm: 'Commande confirmée!', + confirmOrderMessage: 'Merci ! Notre agent de livraison vous livrera votre commande.', + currencySymbol: '€', + saveShippingDetails: "Enregistrer l'expédition détails", + saveBillingDetails: 'Enregistrer les détails de facturation', + addBillingDetails: 'Ajouter les détails de facturation', + comingSoon: 'À venir !', + proceedToCheckout: 'Vérifier', + confirmOrder: 'Confirmer la commande', + orderPlacedAt: 'Passée à ', + ordersFulfilled: 'Commande honorée', + subTotal: 'Sous-total', + deliveryCharge: 'Frais de livraison', + total: 'Total', + status: 'Statut', + paymentMethod: 'Méthode de paiement', + explorePlaces: 'Explorer les lieux à proximité', + cards: 'Cartes bancaires', + addCard: 'Ajouter', + orderPlaced: 'commande passée', + inStoreShopping: 'Achats en magasin', + delivery: 'Livraison', + clickAndCollect: 'Click & Collect', + dineIn: 'Service sur place', + takeAway: 'À emporte', + bookstore: 'Librairie', + formName: 'Nom', + formNumber: 'Numéro de téléphone portable', + formEmail: 'Adresse e-mail', + formAddress: 'Adresse complète', + formZipCode: 'Code Interphone', + errorName: 'Le nom est requis', + errorNumber: 'Le numéro de téléphone portable est requis', + errorNumber2: 'Numéro de téléphone portable invalide', + errorNumber3: 'Le numéro de téléphone portable doit comporter 10 chiffres', + errorEmail: "L'e-mail est requis", + errorEmail2: 'Adresse e-mail invalide', + errorAddress: "L'adresse complète est requise", + errorZipcode: 'Le code interphone est requis', + errorZipcode2: 'Code nterphone invalide', + confirmMessage1: 'Merci ! Notre commande sera', + confirmMessage2: 'confirmée sous peu', + sendOtpButton: 'Envoyer', + verifyMobile: 'Vérifier le numéro de téléphone', + otpMessage1: 'Un code a été envoyé à votre téléphone', + otpMessage2: 'se termine par', + otpPlaceholder: 'Entrez le code ici', + loginButton: 'Se connecter', + errorOtp1: 'Code requis', + errorOtp2: 'Code invalide', + catalogLoader: 'Veuillez patienter !', + catalogSubLoader: 'Récupération du catalogue du magasin depuis le réseau', + quoteRequestLoader: "S'il vous plaît, attendez! Votre commande est en cours de traitement", + estimatedDelivery: 'Délai de livraison estimé au ', + orderId: 'De la livraison', + pending: 'En attente', + confirmed: 'Confirmé', + delivered: 'Livrée', + confirmationPending: 'Confirmation en attente', + itemsConfirmed: 'Articles confirmés', + orderPacked: 'Commande emballée', + outForDelivery: 'Prêt pour la livraison', + orderDelivered: 'Commande livrée', + rateStore: 'Évaluer le magasin', + rateDeliveryExperience: "Évaluer l'expérience de livraison", + addCommentsHere: 'Ajoutez vos commentaires ici', + writeExperience: 'Décrivez votre expérience..', + completed: 'Complété' +} +export default fa diff --git a/apps/tourism/next-env.d.ts b/apps/tourism/next-env.d.ts new file mode 100644 index 000000000..4f11a03dc --- /dev/null +++ b/apps/tourism/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/apps/tourism/next-sitemap.config.js b/apps/tourism/next-sitemap.config.js new file mode 100644 index 000000000..75460e752 --- /dev/null +++ b/apps/tourism/next-sitemap.config.js @@ -0,0 +1,6 @@ +/** @type {import('next-sitemap').IConfig} */ + +module.exports = { + siteUrl: process.env.SITE_URL, + generateRobotsTxt: true +} diff --git a/apps/tourism/next.config.js b/apps/tourism/next.config.js new file mode 100644 index 000000000..65ff33546 --- /dev/null +++ b/apps/tourism/next.config.js @@ -0,0 +1,48 @@ +/** @type {import('next').NextConfig} */ + +const nextConfig = { + reactStrictMode: false, + transpilePackages: ['@beckn-ui/molecules', '@beckn-ui/becknified-components'], + i18n: { + locales: ['en', 'fa'], + defaultLocale: 'en', + localeDetection: false + }, + images: { + domains: [ + 'cdn.sanity.io', + 'bazaar.becknprotocol.io', + 'mandi.succinct.in', + 'market.becknprotocol.io', + 'retail-osm-stage.becknprotocol.io', + 'retail-osm-prod.becknprotocol.io' + ] + }, + eslint: { + // Warning: This allows production builds to successfully complete even if + // your project has ESLint errors. + ignoreDuringBuilds: true + }, + typescript: { + // !! WARN !! + // Dangerously allow production builds to successfully complete even if + // your project has type errors. + // !! WARN !! + ignoreBuildErrors: true + }, + webpack: function (config) { + config.module.rules.push({ + test: /\.(eot|woff|woff2|ttf|svg|png|jpg|gif)$/, + use: { + loader: 'url-loader', + options: { + limit: 100000, + name: '[name].[ext]' + } + } + }) + return config + } +} + +module.exports = nextConfig diff --git a/apps/tourism/npm b/apps/tourism/npm new file mode 100644 index 000000000..e69de29bb diff --git a/apps/tourism/package-lock.json b/apps/tourism/package-lock.json new file mode 100644 index 000000000..995e2715f --- /dev/null +++ b/apps/tourism/package-lock.json @@ -0,0 +1,5794 @@ +{ + "name": "online-shop", + "version": "0.1.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "requires": { + "@babel/highlight": "^7.22.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/runtime": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/runtime-corejs3": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.22.5.tgz", + "integrity": "sha512-TNPDN6aBFaUox2Lu+H/Y1dKKQgr4ucz/FGyCz67RVYLsBpVpUFf1dDngzg+Od8aqbrqwyztkaZjtWCZEUOT8zA==", + "dev": true, + "requires": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "@chakra-ui/accordion": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.2.0.tgz", + "integrity": "sha512-2IK1iLzTZ22u8GKPPPn65mqJdZidn4AvkgAbv17ISdKA07VHJ8jSd4QF1T5iCXjKfZ0XaXozmhP4kDhjwF2IbQ==", + "requires": { + "@chakra-ui/descendant": "3.0.14", + "@chakra-ui/icon": "3.0.16", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-use-controllable-state": "2.0.8", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.0.16" + } + }, + "@chakra-ui/alert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.1.0.tgz", + "integrity": "sha512-OcfHwoXI5VrmM+tHJTHT62Bx6TfyfCxSa0PWUOueJzSyhlUOKBND5we6UtrOB7D0jwX45qKKEDJOLG5yCG21jQ==", + "requires": { + "@chakra-ui/icon": "3.0.16", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/spinner": "2.0.13" + } + }, + "@chakra-ui/anatomy": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.1.2.tgz", + "integrity": "sha512-pKfOS/mztc4sUXHNc8ypJ1gPWSolWT770jrgVRfolVbYlki8y5Y+As996zMF6k5lewTu6j9DQequ7Cc9a69IVQ==" + }, + "@chakra-ui/avatar": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.2.11.tgz", + "integrity": "sha512-CJFkoWvlCTDJTUBrKA/aVyG5Zz6TBEIVmmsJtqC6VcQuVDTxkWod8ruXnjb0LT2DUveL7xR5qZM9a5IXcsH3zg==", + "requires": { + "@chakra-ui/image": "2.0.16", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/breadcrumb": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.1.5.tgz", + "integrity": "sha512-p3eQQrHQBkRB69xOmNyBJqEdfCrMt+e0eOH+Pm/DjFWfIVIbnIaFbmDCeWClqlLa21Ypc6h1hR9jEmvg8kmOog==", + "requires": { + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/breakpoint-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/breakpoint-utils/-/breakpoint-utils-2.0.8.tgz", + "integrity": "sha512-Pq32MlEX9fwb5j5xx8s18zJMARNHlQZH2VH1RZgfgRDpp7DcEgtRW5AInfN5CfqdHLO1dGxA7I3MqEuL5JnIsA==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/button": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.0.18.tgz", + "integrity": "sha512-E3c99+lOm6ou4nQVOTLkG+IdOPMjsQK+Qe7VyP8A/xeAMFONuibrWPRPpprr4ZkB4kEoLMfNuyH2+aEza3ScUA==", + "requires": { + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/spinner": "2.0.13" + } + }, + "@chakra-ui/card": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/card/-/card-2.1.6.tgz", + "integrity": "sha512-fFd/WAdRNVY/WOSQv4skpy0WeVhhI0f7dTY1Sm0jVl0KLmuP/GnpsWtKtqWjNcV00K963EXDyhlk6+9oxbP4gw==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/checkbox": { + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.2.15.tgz", + "integrity": "sha512-Ju2yQjX8azgFa5f6VLPuwdGYobZ+rdbcYqjiks848JvPc75UsPhpS05cb4XlrKT7M16I8txDA5rPJdqqFicHCA==", + "requires": { + "@chakra-ui/form-control": "2.0.18", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.0.7", + "@chakra-ui/react-use-controllable-state": "2.0.8", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-safe-layout-effect": "2.0.5", + "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/visually-hidden": "2.0.15", + "@zag-js/focus-visible": "0.2.2" + } + }, + "@chakra-ui/clickable": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.0.14.tgz", + "integrity": "sha512-jfsM1qaD74ZykLHmvmsKRhDyokLUxEfL8Il1VoZMNX5RBI0xW/56vKpLTFF/v/+vLPLS+Te2cZdD4+2O+G6ulA==", + "requires": { + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/close-button": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.0.17.tgz", + "integrity": "sha512-05YPXk456t1Xa3KpqTrvm+7smx+95dmaPiwjiBN3p7LHUQVHJd8ZXSDB0V+WKi419k3cVQeJUdU/azDO2f40sw==", + "requires": { + "@chakra-ui/icon": "3.0.16" + } + }, + "@chakra-ui/color-mode": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.1.12.tgz", + "integrity": "sha512-sYyfJGDoJSLYO+V2hxV9r033qhte5Nw/wAn5yRGGZnEEN1dKPEdWQ3XZvglWSDTNd0w9zkoH2w6vP4FBBYb/iw==", + "requires": { + "@chakra-ui/react-use-safe-layout-effect": "2.0.5" + } + }, + "@chakra-ui/control-box": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.0.13.tgz", + "integrity": "sha512-FEyrU4crxati80KUF/+1Z1CU3eZK6Sa0Yv7Z/ydtz9/tvGblXW9NFanoomXAOvcIFLbaLQPPATm9Gmpr7VG05A==" + }, + "@chakra-ui/counter": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.0.14.tgz", + "integrity": "sha512-KxcSRfUbb94dP77xTip2myoE7P2HQQN4V5fRJmNAGbzcyLciJ+aDylUU/UxgNcEjawUp6Q242NbWb1TSbKoqog==", + "requires": { + "@chakra-ui/number-utils": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/css-reset": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.1.2.tgz", + "integrity": "sha512-4ySTLd+3iRpp4lX0yI9Yo2uQm2f+qwYGNOZF0cNcfN+4UJCd3IsaWxYRR/Anz+M51NVldZbYzC+TEYC/kpJc4A==" + }, + "@chakra-ui/descendant": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.14.tgz", + "integrity": "sha512-+Ahvp9H4HMpfScIv9w1vaecGz7qWAaK1YFHHolz/SIsGLaLGlbdp+5UNabQC7L6TUnzzJDQDxzwif78rTD7ang==", + "requires": { + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-use-merge-refs": "2.0.7" + } + }, + "@chakra-ui/dom-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.1.0.tgz", + "integrity": "sha512-ZmF2qRa1QZ0CMLU8M1zCfmw29DmPNtfjR9iTo74U5FPr3i1aoAh7fbJ4qAlZ197Xw9eAW28tvzQuoVWeL5C7fQ==" + }, + "@chakra-ui/editable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-3.0.0.tgz", + "integrity": "sha512-q/7C/TM3iLaoQKlEiM8AY565i9NoaXtS6N6N4HWIEL5mZJPbMeHKxrCHUZlHxYuQJqFOGc09ZPD9fAFx1GkYwQ==", + "requires": { + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.0.7", + "@chakra-ui/react-use-controllable-state": "2.0.8", + "@chakra-ui/react-use-focus-on-pointer-down": "2.0.6", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-safe-layout-effect": "2.0.5", + "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/event-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/event-utils/-/event-utils-2.0.8.tgz", + "integrity": "sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==" + }, + "@chakra-ui/focus-lock": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.0.17.tgz", + "integrity": "sha512-V+m4Ml9E8QY66DUpHX/imInVvz5XJ5zx59Tl0aNancXgeVY1Rt/ZdxuZdPLCAmPC/MF3GUOgnEA+WU8i+VL6Gw==", + "requires": { + "@chakra-ui/dom-utils": "2.1.0", + "react-focus-lock": "^2.9.4" + } + }, + "@chakra-ui/form-control": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.0.18.tgz", + "integrity": "sha512-I0a0jG01IAtRPccOXSNugyRdUAe8Dy40ctqedZvznMweOXzbMCF1m+sHPLdWeWC/VI13VoAispdPY0/zHOdjsQ==", + "requires": { + "@chakra-ui/icon": "3.0.16", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/hooks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.2.0.tgz", + "integrity": "sha512-GZE64mcr20w+3KbCUPqQJHHmiFnX5Rcp8jS3YntGA4D5X2qU85jka7QkjfBwv/iduZ5Ei0YpCMYGCpi91dhD1Q==", + "requires": { + "@chakra-ui/react-utils": "2.0.12", + "@chakra-ui/utils": "2.0.15", + "compute-scroll-into-view": "1.0.20", + "copy-to-clipboard": "3.3.3" + } + }, + "@chakra-ui/icon": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.0.16.tgz", + "integrity": "sha512-RpA1X5Ptz8Mt39HSyEIW1wxAz2AXyf9H0JJ5HVx/dBdMZaGMDJ0HyyPBVci0m4RCoJuyG1HHG/DXJaVfUTVAeg==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/icons": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@chakra-ui/icons/-/icons-2.0.19.tgz", + "integrity": "sha512-0A6U1ZBZhLIxh3QgdjuvIEhAZi3B9v8g6Qvlfa3mu6vSnXQn2CHBZXmJwxpXxO40NK/2gj/gKXrLeUaFR6H/Qw==", + "requires": { + "@chakra-ui/icon": "3.0.16" + } + }, + "@chakra-ui/image": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.0.16.tgz", + "integrity": "sha512-iFypk1slgP3OK7VIPOtkB0UuiqVxNalgA59yoRM43xLIeZAEZpKngUVno4A2kFS61yKN0eIY4hXD3Xjm+25EJA==", + "requires": { + "@chakra-ui/react-use-safe-layout-effect": "2.0.5", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/input": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.0.22.tgz", + "integrity": "sha512-dCIC0/Q7mjZf17YqgoQsnXn0bus6vgriTRn8VmxOc+WcVl+KBSTBWujGrS5yu85WIFQ0aeqQvziDnDQybPqAbA==", + "requires": { + "@chakra-ui/form-control": "2.0.18", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/layout": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.2.0.tgz", + "integrity": "sha512-WvfsWQjqzbCxv7pbpPGVKxj9eQr7MC2i37ag4Wn7ClIG7uPuwHYTUWOnjnu27O3H/zA4cRVZ4Hs3GpSPbojZFQ==", + "requires": { + "@chakra-ui/breakpoint-utils": "2.0.8", + "@chakra-ui/icon": "3.0.16", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/lazy-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/lazy-utils/-/lazy-utils-2.0.5.tgz", + "integrity": "sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg==" + }, + "@chakra-ui/live-region": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.0.13.tgz", + "integrity": "sha512-Ja+Slk6ZkxSA5oJzU2VuGU7TpZpbMb/4P4OUhIf2D30ctmIeXkxTWw1Bs1nGJAVtAPcGS5sKA+zb89i8g+0cTQ==" + }, + "@chakra-ui/media-query": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.2.12.tgz", + "integrity": "sha512-8pSLDf3oxxhFrhd40rs7vSeIBfvOmIKHA7DJlGUC/y+9irD24ZwgmCtFnn+y3gI47hTJsopbSX+wb8nr7XPswA==", + "requires": { + "@chakra-ui/breakpoint-utils": "2.0.8", + "@chakra-ui/react-env": "3.0.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/menu": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.1.15.tgz", + "integrity": "sha512-+1fh7KBKZyhy8wi7Q6nQAzrvjM6xggyhGMnSna0rt6FJVA2jlfkjb5FozyIVPnkfJKjkKd8THVhrs9E7pHNV/w==", + "requires": { + "@chakra-ui/clickable": "2.0.14", + "@chakra-ui/descendant": "3.0.14", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/popper": "3.0.14", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-use-animation-state": "2.0.9", + "@chakra-ui/react-use-controllable-state": "2.0.8", + "@chakra-ui/react-use-disclosure": "2.0.8", + "@chakra-ui/react-use-focus-effect": "2.0.11", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-outside-click": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.0.16" + } + }, + "@chakra-ui/modal": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.2.12.tgz", + "integrity": "sha512-F1nNmYGvyqlmxidbwaBM3y57NhZ/Qeyc8BE9tb1FL1v9nxQhkfrPvMQ9miK0O1syPN6aZ5MMj+uD3AsRFE+/tA==", + "requires": { + "@chakra-ui/close-button": "2.0.17", + "@chakra-ui/focus-lock": "2.0.17", + "@chakra-ui/portal": "2.0.16", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.0.16", + "aria-hidden": "^1.2.2", + "react-remove-scroll": "^2.5.5" + } + }, + "@chakra-ui/number-input": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.0.19.tgz", + "integrity": "sha512-HDaITvtMEqOauOrCPsARDxKD9PSHmhWywpcyCSOX0lMe4xx2aaGhU0QQFhsJsykj8Er6pytMv6t0KZksdDv3YA==", + "requires": { + "@chakra-ui/counter": "2.0.14", + "@chakra-ui/form-control": "2.0.18", + "@chakra-ui/icon": "3.0.16", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.0.7", + "@chakra-ui/react-use-event-listener": "2.0.7", + "@chakra-ui/react-use-interval": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-safe-layout-effect": "2.0.5", + "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/number-utils": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-utils/-/number-utils-2.0.7.tgz", + "integrity": "sha512-yOGxBjXNvLTBvQyhMDqGU0Oj26s91mbAlqKHiuw737AXHt0aPllOthVUqQMeaYLwLCjGMg0jtI7JReRzyi94Dg==" + }, + "@chakra-ui/object-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.1.0.tgz", + "integrity": "sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ==" + }, + "@chakra-ui/pin-input": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.0.20.tgz", + "integrity": "sha512-IHVmerrtHN8F+jRB3W1HnMir1S1TUCWhI7qDInxqPtoRffHt6mzZgLZ0izx8p1fD4HkW4c1d4/ZLEz9uH9bBRg==", + "requires": { + "@chakra-ui/descendant": "3.0.14", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-use-controllable-state": "2.0.8", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/popover": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.1.12.tgz", + "integrity": "sha512-Corh8trA1f3ydcMQqomgSvYNNhAlpxiBpMY2sglwYazOJcueHA8CI05cJVD0T/wwoTob7BShabhCGFZThn61Ng==", + "requires": { + "@chakra-ui/close-button": "2.0.17", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/popper": "3.0.14", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-animation-state": "2.0.9", + "@chakra-ui/react-use-disclosure": "2.0.8", + "@chakra-ui/react-use-focus-effect": "2.0.11", + "@chakra-ui/react-use-focus-on-pointer-down": "2.0.6", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/popper": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.0.14.tgz", + "integrity": "sha512-RDMmmSfjsmHJbVn2agDyoJpTbQK33fxx//njwJdeyM0zTG/3/4xjI/Cxru3acJ2Y+1jFGmPqhO81stFjnbtfIw==", + "requires": { + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@popperjs/core": "^2.9.3" + } + }, + "@chakra-ui/portal": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.0.16.tgz", + "integrity": "sha512-bVID0qbQ0l4xq38LdqAN4EKD4/uFkDnXzFwOlviC9sl0dNhzICDb1ltuH/Adl1d2HTMqyN60O3GO58eHy7plnQ==", + "requires": { + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-use-safe-layout-effect": "2.0.5" + } + }, + "@chakra-ui/progress": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.1.6.tgz", + "integrity": "sha512-hHh5Ysv4z6bK+j2GJbi/FT9CVyto2PtNUNwBmr3oNMVsoOUMoRjczfXvvYqp0EHr9PCpxqrq7sRwgQXUzhbDSw==", + "requires": { + "@chakra-ui/react-context": "2.0.8" + } + }, + "@chakra-ui/provider": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.3.0.tgz", + "integrity": "sha512-vKgmjoLVS3NnHW8RSYwmhhda2ZTi3fQc1egkYSVwngGky4CsN15I+XDhxJitVd66H41cjah/UNJyoeq7ACseLA==", + "requires": { + "@chakra-ui/css-reset": "2.1.2", + "@chakra-ui/portal": "2.0.16", + "@chakra-ui/react-env": "3.0.0", + "@chakra-ui/system": "2.5.8", + "@chakra-ui/utils": "2.0.15" + } + }, + "@chakra-ui/radio": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.0.22.tgz", + "integrity": "sha512-GsQ5WAnLwivWl6gPk8P1x+tCcpVakCt5R5T0HumF7DGPXKdJbjS+RaFySrbETmyTJsKY4QrfXn+g8CWVrMjPjw==", + "requires": { + "@chakra-ui/form-control": "2.0.18", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5", + "@zag-js/focus-visible": "0.2.2" + } + }, + "@chakra-ui/react": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.7.1.tgz", + "integrity": "sha512-uIYIAg+gnUoRbgdCfSEVvQnrEz0oWWXATGGSQpxmuJovNVyZKnX/Xug7NkWQfBUJPYRSG+VB69ZmsAFpyLSMtA==", + "requires": { + "@chakra-ui/accordion": "2.2.0", + "@chakra-ui/alert": "2.1.0", + "@chakra-ui/avatar": "2.2.11", + "@chakra-ui/breadcrumb": "2.1.5", + "@chakra-ui/button": "2.0.18", + "@chakra-ui/card": "2.1.6", + "@chakra-ui/checkbox": "2.2.15", + "@chakra-ui/close-button": "2.0.17", + "@chakra-ui/control-box": "2.0.13", + "@chakra-ui/counter": "2.0.14", + "@chakra-ui/css-reset": "2.1.2", + "@chakra-ui/editable": "3.0.0", + "@chakra-ui/focus-lock": "2.0.17", + "@chakra-ui/form-control": "2.0.18", + "@chakra-ui/hooks": "2.2.0", + "@chakra-ui/icon": "3.0.16", + "@chakra-ui/image": "2.0.16", + "@chakra-ui/input": "2.0.22", + "@chakra-ui/layout": "2.2.0", + "@chakra-ui/live-region": "2.0.13", + "@chakra-ui/media-query": "3.2.12", + "@chakra-ui/menu": "2.1.15", + "@chakra-ui/modal": "2.2.12", + "@chakra-ui/number-input": "2.0.19", + "@chakra-ui/pin-input": "2.0.20", + "@chakra-ui/popover": "2.1.12", + "@chakra-ui/popper": "3.0.14", + "@chakra-ui/portal": "2.0.16", + "@chakra-ui/progress": "2.1.6", + "@chakra-ui/provider": "2.3.0", + "@chakra-ui/radio": "2.0.22", + "@chakra-ui/react-env": "3.0.0", + "@chakra-ui/select": "2.0.19", + "@chakra-ui/skeleton": "2.0.24", + "@chakra-ui/skip-nav": "2.0.15", + "@chakra-ui/slider": "2.0.25", + "@chakra-ui/spinner": "2.0.13", + "@chakra-ui/stat": "2.0.18", + "@chakra-ui/stepper": "2.2.0", + "@chakra-ui/styled-system": "2.9.1", + "@chakra-ui/switch": "2.0.27", + "@chakra-ui/system": "2.5.8", + "@chakra-ui/table": "2.0.17", + "@chakra-ui/tabs": "2.1.9", + "@chakra-ui/tag": "3.0.0", + "@chakra-ui/textarea": "2.0.19", + "@chakra-ui/theme": "3.1.2", + "@chakra-ui/theme-utils": "2.0.18", + "@chakra-ui/toast": "6.1.4", + "@chakra-ui/tooltip": "2.2.9", + "@chakra-ui/transition": "2.0.16", + "@chakra-ui/utils": "2.0.15", + "@chakra-ui/visually-hidden": "2.0.15" + } + }, + "@chakra-ui/react-children-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-children-utils/-/react-children-utils-2.0.6.tgz", + "integrity": "sha512-QVR2RC7QsOsbWwEnq9YduhpqSFnZGvjjGREV8ygKi8ADhXh93C8azLECCUVgRJF2Wc+So1fgxmjLcbZfY2VmBA==" + }, + "@chakra-ui/react-context": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.0.8.tgz", + "integrity": "sha512-tRTKdn6lCTXM6WPjSokAAKCw2ioih7Eg8cNgaYRSwKBck8nkz9YqxgIIEj3dJD7MGtpl24S/SNI98iRWkRwR/A==" + }, + "@chakra-ui/react-env": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-3.0.0.tgz", + "integrity": "sha512-tfMRO2v508HQWAqSADFrwZgR9oU10qC97oV6zGbjHh9ALP0/IcFR+Bi71KRTveDTm85fMeAzZYGj57P3Dsipkw==", + "requires": { + "@chakra-ui/react-use-safe-layout-effect": "2.0.5" + } + }, + "@chakra-ui/react-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-types/-/react-types-2.0.7.tgz", + "integrity": "sha512-12zv2qIZ8EHwiytggtGvo4iLT0APris7T0qaAWqzpUGS0cdUtR8W+V1BJ5Ocq+7tA6dzQ/7+w5hmXih61TuhWQ==" + }, + "@chakra-ui/react-use-animation-state": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.0.9.tgz", + "integrity": "sha512-WFoD5OG03PBmzJCoRwM8rVfU442AvKBPPgA0yGGlKioH29OGuX7W78Ml+cYdXxonTiB03YSRZzUwaUnP4wAy1Q==", + "requires": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.0.7" + } + }, + "@chakra-ui/react-use-callback-ref": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.0.7.tgz", + "integrity": "sha512-YjT76nTpfHAK5NxplAlZsQwNju5KmQExnqsWNPFeOR6vvbC34+iPSTr+r91i1Hdy7gBSbevsOsd5Wm6RN3GuMw==" + }, + "@chakra-ui/react-use-controllable-state": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.0.8.tgz", + "integrity": "sha512-F7rdCbLEmRjwwODqWZ3y+mKgSSHPcLQxeUygwk1BkZPXbKkJJKymOIjIynil2cbH7ku3hcSIWRvuhpCcfQWJ7Q==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.0.7" + } + }, + "@chakra-ui/react-use-disclosure": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.0.8.tgz", + "integrity": "sha512-2ir/mHe1YND40e+FyLHnDsnDsBQPwzKDLzfe9GZri7y31oU83JSbHdlAXAhp3bpjohslwavtRCp+S/zRxfO9aQ==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.0.7" + } + }, + "@chakra-ui/react-use-event-listener": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.0.7.tgz", + "integrity": "sha512-4wvpx4yudIO3B31pOrXuTHDErawmwiXnvAN7gLEOVREi16+YGNcFnRJ5X5nRrmB7j2MDUtsEDpRBFfw5Z9xQ5g==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.0.7" + } + }, + "@chakra-ui/react-use-focus-effect": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.0.11.tgz", + "integrity": "sha512-/zadgjaCWD50TfuYsO1vDS2zSBs2p/l8P2DPEIA8FuaowbBubKrk9shKQDWmbfDU7KArGxPxrvo+VXvskPPjHw==", + "requires": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.0.7", + "@chakra-ui/react-use-safe-layout-effect": "2.0.5", + "@chakra-ui/react-use-update-effect": "2.0.7" + } + }, + "@chakra-ui/react-use-focus-on-pointer-down": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.0.6.tgz", + "integrity": "sha512-OigXiLRVySn3tyVqJ/rn57WGuukW8TQe8fJYiLwXbcNyAMuYYounvRxvCy2b53sQ7QIZamza0N0jhirbH5FNoQ==", + "requires": { + "@chakra-ui/react-use-event-listener": "2.0.7" + } + }, + "@chakra-ui/react-use-interval": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.0.5.tgz", + "integrity": "sha512-1nbdwMi2K87V6p5f5AseOKif2CkldLaJlq1TOqaPRwb7v3aU9rltBtYdf+fIyuHSToNJUV6wd9budCFdLCl3Fg==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.0.7" + } + }, + "@chakra-ui/react-use-latest-ref": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.0.5.tgz", + "integrity": "sha512-3mIuFzMyIo3Ok/D8uhV9voVg7KkrYVO/pwVvNPJOHsDQqCA6DpYE4WDsrIx+fVcwad3Ta7SupexR5PoI+kq6QQ==" + }, + "@chakra-ui/react-use-merge-refs": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.0.7.tgz", + "integrity": "sha512-zds4Uhsc+AMzdH8JDDkLVet9baUBgtOjPbhC5r3A0ZXjZvGhCztFAVE3aExYiVoMPoHLKbLcqvCWE6ioFKz1lw==" + }, + "@chakra-ui/react-use-outside-click": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.1.0.tgz", + "integrity": "sha512-JanCo4QtWvMl9ZZUpKJKV62RlMWDFdPCE0Q64a7eWTOQgWWcpyBW7TOYRunQTqrK30FqkYFJCOlAWOtn+6Rw7A==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.0.7" + } + }, + "@chakra-ui/react-use-pan-event": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.0.9.tgz", + "integrity": "sha512-xu35QXkiyrgsHUOnctl+SwNcwf9Rl62uYE5y8soKOZdBm8E+FvZIt2hxUzK1EoekbJCMzEZ0Yv1ZQCssVkSLaQ==", + "requires": { + "@chakra-ui/event-utils": "2.0.8", + "@chakra-ui/react-use-latest-ref": "2.0.5", + "framesync": "6.1.2" + } + }, + "@chakra-ui/react-use-previous": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.0.5.tgz", + "integrity": "sha512-BIZgjycPE4Xr+MkhKe0h67uHXzQQkBX/u5rYPd65iMGdX1bCkbE0oorZNfOHLKdTmnEb4oVsNvfN6Rfr+Mnbxw==" + }, + "@chakra-ui/react-use-safe-layout-effect": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.0.5.tgz", + "integrity": "sha512-MwAQBz3VxoeFLaesaSEN87reVNVbjcQBDex2WGexAg6hUB6n4gc1OWYH/iXp4tzp4kuggBNhEHkk9BMYXWfhJQ==" + }, + "@chakra-ui/react-use-size": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.0.10.tgz", + "integrity": "sha512-fdIkH14GDnKQrtQfxX8N3gxbXRPXEl67Y3zeD9z4bKKcQUAYIMqs0MsPZY+FMpGQw8QqafM44nXfL038aIrC5w==", + "requires": { + "@zag-js/element-size": "0.3.2" + } + }, + "@chakra-ui/react-use-timeout": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.0.5.tgz", + "integrity": "sha512-QqmB+jVphh3h/CS60PieorpY7UqSPkrQCB7f7F+i9vwwIjtP8fxVHMmkb64K7VlzQiMPzv12nlID5dqkzlv0mw==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.0.7" + } + }, + "@chakra-ui/react-use-update-effect": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.0.7.tgz", + "integrity": "sha512-vBM2bmmM83ZdDtasWv3PXPznpTUd+FvqBC8J8rxoRmvdMEfrxTiQRBJhiGHLpS9BPLLPQlosN6KdFU97csB6zg==" + }, + "@chakra-ui/react-utils": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-2.0.12.tgz", + "integrity": "sha512-GbSfVb283+YA3kA8w8xWmzbjNWk14uhNpntnipHCftBibl0lxtQ9YqMFQLwuFOO0U2gYVocszqqDWX+XNKq9hw==", + "requires": { + "@chakra-ui/utils": "2.0.15" + } + }, + "@chakra-ui/select": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.0.19.tgz", + "integrity": "sha512-eAlFh+JhwtJ17OrB6fO6gEAGOMH18ERNrXLqWbYLrs674Le7xuREgtuAYDoxUzvYXYYTTdOJtVbcHGriI3o6rA==", + "requires": { + "@chakra-ui/form-control": "2.0.18", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/shared-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/shared-utils/-/shared-utils-2.0.5.tgz", + "integrity": "sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q==" + }, + "@chakra-ui/skeleton": { + "version": "2.0.24", + "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.0.24.tgz", + "integrity": "sha512-1jXtVKcl/jpbrJlc/TyMsFyI651GTXY5ma30kWyTXoby2E+cxbV6OR8GB/NMZdGxbQBax8/VdtYVjI0n+OBqWA==", + "requires": { + "@chakra-ui/media-query": "3.2.12", + "@chakra-ui/react-use-previous": "2.0.5", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/skip-nav": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/skip-nav/-/skip-nav-2.0.15.tgz", + "integrity": "sha512-5UtmlnV4BmIgEk6lQ0h81JEYhPX04wJEk5ZMoilQ2zEQYL6TkVVHkhRXyc1Zfq76hmHuZPXZV/yJeTecj6jIrA==" + }, + "@chakra-ui/slider": { + "version": "2.0.25", + "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.0.25.tgz", + "integrity": "sha512-FnWSi0AIXP+9sHMCPboOKGqm902k8dJtsJ7tu3D0AcKkE62WtYLZ2sTqvwJxCfSl4KqVI1i571SrF9WadnnJ8w==", + "requires": { + "@chakra-ui/number-utils": "2.0.7", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.0.7", + "@chakra-ui/react-use-controllable-state": "2.0.8", + "@chakra-ui/react-use-latest-ref": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-pan-event": "2.0.9", + "@chakra-ui/react-use-size": "2.0.10", + "@chakra-ui/react-use-update-effect": "2.0.7" + } + }, + "@chakra-ui/spinner": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.0.13.tgz", + "integrity": "sha512-T1/aSkVpUIuiYyrjfn1+LsQEG7Onbi1UE9ccS/evgf61Dzy4GgTXQUnDuWFSgpV58owqirqOu6jn/9eCwDlzlg==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/stat": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.0.18.tgz", + "integrity": "sha512-wKyfBqhVlIs9bkSerUc6F9KJMw0yTIEKArW7dejWwzToCLPr47u+CtYO6jlJHV6lRvkhi4K4Qc6pyvtJxZ3VpA==", + "requires": { + "@chakra-ui/icon": "3.0.16", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/stepper": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/stepper/-/stepper-2.2.0.tgz", + "integrity": "sha512-8ZLxV39oghSVtOUGK8dX8Z6sWVSQiKVmsK4c3OQDa8y2TvxP0VtFD0Z5U1xJlOjQMryZRWhGj9JBc3iQLukuGg==", + "requires": { + "@chakra-ui/icon": "3.0.16", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/styled-system": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.9.1.tgz", + "integrity": "sha512-jhYKBLxwOPi9/bQt9kqV3ELa/4CjmNNruTyXlPp5M0v0+pDMUngPp48mVLoskm9RKZGE0h1qpvj/jZ3K7c7t8w==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5", + "csstype": "^3.0.11", + "lodash.mergewith": "4.6.2" + } + }, + "@chakra-ui/switch": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.0.27.tgz", + "integrity": "sha512-z76y2fxwMlvRBrC5W8xsZvo3gP+zAEbT3Nqy5P8uh/IPd5OvDsGeac90t5cgnQTyxMOpznUNNK+1eUZqtLxWnQ==", + "requires": { + "@chakra-ui/checkbox": "2.2.15", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/system": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.5.8.tgz", + "integrity": "sha512-Vy8UUaCxikOzOGE54IP8tKouvU38rEYU1HCSquU9+oe7Jd70HaiLa4vmUKvHyMUmxkOzDHIkgZLbVQCubSnN5w==", + "requires": { + "@chakra-ui/color-mode": "2.1.12", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-utils": "2.0.12", + "@chakra-ui/styled-system": "2.9.1", + "@chakra-ui/theme-utils": "2.0.18", + "@chakra-ui/utils": "2.0.15", + "react-fast-compare": "3.2.1" + } + }, + "@chakra-ui/table": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.0.17.tgz", + "integrity": "sha512-OScheTEp1LOYvTki2NFwnAYvac8siAhW9BI5RKm5f5ORL2gVJo4I72RUqE0aKe1oboxgm7CYt5afT5PS5cG61A==", + "requires": { + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/tabs": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-2.1.9.tgz", + "integrity": "sha512-Yf8e0kRvaGM6jfkJum0aInQ0U3ZlCafmrYYni2lqjcTtThqu+Yosmo3iYlnullXxCw5MVznfrkb9ySvgQowuYg==", + "requires": { + "@chakra-ui/clickable": "2.0.14", + "@chakra-ui/descendant": "3.0.14", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-use-controllable-state": "2.0.8", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-safe-layout-effect": "2.0.5", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/tag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-3.0.0.tgz", + "integrity": "sha512-YWdMmw/1OWRwNkG9pX+wVtZio+B89odaPj6XeMn5nfNN8+jyhIEpouWv34+CO9G0m1lupJTxPSfgLAd7cqXZMA==", + "requires": { + "@chakra-ui/icon": "3.0.16", + "@chakra-ui/react-context": "2.0.8" + } + }, + "@chakra-ui/textarea": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.0.19.tgz", + "integrity": "sha512-adJk+qVGsFeJDvfn56CcJKKse8k7oMGlODrmpnpTdF+xvlsiTM+1GfaJvgNSpHHuQFdz/A0z1uJtfGefk0G2ZA==", + "requires": { + "@chakra-ui/form-control": "2.0.18", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/theme": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-3.1.2.tgz", + "integrity": "sha512-ebUXMS3LZw2OZxEQNYaFw3/XuA3jpyprhS/frjHMvZKSOaCjMW+c9z25S0jp1NnpQff08VGI8EWbyVZECXU1QA==", + "requires": { + "@chakra-ui/anatomy": "2.1.2", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/theme-tools": "2.0.18" + } + }, + "@chakra-ui/theme-tools": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.0.18.tgz", + "integrity": "sha512-MbiRuXb2tb41FbnW41zhsYYAU0znlpfYZnu0mxCf8U2otCwPekJCfESUGYypjq4JnydQ7TDOk+Kz/Wi974l4mw==", + "requires": { + "@chakra-ui/anatomy": "2.1.2", + "@chakra-ui/shared-utils": "2.0.5", + "color2k": "^2.0.0" + } + }, + "@chakra-ui/theme-utils": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.18.tgz", + "integrity": "sha512-aSbkUUiFpc1NHC7lQdA6uYlr6EcZFXz6b4aJ7VRDpqTiywvqYnvfGzhmsB0z94vgtS9qXc6HoIwBp25jYGV2MA==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/styled-system": "2.9.1", + "@chakra-ui/theme": "3.1.2", + "lodash.mergewith": "4.6.2" + } + }, + "@chakra-ui/toast": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-6.1.4.tgz", + "integrity": "sha512-wAcPHq/N/ar4jQxkUGhnsbp+lx2eKOpHxn1KaWdHXUkqCNUA1z09fvBsoMyzObSiiwbDuQPZG5RxsOhzfPZX4Q==", + "requires": { + "@chakra-ui/alert": "2.1.0", + "@chakra-ui/close-button": "2.0.17", + "@chakra-ui/portal": "2.0.16", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-use-timeout": "2.0.5", + "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/styled-system": "2.9.1", + "@chakra-ui/theme": "3.1.2" + } + }, + "@chakra-ui/tooltip": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.2.9.tgz", + "integrity": "sha512-ZoksllanqXRUyMDaiogvUVJ+RdFXwZrfrwx3RV22fejYZIQ602hZ3QHtHLB5ZnKFLbvXKMZKM23HxFTSb0Ytqg==", + "requires": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/popper": "3.0.14", + "@chakra-ui/portal": "2.0.16", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-disclosure": "2.0.8", + "@chakra-ui/react-use-event-listener": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/transition": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.0.16.tgz", + "integrity": "sha512-E+RkwlPc3H7P1crEXmXwDXMB2lqY2LLia2P5siQ4IEnRWIgZXlIw+8Em+NtHNgusel2N+9yuB0wT9SeZZeZ3CQ==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/utils": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-2.0.15.tgz", + "integrity": "sha512-El4+jL0WSaYYs+rJbuYFDbjmfCcfGDmRY95GO4xwzit6YAPZBLcR65rOEwLps+XWluZTy1xdMrusg/hW0c1aAA==", + "requires": { + "@types/lodash.mergewith": "4.6.7", + "css-box-model": "1.2.1", + "framesync": "6.1.2", + "lodash.mergewith": "4.6.2" + } + }, + "@chakra-ui/visually-hidden": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.0.15.tgz", + "integrity": "sha512-WWULIiucYRBIewHKFA7BssQ2ABLHLVd9lrUo3N3SZgR0u4ZRDDVEUNOy+r+9ruDze8+36dGbN9wsN1IdELtdOw==" + }, + "@corex/deepmerge": { + "version": "4.0.29", + "resolved": "https://registry.npmjs.org/@corex/deepmerge/-/deepmerge-4.0.29.tgz", + "integrity": "sha512-q/yVUnqckA8Do+EvAfpy7RLdumnBy9ZsducMUtZTvpdbJC7azEf1hGtnYYxm0QfphYxjwggv6XtH64prvS1W+A==" + }, + "@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + } + } + }, + "@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "requires": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, + "@emotion/is-prop-valid": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", + "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "requires": { + "@emotion/memoize": "^0.8.1" + } + }, + "@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "@emotion/react": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", + "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + } + }, + "@emotion/serialize": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", + "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", + "requires": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + }, + "@emotion/styled": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", + "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/is-prop-valid": "^1.2.1", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1" + } + }, + "@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==" + }, + "@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, + "@eslint/eslintrc": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", + "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.3.1", + "globals": "^13.9.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + } + }, + "@fullhuman/postcss-purgecss": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-4.1.3.tgz", + "integrity": "sha512-jqcsyfvq09VOsMXxJMPLRF6Fhg/NNltzWKnC9qtzva+QKTxerCO4esG6je7hbnmkpZtaDyPTwMBj9bzfWorsrw==", + "requires": { + "purgecss": "^4.1.3" + } + }, + "@headlessui/react": { + "version": "1.7.15", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.15.tgz", + "integrity": "sha512-OTO0XtoRQ6JPB1cKNFYBZv2Q0JMqMGNhYP1CjPvcJvjz8YGokz8oAj89HIYZGN0gZzn/4kk9iUpmMF4Q21Gsqw==", + "requires": { + "client-only": "^0.0.1" + } + }, + "@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@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==", + "dev": true + }, + "@next/env": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/env/-/env-12.1.6.tgz", + "integrity": "sha512-Te/OBDXFSodPU6jlXYPAXpmZr/AkG6DCATAxttQxqOWaq6eDFX25Db3dK0120GZrSZmv4QCe9KsZmJKDbWs4OA==" + }, + "@next/eslint-plugin-next": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.1.6.tgz", + "integrity": "sha512-yNUtJ90NEiYFT6TJnNyofKMPYqirKDwpahcbxBgSIuABwYOdkGwzos1ZkYD51Qf0diYwpQZBeVqElTk7Q2WNqw==", + "dev": true, + "requires": { + "glob": "7.1.7" + }, + "dependencies": { + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "@next/swc-android-arm-eabi": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.6.tgz", + "integrity": "sha512-BxBr3QAAAXWgk/K7EedvzxJr2dE014mghBSA9iOEAv0bMgF+MRq4PoASjuHi15M2zfowpcRG8XQhMFtxftCleQ==", + "optional": true + }, + "@next/swc-android-arm64": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.1.6.tgz", + "integrity": "sha512-EboEk3ROYY7U6WA2RrMt/cXXMokUTXXfnxe2+CU+DOahvbrO8QSWhlBl9I9ZbFzJx28AGB9Yo3oQHCvph/4Lew==", + "optional": true + }, + "@next/swc-darwin-arm64": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.6.tgz", + "integrity": "sha512-P0EXU12BMSdNj1F7vdkP/VrYDuCNwBExtRPDYawgSUakzi6qP0iKJpya2BuLvNzXx+XPU49GFuDC5X+SvY0mOw==", + "optional": true + }, + "@next/swc-darwin-x64": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.6.tgz", + "integrity": "sha512-9FptMnbgHJK3dRDzfTpexs9S2hGpzOQxSQbe8omz6Pcl7rnEp9x4uSEKY51ho85JCjL4d0tDLBcXEJZKKLzxNg==", + "optional": true + }, + "@next/swc-linux-arm-gnueabihf": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.6.tgz", + "integrity": "sha512-PvfEa1RR55dsik/IDkCKSFkk6ODNGJqPY3ysVUZqmnWMDSuqFtf7BPWHFa/53znpvVB5XaJ5Z1/6aR5CTIqxPw==", + "optional": true + }, + "@next/swc-linux-arm64-gnu": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.6.tgz", + "integrity": "sha512-53QOvX1jBbC2ctnmWHyRhMajGq7QZfl974WYlwclXarVV418X7ed7o/EzGY+YVAEKzIVaAB9JFFWGXn8WWo0gQ==", + "optional": true + }, + "@next/swc-linux-arm64-musl": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.6.tgz", + "integrity": "sha512-CMWAkYqfGdQCS+uuMA1A2UhOfcUYeoqnTW7msLr2RyYAys15pD960hlDfq7QAi8BCAKk0sQ2rjsl0iqMyziohQ==", + "optional": true + }, + "@next/swc-linux-x64-gnu": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.6.tgz", + "integrity": "sha512-AC7jE4Fxpn0s3ujngClIDTiEM/CQiB2N2vkcyWWn6734AmGT03Duq6RYtPMymFobDdAtZGFZd5nR95WjPzbZAQ==", + "optional": true + }, + "@next/swc-linux-x64-musl": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.6.tgz", + "integrity": "sha512-c9Vjmi0EVk0Kou2qbrynskVarnFwfYIi+wKufR9Ad7/IKKuP6aEhOdZiIIdKsYWRtK2IWRF3h3YmdnEa2WLUag==", + "optional": true + }, + "@next/swc-win32-arm64-msvc": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.6.tgz", + "integrity": "sha512-3UTOL/5XZSKFelM7qN0it35o3Cegm6LsyuERR3/OoqEExyj3aCk7F025b54/707HTMAnjlvQK3DzLhPu/xxO4g==", + "optional": true + }, + "@next/swc-win32-ia32-msvc": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.6.tgz", + "integrity": "sha512-8ZWoj6nCq6fI1yCzKq6oK0jE6Mxlz4MrEsRyu0TwDztWQWe7rh4XXGLAa2YVPatYcHhMcUL+fQQbqd1MsgaSDA==", + "optional": true + }, + "@next/swc-win32-x64-msvc": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.6.tgz", + "integrity": "sha512-4ZEwiRuZEicXhXqmhw3+de8Z4EpOLQj/gp+D9fFWo6ii6W1kBkNNvvEx4A90ugppu+74pT1lIJnOuz3A9oQeJA==", + "optional": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==" + }, + "@react-leaflet/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-leaflet/core/-/core-2.1.0.tgz", + "integrity": "sha512-Qk7Pfu8BSarKGqILj4x7bCSZ1pjuAPZ+qmRwH5S7mDS91VSbVVsJSrW4qA+GPrro8t69gFYVMWb1Zc4yFmPiVg==" + }, + "@reduxjs/toolkit": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.8.2.tgz", + "integrity": "sha512-CtPw5TkN1pHRigMFCOS/0qg3b/yfPV5qGCsltVnIz7bx4PKTJlGHYfIxm97qskLknMzuGfjExaYdXJ77QTL0vg==", + "requires": { + "immer": "^9.0.7", + "redux": "^4.1.2", + "redux-thunk": "^2.4.1", + "reselect": "^4.1.5" + } + }, + "@rushstack/eslint-patch": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.3.tgz", + "integrity": "sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw==", + "dev": true + }, + "@sanity/client": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@sanity/client/-/client-3.3.0.tgz", + "integrity": "sha512-ecIRsV+IncI1P9I6ZdB3xKLBpWVggqtiY0RLWeT3RWaP4cX6lXzD5fPknaXaBnCxtIr9ZhqZVqpRkyjrUlHe0Q==", + "requires": { + "@sanity/eventsource": "^3.0.2", + "@sanity/generate-help-url": "^3.0.0", + "get-it": "^6.0.1", + "make-error": "^1.3.0", + "object-assign": "^4.1.1", + "rxjs": "^6.0.0" + } + }, + "@sanity/eventsource": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@sanity/eventsource/-/eventsource-3.0.2.tgz", + "integrity": "sha512-cg0NTs75gbW84tpKFRBeFLbG6hSLp9U5mwLaGaMjuqP7DkfXbpkZsgRPPnRRVj1M+o32eiGZ8xQaLop2Ixn7yw==", + "requires": { + "event-source-polyfill": "1.0.25", + "eventsource": "^1.0.6" + } + }, + "@sanity/generate-help-url": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sanity/generate-help-url/-/generate-help-url-3.0.0.tgz", + "integrity": "sha512-wtMYcV5GIDIhVyF/jjmdwq1GdlK07dRL40XMns73VbrFI7FteRltxv48bhYVZPcLkRXb0SHjpDS/icj9/yzbVA==" + }, + "@sanity/image-url": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@sanity/image-url/-/image-url-1.0.1.tgz", + "integrity": "sha512-AdKQ3zMk7WdoNwoJPrAvQhW+kUtBldBX0nHtnGy+rwmgsCQ0rAXasrgH43Fhmsp/yB6piiq+F2d5qEuBFsdQVg==" + }, + "@sanity/timed-out": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@sanity/timed-out/-/timed-out-4.0.2.tgz", + "integrity": "sha512-NBDKGj14g9Z+bopIvZcQKWCzJq5JSrdmzRR1CS+iyA3Gm8SnIWBfZa7I3mTg2X6Nu8LQXG0EPKXdOGozLS4i3w==" + }, + "@stripe/stripe-js": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/@stripe/stripe-js/-/stripe-js-1.29.0.tgz", + "integrity": "sha512-OsUxk0VLlum8E2d6onlEdKuQcvLMs7qTrOXCnl/BGV3fAm65qr6h3e1IZ5AX4lgUlPRrzRcddSOA5DvkKKYLvg==" + }, + "@types/bcryptjs": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz", + "integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==" + }, + "@types/geojson": { + "version": "7946.0.10", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.10.tgz", + "integrity": "sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA==" + }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "@types/js-cookie": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.2.tgz", + "integrity": "sha512-6+0ekgfusHftJNYpihfkMu8BWdeHs9EOJuGcSofErjstGPfPGEu9yTu4t460lTzzAMl2cM5zngQJqPMHbbnvYA==" + }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "@types/jsonwebtoken": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", + "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", + "requires": { + "@types/node": "*" + } + }, + "@types/leaflet": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.3.tgz", + "integrity": "sha512-Caa1lYOgKVqDkDZVWkto2Z5JtVo09spEaUt2S69LiugbBpoqQu92HYFMGUbYezZbnBkyOxMNPXHSgRrRY5UyIA==", + "requires": { + "@types/geojson": "*" + } + }, + "@types/lodash": { + "version": "4.14.195", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.195.tgz", + "integrity": "sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==" + }, + "@types/lodash.mergewith": { + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.7.tgz", + "integrity": "sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/node": { + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz", + "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/react": { + "version": "18.0.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.8.tgz", + "integrity": "sha512-+j2hk9BzCOrrOSJASi5XiOyBbERk9jG5O73Ya4M0env5Ixi6vUNli4qy994AINcEF+1IEHISYFfIT4zwr++LKw==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.0.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.3.tgz", + "integrity": "sha512-1RRW9kst+67gveJRYPxGmVy8eVJ05O43hg77G2j5m76/RFJtMbcfAs2viQ2UNsvvDg8F7OfQZx8qQcl6ymygaQ==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-redux": { + "version": "7.1.24", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.24.tgz", + "integrity": "sha512-7FkurKcS1k0FHZEtdbbgN8Oc6b+stGSfZYjQGicofJ0j4U0qIn/jaSvnP2pLwZKiai3/17xqqxkkrxTgN8UNbQ==", + "requires": { + "@types/hoist-non-react-statics": "^3.3.0", + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0", + "redux": "^4.0.0" + } + }, + "@types/react-slick": { + "version": "0.23.8", + "resolved": "https://registry.npmjs.org/@types/react-slick/-/react-slick-0.23.8.tgz", + "integrity": "sha512-SfzSg++/3uyftVZaCgHpW+2fnJFsyJEQ/YdsuqfOWQ5lqUYV/gY/UwAnkw4qksCj5jalto/T5rKXJ8zeFldQeA==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-star-rating-component": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@types/react-star-rating-component/-/react-star-rating-component-1.4.1.tgz", + "integrity": "sha512-f4rKKGvS9//wr2mjsT2Ol3N7tgV3DPmu4RZRp2dabEvYukHDx5tIjXecnEZGxpdU6HszKkvbpcy4kPq5VrAqew==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-transition-group": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.4.tgz", + "integrity": "sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==", + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, + "@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, + "@typescript-eslint/parser": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.22.0.tgz", + "integrity": "sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", + "debug": "^4.3.2" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" + } + }, + "@typescript-eslint/types": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.22.0", + "eslint-visitor-keys": "^3.0.0" + } + }, + "@zag-js/element-size": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.3.2.tgz", + "integrity": "sha512-bVvvigUGvAuj7PCkE5AbzvTJDTw5f3bg9nQdv+ErhVN8SfPPppLJEmmWdxqsRzrHXgx8ypJt/+Ty0kjtISVDsQ==" + }, + "@zag-js/focus-visible": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.2.2.tgz", + "integrity": "sha512-0j2gZq8HiZ51z4zNnSkF1iSkqlwRDvdH+son3wHdoz+7IUdMN/5Exd4TxMJ+gq2Of1DiXReYLL9qqh2PdQ4wgA==" + }, + "@zeit/next-css": { + "version": "1.0.2-canary.0", + "resolved": "https://registry.npmjs.org/@zeit/next-css/-/next-css-1.0.2-canary.0.tgz", + "integrity": "sha512-7W4LAy1FDaYZF+kMbDVNy353tf/h90P8RWRCS9JlduTM/XOaUjYbZoa6oKOCZLPuePfSOYvFAz25WfTF2uqJ+Q==", + "requires": { + "css-loader": "1.0.0", + "extract-css-chunks-webpack-plugin": "^3.2.0", + "extracted-loader": "1.0.4", + "find-up": "2.1.0", + "ignore-loader": "0.1.2", + "postcss-loader": "3.0.0" + } + }, + "acorn": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", + "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + } + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "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==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "autoprefixer": { + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "dev": true, + "requires": { + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "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==", + "dev": true + }, + "axe-core": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", + "dev": true + }, + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" + } + } + }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + } + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==" + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "broadcast-channel": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz", + "integrity": "sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==", + "requires": { + "@babel/runtime": "^7.7.2", + "detect-node": "^2.1.0", + "js-sha3": "0.8.0", + "microseconds": "0.2.0", + "nano-time": "1.0.0", + "oblivious-set": "1.0.0", + "rimraf": "3.0.2", + "unload": "2.2.0" + } + }, + "browserslist": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.1.tgz", + "integrity": "sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001359", + "electron-to-chromium": "^1.4.172", + "node-releases": "^2.0.5", + "update-browserslist-db": "^1.0.4" + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==" + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001363", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001363.tgz", + "integrity": "sha512-HpQhpzTGGPVMnCjIomjt+jvyUu8vNFo3TaDiZ/RcoTrlOq/5+tC8zHdsbgFB6MxmaY+jCpsH09aD80Bb4Ow3Sg==" + }, + "capture-stack-trace": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.2.tgz", + "integrity": "sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, + "client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, + "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==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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==", + "dev": true + }, + "color2k": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color2k/-/color2k-2.0.2.tgz", + "integrity": "sha512-kJhwH5nAwb34tmyuqq/lgjEKzlFXn1U99NlnB6Ws4qVaERcRUYeYP1cBw6BJ4vxaWStAUEef4WMr7WjOCnBt8w==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + }, + "compute-scroll-into-view": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "core-js-pure": { + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.31.0.tgz", + "integrity": "sha512-/AnE9Y4OsJZicCzIe97JP5XoPKQJfTuEG43aEVLFJGOJpyqELod+pE6LEl63DfG1Mp8wX97LDaDpy1GmLEUxlg==", + "dev": true + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" + } + } + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==", + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-box-model": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz", + "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==", + "requires": { + "tiny-invariant": "^1.0.6" + } + }, + "css-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.0.tgz", + "integrity": "sha512-tMXlTYf3mIMt3b0dDCOQFJiVvxbocJ5Ho577WiGPYPZcqVEO218L2iU22pDXzkTZCLDE+9AmGSUkWxeh/nZReA==", + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "csstype": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz", + "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==" + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "electron-to-chromium": { + "version": "1.4.447", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.447.tgz", + "integrity": "sha512-sxX0LXh+uL41hSJsujAN86PjhrV/6c79XmpY0TvjZStV6VxIgarf8SRkUoUTuYmFcZQTemsoqo8qXOGw5npWfw==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "enquire.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz", + "integrity": "sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "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-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "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==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "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==" + }, + "eslint": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", + "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.2.2", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "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.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-config-next": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.1.6.tgz", + "integrity": "sha512-qoiS3g/EPzfCTkGkaPBSX9W0NGE/B1wNO3oWrd76QszVGrdpLggNqcO8+LR6MB0CNqtp9Q8NoeVrxNVbzM9hqA==", + "dev": true, + "requires": { + "@next/eslint-plugin-next": "12.1.6", + "@rushstack/eslint-patch": "^1.1.3", + "@typescript-eslint/parser": "^5.21.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^2.7.1", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.29.4", + "eslint-plugin-react-hooks": "^4.5.0" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-import-resolver-typescript": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz", + "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "glob": "^7.2.0", + "is-glob": "^4.0.3", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + } + }, + "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==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dev": true, + "requires": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", + "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", + "dev": true, + "requires": { + "@babel/runtime": "^7.16.3", + "aria-query": "^4.2.2", + "array-includes": "^3.1.4", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.3.5", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.7", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.2.1", + "language-tags": "^1.0.5", + "minimatch": "^3.0.4" + } + }, + "eslint-plugin-react": { + "version": "7.29.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.29.4.tgz", + "integrity": "sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ==", + "dev": true, + "requires": { + "array-includes": "^3.1.4", + "array.prototype.flatmap": "^1.2.5", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.0", + "object.values": "^1.1.5", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.6" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.5.0.tgz", + "integrity": "sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw==", + "dev": true + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", + "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "event-source-polyfill": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.25.tgz", + "integrity": "sha512-hQxu6sN1Eq4JjoI7ITdQeGGUN193A2ra83qC0Ltm9I2UJVAten3OFVN6k5RX4YWeCS0BoC8xg/5czOCIHVosQg==" + }, + "eventsource": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.2.tgz", + "integrity": "sha512-xAH3zWhgO2/3KIniEKYPr8plNSzlGINOUqYj0m0u7AB81iRw8b/3E73W6AuU+6klLbaSFmZnaETQ2lXPfAydrA==" + }, + "extract-css-chunks-webpack-plugin": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/extract-css-chunks-webpack-plugin/-/extract-css-chunks-webpack-plugin-3.3.3.tgz", + "integrity": "sha512-4DYo3jna9ov81rdKtE1U2cirb3ERoWhHldzRxZWx3Q5i5Dm6U+mmfon7PmaKDuh6+xySVOqtlXrZyJY2V4tc+g==", + "requires": { + "loader-utils": "^1.1.0", + "lodash": "^4.17.11", + "normalize-url": "^3.3.0", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "extracted-loader": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/extracted-loader/-/extracted-loader-1.0.4.tgz", + "integrity": "sha512-G8A0hT/WCWIjesZm7BwbWdST5dQ08GNnCpTrJT/k/FYzuiJwlV1gyWjnuoizOzAR4jpEYXG2J++JyEKN/EB26Q==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", + "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "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==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "focus-lock": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.11.6.tgz", + "integrity": "sha512-KSuV3ur4gf2KqMNoZx3nXNVhqCkn42GuTYCX4tXPEwf0MjpFQmNMiN6m7dXaUXgIoivL6/65agoUMg4RLS0Vbg==", + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + } + } + }, + "follow-redirects": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", + "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "form-urlencoded": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/form-urlencoded/-/form-urlencoded-2.0.9.tgz", + "integrity": "sha512-fWUzNiOnYa126vFAT6TFXd1mhJrvD8IqmQ9ilZPjkLYQfaRreBr5fIUoOpPlWtqaAG64nzoE7u5zSetifab9IA==" + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, + "framer-motion": { + "version": "10.12.16", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.12.16.tgz", + "integrity": "sha512-w/SfWEIWJkYSgRHYBmln7EhcNo31ao8Xexol8lGXf1pR/tlnBtf1HcxoUmEiEh6pacB4/geku5ami53AAQWHMQ==", + "requires": { + "@emotion/is-prop-valid": "^0.8.2", + "tslib": "^2.4.0" + }, + "dependencies": { + "@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "optional": true, + "requires": { + "@emotion/memoize": "0.7.4" + } + }, + "@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "optional": true + }, + "tslib": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" + } + } + }, + "framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", + "requires": { + "tslib": "2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "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==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-it": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/get-it/-/get-it-6.1.0.tgz", + "integrity": "sha512-hvk2h2hiOHji57MpBQ/o9CnJT7hpNII7Jio3AyY41I7AmkUVvnYrpQAPIQGc3j7R5QNYnhwyXmok+DSSdBLWbg==", + "requires": { + "@sanity/timed-out": "^4.0.2", + "create-error-class": "^3.0.2", + "debug": "^2.6.8", + "decompress-response": "^6.0.0", + "follow-redirects": "^1.2.4", + "form-urlencoded": "^2.0.7", + "into-stream": "^3.1.0", + "is-plain-object": "^2.0.4", + "is-retry-allowed": "^1.1.0", + "is-stream": "^1.1.0", + "nano-pubsub": "^1.0.2", + "object-assign": "^4.1.1", + "parse-headers": "^2.0.4", + "progress-stream": "^2.0.0", + "same-origin": "^0.1.1", + "simple-concat": "^1.0.1", + "tunnel-agent": "^0.6.0", + "url-parse": "^1.1.9" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==" + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "goober": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.9.tgz", + "integrity": "sha512-PAtnJbrWtHbfpJUIveG5PJIB6Mc9Kd0gimu9wZwPyA+wQUSeOeA4x4Ug16lyaaUUKZ/G6QEH1xunKOuXP1F4Vw==" + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + } + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "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==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==" + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha512-bsVoyn/1V4R1kYYjLcWLedozAM4FClZUdjE9nIr8uWY7xs78y9DATgwz2wGU7M+7z55KenmmTkN2DVJ7bqzjAA==", + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "ignore-loader": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ignore-loader/-/ignore-loader-0.1.2.tgz", + "integrity": "sha512-yOJQEKrNwoYqrWLS4DcnzM7SEQhRKis5mB+LdKKh4cPmGYlLPR0ozRzHV5jmEk2IxptqJNQA5Cc0gw8Fj12bXA==" + }, + "immer": { + "version": "9.0.14", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.14.tgz", + "integrity": "sha512-ubBeqQutOSLIFCUBN03jGeOS6a3DoYlSYwYJTa+gSKEZKU5redJIqkIdZ3JVv/4RZpfcXdAWH5zCNLWPRv2WDw==" + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==", + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==", + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==", + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "requires": { + "has": "^1.0.3" + } + }, + "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==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "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==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + }, + "js-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.1.tgz", + "integrity": "sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==" + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "requires": { + "string-convert": "^0.2.0" + } + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "jsx-ast-utils": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.4.tgz", + "integrity": "sha512-fX2TVdCViod6HwKEtSWGHs57oFhVfCMwieb9PuRDgjDPh5XeqJiHFFFJCHxU5cnTc3Bu/GRL+kPiFmw8XWOfKw==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "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==", + "dev": true + }, + "language-tags": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.8.tgz", + "integrity": "sha512-aWAZwgPLS8hJ20lNPm9HNVs4inexz6S2sQa3wx/+ycuutMNE5/IfYxiWYBbi+9UWCQVaXYCOPUl6gFrPR7+jGg==", + "dev": true, + "requires": { + "language-subtag-registry": "^0.3.20" + } + }, + "leaflet": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "dependencies": { + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "match-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", + "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==", + "requires": { + "@babel/runtime": "^7.12.5", + "remove-accents": "0.4.2" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "microseconds": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz", + "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nano-pubsub": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nano-pubsub/-/nano-pubsub-1.0.2.tgz", + "integrity": "sha512-HtPs1RbULM/z8wt3BbeeZlxVNiJbl+zQAwwrbc0KAq5NHaCG3MmffOVCpRhNTs+TK67MdN6aZ+5wzPtRZvME+w==" + }, + "nano-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz", + "integrity": "sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==", + "requires": { + "big-integer": "^1.6.16" + } + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "next": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/next/-/next-12.1.6.tgz", + "integrity": "sha512-cebwKxL3/DhNKfg9tPZDQmbRKjueqykHHbgaoG4VBRH3AHQJ2HO0dbKFiS1hPhe1/qgc2d/hFeadsbPicmLD+A==", + "requires": { + "@next/env": "12.1.6", + "@next/swc-android-arm-eabi": "12.1.6", + "@next/swc-android-arm64": "12.1.6", + "@next/swc-darwin-arm64": "12.1.6", + "@next/swc-darwin-x64": "12.1.6", + "@next/swc-linux-arm-gnueabihf": "12.1.6", + "@next/swc-linux-arm64-gnu": "12.1.6", + "@next/swc-linux-arm64-musl": "12.1.6", + "@next/swc-linux-x64-gnu": "12.1.6", + "@next/swc-linux-x64-musl": "12.1.6", + "@next/swc-win32-arm64-msvc": "12.1.6", + "@next/swc-win32-ia32-msvc": "12.1.6", + "@next/swc-win32-x64-msvc": "12.1.6", + "caniuse-lite": "^1.0.30001332", + "postcss": "8.4.5", + "styled-jsx": "5.0.2" + }, + "dependencies": { + "postcss": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", + "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", + "requires": { + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.1" + } + } + } + }, + "next-connect": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/next-connect/-/next-connect-0.12.2.tgz", + "integrity": "sha512-B/zKHPs5S7XWvAVsZVLvOeY2eL2U3g0W/BgCDetEJRcNDzxX2vi8rzqBuEoLLPlI8LvtHwujDVUFFjSgOEZTbA==", + "requires": { + "trouter": "^3.2.0" + } + }, + "next-sanity-image": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/next-sanity-image/-/next-sanity-image-3.2.1.tgz", + "integrity": "sha512-lnynR/h7kD5ueVxQoam8ElKXb+bGWuU1cP+PCwx1NzIiBUHM2wBMnvmpt+emubGocMaIURT/iwPU46VnmB9rsQ==", + "requires": { + "@sanity/image-url": "^0.140.22" + }, + "dependencies": { + "@sanity/image-url": { + "version": "0.140.22", + "resolved": "https://registry.npmjs.org/@sanity/image-url/-/image-url-0.140.22.tgz", + "integrity": "sha512-CAmQZnj+KM7FSEYiWlIGDit072syicYuAw0w7R2ctMzHiZ4p9mE/g6dBnYqrqFUrw2J+GpJgPt+RVspKP8vdqA==" + } + } + }, + "next-sitemap": { + "version": "3.1.17", + "resolved": "https://registry.npmjs.org/next-sitemap/-/next-sitemap-3.1.17.tgz", + "integrity": "sha512-xop7KgEbWsqOe4Fr50g9RQ1UGb1bAEJoKYVVynbUqietpSltAnCIzvq/StL2gZcNyFW9K+9tZV7EpcD+72gRrA==", + "requires": { + "@corex/deepmerge": "^4.0.29", + "minimist": "^1.2.6" + } + }, + "next-themes": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.2.0.tgz", + "integrity": "sha512-myhpDL4vadBD9YDSHiewqvzorGzB03N84e+3LxCwHRlM/hiBOaW+UsKsQojQAzC7fdcJA0l2ppveXcYaVV+hxQ==" + }, + "nextjs-progressbar": { + "version": "0.0.14", + "resolved": "https://registry.npmjs.org/nextjs-progressbar/-/nextjs-progressbar-0.0.14.tgz", + "integrity": "sha512-AXYXHDN6M52AwFnGqH/vlwyo0gbC9zM7QS/4ryOTI0RUqfze5FJl8uSrxKJMzK6hGFdDeQXcZoWsLGXeCVtTwg==", + "requires": { + "nprogress": "^0.2.0", + "prop-types": "^15.7.2" + } + }, + "node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + }, + "nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true + }, + "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==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "oblivious-set": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz", + "integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-headers": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha512-X4cquUPIaAd86raVrBwO8fwRfkIdbwFu7CTfEOjiZQHVQwlHRSkTgH5NLDmMm5+1hQO8u6dZ+TOOJDbay1hYpA==", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha512-LTYwnA4C1He1BKZXIx1CYiHixdSe9LWYVKadq9lK5aCCMkoOkFyZ7aigt+srfjlRplJY3gIol6KUNefdMQJdlw==", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha512-i7IFaR9hlQ6/0UgFuqM6YWaCfA1Ej8WMg8A5DggnH1UGKJvTV/ugqq/KaULixzzOi3T/tF6ClBXcHGCzdd5unA==", + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-2.0.0.tgz", + "integrity": "sha512-xJwOWR46jcXUq6EH9yYyqp+I52skPySOeHfkxOZ2IY1AiBi/sFJhbhAKHoV3OTw/omQ45KTio9215dRJ2Yxd3Q==", + "requires": { + "speedometer": "~1.0.0", + "through2": "~2.0.3" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + }, + "purgecss": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz", + "integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==", + "requires": { + "commander": "^8.0.0", + "glob": "^7.1.7", + "postcss": "^8.3.5", + "postcss-selector-parser": "^6.0.6" + } + }, + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "react": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.1.0.tgz", + "integrity": "sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-clientside-effect": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz", + "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==", + "requires": { + "@babel/runtime": "^7.12.13" + } + }, + "react-dom": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.1.0.tgz", + "integrity": "sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.22.0" + } + }, + "react-fast-compare": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.1.tgz", + "integrity": "sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg==" + }, + "react-focus-lock": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.9.4.tgz", + "integrity": "sha512-7pEdXyMseqm3kVjhdVH18sovparAzLg5h6WvIx7/Ck3ekjhrrDMEegHSa3swwC8wgfdd7DIdUVRGeiHT9/7Sgg==", + "requires": { + "@babel/runtime": "^7.0.0", + "focus-lock": "^0.11.6", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.6", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + } + }, + "react-hot-toast": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.2.0.tgz", + "integrity": "sha512-248rXw13uhf/6TNDVzagX+y7R8J183rp7MwUMNkcrBRyHj/jWOggfXTGlM8zAOuh701WyVW+eUaWG2LeSufX9g==", + "requires": { + "goober": "^2.1.1" + } + }, + "react-icons": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.3.1.tgz", + "integrity": "sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ==" + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-leaflet": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/react-leaflet/-/react-leaflet-4.2.1.tgz", + "integrity": "sha512-p9chkvhcKrWn/H/1FFeVSqLdReGwn2qmiobOQGO3BifX+/vV/39qhY8dGqbdcPh1e6jxh/QHriLXr7a4eLFK4Q==", + "requires": { + "@react-leaflet/core": "^2.1.0" + } + }, + "react-leaflet-custom-control": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/react-leaflet-custom-control/-/react-leaflet-custom-control-1.3.5.tgz", + "integrity": "sha512-9/v7AxY6CoUbc6fAD/0u8O6wCBopxtdzJukWOR7vLZcyAN5rQCYWXjF5wXJ8klONweZGsRaGPJelfEBRtZAgQA==" + }, + "react-query": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.38.1.tgz", + "integrity": "sha512-CM9hsz6oib17hsBguGaMJr+a0swMzou2gvNHHjAusnXvkfTx6CTzx0Iwuplox1jI2j3WiY91BGrcIN6bp1n1Iw==", + "requires": { + "@babel/runtime": "^7.5.5", + "broadcast-channel": "^3.4.1", + "match-sorter": "^6.0.2" + } + }, + "react-redux": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.2.tgz", + "integrity": "sha512-nBwiscMw3NoP59NFCXFf02f8xdo+vSHT/uZ1ldDwF7XaTpzm+Phk97VT4urYBl5TYAPNVaFm12UHAEyzkpNzRA==", + "requires": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "dependencies": { + "react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==" + } + } + }, + "react-remove-scroll": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.6.tgz", + "integrity": "sha512-bO856ad1uDYLefgArk559IzUNeQ6SWH4QnrevIUjH+GczV56giDfl3h0Idptf2oIKxQmd1p9BN25jleKodTALg==", + "requires": { + "react-remove-scroll-bar": "^2.3.4", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "dependencies": { + "tslib": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + } + } + }, + "react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "requires": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + } + } + }, + "react-slick": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/react-slick/-/react-slick-0.29.0.tgz", + "integrity": "sha512-TGdOKE+ZkJHHeC4aaoH85m8RnFyWqdqRfAGkhd6dirmATXMZWAxOpTLmw2Ll/jPTQ3eEG7ercFr/sbzdeYCJXA==", + "requires": { + "classnames": "^2.2.5", + "enquire.js": "^2.1.6", + "json2mq": "^0.2.0", + "lodash.debounce": "^4.0.8", + "resize-observer-polyfill": "^1.5.0" + }, + "dependencies": { + "classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + } + } + }, + "react-star-rating-component": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/react-star-rating-component/-/react-star-rating-component-1.4.1.tgz", + "integrity": "sha512-i0YEvQzToS0s0GDkxn01Jy4EeLpVEyh023NXJTJ+/1+xkvhpACyD4d1YeBhYWZab53ppUnUxs5gmp75gJr3khA==", + "requires": { + "classnames": "^2.2.5", + "prop-types": "^15.6.1" + }, + "dependencies": { + "classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + } + } + }, + "react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "requires": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + } + } + }, + "react-toastify": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.0.7.tgz", + "integrity": "sha512-UG5P/2F/fYdbK+v3XRWHM6xfMkWeLM+k2swKvwU8oO9DXx31GkeoH7Z6slBTkavZ0VjoQ+n/YD6xOBqEwN7HRg==", + "requires": { + "clsx": "^1.1.1" + } + }, + "react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "requires": { + "pify": "^2.3.0" + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "redux": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.0.tgz", + "integrity": "sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA==", + "requires": { + "@babel/runtime": "^7.9.2" + } + }, + "redux-thunk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.1.tgz", + "integrity": "sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q==" + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + } + }, + "regexparam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-1.3.0.tgz", + "integrity": "sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g==" + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "remove-accents": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", + "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "reselect": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.6.tgz", + "integrity": "sha512-ZovIuXqto7elwnxyXbBtCPo9YFEr3uJqj2rRbcOOog1bmu2Ag85M4hixSwFWyaBMKXNgvPaJ9OSu9SkBPIeJHQ==" + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "same-origin": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/same-origin/-/same-origin-0.1.1.tgz", + "integrity": "sha512-effkSW9cap879l6CVNdwL5iubVz8tkspqgfiqwgBgFQspV7152WHaLzr5590yR8oFgt7E1d4lO09uUhtAgUPoA==" + }, + "scheduler": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.22.0.tgz", + "integrity": "sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slick-carousel": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.1.tgz", + "integrity": "sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==" + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "speedometer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-1.0.0.tgz", + "integrity": "sha512-lgxErLl/7A5+vgIIXsh9MbeukOaCb2axgQ+bKCdIE+ibNT4XNYGNCR1qFEGq6F+YDASXK3Fh/c5FgtZchFolxw==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, + "string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "stripe": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/stripe/-/stripe-9.1.0.tgz", + "integrity": "sha512-Kpa+DoB5GCV360a6fvIrWokLhj3SXRadWAxR6duN2mIgrIkvLK0tVDd8b2OT2/QtJ6WX9EI3vLvaErzG76d+tg==", + "requires": { + "@types/node": ">=8.1.0", + "qs": "^6.10.3" + } + }, + "styled-jsx": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.2.tgz", + "integrity": "sha512-LqPQrbBh3egD57NBcHET4qcgshPks+yblyhPlH2GY8oaDgKs8SK4C3dBh3oSJjgzJ3G5t1SYEZGHkP+QEpX9EQ==" + }, + "stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, + "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==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "tailwindcss": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.4.tgz", + "integrity": "sha512-NrxbFV4tYsga/hpWbRyUfIaBrNMXDxx5BsHgBS4v5tlyjf+sDsgBg5m9OxjrXIqAS/uR9kicxLKP+bEHI7BSeQ==", + "dev": true, + "requires": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.14", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.0" + }, + "dependencies": { + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "trouter": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/trouter/-/trouter-3.2.0.tgz", + "integrity": "sha512-rLLXbhTObLy2MBVjLC+jTnoIKw99n0GuJs9ov10J870vDw5qhTurPzsDrudNtBf5w/CZ9ctZy2p2IMmhGcel2w==", + "requires": { + "regexparam": "^1.3.0" + } + }, + "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==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typescript": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unload": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz", + "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==", + "requires": { + "@babel/runtime": "^7.6.2", + "detect-node": "^2.0.4" + } + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "requires": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + } + } + }, + "use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "requires": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + } + } + }, + "use-sync-external-store": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.1.0.tgz", + "integrity": "sha512-SEnieB2FPKEVne66NpXPd1Np4R1lTNKfjuy3XdIoPQKYBAFdzbzSZlSn1KJZUiihQLQC5Znot4SBz1EOTBwQAQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + } + } +} diff --git a/apps/tourism/package.json b/apps/tourism/package.json new file mode 100644 index 000000000..6002382d9 --- /dev/null +++ b/apps/tourism/package.json @@ -0,0 +1,79 @@ +{ + "name": "@beckn-ui/tourism", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "postbuild": "next-sitemap", + "export": "next export" + }, + "prettier": "@beckn-ui/prettier-config", + "dependencies": { + "@chakra-ui/icons": "^2.0.19", + "@chakra-ui/react": "^2.7.0", + "@emotion/react": "^11.11.1", + "@emotion/styled": "^11.11.0", + "@fullhuman/postcss-purgecss": "^4.1.3", + "@headlessui/react": "^1.7.15", + "@reduxjs/toolkit": "^1.8.2", + "@sanity/client": "^3.3.0", + "@sanity/image-url": "^1.0.1", + "@stripe/stripe-js": "^1.29.0", + "@types/bcryptjs": "^2.4.2", + "@types/js-cookie": "^3.0.2", + "@types/jsonwebtoken": "^8.5.8", + "@types/leaflet": "^1.9.3", + "@types/react-redux": "^7.1.24", + "@types/react-slick": "^0.23.8", + "@types/react-star-rating-component": "^1.4.1", + "@types/react-transition-group": "^4.4.4", + "@zeit/next-css": "^1.0.2-canary.0", + "axios": "^0.27.2", + "bcryptjs": "^2.4.3", + "classnames": "^2.3.2", + "framer-motion": "^10.12.16", + "garudaa": "./garudaa-1.0.0.tgz", + "js-cookie": "^3.0.1", + "jsonwebtoken": "^8.5.1", + "leaflet": "^1.9.4", + "next": "^13.4.19", + "next-connect": "^0.12.2", + "next-sanity-image": "^3.2.1", + "next-sitemap": "^3.1.17", + "next-themes": "^0.2.0", + "nextjs-progressbar": "^0.0.14", + "qrcode.react": "^3.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-hot-toast": "^2.2.0", + "react-icons": "^4.3.1", + "react-leaflet": "^4.2.1", + "react-leaflet-custom-control": "^1.3.5", + "react-places-autocomplete": "^7.3.0", + "react-query": "^3.38.1", + "react-redux": "^8.0.2", + "react-slick": "^0.29.0", + "react-star-rating-component": "^1.4.1", + "react-toastify": "^9.0.7", + "react-transition-group": "^4.4.5", + "slick-carousel": "^1.8.1", + "stripe": "^9.1.0", + "url-loader": "^4.1.1" + }, + "devDependencies": { + "@beckn-ui/prettier-config": "workspace:^", + "@types/node": "17.0.31", + "@types/react": "18.0.8", + "@types/react-dom": "18.0.3", + "autoprefixer": "^10.4.7", + "eslint": "8.14.0", + "eslint-config-next": "latest", + "postcss": "^8.4.14", + "postcss-import": "^14.1.0", + "prettier": "^3.0.3", + "tailwindcss": "^3.1.4", + "typescript": "4.6.4" + } +} diff --git a/apps/tourism/pages/_app.tsx b/apps/tourism/pages/_app.tsx new file mode 100644 index 000000000..7fbe6ba47 --- /dev/null +++ b/apps/tourism/pages/_app.tsx @@ -0,0 +1,42 @@ +import React from 'react' +import type { AppProps } from 'next/app' + +import Layout from '@components/layout/Layout' +import { BecknProvider } from '@beckn-ui/molecules' + +import 'slick-carousel/slick/slick.css' +import 'slick-carousel/slick/slick-theme.css' + +import 'react-toastify/dist/ReactToastify.css' + +import '../styles/globals.css' +import { Provider } from 'react-redux' +import store from '@store/index' +import { Garuda } from 'garudaa' + +Garuda.init({ + projectId: '65c0d663cbe90cafae9185f6', + host: 'https://garuda-api.becknprotocol.io' +}) +function MyApp({ Component, pageProps }: AppProps) { + return ( + + + + + + + + ) +} + +export default MyApp diff --git a/apps/tourism/pages/_document.tsx b/apps/tourism/pages/_document.tsx new file mode 100644 index 000000000..b68f78940 --- /dev/null +++ b/apps/tourism/pages/_document.tsx @@ -0,0 +1,39 @@ +import { Html, Head, Main, NextScript } from 'next/document' +export default function Document() { + return ( + + + + + + + + + + +
+ + + + ) +} diff --git a/apps/tourism/pages/assemblyDetails.tsx b/apps/tourism/pages/assemblyDetails.tsx new file mode 100644 index 000000000..14b0c140d --- /dev/null +++ b/apps/tourism/pages/assemblyDetails.tsx @@ -0,0 +1,10 @@ +import { Box, Select, Stack, useTheme } from '@chakra-ui/react' +import AssemblyDetails from '@components/assemblyDetails' +import React from 'react' + +const assemblyDetails = () => { + const theme = useTheme() + return +} + +export default assemblyDetails diff --git a/apps/tourism/pages/cart.tsx b/apps/tourism/pages/cart.tsx new file mode 100644 index 000000000..20e161a5a --- /dev/null +++ b/apps/tourism/pages/cart.tsx @@ -0,0 +1,8 @@ +import EmptyCart from '@components/emptyCart/EmptyCart' +import React from 'react' + +const cart = () => { + return +} + +export default cart diff --git a/apps/tourism/pages/checkoutPage.tsx b/apps/tourism/pages/checkoutPage.tsx new file mode 100644 index 000000000..2b7bf8a37 --- /dev/null +++ b/apps/tourism/pages/checkoutPage.tsx @@ -0,0 +1,309 @@ +import React, { useEffect, useState } from 'react' +import axios from 'axios' +import { useRouter } from 'next/router' +import { ShippingFormInitialValuesType } from '@beckn-ui/becknified-components' +import { Box, Flex } from '@chakra-ui/react' +import { Typography } from '@beckn-ui/molecules' +import DetailsCard from '@beckn-ui/becknified-components/src/components/checkout/details-card' +import ShippingSection from '@beckn-ui/becknified-components/src/components/checkout/shipping-section' +import PaymentDetails from '@beckn-ui/becknified-components/src/components/checkout/payment-details' +import BecknButton from '@beckn-ui/molecules/src/components/button/Button' +import { getPayloadForInitRequest, getPayloadForSelectRequest, getPaymentBreakDown } from '@utils/checkout-utils' + +import { useLanguage } from '../hooks/useLanguage' +import { AssemblyData, ParsedItemModel } from '../types/search.types' +import { SelectResponseModel } from '../types/select.types' +import { InitResponseModel } from '../types/init.types' +import LoaderWithMessage from '@components/loader/LoaderWithMessage' + +const CheckoutPage = () => { + const { t } = useLanguage() + const [selectedProduct, setSelectedProduct] = useState(null) + const [isLoadingForSelect, setIsLoadingForSelect] = useState(true) + const [isLoadingForInit, setIsLoadingForInit] = useState(false) + const [selectData, setSelectData] = useState([]) + const [initData, setInitData] = useState([]) + const [showShippingDetails, setShowShippingDetails] = useState(false) + const [showBillingDetails, setShowBillingDetails] = useState(false) + const [error, setError] = useState('') + const [assemblyDetails, setAssemblyDetails] = useState(null) + const [detailsForm, setdetailsForm] = useState({ + name: 'Antoine Dubois', + mobileNumber: '0612345678', + email: 'antoine.dubois@gmail.com', + address: '15 Rue du Soleil, Paris, France', + pinCode: '750013' + }) + + const [billingFormData, setBillingFormData] = useState({ + name: 'Antoine Dubois', + mobileNumber: '0612345678', + email: 'antoine.dubois@gmail.com', + address: '15 Rue du Soleil, Paris, France', + pinCode: '750013' + }) + + const [isBilling, setIsBilling] = useState(true) + + const router = useRouter() + + const apiUrl = process.env.NEXT_PUBLIC_API_URL + + const fetchSelectData = (selectPayload: any) => { + axios + .post(`${apiUrl}/select`, selectPayload) + .then(res => { + setSelectData(res.data.data) + setIsLoadingForSelect(false) + }) + .catch(e => { + setError(e.message) + console.error(e) + setIsLoadingForSelect(false) + }) + } + + useEffect(() => { + if (localStorage && localStorage.getItem('selectedItem')) { + const parsedSelectedItem = JSON.parse(localStorage.getItem('selectedItem') as string) + setSelectedProduct(parsedSelectedItem) + } + }, []) + + useEffect(() => { + if (localStorage && localStorage.getItem('assemblyDetails')) { + const parsedAssemblyDetails = JSON.parse(localStorage.getItem('assemblyDetails') as string) + setAssemblyDetails(parsedAssemblyDetails) + } + }, []) + + useEffect(() => { + if (selectedProduct) { + const selectPayload = getPayloadForSelectRequest(selectedProduct) + fetchSelectData(selectPayload) + } + }, [selectedProduct]) + + if (!selectedProduct) { + return <> + } + + if (isLoadingForSelect || isLoadingForInit) { + return ( + + + + ) + } + + console.log(error) + + if (error.length) { + return ( + + + + ) + } + + const { + message: { + order: { + quote: { + price: { currency, value } + }, + items + } + } + } = selectData[0] + const { name } = items[0] + + return ( + + + + + + + + + + + + + + + + + + { + try { + setIsLoadingForInit(true) + const initPayload = await getPayloadForInitRequest(selectedProduct, shippingData, billingFormData) + axios + .post(`${apiUrl}/init`, initPayload) + .then(res => { + const initResponseData: InitResponseModel[] = res.data.data + const { email, mobileNumber, name, pinCode, address } = shippingData + setdetailsForm({ + address, + email, + mobileNumber, + name, + pinCode + }) + + localStorage.setItem('initResult', JSON.stringify(initResponseData)) + setInitData(initResponseData) + setIsLoadingForInit(false) + setShowShippingDetails(true) + }) + .catch(e => { + setError(e.message) + setIsLoadingForInit(false) + console.error(e) + }) + } catch (error) { + console.error(error) + } + }, + submitButton: { text: 'Save Shipping Details' }, + values: detailsForm, + onChange: data => () => { + return + } + }} + /> + { + try { + setIsLoadingForInit(true) + const initPayload = await getPayloadForInitRequest(selectedProduct, detailsForm, billingData) + axios + .post(`${apiUrl}/init`, initPayload) + .then(res => { + const initResponseData: InitResponseModel[] = res.data.data + const { email, mobileNumber, name, pinCode, address } = billingData + setBillingFormData({ + address, + email, + mobileNumber, + name, + pinCode + }) + localStorage.setItem('initResult', JSON.stringify(initResponseData)) + setInitData(initResponseData) + setIsLoadingForInit(false) + setShowBillingDetails(true) + setIsBilling(false) + }) + .catch(e => { + setError(e.message) + setIsLoadingForInit(false) + console.error(e) + }) + } catch (error) { + console.error(error) + } + }, + submitButton: { text: 'Save Billing Details' }, + values: detailsForm, + onChange: data => () => { + return + } + }} + /> + {initData.length > 0 && ( + + + + + + + )} + + + router.push('/paymentMode')} + /> + router.push('/homePage')} + /> + + + ) +} +export default CheckoutPage diff --git a/apps/tourism/pages/feedback.tsx b/apps/tourism/pages/feedback.tsx new file mode 100644 index 000000000..8dfb34565 --- /dev/null +++ b/apps/tourism/pages/feedback.tsx @@ -0,0 +1,153 @@ +import { Box, Text, Image, Textarea } from '@chakra-ui/react' +import { useRouter } from 'next/router' +import React, { useEffect, useState } from 'react' +import StarRating from '../components/starRating/StarRating' +import { useLanguage } from '../hooks/useLanguage' +import feedbackImg from '../public/images/feedbackImg.svg' +import { Typography } from '@beckn-ui/molecules' +import BecknButton from '@beckn-ui/molecules/src/components/button/Button' +import { ConfirmResponseModel } from '../types/confirm.types' +import axios from 'axios' +import LoaderWithMessage from '@components/loader/LoaderWithMessage' + +const Feedback = () => { + const { t } = useLanguage() + const router = useRouter() + const [ratingForStore, setRatingForStore] = useState(0) + const [feedback, setFeedback] = useState('') + const [confirmData, setConfirmData] = useState(null) + const [isLoadingForRating, setIsLoadingForRating] = useState(false) + + const apiUrl = process.env.NEXT_PUBLIC_API_URL + + useEffect(() => { + if (localStorage && localStorage.getItem('confirmResponse')) { + const parsedConfirmData: ConfirmResponseModel[] = JSON.parse(localStorage.getItem('confirmResponse') as string) + setConfirmData(parsedConfirmData) + } + }, []) + + const handleSubmitReview = async (confirmData: ConfirmResponseModel[]) => { + try { + setIsLoadingForRating(true) + const { domain, bpp_id, bpp_uri, transaction_id } = confirmData[0].context + const orderId = confirmData[0].message.orderId + const ratingPayload = { + data: [ + { + context: { + transaction_id, + bpp_id, + bpp_uri, + domain + }, + message: { + id: orderId, + rating_category: 'Order', + value: ratingForStore + } + } + ] + } + + const ratingResponse = await axios.post(`${apiUrl}/rating`, ratingPayload) + if (ratingResponse.data.data.length > 0) { + router.push('/homePage') + } + } catch (error) { + console.error(error) + } + } + + if (!confirmData || confirmData.length === 0) { + return <> + } + + if (isLoadingForRating) { + return ( + + + + ) + } + + return ( + + + + + + + + + + + +