{"version":3,"sources":["Components/Header/styles.tsx","Components/Header/index.tsx","Components/SocialBox/styles.tsx","Assets/github.svg","Components/SocialBox/index.tsx","Components/Product/styles.tsx","Store/Slices/cart.ts","Store/Slices/product.ts","Data/products.ts","Store/rootReducer.ts","Store/store.ts","Components/Product/Motion.tsx","Components/ColorPalette/styles.tsx","Components/ColorPalette/index.tsx","Components/CartOptions/styles.tsx","Components/CartButton/index.tsx","Assets/plus.svg","Assets/minus.svg","Components/CartOptions/index.tsx","Components/Product/index.tsx","Components/ControlArrows/styles.tsx","Assets/angle-left.svg","Assets/angle-right.svg","Components/ControlArrows/index.tsx","Components/CartDrawer/styles.tsx","Components/CartDrawer/index.tsx","Components/CartItem/styles.tsx","Components/CartItem/index.tsx","Views/Home/styles.tsx","Views/Home/index.tsx","Views/ProductDetail/styles.tsx","Types/store.ts","Views/ProductDetail/index.tsx","App.tsx","serviceWorkerRegistration.ts","theme.ts","index.tsx"],"names":["useStyles","makeStyles","theme","root","paddingTop","paddingBottom","display","justifyContent","alignItems","letterSpacing","brand","props","textDecoration","lineHeight","color","isProductDetailPage","palette","customColors","black","maxWidth","maxHeight","width","height","background","borderRadius","nav","fontWeight","gray2","padding","transition","position","overflow","content","backgroundColor","top","bottom","left","right","zIndex","transform","activeLink","Header","cartHandler","classes","qtyCount","useSelector","state","cartReducer","totalQuantity","Container","className","to","Typography","variant","Hidden","xsDown","end","activeClassName","IconButton","onClick","Badge","badgeContent","breakpoints","down","textTransform","blue1","cursor","marginLeft","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref2","d","SvgGithub","_ref","svgRef","title","titleId","xmlns","viewBox","ref","id","ForwardRef","SocialBox","Box","href","productWrapper","minWidth","imgWrapper","flexDirection","bgAnimer","scale","opacity","initialState","items","totalAmount","cartSlice","createSlice","name","reducers","addCarItem","action","item","payload","colors","price","colorId","makeCartItemId","itemIndex","findIndex","obj","cartItemId","quantity","push","removeCarItem","find","itemsShallowArr","map","filter","clearCart","actions","products","description","primary","secondary","imageUrl","productSlice","rootReducer","combineReducers","productReducer","store","configureStore","reducer","useAppDispatch","useDispatch","wrapperVarients","rest","staggerChildren","staggerDirection","hover","delayChildren","animerVarients","imgVarients","cartOptionVarients","pallateWrapper","margin","clrPill","ColorPalette","activeIndex","overrideClass","style","border","e","stopPropagation","cartOption","marginTop","forCartItem","boxShadow","outline","fill","CartButton","children","label","button","SvgPlus","SvgMinus","CartOptions","animationId","varient","qty","onRemove","div","layoutId","initial","variants","Product","openSnackbar","navigate","useNavigate","dispatch","useState","curColorIndex","setCurColorIndex","Math","floor","random","layoutID","makeRandNumForAnim","layout","whileHover","animate","type","img","src","alt","delay","index","console","log","controlWrapper","side","SvgAngleLeft","SvgAngleRight","ControlArrows","elemRef","val","current","scrollLeft","scrollTo","cartDrawer","checkoutWrapper","CartDrawer","isCartOpen","onClose","onCheckoutMsg","cartReducerState","Drawer","anchor","open","flexGrow","align","Divider","overflowX","CartItem","marginY","cartItemWrapper","paddingLeft","spacing","actionBtn","clrPalette","CartItemBox","Grid","container","xs","homeRoot","productListWrapper","scrollBehavior","marginRight","subtitleWrap","Home","scrollWrapperRef","useMotionValue","useRef","prodDetailWrapper","sideMarginWrapper","cartOptWrapper","rightDetailWrapper","backArrowWrapper","fontSize","DEFAULT_PRODUCT_ITEM","BackArrowAnim","svg","x","repeat","Infinity","duration","ProductDetail","onProductDetailPage","useLocation","useParams","prodId","product","setProduct","animID","useEffect","getProd","sm","parseInt","y","hovver","App","setIsProductDetailPage","setIsCartOpen","isSnackbarOpen","setSnackbarOpen","p","path","element","Snackbar","autoHideDuration","event","reason","message","isLocalhost","Boolean","window","location","hostname","match","registerValidSW","swUrl","config","navigator","serviceWorker","register","then","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","catch","error","themeProvider","createMuiTheme","gray","black2","red","smoke","yellow","orange","main","contrastText","text","typography","h2","fontFamily","h3","h4","h5","body1","body2","subtitle1","subtitle2","ReactDOM","render","StrictMode","ThemeProvider","document","getElementById","URL","process","origin","addEventListener","fetch","headers","response","contentType","get","status","ready","unregister","reload","checkValidServiceWorker","serviceWorkerRegistration"],"mappings":"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","file":"static/js/main.552828a9.chunk.js","sourcesContent":["import { makeStyles } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n paddingTop: \"max(22px,min(3.5vw,26px))\",\n paddingBottom: \"max(22px,min(3.5vw,26px))\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n letterSpacing: \"2px\",\n // borderBottom: \"1px solid\",\n },\n brand: (props: { isProductDetailPage: boolean }) => ({\n display: \"flex\",\n alignItems: \"flex-end\",\n textDecoration: \"none\",\n\n \"& h4,h5\": {\n lineHeight: \"90%\",\n color: props.isProductDetailPage\n ? \"#fff\"\n : theme.palette.customColors?.black,\n },\n \"& span\": {\n maxWidth: \"9px\",\n maxHeight: \"9px\",\n width: \"0.6vw\",\n height: \"0.6vw\",\n background: props.isProductDetailPage\n ? \"#fff\"\n : theme.palette.customColors?.black,\n borderRadius: \"50%\",\n },\n }),\n nav: {\n display: \"flex\",\n \"& a\": {\n textDecoration: \"none\",\n fontWeight: 700,\n color: theme.palette.customColors?.gray2,\n padding: \"8px\",\n transition: \"color 200ms linear\",\n position: \"relative\",\n overflow: \"hidden\",\n\n \"&::before\": {\n content: \"''\",\n backgroundColor: \"#F4F2F6\",\n display: \"block\",\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: -1,\n transform: \"translate(-100%, 100%)\",\n transition: \"all 250ms linear\",\n },\n \"&:hover\": {\n \"&::before\": {\n transform: \"translate(0%, 0%)\",\n },\n },\n },\n \"& button\": {\n padding: 6,\n color: \"#FF8E53\",\n },\n },\n activeLink: {\n color: `${theme.palette.customColors?.black} !important`,\n },\n}));\n\nexport default useStyles;\n","import React, { FC } from \"react\";\nimport {\n Container,\n Badge,\n Typography,\n Hidden,\n IconButton,\n} from \"@material-ui/core\";\nimport { Link, NavLink, useParams } from \"react-router-dom\";\nimport ShoppingBasketIcon from \"@material-ui/icons/ShoppingBasket\";\nimport { RootState } from \"../../Store/rootReducer\";\nimport { useSelector } from \"react-redux\";\nimport useStyles from \"./styles\";\n\ntype HeaderProps = {\n isProductDetailPage: boolean;\n cartHandler: () => void;\n};\nconst Header: FC = ({ isProductDetailPage, cartHandler }) => {\n const classes = useStyles({ isProductDetailPage });\n const qtyCount = useSelector(\n (state: RootState) => state.cartReducer.totalQuantity\n );\n return (\n \n \n \n S\n \n \n hopping\n \n \n \n \n \n \n \n );\n};\n\nexport default Header;\n","import { makeStyles } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n position: \"absolute\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n // width: \"100px\",\n height: \"40x\",\n\n bottom: \"4%\",\n right: \"3%\",\n [theme.breakpoints.down(\"md\")]: {\n right: \"7%\",\n },\n \"& a\": {\n textDecoration: \"none\",\n textTransform: \"uppercase\",\n color: theme.palette.customColors?.blue1,\n },\n \"& svg\": {\n // fill: \"#3c3c3d\",\n width: \"26px\",\n height: \"26px\",\n cursor: \"pointer\",\n marginLeft: \"0.6rem\",\n },\n },\n}));\nexport default useStyles;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z\"\n});\n\nfunction SvgGithub(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 448 512\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGithub);\nexport default __webpack_public_path__ + \"static/media/github.b758fd95.svg\";\nexport { ForwardRef as ReactComponent };","import { Box, Typography } from \"@material-ui/core\";\nimport React, { FC } from \"react\";\nimport useStyles from \"./styles\";\nimport { ReactComponent as GithubIcon } from \"./../../Assets/github.svg\";\ntype Props = {};\n\nconst SocialBox: FC = () => {\n const classes = useStyles();\n return (\n \n \n Design By Den klenkov\n \n \n \n \n \n );\n};\n\nexport default SocialBox;\n","import { makeStyles } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n productWrapper: {\n minWidth: \"320px\",\n maxWidth: \"460px\",\n width: \"80%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"flex-end\",\n position: \"relative\",\n },\n imgWrapper: {\n cursor: \"pointer\",\n position: \"relative\",\n display: \"flex\",\n width: \"100%\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n height: \"75%\",\n [theme.breakpoints.down(\"sm\")]: {\n height: \"90%\",\n },\n \"& img\": {\n display: \"block\",\n width: \"80%\",\n },\n },\n\n bgAnimer: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n borderRadius: \"34px 34px 0px 0px\",\n zIndex: -1,\n scale: 0,\n opacity: 0,\n backgroundColor: \"transparent\",\n },\n}));\nexport default useStyles;\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\n\nimport { CartSliceState, CartItem } from \"./../../Types/store\";\n\nlet initialState: CartSliceState = {\n items: [],\n totalAmount: 0,\n totalQuantity: 0,\n};\n\nconst cartSlice = createSlice({\n name: \"cartBasket\",\n initialState,\n reducers: {\n addCarItem(state, action: PayloadAction) {\n const item = action.payload;\n const { id, colors, price } = item;\n const { colorId } = colors;\n //e.g `${id}-${color}`\n const makeCartItemId: string = `${id}-${colorId}`;\n\n const itemIndex: number = state.items.findIndex(\n (obj) => obj.cartItemId === makeCartItemId\n );\n const cartHasItemAlready: boolean = itemIndex !== -1;\n\n if (cartHasItemAlready) {\n state.items[itemIndex].quantity++;\n } else {\n state.items.push(item);\n }\n state.totalQuantity++;\n state.totalAmount += price;\n },\n removeCarItem: (state, action: PayloadAction) => {\n const cartItemId = action.payload;\n const item: CartItem | undefined = state.items.find(\n (obj) => obj.cartItemId === cartItemId\n );\n if (item) {\n let itemsShallowArr: CartItem[];\n const hasQuantityGreaterThan0: boolean = item.quantity > 1;\n if (hasQuantityGreaterThan0) {\n itemsShallowArr = state.items.map((obj) => {\n if (obj.cartItemId === cartItemId) {\n return { ...obj, quantity: obj.quantity - 1 };\n } else {\n return obj;\n }\n });\n } else {\n itemsShallowArr = state.items.filter(\n (obj) => obj.cartItemId !== cartItemId\n );\n }\n const totalAmount = state.totalAmount - item.price;\n const totalQuantity = state.totalQuantity - 1;\n return { ...state, items: itemsShallowArr, totalAmount, totalQuantity };\n } else {\n return state;\n }\n },\n clearCart: (state, action: PayloadAction) => {\n return { ...initialState };\n },\n },\n});\nexport const { addCarItem, removeCarItem, clearCart } = cartSlice.actions;\n\nexport default cartSlice.reducer;\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\n\nimport { ProductsSliceState } from \"./../../Types/store\";\n\n// Import mock data;\nimport { products } from \"./../../Data/products\";\n\nlet initialState: ProductsSliceState = {\n products: products,\n};\n\nconst productSlice = createSlice({\n name: \"productRed\",\n initialState,\n reducers: {},\n});\n\nexport default productSlice.reducer;\n","import { ProductItem } from \"./../Types/store\";\n\nexport const products: ProductItem[] = [\n {\n id: \"1\",\n title: \"Domane+ LT 9\",\n description:\n \"Domane+ LT 9 is a high-end carbon drop-bar electric bike designed for roadies who want an authentic road bike experience with an extra boost. The sleek and efficient Fazua drive system kicks things up a notch when you need it—like riding into a headwind or beating your buddy up a climb—but doesn't drag or hold you back when it's not in use. You also get the high-performance benefits of Shimano's best electronic drivetrain, Dura-Ace Di2.\",\n price: 12499.9,\n colors: [\n { colorId: 0, primary: \"#000000\", secondary: \"#000000\" },\n { colorId: 1, primary: \"#8B4FB3\", secondary: \"#8B4FB3\" },\n { colorId: 2, primary: \"#6D0D16\", secondary: \"#002F4D\" },\n ],\n imageUrl: [\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/domane-lt-0.png?alt=media\",\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/domane-lt-1.png?alt=media\",\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/domane-lt-2.png?alt=media\",\n ],\n },\n {\n id: \"2\",\n title: \"Madone SLR 9 eTap\",\n description:\n \"Madone SLR 9 Disc eTap pairs the aerodynamics and ride quality of an all-new 800 Series OCLV Carbon frame with the smoothness of SRAM's most advanced electronic drivetrain, RED eTap AXS. It's the first-ever wireless electronic groupset with a 12-speed cassette. Saddle up for the quickest and smartest shifting of your life.\",\n price: 12499.9,\n colors: [\n { colorId: 0, primary: \"#002F4D\", secondary: \"#6D0D16\" },\n { colorId: 1, primary: \"#002F4D\", secondary: \"#006DB3\" },\n { colorId: 2, primary: \"#333333\", secondary: \"#333333\" },\n ],\n imageUrl: [\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/madone-slr-etrap-0.png?alt=media\",\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/madone-slr-etrap-1.png?alt=media\",\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/madone-slr-etrap-2.png?alt=media\",\n ],\n },\n {\n id: \"3\",\n title: \"Fuel EX 9.9 X01 AXS\",\n description:\n \"Fuel EX 9.9 makes no compromises. Top-shelf suspension, carbon everything, and SRAM's latest X01 Eagle AXS wireless drivetrain make this ripper ready to rule any trail in style. It's fast, it's light, and it's got everything you need to crush your next trail ride.\",\n price: 12499.9,\n colors: [\n { colorId: 0, primary: \"#333333\", secondary: \"#6D0D16\" },\n { colorId: 1, primary: \"#999999\", secondary: \"#FF7727\" },\n { colorId: 2, primary: \"#333333\", secondary: \"#333333\" },\n ],\n imageUrl: [\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/fuel-ex-axa-0.png?alt=media\",\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/fuel-ex-axa-1.png?alt=media\",\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/fuel-ex-axa-2.png?alt=media\",\n ],\n },\n {\n id: \"4\",\n title: \"EBC 93 3i\",\n description:\n \"the EBC '93 takes inspiration from the first car in the BMW Art Car Series designed by Alexander Calder. It includes a hydroformed bullet tank frame, bold colors and the race team number 93.\",\n price: 999.9,\n colors: [{ colorId: 0, primary: \"#D8182A\", secondary: \"#fff\" }],\n imageUrl: [\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/ebc-93-ei-0.png?alt=media\",\n ],\n },\n {\n id: \"5\",\n title: \"Delivery 3i Step-Over\",\n description:\n \"Electra's Delivery 3i is one of the most recognizable models in our Classic Cruiser lineup. It's perfect for riding around town and carrying anything you need to take with you on your daily adventure - laptops, gym bags, shopping bags, or the occasional six pack.\",\n price: 999.99,\n colors: [{ colorId: 0, primary: \"#e2cfab\", secondary: \"#999999\" }],\n imageUrl: [\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/delivery-3i-step-over-0.png?alt=media\",\n ],\n },\n {\n id: \"6\",\n title: \"Domane SLR 7 eTap\",\n description:\n \"Domane SLR 7 eTap is an ultralight endurance road bike with high-end parts made for a fast, high-performance ride.\",\n price: 84999.9,\n colors: [\n { colorId: 0, primary: \"#fff\", secondary: \"#002F4D\" },\n { colorId: 1, primary: \"#D8182A\", secondary: \"#000000\" },\n { colorId: 2, primary: \"#D8182A\", secondary: \"#fff\" },\n ],\n imageUrl: [\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/domane-slr-etrap-0.png?alt=media\",\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/domane-slr-etrap-1.png?alt=media\",\n \"https://firebasestorage.googleapis.com/v0/b/mystore339.appspot.com/o/domane-slr-etrap-2.png?alt=media\",\n ],\n },\n];\n","import { combineReducers } from \"@reduxjs/toolkit\";\n\nimport cartReducer from \"./Slices/cart\";\nimport productReducer from \"./Slices/product\";\n\n// HERE WE PASS OUR REDUCERS.\nconst rootReducer = combineReducers({ cartReducer, productReducer });\n\nexport type RootState = ReturnType;\n\nexport default rootReducer;\n","import { configureStore } from \"@reduxjs/toolkit\";\nimport { useDispatch } from \"react-redux\";\nimport rootReducer from \"./rootReducer\";\n\nconst store = configureStore({\n reducer: rootReducer,\n});\n\nexport type AppDispatch = typeof store.dispatch;\nexport const useAppDispatch = () => useDispatch();\nexport default store;\n","export const rootVarients = {};\nexport const wrapperVarients = {\n rest: {\n transition: { staggerChildren: 0.05, staggerDirection: -1 },\n },\n hover: {\n transition: { staggerChildren: 0.07, delayChildren: 0.2 },\n },\n};\nexport const animerVarients = {\n rest: {\n scale: 0,\n opacity: 0,\n },\n hover: {\n opacity: 1,\n scale: 1,\n backgroundColor: \"var(--blue1) !important\",\n },\n};\nexport const imgVarients = {\n rest: {\n scale: 1,\n width: \"80%\",\n },\n hover: {\n scale: 1.2,\n width: \"100%\",\n },\n};\nexport const cartOptionVarients = {\n rest: { opacity: 0 },\n hover: { opacity: 1 },\n};\n","import { makeStyles } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n pallateWrapper: {\n display: \"flex\",\n margin: \"1.5rem 4px 0px 4px\",\n height: \"40px\",\n alignItems: \"center\",\n \"& > div\": {\n margin: \"0rem 4px 0px 4px\",\n },\n },\n clrPill: {\n padding: \"0.8rem\",\n borderRadius: \"50%\",\n },\n}));\n\nexport default useStyles;\n","import { FC } from \"react\";\nimport useStyles from \"./styles\";\nimport { ColorPlatte } from \"../../Types/store\";\n\ntype Props = {\n colors: ColorPlatte[];\n activeIndex?: number;\n onClick?: (index: number) => void;\n overrideClass?: string;\n};\n\nconst ColorPalette: FC = ({\n colors,\n activeIndex = 0,\n onClick,\n overrideClass,\n}) => {\n const classes = useStyles();\n return (\n
\n {colors.map((obj, i) => {\n return (\n \n {\n e.stopPropagation();\n onClick && onClick(i);\n }}\n />\n
\n );\n })}\n \n );\n};\n\nexport default ColorPalette;\n","import { makeStyles } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n cartOption: {\n width: \"60%\",\n display: \"flex\",\n justifyContent: \"space-between\",\n // marginBottom: \"-20px\",\n marginTop: \"20px\",\n opacity: 0,\n },\n forCartItem: {\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n marginTop: \"6px\",\n \"& button\": {\n padding: \"0.5rem\",\n },\n \"& h6\": {\n margin: \"0px 2px\",\n borderRadius: \"4px\",\n },\n },\n}));\n\nexport default useStyles;\n","import { FC } from \"react\";\nimport { makeStyles, Typography } from \"@material-ui/core\";\nimport { motion } from \"framer-motion\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n background: \"linear-gradient(45deg, #fe6b8b 30%, #FF8E53 90%)\",\n boxShadow: \"0 3px 5px 2px rgba(255, 105, 135, .3)\",\n borderRadius: 8,\n border: 0,\n color: \"white\",\n padding: \"1rem 1.1rem\",\n display: \"flex\",\n cursor: \"pointer\",\n outline: \"none\",\n \"& svg\": {\n width: \"24px\",\n height: \"24px\",\n fill: \"#fff\",\n },\n \"& h6\": {\n marginLeft: \"8px\",\n },\n },\n}));\n\ntype CartButtonProps = {\n onClick: () => void;\n label?: string | null;\n};\nconst CartButton: FC = ({ children, onClick, label }) => {\n const classes = useStyles();\n return (\n {\n e.stopPropagation();\n onClick();\n }}\n >\n {children}\n {label && {label}}\n \n );\n};\n\nexport default CartButton;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M376 232H216V72c0-4.42-3.58-8-8-8h-32c-4.42 0-8 3.58-8 8v160H8c-4.42 0-8 3.58-8 8v32c0 4.42 3.58 8 8 8h160v160c0 4.42 3.58 8 8 8h32c4.42 0 8-3.58 8-8V280h160c4.42 0 8-3.58 8-8v-32c0-4.42-3.58-8-8-8z\"\n});\n\nfunction SvgPlus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 384 512\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlus);\nexport default __webpack_public_path__ + \"static/media/plus.20de626f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M376 232H8c-4.42 0-8 3.58-8 8v32c0 4.42 3.58 8 8 8h368c4.42 0 8-3.58 8-8v-32c0-4.42-3.58-8-8-8z\"\n});\n\nfunction SvgMinus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 384 512\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMinus);\nexport default __webpack_public_path__ + \"static/media/minus.795646a9.svg\";\nexport { ForwardRef as ReactComponent };","import { motion } from \"framer-motion\";\nimport React, { FC } from \"react\";\nimport useStyles from \"./styles\";\nimport { cartOptionVarients } from \"../Product/Motion\";\nimport { Typography } from \"@material-ui/core\";\nimport CartButton from \"../CartButton\";\n\nimport { ReactComponent as PlusIcon } from \"./../../Assets/plus.svg\";\nimport { ReactComponent as MinusIcon } from \"./../../Assets/minus.svg\";\n\ntype CartOptionType = {\n price: number;\n onClick: () => void;\n animationId?: number;\n overrideClass?: string;\n onRemove?: () => void;\n varient?: \"CART\" | \"LIST\";\n qty?: number;\n};\nconst CartOptions: FC = ({\n price,\n onClick,\n animationId,\n overrideClass,\n varient,\n qty,\n onRemove,\n}) => {\n const classes = useStyles();\n\n const renderBtns = () => {\n if (varient !== \"CART\") {\n return (\n \n \n \n );\n } else {\n return (\n
\n {\n onRemove && onRemove();\n }}\n >\n \n \n {qty}\n \n \n \n
\n );\n }\n };\n return (\n \n
\n Price\n ${price}\n
\n {renderBtns()}\n \n );\n};\nexport default CartOptions;\n","import { FC, useState } from \"react\";\nimport { motion } from \"framer-motion\";\nimport { Typography } from \"@material-ui/core\";\nimport useStyles from \"./styles\";\nimport { ProductItem } from \"./../../Types/store\";\nimport { useAppDispatch } from \"../../Store/store\";\nimport { addCarItem } from \"../../Store/Slices/cart\";\nimport { wrapperVarients, animerVarients, imgVarients } from \"./Motion\";\nimport ColorPalette from \"../ColorPalette\";\nimport { useNavigate } from \"react-router-dom\";\nimport CartOptions from \"../CartOptions\";\n\ninterface Props extends ProductItem {\n openSnackbar: () => void;\n}\n\nconst Product: FC = ({\n imageUrl,\n price,\n colors,\n description,\n id,\n title,\n openSnackbar,\n}) => {\n const navigate = useNavigate();\n const classes = useStyles();\n const dispatch = useAppDispatch();\n const [curColorIndex, setCurColorIndex] = useState(0);\n const [layoutID, setLayoutID] = useState(() =>\n Math.floor(Math.random() * 999)\n );\n\n const onAddBtn = () => {\n dispatch(\n addCarItem({\n imageUrl: imageUrl[curColorIndex],\n price,\n colors: colors[curColorIndex],\n description,\n id,\n title,\n cartItemId: `${id}-${curColorIndex}`,\n quantity: 1,\n })\n );\n openSnackbar();\n };\n const colorHandler = (index: number) => {\n console.log(index);\n setCurColorIndex(index);\n };\n\n const makeRandNumForAnim = layoutID;\n return (\n \n \n navigate(`product/${id}/${curColorIndex}`, {\n state: { makeRandNumForAnim },\n })\n }\n >\n \n \n \n \n \n \n );\n};\n\nexport default Product;\n","import { makeStyles } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n controlWrapper: (props: { side: string }) => ({\n background: \"linear-gradient(45deg, #fe6b8b 30%, #FF8E53 90%)\",\n boxShadow: \"0 3px 5px 2px rgba(255, 105, 135, .3)\",\n width: \"calc(2.5vw + 2rem);\",\n height: \"calc(2.5vw + 2rem);\",\n cursor: \"pointer\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n\n position: \"absolute\",\n right: 0,\n top: \"50%\",\n left: props.side === \"left\" ? 0 : \"unset\",\n zIndex: 10,\n \"& svg\": {\n width: \"60%\",\n height: \"60%\",\n fill: \"#fffc\",\n },\n }),\n}));\n\nexport default useStyles;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.2 247.5L151 99.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17L69.3 256l118.5 119.7c4.7 4.7 4.7 12.3 0 17L168 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 264.5c-4.7-4.7-4.7-12.3 0-17z\"\n});\n\nfunction SvgAngleLeft(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 192 512\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAngleLeft);\nexport default __webpack_public_path__ + \"static/media/angle-left.ce2a9c7f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z\"\n});\n\nfunction SvgAngleRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 192 512\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAngleRight);\nexport default __webpack_public_path__ + \"static/media/angle-right.d1d20bd6.svg\";\nexport { ForwardRef as ReactComponent };","import { FC } from \"react\";\nimport useStyles from \"./styles\";\nimport { ReactComponent as LeftArrow } from \"./../../Assets/angle-left.svg\";\nimport { ReactComponent as RightArrow } from \"./../../Assets/angle-right.svg\";\ntype Props = {\n side: \"left\" | \"right\";\n elemRef?: HTMLDivElement | any;\n};\n\nconst ControlArrows: FC = ({ elemRef, side }) => {\n const classes = useStyles({ side });\n\n const moveHandler = () => {\n let val: number;\n if (side === \"left\") {\n val = elemRef.current.scrollLeft - 310;\n } else {\n val = elemRef.current.scrollLeft + 310;\n }\n elemRef &&\n elemRef.current.scrollTo({\n left: val,\n });\n };\n return (\n
\n {side === \"left\" ? : }\n
\n );\n};\n\nexport default ControlArrows;\n","import { makeStyles } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n cartDrawer: {},\n checkoutWrapper: {},\n}));\n\nexport default useStyles;\n","import { FC, Fragment } from \"react\";\nimport Drawer from \"@material-ui/core/Drawer\";\nimport useStyles from \"./styles\";\nimport { Box, Divider, Typography, Container } from \"@material-ui/core\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { RootState } from \"../../Store/rootReducer\";\nimport { CartItem } from \"../../Types/store\";\nimport { CartItemBox, CartButton } from \"..\";\nimport { clearCart } from \"./../../Store/Slices/cart\";\n\ntype Props = {\n isCartOpen: boolean;\n onClose: () => void;\n onCheckoutMsg: () => void;\n};\n\nconst CartDrawer: FC = ({ isCartOpen, onClose, onCheckoutMsg }) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const cartReducerState = useSelector((state: RootState) => state.cartReducer);\n const { items, totalAmount, totalQuantity } = cartReducerState;\n\n const onCheckout = () => {\n dispatch(clearCart());\n onCheckoutMsg();\n };\n return (\n \n \n \n \n ITEMS\n \n \n \n {items.map((obj: CartItem, i) => {\n return ;\n })}\n \n \n \n \n
\n Price\n ${totalAmount}\n
\n CHECKOUT\n \n
\n \n \n
\n );\n};\n\nexport default CartDrawer;\n","import { makeStyles } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n cartItemWrapper: {\n margin: \"1rem 0px\",\n\n \"& > div:nth-child(1)\": {\n \"& img\": {\n height: \"120px\",\n },\n },\n \"& > div:nth-child(2)\": {\n paddingLeft: theme.spacing(3),\n \"& *\": {\n color: theme.palette.customColors?.black,\n },\n },\n },\n actionBtn: {\n opacity: \"1 !important\",\n width: \"80% !important\",\n margin: 0,\n flexDirection: \"column\",\n },\n clrPalette: {\n margin: 0,\n marginTop: \"2px\",\n },\n}));\n\nexport default useStyles;\n","import { FC, Fragment } from \"react\";\nimport useStyles from \"./styles\";\nimport { CartItem } from \"./../../Types/store\";\nimport { Grid, Typography, Divider, Container } from \"@material-ui/core\";\nimport { ColorPalette, CartOptions } from \"..\";\nimport { addCarItem, removeCarItem } from \"../../Store/Slices/cart\";\nimport { useAppDispatch } from \"../../Store/store\";\n\ninterface Props extends CartItem {}\n\nconst CartItemBox: FC = ({\n cartItemId,\n id,\n description,\n colors,\n price,\n children,\n quantity,\n imageUrl,\n title,\n}) => {\n const classes = useStyles();\n const dispatch = useAppDispatch();\n\n const onAddBtn = () => {\n dispatch(\n addCarItem({\n imageUrl: imageUrl,\n price,\n colors: colors,\n description,\n id,\n title,\n cartItemId,\n quantity: 1,\n })\n );\n };\n const onRemove = () => {\n dispatch(removeCarItem(cartItemId));\n };\n return (\n \n \n \n \n \n \n \n {title}\n \n \n \n \n \n \n \n );\n};\n\nexport default CartItemBox;\n","import { makeStyles } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n homeRoot: {\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n overflow: \"hidden\",\n },\n productListWrapper: {\n // border: \"1px solid green\",\n flexGrow: 1,\n display: \"flex\",\n overflow: \"hidden\",\n overflowX: \"hidden\",\n padding: \"0px 2rem\",\n scrollBehavior: \"smooth\",\n \"&> div\": {\n marginLeft: \"calc(1vw + 2.5rem)\",\n marginRight: \"calc(1vw + 2.5rem)\",\n },\n },\n subtitleWrap: {\n position: \"absolute\",\n top: \"6%\",\n letterSpacing: \"4px\",\n color: theme.palette.customColors?.black,\n },\n}));\n\nexport default useStyles;\n","import { Box, Container, Typography } from \"@material-ui/core\";\nimport { FC, useRef } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Product, SocialBox, ControlArrow } from \"./../../Components\";\nimport useStyles from \"./styles\";\nimport { RootState } from \"../../Store/rootReducer\";\nimport { useMotionValue, motion } from \"framer-motion\";\n\ntype Props = {\n openSnackbar: () => void;\n};\n\nconst Home: FC = ({ openSnackbar }) => {\n const scrollX = useMotionValue(0);\n const scrollWrapperRef = useRef();\n const classes = useStyles();\n const products = useSelector(\n ({ productReducer }: RootState) => productReducer.products\n );\n\n return (\n \n \n Trail Bikes\n \n \n \n \n {products.map((obj, i) => {\n return ;\n })}\n \n \n );\n};\n\nexport default Home;\n","import { makeStyles } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n prodDetailWrapper: {\n color: \"#fff\",\n width: \"100%\",\n \"& > div\": {\n height: \"100%\",\n },\n\n \"& h3\": {\n paddingLeft: \"10%\",\n // marginTop: \"6%\",\n },\n },\n bgAnimer: {\n position: \"absolute\",\n bottom: 0,\n left: \"0%\",\n right: 0,\n top: \"0%\",\n zIndex: -1,\n width: \"45%\",\n backgroundColor: \"var(--blue1)\",\n\n display: \"flex\",\n alignItems: \"flex-end\",\n paddingBottom: theme.spacing(4),\n },\n imgWrapper: {\n cursor: \"pointer\",\n position: \"relative\",\n display: \"flex\",\n width: \"70%\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n transform: \"scale(1) !important\",\n marginLeft: \"20%\",\n },\n sideMarginWrapper: {\n width: \"80%\",\n paddingLeft: \"10%\",\n position: \"absolute\",\n bottom: \"5%\",\n },\n cartOptWrapper: {\n opacity: \"1 !important\",\n justifyContent: \"flex-start\",\n \"& button\": {\n marginLeft: theme.spacing(3),\n },\n },\n rightDetailWrapper: {\n position: \"relative\",\n color: theme.palette.customColors?.black,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n \"& h3\": {\n paddingLeft: \"0%\",\n },\n \"& p\": {\n width: \"85%\",\n },\n },\n backArrowWrapper: {\n position: \"absolute\",\n right: \"15%\",\n top: \"15%\",\n width: \"40%\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n cursor: \"pointer\",\n overflow: \"hidden\",\n \"& svg\": {\n width: \"34px\",\n height: \"34px\",\n fill: theme.palette.customColors?.black,\n },\n \"& h6\": {\n color: \"inherit\",\n fontSize: \"max(14px, min(1vw, 18px))\",\n },\n },\n}));\n\nexport default useStyles;\n","export interface ColorPlatte {\n colorId: number;\n primary: string;\n secondary: string;\n}\nexport interface ProductItem {\n id: string;\n imageUrl: string[];\n title: string;\n description: string;\n colors: ColorPlatte[];\n price: number;\n}\nexport const DEFAULT_PRODUCT_ITEM: ProductItem = {\n id: \"\",\n imageUrl: [],\n title: \"\",\n description: \"\",\n colors: [],\n price: 0,\n};\n\nexport interface ProductsSliceState {\n products: ProductItem[];\n}\n// CART-SLICE TYPES.\nexport interface CartItem extends Omit {\n quantity: number;\n cartItemId: string; // e.g `${id}-${color}`\n colors: ColorPlatte;\n imageUrl: string;\n}\n\nexport interface CartSliceState {\n items: CartItem[];\n totalQuantity: number;\n totalAmount: number;\n}\n","import { FC, Fragment, useEffect, useState } from \"react\";\nimport useStyles from \"./styles\";\nimport { motion } from \"framer-motion\";\nimport { useParams, useNavigate, useLocation } from \"react-router-dom\";\nimport { Grid, Typography } from \"@material-ui/core\";\nimport { addCarItem } from \"../../Store/Slices/cart\";\nimport { useAppDispatch } from \"../../Store/store\";\nimport {\n ProductItem,\n ProductsSliceState,\n DEFAULT_PRODUCT_ITEM,\n} from \"../../Types/store\";\nimport { useSelector } from \"react-redux\";\nimport { RootState } from \"../../Store/rootReducer\";\nimport { ColorPalette, CartOptions } from \"../../Components\";\nimport { ReactComponent as BackArrow } from \"./../../Assets/long-arrow-right.svg\";\ntype Props = {\n onProductDetailPage: () => void;\n openSnackbar: () => void;\n};\ninterface ParamQuery {\n prodId?: string;\n colorId?: string | number;\n}\n\nconst ProductDetail: FC = ({ onProductDetailPage, openSnackbar }) => {\n const { state } = useLocation();\n const navigate = useNavigate();\n const classes = useStyles();\n const { prodId, colorId }: ParamQuery = useParams();\n const dispatch = useAppDispatch();\n const productReducer: ProductsSliceState = useSelector(\n (state: RootState) => state.productReducer\n );\n const [product, setProduct] = useState(DEFAULT_PRODUCT_ITEM);\n const { imageUrl, price, colors, description, id, title } = product;\n\n const [animID, setAnimID] = useState(\n () => (state as any)?.makeRandNumForAnim | 0\n );\n\n useEffect(() => {\n const getProd = productReducer.products.find(\n ({ id }: ProductItem) => id === prodId\n );\n if (!getProd) {\n navigate(\"/not-found\");\n } else {\n setProduct(getProd);\n }\n if (prodId) {\n onProductDetailPage();\n }\n return () => {\n onProductDetailPage();\n };\n }, [prodId]);\n\n const onAddBtn = () => {\n dispatch(\n addCarItem({\n imageUrl: imageUrl[parseInt(colorId)],\n price,\n colors: colors[parseInt(colorId)],\n description,\n id,\n title,\n cartItemId: `${id}-${parseInt(colorId)}`,\n quantity: 1,\n })\n );\n openSnackbar();\n };\n const colorHandler = (index: number) => {\n navigate(`/product/${id}/${index}`);\n };\n\n console.log(\"animID\", animID);\n return (\n \n \n \n \n \n {title}\n \n
\n \n \n
\n
\n \n \n Description\n {description}\n
\n navigate(-1)}\n initial=\"rest\"\n whileHover=\"hovver\"\n >\n \n BACK TO SHOP\n \n \n \n \n \n \n
\n );\n};\n\nconst BackArrowAnim = () => {\n return (\n \n \n \n );\n};\nexport default ProductDetail;\n","import React, { useState } from \"react\";\nimport { HomeView, ProductDetailView } from \"./Views/index\";\nimport { Routes, Route } from \"react-router-dom\";\nimport { Header, SocialBox, CartDrawer } from \"./Components\";\nimport { Snackbar, Box } from \"@material-ui/core\";\nimport { AnimateSharedLayout } from \"framer-motion\";\n\nfunction App() {\n const [isProductDetailPage, setIsProductDetailPage] = useState(\n false\n );\n const [isCartOpen, setIsCartOpen] = useState(false);\n\n const [isSnackbarOpen, setSnackbarOpen] = useState(false);\n const cartHandler = () => {\n setIsCartOpen((p) => !p);\n };\n const handleSnackbar = (event?: React.SyntheticEvent, reason?: string) => {\n if (reason === \"clickaway\") {\n return;\n }\n setSnackbarOpen(false);\n };\n const openSnackbar = () => {\n setSnackbarOpen(\"Item Added to cart.\");\n };\n const openSnackbarCheckout = () => {\n cartHandler();\n setSnackbarOpen(\"Thanks for purchasing.\");\n };\n return (\n
\n \n \n \n \n \n }\n />\n setIsProductDetailPage((p) => !p)}\n openSnackbar={openSnackbar}\n />\n }\n />\n \n \n \n \n \n
\n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://cra.link/PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://cra.link/PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://cra.link/PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.');\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import { createMuiTheme } from \"@material-ui/core\";\nimport \"@material-ui/core/styles\";\ninterface customColors {\n red?: string;\n black?: string;\n black2?: string;\n yellow?: string;\n gray?: string;\n gray2?: string;\n smoke?: string;\n\n blue1?: string;\n orange?: string;\n}\ndeclare module \"@material-ui/core/styles/createPalette\" {\n interface PaletteOptions {\n customColors?: customColors;\n }\n interface Palette {\n customColors?: customColors;\n }\n}\n\nconst themeProvider = createMuiTheme({\n palette: {\n customColors: {\n gray: \"#F4F2F6\",\n black: \"#392d40\",\n black2: \"#222326\",\n red: \"#e75353\",\n smoke: \"#b8fcc6\",\n yellow: \" #f6d586\",\n gray2: \"#b8b8b8\",\n blue1: \"#414a72\",\n orange: \"#ff5e57\",\n },\n primary: { main: \"#392d40\" },\n secondary: { main: \"#392d40\", contrastText: \"#ececec\" },\n text: {\n secondary: \"white\",\n },\n },\n});\n\nthemeProvider.typography.h2 = {\n fontFamily: \"Quicksand, sans-serif\",\n fontSize: \"max(26px, min(6vw, 5.75rem))\",\n};\nthemeProvider.typography.h3 = {\n fontSize: \"max(26px, min(6vw, 2.75rem))\",\n};\nthemeProvider.typography.h4 = {\n fontSize: \"max(26px, min(6vw, 1.75rem))\",\n};\nthemeProvider.typography.h5 = {\n fontSize: \"max(22px, min(6vw, 1.25rem))\",\n};\nthemeProvider.typography.body1 = {\n fontSize: \"max(18px, min(1.6vw, 20px))\",\n};\nthemeProvider.typography.body2 = {\n fontSize: \"max(18px, min(1.6vw, 24px))\",\n};\nthemeProvider.typography.subtitle1 = {\n color: \"#fff\",\n fontFamily: \"Quicksand\",\n fontSize: \"max(18px, min(1.6vw, 24px))\",\n};\nthemeProvider.typography.subtitle2 = {\n color: \"#fff\",\n fontFamily: \"Quicksand\",\n fontSize: \"max(18px, min(1.6vw, 20px))\",\n};\n\nexport default themeProvider;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorkerRegistration from \"./serviceWorkerRegistration\";\nimport { Provider } from \"react-redux\";\nimport store from \"./Store/store\";\nimport { ThemeProvider } from \"@material-ui/core\";\nimport theme from \"./theme\";\nimport { BrowserRouter as Router } from \"react-router-dom\";\nReactDOM.render(\n \n \n \n \n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://cra.link/PWA\nserviceWorkerRegistration.register();\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n// reportWebVitals();\n"],"sourceRoot":""}