From 15da130211597e48a3c7c69ef15165350edd5adf Mon Sep 17 00:00:00 2001 From: Samira Mokaram Date: Tue, 29 Sep 2020 10:55:45 +0200 Subject: [PATCH] create EmptyState --- .../src/components/EmptyState/EmptyState.tsx | 78 +++++++++++++++++++ packages/core/src/components/index.ts | 1 + 2 files changed, 79 insertions(+) create mode 100644 packages/core/src/components/EmptyState/EmptyState.tsx diff --git a/packages/core/src/components/EmptyState/EmptyState.tsx b/packages/core/src/components/EmptyState/EmptyState.tsx new file mode 100644 index 0000000000..f28c8521b0 --- /dev/null +++ b/packages/core/src/components/EmptyState/EmptyState.tsx @@ -0,0 +1,78 @@ +/* + * Copyright 2020 Spotify AB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; +import { makeStyles, Typography, Grid } from '@material-ui/core'; +import { EmptyStateImage } from './EmptyStateImage'; +import Background from './assets/Background.svg'; + +const useStyles = makeStyles(theme => ({ + root: { + backgroundColor: theme.palette.background.default, + padding: theme.spacing(10, 0, 0, 0), + }, + action: { + marginTop: theme.spacing(2), + }, + imgPlacholder: { + position: 'relative', + }, + backgroundImage: { + position: 'absolute', + width: '100%', + }, +})); + +type Props = { + title: string; + description?: string; + type: 'missingAnnotation' | 'noInformation' | 'createComponent' | 'noBuild'; + action?: JSX.Element; +}; + +export const EmptyState = ({ title, description, type, action }: Props) => { + const classes = useStyles(); + return ( + + + + {title} + + + {description} + + + {action} + + + + background + + + + ); +}; diff --git a/packages/core/src/components/index.ts b/packages/core/src/components/index.ts index 6c070366c7..4f085ffd6a 100644 --- a/packages/core/src/components/index.ts +++ b/packages/core/src/components/index.ts @@ -34,3 +34,4 @@ export * from './Table'; export * from './Tabs'; export * from './TrendLine'; export * from './WarningPanel'; +export * from './EmptyState';