From bfa9f7b9158faa3a453eaabf5be3c96b6c8a18b1 Mon Sep 17 00:00:00 2001
From: eug-vs <eug-vs@keemail.me>
Date: Sat, 10 Oct 2020 13:39:08 +0300
Subject: refactor: remove demo components from lib

---
 src/demo/Window/Window.tsx | 62 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)
 create mode 100644 src/demo/Window/Window.tsx

(limited to 'src/demo/Window/Window.tsx')

diff --git a/src/demo/Window/Window.tsx b/src/demo/Window/Window.tsx
new file mode 100644
index 0000000..beaa672
--- /dev/null
+++ b/src/demo/Window/Window.tsx
@@ -0,0 +1,62 @@
+import React from 'react';
+
+import { Typography, Divider, makeStyles } from '@material-ui/core';
+
+import WindowSurface from './WindowSurface';
+import { SurfaceSize, SurfacePosition } from './types';
+
+
+interface PropTypes {
+  type: 'primary' | 'secondary' | 'mono';
+  name?: string;
+}
+
+
+const useStyles = makeStyles(theme => ({
+  header: {
+    padding: theme.spacing(1, 0, 1, 2),
+    background: theme.palette.background.elevation2,
+  },
+}));
+
+
+const Window: React.FC<PropTypes> = ({ type, name, children }) => {
+  const classes = useStyles();
+
+  const size: SurfaceSize = {
+    height: '85vh',
+  };
+
+  const position: SurfacePosition = {
+    bottom: '3vh',
+  };
+
+  if (type === 'primary') {
+    size.width = '63vw';
+    position.left = '2vw';
+  } else if (type === 'secondary') {
+    size.width = '31vw';
+    position.right = '2vw';
+  } else if (type === 'mono') {
+    position.left = '2vw';
+    position.right = '2vw';
+  }
+
+  return (
+    <WindowSurface
+      size={size}
+      position={position}
+    >
+      {name
+      && (
+      <div>
+        <Typography variant="h5" className={classes.header}>{name}</Typography>
+        <Divider />
+      </div>
+      )}
+      {children}
+    </WindowSurface>
+  );
+};
+
+export default Window;
-- 
cgit v1.2.3

