{"version":3,"file":"static/chunks/224-02936d8d539bfb0b.js","mappings":"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","sources":["webpack://_N_E/./src/ui/Common/components/Box/Box.tsx","webpack://_N_E/./src/ui/Common/components/Grid/Grid.tsx","webpack://_N_E/./src/ui/Common/components/Layout/MobilePlaceholder.tsx","webpack://_N_E/./src/ui/Common/components/Layout/styles.ts","webpack://_N_E/./src/ui/App/components/Sidebar/styles.tsx","webpack://_N_E/./src/ui/Icons/components/BridgeIcon.tsx","webpack://_N_E/./src/ui/Icons/components/LaunchIcon.tsx","webpack://_N_E/./src/ui/App/components/Sidebar/Sidebar.tsx","webpack://_N_E/./src/ui/Common/util/browserUtils.ts","webpack://_N_E/./src/ui/Common/util/hooks/useBrowserEnv.ts","webpack://_N_E/./src/ui/Common/components/Layout/Layout.tsx","webpack://_N_E/./src/ui/Icons/components/MeldLogo.tsx","webpack://_N_E/./src/ui/Icons/components/StakeIcon.tsx","webpack://_N_E/./src/ui/Icons/components/WalletIcon.tsx"],"sourcesContent":["import { ColorKey } from 'app/styles/colors'\nimport get from 'lodash/get'\nimport React, { PropsWithChildren, ReactEventHandler } from 'react'\nimport styled, { CSSProperties } from 'styled-components'\nimport { getStylesFromProps, ISizable } from 'ui/Common/util/Sizable'\n\n/**\n * Box components props\n */\ninterface BoxProps extends ISizable {\n /**\n * Inline styles\n */\n style?: React.CSSProperties\n /**\n * Background color - color key from the styleguide pallet can be passed also\n */\n bg?: ColorKey | CSSProperties['color']\n /**\n * Border radius\n */\n br?: number | string\n /**\n * \"Strength\" of box shadow form the styleguide applied to the elemeny\n * TODO:: add when elevation is added to the styleguide\n */\n elevation?: number\n /**\n * Display style property\n *\n * @default \"block\"\n */\n d?: React.CSSProperties['display']\n /**\n * Position style property\n */\n position?: React.CSSProperties['position']\n /**\n * Click callback\n */\n onClick?: ReactEventHandler\n /**\n * Mouse over callback\n */\n onMouseOver?: React.MouseEventHandler\n /**\n * Mouse out callback\n */\n onMouseOut?: React.MouseEventHandler\n}\n\n/**\n * A subset of the Box props that are passed to inner styled component\n */\ntype InnerBoxProps = Pick\n\n/**\n * SC wrapper for the Box component\n */\nconst _Box = styled.div`\n ${(p) => p.d && `display: ${p.d};`}\n ${(p) => p.position && `position: ${p.position};`}\n\n ${(p) => p.bg && `background-color: ${get(p.theme.colors, p.bg, p.bg)};`}\n ${(p) =>\n p.br && `border-radius: ${typeof p.br === 'number' ? `${p.br}px` : p.br};`}\n`\n\n/**\n * Box is a basic building block for all UI elements and layouts.\n */\nconst Box: React.FC> = (props) => {\n const style: React.CSSProperties = {\n ...getStylesFromProps(props),\n ...props.style,\n }\n\n return <_Box {...props} style={style} />\n}\n\n// Box defaults\nBox.defaultProps = {\n d: 'block',\n}\n\nBox.displayName = 'MELD (Box)'\n\nexport default Box\n","import styled from 'styled-components'\n\nexport const MINIMAL_CONTENT_WIDTH = 1248\nexport const LARGE_CONTENT_WIDTH = 1548\nexport const LARGE_BREAKPOINT = 1680\n\n// FIXME rewrite this to use `max-width` like everything else\nexport const largeBreakPointMediaCondition = `min-width: ${\n LARGE_BREAKPOINT + 1\n}px`\n\nconst GRID_BASIS_BASE = 84\nconst GRID_BASIS_LARGER = 96\n\nconst GRID_BASE_GAP = 20\nconst GRID_LARGER_GAP = 24\n\n/**\n * Parent for all other Grid components, usually one Grid component per page. Children should be Row components.\n * Grid consists of 12 columns with gap between columns. Grid is fixed and has two defined widths.\n * On other widths Grid should be centered on the screen between sidebar and screen edge.\n */\nexport const Grid = styled.div`\n margin: 0 auto;\n min-width: ${MINIMAL_CONTENT_WIDTH}px;\n max-width: ${MINIMAL_CONTENT_WIDTH}px;\n\n @media (${largeBreakPointMediaCondition}) {\n min-width: ${LARGE_CONTENT_WIDTH}px;\n max-width: ${LARGE_CONTENT_WIDTH}px;\n }\n`\n\n/**\n * Marks single row in the grid. Contains one or multiple Column components.\n * Directs alignment of columns and takes care of half gaps before first and after last columns.\n */\nexport const Row = styled.div`\n width: ${12 * GRID_BASIS_BASE + 11 * GRID_BASE_GAP}px;\n margin: 0 auto;\n display: flex;\n flex-wrap: nowrap;\n gap: 20px;\n\n @media (${largeBreakPointMediaCondition}) {\n gap: 24px;\n width: ${12 * GRID_BASIS_LARGER + 11 * GRID_LARGER_GAP}px;\n }\n`\n\n/**\n * Column component places its children in the grid. Takes props which dictate placement.\n *\n * `base` defines how many columns should component take on base width. If not provided, component will take all available space (equivalent to 12).\n *\n * `larger` defines how many columns should component take on larger width. If not provided, `base` will be evaluated and the last fallback is full available width (equivalent to 12).\n *\n * `offset` defines how many columns should be left empty before component is placed in the grid. If not provided component will be placed on the grid start.\n *\n * `largerOffset` defines how many columns should be left empty on larger widths. If not provided `offset` will be evaluated.\n */\nexport const Column = styled.div<{\n base?: number\n larger?: number\n offset?: number\n largerOffset?: number\n}>`\n ${(p) => {\n const baseColumnsWidth = (p.base || 12) * GRID_BASIS_BASE\n const LargerColumnsWidth = (p.larger || p.base || 12) * GRID_BASIS_LARGER\n\n const baseColumnsGapsSpan = ((p.base || 12) - 1) * GRID_BASE_GAP\n const largerColumnsGapsSpan =\n ((p.larger || p.base || 12) - 1) * GRID_LARGER_GAP\n\n const baseWidth = baseColumnsWidth + baseColumnsGapsSpan\n const largerWidth = LargerColumnsWidth + largerColumnsGapsSpan\n\n const baseOffsetColumnsWidth = (p.offset || 0) * GRID_BASIS_BASE\n const largerOffsetColumnsWidth =\n (p.largerOffset || p.offset || 0) * GRID_BASIS_LARGER\n\n const baseOffsetGaps = (p.offset || 0) * GRID_BASE_GAP\n const largerOffsetGaps = (p.largerOffset || p.offset || 0) * GRID_LARGER_GAP\n\n const baseOffset = baseOffsetColumnsWidth + baseOffsetGaps\n const largerOffset = largerOffsetColumnsWidth + largerOffsetGaps\n\n return `\n min-width: ${baseWidth}px;\n max-width: ${baseWidth}px;\n\n ${baseOffset > 0 ? `margin-left: ${baseOffset}px` : ''};\n\n @media (${largeBreakPointMediaCondition}) {\n min-width: ${largerWidth}px;\n max-width: ${largerWidth}px;\n\n ${largerOffset ? `margin-left: ${largerOffset}px` : ''};\n }\n `\n }}\n`\n","import React from 'react'\nimport Box from 'ui/Common/components/Box'\nimport Text from 'ui/Common/components/Text'\n\nexport default function MobilePlaceholder() {\n return (\n \n \n \n \n Only the desktop version is supported for now.\n \n \n Mobile version is coming soon.\n \n \n \n )\n}\n","import styled from 'styled-components'\nimport {\n largeBreakPointMediaCondition,\n MINIMAL_CONTENT_WIDTH,\n} from 'ui/Common/components/Grid'\n\nexport const Page = styled.div`\n padding: 24px 20px 0 20px;\n margin-left: 96px;\n min-width: ${MINIMAL_CONTENT_WIDTH}px;\n\n @media (${largeBreakPointMediaCondition}) {\n padding: 24px 24px 0 24px;\n }\n`\n\nexport const TitleContainer = styled.div`\n margin-top: ${(p) => p.theme.spacing.xl}px;\n margin-bottom: ${(p) => p.theme.spacing.xxl}px;\n\n color: ${(p) => p.theme.colors.grey.grey10};\n font-size: ${(p) => p.theme.spacing.xl}px;\n font-weight: 700;\n line-height: 1;\n`\n","import styled from 'styled-components'\nimport { largeBreakPointMediaCondition } from 'ui/Common/components/Grid'\n\nexport const SidebarWrapper = styled.aside`\n height: 100vh;\n z-index: 10;\n position: fixed;\n left: 0;\n top: 0;\n background-color: ${(p) => p.theme.elements.sidebar.backgroundColor};\n display: flex;\n flex-flow: column nowrap;\n padding-top: 24px;\n width: 72px;\n\n @media (${largeBreakPointMediaCondition}) {\n width: 96px;\n padding-top: 36px;\n }\n`\n\nexport const Button = styled.button`\n display: block;\n outline: none;\n border: none;\n padding: 16px;\n transition: background-color 0.15s ease-in-out, fill 0.15s ease-in-out;\n background-color: transparent;\n cursor: pointer;\n border-radius: 8px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n height: 56px;\n width: 56px;\n\n .icon {\n width: 24px;\n height: 24px;\n }\n\n &.activeItem {\n fill: ${(p) => p.theme.colors.red.red6};\n background-color: ${(p) => p.theme.colors.grey.grey3};\n }\n\n :hover {\n background-color: ${(p) => p.theme.colors.grey.grey2};\n }\n\n :active {\n background-color: ${(p) => p.theme.colors.grey.grey3};\n fill: ${(p) => p.theme.colors.red.red6};\n }\n`\n\nexport const LogoSection = styled.div`\n width: 40px;\n height: 40px;\n margin: 0 auto;\n display: flex;\n justify-content: center;\n align-items: center;\n\n @media (${largeBreakPointMediaCondition}) {\n width: 48px;\n height: 48px;\n }\n`\n\nexport const NavSection = styled.div`\n flex: 1 0;\n /* negative margin will offset logo and it's padding -> this will ensure icons are centered */\n margin: -64px auto 0 auto;\n display: flex;\n justify-content: center;\n flex-direction: column;\n\n > * + * {\n margin-top: 2px;\n }\n`\n\nexport const SettingsSection = styled.div`\n position: relative;\n z-index: 2;\n`\n","import * as React from 'react'\n\nfunction BridgeIcon(props: React.SVGProps) {\n return (\n \n \n \n \n \n \n )\n}\n\nexport { BridgeIcon }\n","import React from 'react'\n\nexport const LaunchIcon = (props: React.SVGProps) => (\n \n \n \n \n \n)\n","import * as S from './styles'\nimport Link from 'next/link'\nimport React, { ReactNode } from 'react'\nimport { isAkamonEnabled } from 'ui/Common/config'\nimport { BridgeIcon } from 'ui/Icons/components/BridgeIcon'\nimport { LaunchIcon } from 'ui/Icons/components/LaunchIcon'\nimport MeldLogo from 'ui/Icons/components/MeldLogo'\nimport { StakeIcon } from 'ui/Icons/components/StakeIcon'\nimport { WalletIcon } from 'ui/Icons/components/WalletIcon'\n\n// import { DashboardIcon } from 'ui/Icons/components/DashboardIcon'\n// import { LendIcon } from 'ui/Icons/components/LendIcon'\n// import { BorrowIcon } from 'ui/Icons/components/BorrowIcon'\n// import { MintIcon } from 'ui/Icons/components/MintIcon'\n// import { NotificationIcon } from 'ui/Icons/components/NotificationIcon'\n// import { SettingsIcon } from 'ui/Icons/components/SettingsIcon'\n\ninterface SidebarIconButtonProps {\n icon: ReactNode\n name: string\n active?: boolean\n value: string\n}\n\nfunction SidebarButton({ icon, active, value, name }: SidebarIconButtonProps) {\n return (\n \n \n
{icon}
\n
\n \n )\n}\n\ntype Item = { name: string; value: string; icon: ReactNode }\n\n/**\n * Renders MELD sidebar. Sidebar contains navigation links, and serves as a menu.\n * Sidebar will highlight active item and render links to other pages.\n */\nexport function Sidebar({\n activeItem,\n countdown,\n}: {\n activeItem: string\n countdown?: boolean\n}) {\n // !!! REMOVE WITH COUNTDOWN\n const _items = countdown\n ? {\n middle: [\n { name: 'Countdown', value: 'countdown', icon: },\n ],\n bottom: [],\n }\n : ({\n middle: [\n // { name: 'Dashboard', value: 'dashboard', icon: },\n // { name: 'Lend', value: 'lend', icon: },\n // { name: 'Borrow', value: 'borrow', icon: },\n { name: 'Stake MELD', value: 'stake', icon: },\n // { name: 'Mint', value: 'mint', icon: },\n { name: 'Wallet', value: 'wallet', icon: },\n ...(isAkamonEnabled\n ? [\n {\n name: 'Akamon Gateway',\n value: 'akamon',\n icon: ,\n },\n ]\n : []),\n ],\n bottom: [\n // {\n // name: 'Notifications',\n // value: 'notifications',\n // icon: ,\n // },\n // { name: 'Settings', value: 'settings', icon: },\n ],\n } as { middle: Item[]; bottom: Item[] })\n\n return (\n \n \n \n \n\n \n {_items.middle.map(({ name, value, icon }) => (\n \n ))}\n \n\n \n {_items.bottom.map(({ icon, name, value }) => (\n \n ))}\n \n \n )\n}\n","// ---------- detect UA\n\nexport function isAndroid(): boolean {\n return window.navigator.userAgent.match(/Android/i) != null\n}\n\nexport function isBlackBerry(): boolean {\n return window.navigator.userAgent.match(/BlackBerry/i) != null\n}\n\nexport function isIos(): boolean {\n return window.navigator.userAgent.match(/iPhone|iPad|iPod/i) != null\n}\n\nexport function isOperaMini(): boolean {\n return window.navigator.userAgent.match(/Opera Mini/i) != null\n}\n\nexport function isIeMobile(): boolean {\n return window.navigator.userAgent.match(/IEMobile/i) != null\n}\n\nexport function isMobile(): boolean {\n return (\n isAndroid() || isBlackBerry() || isIos() || isOperaMini() || isIeMobile()\n )\n}\n","import { useEffect, useState } from 'react'\nimport * as BrowserUtils from 'ui/Common/util/browserUtils'\n\n/** Interface that describes runtime browser env info. */\nexport type IBrowserEnv = {\n isAndroid: () => boolean\n isBlackBerry: () => boolean\n isIos: () => boolean\n isOpera: () => boolean\n isIeMobile: () => boolean\n isMobile: () => boolean\n}\n\nexport function createBrowserEnv(): IBrowserEnv {\n return {\n isAndroid: () => {\n return BrowserUtils.isAndroid()\n },\n\n isBlackBerry: () => {\n return BrowserUtils.isBlackBerry()\n },\n\n isIos: () => {\n return BrowserUtils.isIos()\n },\n\n isOpera: () => {\n return BrowserUtils.isOperaMini()\n },\n\n isIeMobile: () => {\n return BrowserUtils.isIeMobile()\n },\n\n isMobile: () => {\n return BrowserUtils.isMobile()\n },\n }\n}\n\n/** Retrieve browser env information and return in a convenient object. */\nexport function useBrowserEnv() {\n const [browserEnv, setBrowserEnv] = useState()\n\n useEffect(() => {\n // this touches `window` obj which is only available in browser so we have to use it in useEffect (because of Nextjs)\n setBrowserEnv(createBrowserEnv())\n }, [])\n\n return browserEnv\n}\n","import MobilePlaceholder from './MobilePlaceholder'\nimport * as S from './styles'\nimport { useRouter } from 'next/router'\nimport { ReactNode } from 'react'\nimport { Sidebar } from 'ui/App/components/Sidebar'\nimport { useBrowserEnv } from 'ui/Common/util/hooks/useBrowserEnv'\n\ntype LayoutProps = {\n children?: ReactNode\n countdown?: boolean\n}\n\nexport default function Layout({ children, countdown }: LayoutProps) {\n const router = useRouter()\n const browserEnv = useBrowserEnv()\n\n // pathname is absolute (starts with /) so use second item\n const activeItem = router.pathname.split('/')[1]\n\n // browserEnv is undefined at first so we'll show nothing until it is created to avoid flashing content\n return (\n <>\n {browserEnv && !browserEnv.isMobile() && (\n <>\n \n \n
{children}
\n
\n \n )}\n\n {browserEnv?.isMobile() && }\n \n )\n}\n","import * as React from 'react'\nimport { useUID } from 'react-uid'\n\nfunction MeldLogo(props: React.SVGProps) {\n const idA = useUID()\n const idB = useUID()\n const idC = useUID()\n const idD = useUID()\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default MeldLogo\n","import React from 'react'\n\nexport const StakeIcon = (props: React.SVGProps) => (\n \n \n \n \n \n \n)\n","import React from 'react'\n\nexport const WalletIcon = (props: React.SVGProps) => (\n \n \n \n \n \n \n)\n"],"names":["_Box","styled","p","d","position","bg","get","theme","colors","br","Box","props","style","getStylesFromProps","defaultProps","displayName","MINIMAL_CONTENT_WIDTH","LARGE_CONTENT_WIDTH","LARGE_BREAKPOINT","largeBreakPointMediaCondition","Grid","Row","Column","baseColumnsWidth","base","LargerColumnsWidth","larger","baseWidth","largerWidth","baseOffsetColumnsWidth","offset","largerOffsetColumnsWidth","largerOffset","baseOffset","MobilePlaceholder","w","h","justifyContent","alignItems","flexDirection","textAlign","video","width","autoPlay","loop","muted","playsInline","source","src","type","Text","mt","mb","block","color","variant","Page","spacing","xl","xxl","grey","grey10","SidebarWrapper","elements","sidebar","backgroundColor","Button","red","red6","grey3","grey2","LogoSection","NavSection","SettingsSection","BridgeIcon","svg","height","viewBox","xmlns","g","transform","fillRule","stroke","strokeWidth","path","LaunchIcon","fill","SidebarButton","icon","active","value","name","Link","passHref","href","S","className","title","div","Sidebar","activeItem","_items","countdown","middle","bottom","StakeIcon","WalletIcon","isAkamonEnabled","MeldLogo","map","isAndroid","window","navigator","userAgent","match","isBlackBerry","isIos","isOperaMini","isIeMobile","createBrowserEnv","BrowserUtils","isOpera","isMobile","Layout","children","router","useRouter","browserEnv","useState","useEffect","setBrowserEnv","useBrowserEnv","pathname","split","main","idA","useUID","idB","idC","idD","defs","linearGradient","x1","y1","x2","y2","id","stop","stopColor","stopOpacity"],"sourceRoot":""}