aboutsummaryrefslogtreecommitdiff
path: root/static/js/main.4193a873.chunk.js.map
blob: 0264d71a569b9bc16df6f41077e2d5cbad35a776 (plain)
1
{"version":3,"sources":["assets/icon.svg","lib/Window/WindowSurface.tsx","lib/Window/Window.tsx","lib/Header/Header.tsx","lib/ContentSection/ContentSection.tsx","lib/Benzin/Benzin.tsx","lib/Markdown/CodeBlock.tsx","lib/Markdown/SyntacticSpan.tsx","lib/Markdown/Text.tsx","lib/Markdown/Content.tsx","lib/Markdown/Section.tsx","lib/Markdown/Markdown.tsx","index.tsx"],"names":["module","exports","useStyles","makeStyles","theme","surface","position","display","flexDirection","overflowY","scrollbarColor","palette","secondary","dark","light","color","primary","WindowSurface","size","children","classes","Paper","variant","style","className","header","padding","spacing","background","elevation2","Window","type","name","height","bottom","width","left","right","Typography","Divider","root","text","paddingLeft","logo","margin","tab","fontSize","marginRight","marginBottom","Header","contents","page","setPage","AppBar","Toolbar","icon","title","Tabs","onChange","event","newPage","value","Object","keys","map","item","Tab","label","key","content","ContentSection","sectionName","level","adjustedLevel","component","benzinTheme","createMuiTheme","main","orange","purple","default","paper","elevation1","elevation3","Benzin","ThemeProvider","CssBaseline","overflowX","fontFamily","CodeBlock","rawLines","line","enclosureRegex","e","local","RegExp","global","regex","conceal","rawLink","emoji","bold","italic","code","strikeThrough","splitter","values","pair","source","join","emojiList","emojiLib","forEach","push","char","borderRadius","image","maxWidth","maxHeight","SyntacticSpan","span","matchConceal","exec","src","alt","Link","href","matchEmoji","match","find","matchCode","matchBold","matchItalic","matchStrikeThrough","textDecoration","Text","split","denotesCodeBlock","denotesDottedList","denotesClosingHtml","tag","declaresNoLineBreak","Content","length","buffer","splice","closeIndex","findIndex","rawLine","codeBlockLines","slice","dottedListLines","unshift","li","denotesOpenHtml","htmlLines","dangerouslySetInnerHTML","__html","denotesSelfClosingHtml","before","after","lineBreakLines","lineBreakLine","getHeaderLevel","ChildrenSections","reduce","sections","sectionLines","Section","deeperLevelIndex","rawContent","trim","deeperLevel","Markdown","data","url","useState","markdown","setMarkdown","axios","get","then","response","useEffect","baseUrl","lastIndexOf","lines","replace","resolveUrls","window","promoButton","justifyContent","marginTop","Icon","headerContents","home","spacevim","custom","pageMap","CustomPage","setUrl","inputEl","useRef","TextField","fullWidth","inputRef","onClick","current","LivePreviewPage","setLivePreviewData","multiline","ReactDOM","render","livePreviewData","fileName","info","primaryWindowContent","document","getElementById"],"mappings":"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","file":"static/js/main.4193a873.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/icon.8908a388.svg\";","import React from 'react';\n\nimport { Paper, makeStyles } from '@material-ui/core';\n\nimport { SurfaceSize, SurfacePosition } from './types';\n\n\ninterface PropTypes {\n  size: SurfaceSize;\n  position: SurfacePosition;\n}\n\n\nconst useStyles = makeStyles(theme => ({\n  surface: {\n    position: 'absolute',\n    display: 'flex',\n    flexDirection: 'column',\n    overflowY: 'auto',\n    scrollbarColor: `${theme.palette.secondary.dark} ${theme.palette.secondary.light}`,\n\n    '& a.MuiTypography-root': {\n      color: theme.palette.primary.light,\n    },\n  },\n}));\n\n\nconst WindowSurface: React.FC<PropTypes> = ({ size, position, children }) => {\n  const classes = useStyles();\n\n  return (\n    <Paper\n      variant=\"outlined\"\n      style={{ ...size, ...position }}\n      className={classes.surface}\n    >\n      {children}\n    </Paper>\n  );\n};\n\n\nexport default WindowSurface;\n","import React from 'react';\n\nimport { Typography, Divider, makeStyles } from '@material-ui/core';\n\nimport WindowSurface from './WindowSurface';\nimport { SurfaceSize, SurfacePosition } from './types';\n\n\ninterface PropTypes {\n  type: 'primary' | 'secondary' | 'mono';\n  name?: string;\n}\n\n\nconst useStyles = makeStyles(theme => ({\n  header: {\n    padding: theme.spacing(1, 0, 1, 2),\n    background: theme.palette.background.elevation2,\n  },\n}));\n\n\nconst Window: React.FC<PropTypes> = ({ type, name, children }) => {\n  const classes = useStyles();\n\n  const size: SurfaceSize = {\n    height: '85vh',\n  };\n\n  const position: SurfacePosition = {\n    bottom: '3vh',\n  };\n\n  if (type === 'primary') {\n    size.width = '63vw';\n    position.left = '2vw';\n  } else if (type === 'secondary') {\n    size.width = '31vw';\n    position.right = '2vw';\n  } else if (type === 'mono') {\n    position.left = '2vw';\n    position.right = '2vw';\n  }\n\n  return (\n    <WindowSurface\n      size={size}\n      position={position}\n    >\n      {name\n      && (\n      <div>\n        <Typography variant=\"h5\" className={classes.header}>{name}</Typography>\n        <Divider />\n      </div>\n      )}\n      {children}\n    </WindowSurface>\n  );\n};\n\nexport default Window;\n","import React from 'react';\n\nimport {\n  AppBar,\n  Tabs,\n  Tab,\n  Typography,\n  Toolbar,\n} from '@material-ui/core';\n\nimport { makeStyles } from '@material-ui/core/styles';\n\n\ninterface PropTypes {\n  logo: {\n    icon: React.ReactNode;\n    title: string;\n  };\n  contents: {\n    [key: string]: React.ReactNode | null;\n  };\n  page: string;\n  setPage: (newPage: string) => void;\n}\n\nconst useStyles = makeStyles(theme => ({\n  root: {\n    background: theme.palette.background.elevation2,\n    color: theme.palette.text.primary,\n    paddingLeft: theme.spacing(3),\n  },\n  logo: {\n    margin: theme.spacing(0, 3, 0, 1),\n  },\n  tab: {\n    '& .MuiTab-wrapper': {\n      padding: theme.spacing(2),\n      flexDirection: 'row',\n      fontSize: '0.8125rem',\n      '& svg': {\n        marginRight: theme.spacing(1),\n        marginBottom: '0 !important',\n      },\n    },\n  },\n}));\n\n\nconst Header: React.FC<PropTypes> = ({\n  logo, contents, page, setPage,\n}) => {\n  const classes = useStyles();\n\n  const handleChange = (event: React.ChangeEvent<{}>, newPage: string): void => {\n    setPage(newPage);\n  };\n\n  return (\n    <AppBar position=\"sticky\" className={classes.root}>\n      <Toolbar>\n        {logo.icon}\n        <Typography variant=\"h5\" className={classes.logo} color=\"primary\">\n          {logo.title}\n        </Typography>\n        <Tabs onChange={handleChange} value={page}>\n          {contents && Object.keys(contents).map((item: string) => (\n            <Tab\n              label={item}\n              icon={contents[item] as JSX.Element}\n              value={item}\n              className={classes.tab}\n              key={item}\n            />\n          ))}\n        </Tabs>\n      </Toolbar>\n    </AppBar>\n  );\n};\n\nexport default Header;\n","import React from 'react';\n\nimport {\n  Typography,\n  Divider,\n  makeStyles,\n} from '@material-ui/core';\n\n\ninterface PropTypes {\n  sectionName: string;\n  level?: number;\n}\n\nconst useStyles = makeStyles(theme => ({\n  content: {\n    padding: theme.spacing(2, 2, 1, 3),\n    marginBottom: theme.spacing(1),\n\n    '& .MuiButton-root': {\n      margin: theme.spacing(1, 2, 2, 0),\n    },\n  },\n}));\n\nconst ContentSection: React.FC<PropTypes> = ({ sectionName, children, level = 0 }) => {\n  const classes = useStyles();\n\n  let adjustedLevel = level + 2; // Make everything smaller\n  if (adjustedLevel > 6) adjustedLevel = 6;\n\n  type Variant = 'h3' | 'h4' | 'h5' | 'h6';\n  const variant: Variant = `h${adjustedLevel}` as Variant;\n\n  return (\n    <>\n      <Typography variant={variant}>{sectionName}</Typography>\n      <Divider variant=\"middle\" />\n      <Typography component=\"div\" className={classes.content}>\n        {children}\n      </Typography>\n    </>\n  );\n};\n\n\nexport default ContentSection;\n","import React from 'react';\nimport orange from '@material-ui/core/colors/orange';\nimport purple from '@material-ui/core/colors/purple';\nimport { createMuiTheme, ThemeProvider } from '@material-ui/core/styles';\nimport { CssBaseline } from '@material-ui/core';\nimport 'typeface-roboto';\n\n\ndeclare module '@material-ui/core/styles/createPalette' {\n  interface TypeBackground {\n    elevation1: string;\n    elevation2: string;\n    elevation3: string;\n  }\n}\n\n\nconst benzinTheme = createMuiTheme({\n  palette: {\n    type: 'dark',\n    primary: {\n      main: orange[400],\n    },\n    secondary: {\n      main: purple[500],\n    },\n    background: {\n      default: '#121212',\n      paper: '#1e1e1e',\n      elevation1: '#1e1e1e',\n      elevation2: '#232323',\n      elevation3: '#252525',\n    },\n    text: {\n      primary: '#f4f4f4',\n      secondary: 'rgba(255, 255, 255, 0.6)',\n    },\n  },\n});\n\n\nconst Benzin: React.FC = ({ children }) => (\n  <ThemeProvider theme={benzinTheme}>\n    <CssBaseline />\n    {children}\n  </ThemeProvider>\n);\n\n\nexport default Benzin;\n\n","import React from 'react';\nimport { Paper } from '@material-ui/core';\n\nimport { makeStyles } from '@material-ui/core/styles';\nimport { ParserPropTypes } from './types';\n\nconst useStyles = makeStyles(theme => ({\n  root: {\n    background: theme.palette.background.default,\n    padding: theme.spacing(1),\n    overflowX: 'auto',\n    fontFamily: 'Monospace',\n    scrollbarColor: 'auto',\n  },\n}));\n\nconst CodeBlock: React.FC<ParserPropTypes> = ({ rawLines }) => {\n  const classes = useStyles();\n  return (\n    <Paper variant=\"outlined\" className={classes.root}>\n      {rawLines.map(line => <pre>{line}</pre>)}\n    </Paper>\n  );\n};\n\nexport default CodeBlock;\n\n","import React from 'react';\nimport { Link, makeStyles } from '@material-ui/core';\n\nimport { lib as emojiLib } from 'emojilib';\n\ninterface PropTypes {\n  span: string;\n}\n\ninterface RegexPair {\n  global: RegExp;\n  local: RegExp;\n}\n\ninterface Emoji {\n  name: string;\n  char: string;\n}\n\nconst enclosureRegex = (e: string): RegexPair => ({\n  local: new RegExp(`${e}([^${e}]+)${e}`),\n  global: new RegExp(`(${e}[^${e}]+${e})`),\n});\n\nconst regex: Record<string, RegexPair> = {\n  conceal: {\n    global: /(!?\\[.+?\\]\\(.+?\\))(?!])/g,\n    local: /!?\\[(.*\\]?.*)\\]\\((.+?)\\)/,\n  },\n  rawLink: {\n    // eslint-disable-next-line max-len\n    global: /((?:(?:[A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=+$,\\w]+@)?[A-Za-z0-9.-]+|(?:www\\.|[-;:&=+$,\\w]+@)[A-Za-z0-9.-]+)(?:(?:\\/[+~%/.\\w-_]*)?\\??(?:[-+=&;%@.\\w_]*)#?(?:[.!/\\\\\\w]*))?)/,\n    local: /&^/,\n  },\n  emoji: enclosureRegex(':'),\n  bold: enclosureRegex('\\\\*\\\\*'),\n  italic: enclosureRegex('\\\\*'),\n  code: enclosureRegex('`'),\n  strikeThrough: enclosureRegex('~~'),\n};\n\nconst splitter = new RegExp(Object.values(regex).map(pair => pair.global.source).join('|'));\n\nconst emojiList: Emoji[] = [];\nObject.keys(emojiLib).forEach(name => emojiList.push({ name, char: emojiLib[name].char }));\n\nconst useStyles = makeStyles(theme => ({\n  code: {\n    background: theme.palette.background.default,\n    borderRadius: theme.spacing(0.5),\n    padding: theme.spacing(0.5),\n    fontFamily: 'Monospace',\n  },\n  image: {\n    maxWidth: '100%',\n    maxHeight: '100%',\n  },\n}));\n\nconst SyntacticSpan: React.FC<PropTypes> = ({ span }) => {\n  const classes = useStyles();\n  if (!span) return null;\n\n  const matchConceal = regex.conceal.local.exec(span);\n  if (matchConceal) {\n    if (span[0] === '!') return <img src={matchConceal[2]} alt={matchConceal[1]} className={classes.image} />;\n    return <Link href={matchConceal[2]}><SyntacticSpan span={matchConceal[1]} /></Link>;\n  }\n\n  const matchEmoji = span.match(regex.emoji.local);\n  if (matchEmoji) {\n    const emoji = emojiList.find(e => e.name === matchEmoji[1]);\n    return <span>{emoji ? emoji.char : span}</span>;\n  }\n\n  const matchCode = span.match(regex.code.local);\n  if (matchCode) return <span className={classes.code}>{matchCode[1]}</span>;\n\n  const matchBold = span.match(regex.bold.local);\n  if (matchBold) return <b>{matchBold[1]}</b>;\n\n  const matchItalic = span.match(regex.italic.local);\n  if (matchItalic) return <i>{matchItalic[1]}</i>;\n\n  const matchStrikeThrough = span.match(regex.strikeThrough.local);\n  if (matchStrikeThrough) return <span style={{ textDecoration: 'line-through' }}>{matchStrikeThrough[1]}</span>;\n\n  if (span.match(regex.rawLink.global)) return <Link href={span}>{span}</Link>;\n\n  return <>{span}</>;\n};\n\n\nexport { splitter };\nexport default SyntacticSpan;\n\n","import React from 'react';\nimport SyntacticSpan, { splitter } from './SyntacticSpan';\n\ninterface PropTypes {\n  line: string;\n}\n\nconst Text: React.FC<PropTypes> = ({ line }) => {\n  return <>{line.split(splitter).map(span => <SyntacticSpan span={span} />)}</>;\n};\n\nexport default Text;\n\n","import React from 'react';\n\nimport CodeBlock from './CodeBlock';\nimport Text from './Text';\nimport { ParserPropTypes } from './types';\n\n\nconst denotesCodeBlock = (line: string): boolean => {\n  return line.match(/^\\s*```.*$/) !== null;\n};\n\nconst denotesDottedList = (line: string): boolean => {\n  return line.match(/^ ?[-*] .*$/) !== null;\n};\n\nconst denotesOpenHtml = (line: string): string => {\n  const regex = /<([^/\\s]*)[^<]*[^/]>/g;\n  const match = regex.exec(line);\n  return match ? match[1] : '';\n};\n\nconst denotesClosingHtml = (line: string, tag: string): boolean => {\n  const regex = new RegExp(`</${tag}[^<]*>`);\n  return line.match(regex) !== null;\n};\n\nconst denotesSelfClosingHtml = (line: string): string[] | null => {\n  const regex = /(<[^/\\s]*[^<]*\\/>)/g;\n  return line.match(regex);\n};\n\nconst declaresNoLineBreak = (line: string): boolean => {\n  return line.match(/\\\\\\|$/) !== null;\n};\n\nconst Content: React.FC<ParserPropTypes> = ({ rawLines }) => {\n  if (!rawLines.length) return null;\n\n  const line = rawLines.splice(0, 1)[0];\n\n  let buffer;\n  if (denotesCodeBlock(line)) {\n    const closeIndex = rawLines.findIndex(rawLine => denotesCodeBlock(rawLine));\n    const codeBlockLines = rawLines.splice(0, closeIndex + 1).slice(0, closeIndex);\n    buffer = <CodeBlock rawLines={codeBlockLines} />;\n  } else if (denotesDottedList(line)) {\n    const closeIndex = rawLines.findIndex(rawLine => !denotesDottedList(rawLine));\n    const dottedListLines = rawLines.splice(0, closeIndex).slice(0, closeIndex);\n    dottedListLines.unshift(line);\n    buffer = <ul>{dottedListLines.map(li => <li><Text line={li.slice(2)} /></li>)}</ul>;\n  } else if ((buffer = denotesOpenHtml(line))) {\n    const tag = buffer;\n    const closeIndex = denotesClosingHtml(line, tag) ? -1 : rawLines.findIndex(\n      rawLine => denotesClosingHtml(rawLine, tag),\n    );\n    const htmlLines = rawLines.splice(0, closeIndex + 1);\n    htmlLines.unshift(line);\n    buffer = <div dangerouslySetInnerHTML={{ __html: htmlLines.join('\\n') }} />;\n  } else if ((buffer = denotesSelfClosingHtml(line)) !== null) {\n    const match = buffer[0];\n    const [before, after] = line.split(match);\n    buffer = (\n      <>\n        <Text line={before} />\n        <div dangerouslySetInnerHTML={{ __html: match }} />\n        <Text line={after} />\n      </>\n    );\n  } else if (declaresNoLineBreak(line)) {\n    const closeIndex = rawLines.findIndex(rawLine => !declaresNoLineBreak(rawLine));\n    const lineBreakLines = rawLines.splice(0, closeIndex).map(rawLine => rawLine.slice(0, -2));\n    lineBreakLines.unshift(line.slice(0, -2));\n    lineBreakLines.push(rawLines.splice(0, 1)[0]);\n    buffer = <p>{lineBreakLines.map(lineBreakLine => <Text line={lineBreakLine} />)}</p>;\n  } else if (denotesClosingHtml(line, '')) {\n    buffer = null;\n  } else {\n    buffer = <p><Text line={line} /></p>;\n  }\n\n  return (\n    <>\n      { buffer }\n      <Content rawLines={rawLines} />\n    </>\n  );\n};\n\nexport default Content;\n\n","import React from 'react';\nimport { Typography } from '@material-ui/core';\nimport ContentSection from '../ContentSection/ContentSection';\nimport Content from './Content';\nimport { ParserPropTypes } from './types';\n\ninterface PropTypes extends ParserPropTypes {\n  level?: number;\n}\n\nconst getHeaderLevel = (header: string): number => {\n  if (!header) return 0;\n  let level = 0;\n  while (header[level] === '#') level += 1;\n  return level;\n};\n\nconst ChildrenSections: React.FC<PropTypes> = ({ rawLines, level = 0 }) => {\n  const childrenSectionLines = rawLines.reduce((sections: string[][], line: string) => {\n    if (line) {\n      if (getHeaderLevel(line) === level) sections.push([]);\n      if (sections.length) sections[sections.length - 1].push(line);\n    }\n    return sections;\n  }, []);\n  const children = childrenSectionLines.map(sectionLines => <Section rawLines={sectionLines} level={level} />);\n  return <>{children}</>;\n};\n\nconst Section: React.FC<PropTypes> = ({ rawLines, level = 0 }) => {\n  const deeperLevelIndex = rawLines.findIndex(line => line.match(`^#{${level + 1},} .*$`));\n  const rawContent = rawLines.splice(0, (deeperLevelIndex < 0) ? rawLines.length : deeperLevelIndex);\n\n  if (!level) {\n    return (\n      <>\n        <Typography><Content rawLines={rawContent} /></Typography>\n        <ChildrenSections rawLines={rawLines} level={getHeaderLevel(rawLines[0])} />\n      </>\n    );\n  }\n\n  const sectionName = rawContent.splice(0, 1)[0].slice(level).trim();\n  const deeperLevel = getHeaderLevel(rawLines[0]);\n  return (\n    <ContentSection sectionName={sectionName} level={level}>\n      <Content rawLines={rawContent} />\n      <ChildrenSections rawLines={rawLines} level={deeperLevel} />\n    </ContentSection>\n  );\n};\n\nexport default Section;\n\n","import React, { useState, useEffect } from 'react';\nimport axios from 'axios';\n\nimport Section from './Section';\n\ninterface PropTypes {\n  data?: string;\n  url?: string;\n}\n\nconst resolveUrls = (line: string, baseUrl: string): string => line.replace(\n  /src=\"(?!http)(.*)\"[\\s>]/,\n  (match, url) => `src=\"${baseUrl}/${url}?sanitize=true\"`,\n).replace(\n  /\\[(.*\\]?.*)\\]\\((?!http)(.+?)\\)/,\n  (match, text, url) => `[${text}](${baseUrl}/${url})`,\n);\n\nconst Markdown: React.FC<PropTypes> = ({ data, url }) => {\n  const [markdown, setMarkdown] = useState<string>(data || '');\n\n  if (url) axios.get(url).then(response => setMarkdown(response.data));\n\n  useEffect(() => {\n    if (!url) setMarkdown(data || '');\n  }, [data, url]);\n\n  const baseUrl = url?.slice(0, url.lastIndexOf('/')) || '';\n  const lines = markdown.split(/\\r?\\n/).map(line => resolveUrls(line, baseUrl));\n  return <Section rawLines={lines} />;\n};\n\n\nexport default Markdown;\n\n","import React, { useState, useRef } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { makeStyles, TextField, Button } from '@material-ui/core';\n\nimport {\n  Benzin,\n  Header,\n  Window,\n  Markdown,\n  ContentSection,\n} from './lib';\n\nimport icon from './assets/icon.svg';\n\ninterface RenderPropTypes {\n  index: number;\n  style: React.CSSProperties;\n}\n\n\nconst useStyles = makeStyles(theme => ({\n  window: {\n    padding: theme.spacing(4),\n  },\n  promoButton: {\n    display: 'flex',\n    justifyContent: 'center',\n    marginTop: theme.spacing(4),\n  },\n}));\n\n\nconst Icon = <img src={icon} width=\"32px\" height=\"37px\" alt=\"logo\" />;\n\nconst headerContents = {\n  home: null,\n  spacevim: null,\n  'material-ui': null,\n  custom: null,\n  'live preview': null,\n};\n\nconst pageMap: Record<string, string> = {\n  home: 'https://raw.githubusercontent.com/eug-vs/react-benzin/develop/README.md',\n  spacevim: 'https://raw.githubusercontent.com/spacevim/spacevim/master/README.md',\n  'material-ui': 'https://raw.githubusercontent.com/mui-org/material-ui/master/README.md',\n};\n\n\nconst CustomPage: React.FC = () => {\n  const [url, setUrl] = useState<string>('');\n  const inputEl = useRef<HTMLInputElement>(null);\n\n  const handleParseUrl = (): void => {\n    setUrl(inputEl.current?.value || '');\n  };\n\n  return (\n    <>\n      <ContentSection sectionName=\"Render custom markdown document\" level={2}>\n        <p>\n          This should be a link to a valid markdown file. Response should give the file contents.\n          If you copy README file from GitHub, make sure you provide link to raw view.\n        </p>\n        <p>\n          <TextField\n            fullWidth\n            inputRef={inputEl}\n            variant=\"outlined\"\n            color=\"secondary\"\n            label=\"Markdown url\"\n          />\n        </p>\n        <Button variant=\"contained\" color=\"secondary\" onClick={handleParseUrl}>\n          Render!\n        </Button>\n      </ContentSection>\n      <Markdown url={url} />\n    </>\n  );\n};\n\ninterface LivePropTypes {\n  setLivePreviewData: (livePreviewData: string) => void;\n}\n\nconst LivePreviewPage: React.FC<LivePropTypes> = ({ setLivePreviewData }) => {\n  const inputEl = useRef<HTMLInputElement>(null);\n\n  const handleRender = (): void => {\n    setLivePreviewData(inputEl.current?.value || '');\n  };\n\n  return (\n    <>\n      <ContentSection sectionName=\"Markdown live preview\" level={2}>\n        <p>\n          Start typing and see your text rendered on the left window!\n          We recommend starting with # Header.\n        </p>\n        <p>\n          <TextField\n            fullWidth\n            multiline\n            inputRef={inputEl}\n            variant=\"outlined\"\n            color=\"primary\"\n            label=\"Markdown\"\n            onChange={handleRender}\n          />\n        </p>\n      </ContentSection>\n    </>\n  );\n};\n\n\nconst App: React.FC = () => {\n  const classes = useStyles();\n  const [page, setPage] = useState<string>('home');\n  const [livePreviewData, setLivePreviewData] = useState<string>('');\n\n  const handleGoLivePreview = (): void => {\n    setPage('live preview');\n  };\n\n  const url = pageMap[page];\n  const fileName = url?.slice(url.lastIndexOf('/') + 1);\n  const info = [\n    /* eslint-disable max-len */\n    `## Markdown\\n [Markdown file](${url}) *(...${fileName})* that you can see on the left was parsed and rendered by **BENZIN**! :rocket:`,\n    'Switch between tabs on the header to explore other markdown templates. :recycle: ',\n    'Currently **only core features** of markdown function.',\n    'Templates on the left are being loaded from the [GitHub](https://github.com), though this pane is generated from plaintext. :pen:',\n    '## How do I use this feature?',\n    '```',\n    'import Markdown from \\'react-benzin\\';',\n    'const data = \\'# Header\\\\nHello, *world!*\\';',\n    'ReactDOM.render(<Markdown data={data}/>, document.getElementById(\\'root\\'));',\n    '```',\n    /* eslint-enable max-len */\n  ].join('\\n');\n\n  let primaryWindowContent = <Markdown url={url} />;\n  if (page === 'custom') primaryWindowContent = <CustomPage />;\n  else if (page === 'live preview') {\n    primaryWindowContent = <Markdown data={livePreviewData || '# Start typing in the right window!'} />;\n  }\n\n  return (\n    <Benzin>\n      <Header\n        logo={{\n          icon: Icon,\n          title: 'BENZIN',\n        }}\n        contents={headerContents}\n        page={page}\n        setPage={setPage}\n      />\n      <Window type=\"primary\">\n        <div className={classes.window}>{primaryWindowContent}</div>\n      </Window>\n      <Window type=\"secondary\" name=\"Feature preview\">\n        <div className={classes.window}>\n          {\n            (page === 'live preview')\n              ? <LivePreviewPage setLivePreviewData={setLivePreviewData} />\n              : (\n                <>\n                  <Markdown data={info} />\n                  <p className={classes.promoButton}>\n                    <Button\n                      variant=\"contained\"\n                      color=\"primary\"\n                      size=\"large\"\n                      onClick={handleGoLivePreview}\n                    >\n                      Try it yourself!\n                    </Button>\n                  </p>\n                </>\n              )\n          }\n        </div>\n      </Window>\n    </Benzin>\n  );\n};\n\n\nReactDOM.render(<App />, document.getElementById('root'));\n\n"],"sourceRoot":""}