1
0
mirror of https://github.com/phuoc-ng/csslayout.git synced 2025-08-09 07:36:30 +02:00

Show cover at top

This commit is contained in:
Phuoc Nguyen
2021-03-30 22:50:36 +07:00
parent 1762968dbf
commit 1c3c6ea8d5
94 changed files with 146 additions and 103 deletions

View File

@@ -18,10 +18,6 @@ a {
text-decoration: none;
}
pre[class*="language-"] {
}
/* Layout */
.container {
margin: 0 auto;
@@ -54,7 +50,8 @@ pre[class*="language-"] {
padding-bottom: 2rem;
}
.hero__logo {
text-align: center;
display: flex;
justify-content: center;
}
.hero__logo img {
height: 16rem;

View File

@@ -6,18 +6,20 @@
import * as React from 'react';
import Ad from '../components/Ad';
import useDocumentTitle from '../hooks/useDocumentTitle';
import Layout from './Layout';
import Product from '../components/Product';
import { ProductList } from '../constants/ProductList';
import Pattern from '../constants/Pattern';
import randomItems from '../helpers/randomIterms';
import useDocumentTitle from '../hooks/useDocumentTitle';
import CoverLoader from '../loaders/CoverLoader';
import Layout from './Layout';
interface DetailsLayoutProps {
title: string;
pattern: Pattern;
}
const DetailsLayout: React.FC<DetailsLayoutProps> = ({ title, children }) => {
useDocumentTitle(`CSS Layout ∙ ${title}`);
const DetailsLayout: React.FC<DetailsLayoutProps> = ({ pattern, children }) => {
useDocumentTitle(`CSS Layout ∙ ${pattern}`);
const products = randomItems(ProductList, 3);
@@ -25,7 +27,10 @@ const DetailsLayout: React.FC<DetailsLayoutProps> = ({ title, children }) => {
<Layout>
<div className="hero">
<div className="container">
<h1 className="hero__heading">{title}</h1>
<div className="hero__logo">
<CoverLoader pattern={pattern} />
</div>
<h1 className="hero__heading">{pattern}</h1>
</div>
</div>
<div className="container">

View File

@@ -9,7 +9,6 @@ import { Link } from 'react-router-dom';
import './homePage.css';
import Ad from '../components/Ad';
import CoverCard from '../components/CoverCard';
import Pattern from '../constants/Pattern';
import chunk from '../helpers/chunk';

View File

@@ -57,7 +57,7 @@ const Details: React.FC<{}> = () => {
};
return (
<DetailsLayout title="Accordion">
<DetailsLayout pattern={Pattern.Accordion}>
<Helmet>
<meta name="description" content="Create an accordion with CSS flexbox" />
<meta name="keywords" content="css accordion, css flexbox" />

View File

@@ -13,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Arrow buttons">
<DetailsLayout pattern={Pattern.ArrowButtons}>
<Helmet>
<meta name="description" content="Create arrow buttons with CSS" />
<meta name="keywords" content="css arrow buttons" />

View File

@@ -33,7 +33,7 @@ const Avatar: React.FC<{}> = ({ children }) => {
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Avatar list">
<DetailsLayout pattern={Pattern.AvatarList}>
<Helmet>
<meta name="description" content="Create an avatar list with CSS flexbox" />
<meta name="keywords" content="css avatar, css flexbox" />

View File

@@ -13,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Avatar">
<DetailsLayout pattern={Pattern.Avatar}>
<Helmet>
<meta name="description" content="Create an avatar component with CSS flexbox" />
<meta name="keywords" content="css avatar, css flexbox" />

View File

@@ -13,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Badge">
<DetailsLayout pattern={Pattern.Badge}>
<Helmet>
<meta name="description" content="Create a badge component with CSS flexbox" />
<meta name="keywords" content="css badge, css flexbox" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -12,7 +13,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Breadcrumb">
<DetailsLayout pattern={Pattern.Breadcrumb}>
<Helmet>
<meta name="description" content="Create a breadcrumb with CSS flexbox" />
<meta name="keywords" content="css breadcrumb, css flexbox" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -13,7 +14,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Button with icon">
<DetailsLayout pattern={Pattern.ButtonWithIcon}>
<Helmet>
<meta name="description" content="Create an icon button with CSS flexbox" />
<meta name="keywords" content="css flexbox, css icon button" />

View File

@@ -14,7 +14,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Card layout">
<DetailsLayout pattern={Pattern.CardLayout}>
<Helmet>
<meta name="description" content="Create a card layout with CSS flexbox" />
<meta name="keywords" content="css card layout, css flexbox, css layout" />

View File

@@ -15,7 +15,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Card">
<DetailsLayout pattern={Pattern.Card}>
<Helmet>
<meta name="description" content="Create a card with CSS flexbox" />
<meta name="keywords" content="css card, css flexbox" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -13,7 +14,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Centering">
<DetailsLayout pattern={Pattern.Centering}>
<Helmet>
<meta name="description" content="Center an element with CSS flexbox" />
<meta name="keywords" content="css centering, css flexbox" />

View File

@@ -15,7 +15,7 @@ import InputChip from './InputChip';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Chip">
<DetailsLayout pattern={Pattern.Chip}>
<Helmet>
<meta name="description" content="Create a chip component with CSS flexbox" />
<meta name="keywords" content="css chip, css flexbox, css tag" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -48,7 +49,7 @@ const Details: React.FC<{}> = () => {
const numItems = 6;
return (
<DetailsLayout title="Circular navigation">
<DetailsLayout pattern={Pattern.CircularNavigation}>
<Helmet>
<meta name="description" content="Create a circular navigation with CSS flexbox" />
<meta name="keywords" content="css circular navigation, css flexbox" />

View File

@@ -13,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Close button">
<DetailsLayout pattern={Pattern.CloseButton}>
<Helmet>
<meta name="description" content="Create a close button with CSS flexbox" />
<meta name="keywords" content="css close button, css flexbox" />

View File

@@ -15,7 +15,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Cookie banner">
<DetailsLayout pattern={Pattern.CookieBanner}>
<Helmet>
<meta name="description" content="Create a cookie banner with CSS flexbox" />
<meta name="keywords" content="css cookie banner, css flexbox" />

View File

@@ -15,7 +15,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Corner ribbon">
<DetailsLayout pattern={Pattern.CornerRibbon}>
<Helmet>
<meta name="description" content="Create a corner ribbon with CSS flexbox" />
<meta name="keywords" content="css flexbox, css ribbon" />

View File

@@ -13,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Curved background">
<DetailsLayout pattern={Pattern.CurvedBackground}>
<Helmet>
<meta name="description" content="Create an element with curved background" />
<meta name="keywords" content="css border radius, css curved background" />

View File

@@ -63,7 +63,7 @@ const Details: React.FC<{}> = () => {
};
return (
<DetailsLayout title="Custom checkbox button">
<DetailsLayout pattern={Pattern.CustomCheckboxButton}>
<Helmet>
<meta name="description" content="Create a custom checkbox button with CSS flexbox" />
<meta name="keywords" content="css checkbox, css flexbox" />

View File

@@ -64,7 +64,7 @@ const Details: React.FC<{}> = () => {
};
return (
<DetailsLayout title="Custom radio button">
<DetailsLayout pattern={Pattern.CustomRadioButton}>
<Helmet>
<meta name="description" content="Create a custom radio button with CSS flexbox" />
<meta name="keywords" content="css flexbox, css radio" />

View File

@@ -14,7 +14,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Diagonal section">
<DetailsLayout pattern={Pattern.DiagonalSection}>
<Helmet>
<meta name="description" content="Create a diagonal section with CSS" />
<meta name="keywords" content="css diagonal section, css transform skew" />

View File

@@ -15,7 +15,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Docked at corner">
<DetailsLayout pattern={Pattern.DockedAtCorner}>
<Helmet>
<meta name="description" content="Dock an element at corner with CSS" />
<meta name="keywords" content="css docked, css flexbox" />

View File

@@ -16,7 +16,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Dot leader">
<DetailsLayout pattern={Pattern.DotLeader}>
<Helmet>
<meta name="description" content="Create dot leaders with CSS flexbox" />
<meta name="keywords" content="css dot leader, css flexbox" />

View File

@@ -5,6 +5,7 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -36,7 +37,7 @@ const Details: React.FC<{}> = () => {
};
return (
<DetailsLayout title="Dot navigation">
<DetailsLayout pattern={Pattern.DotNavigation}>
<Helmet>
<meta name="description" content="Create dot navigation with CSS flexbox" />
<meta name="keywords" content="css dot navigation, css flexbox" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -12,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Drawer">
<DetailsLayout pattern={Pattern.Drawer}>
<Helmet>
<meta name="description" content="Create a drawer navigation with CSS" />
<meta name="keywords" content="css drawer, css off-canvas" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -12,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Drop area">
<DetailsLayout pattern={Pattern.DropArea}>
<Helmet>
<meta name="description" content="Create a dropping area with CSS flexbox" />
<meta name="keywords" content="css dropping area, css flexbox" />

View File

@@ -10,10 +10,11 @@ import './dropcap.css';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
import Pattern from '../../constants/Pattern';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Drop cap">
<DetailsLayout pattern={Pattern.DropCap}>
<Helmet>
<meta name="description" content="Create a drop cap with CSS" />
<meta name="keywords" content="css drop cap" />

View File

@@ -18,7 +18,7 @@ import Triangle from '../../placeholders/Triangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Dropdown">
<DetailsLayout pattern={Pattern.Dropdown}>
<Helmet>
<meta name="description" content="Create a dropdown with CSS" />
<meta name="keywords" content="css dropdown, css menu" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -12,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Fading long section">
<DetailsLayout pattern={Pattern.FadingLongSection}>
<Helmet>
<meta name="description" content="Fading long section to indicate there is more content" />
<meta name="keywords" content="css fading overflow, css linear gradient" />

View File

@@ -16,7 +16,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Feature comparison">
<DetailsLayout pattern={Pattern.FeatureComparison}>
<Helmet>
<meta name="description" content="Create a feature comparison list with CSS flexbox" />
<meta name="keywords" content="css feature comparison, css flexbox" />

View File

@@ -16,7 +16,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Feature list">
<DetailsLayout pattern={Pattern.FeatureList}>
<Helmet>
<meta name="description" content="Create a feature list with CSS flexbox" />
<meta name="keywords" content="css feature list, css flexbox" />

View File

@@ -14,7 +14,7 @@ import Triangle from '../../placeholders/Triangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Fixed at corner">
<DetailsLayout pattern={Pattern.FixedAtCorner}>
<Helmet>
<meta name="description" content="Fix an element at corner with CSS" />
<meta name="keywords" content="css fixed" />

View File

@@ -14,7 +14,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Fixed at side">
<DetailsLayout pattern={Pattern.FixedAtSide}>
<Helmet>
<meta name="description" content="Fix an element at the middle of side with CSS" />
<meta name="keywords" content="css fixed" />

View File

@@ -10,10 +10,11 @@ import './floating-label.css';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
import Pattern from '../../constants/Pattern';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Floating label">
<DetailsLayout pattern={Pattern.FloatingLabel}>
<Helmet>
<meta name="description" content="Create a floating label with CSS" />
<meta name="keywords" content="css floating label, placeholder shown" />

View File

@@ -14,7 +14,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Full background">
<DetailsLayout pattern={Pattern.FullBackground}>
<Helmet>
<meta name="description" content="Create a full background element with CSS" />
<meta name="keywords" content="css background size cover, css full background" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -12,7 +13,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Full screen menu">
<DetailsLayout pattern={Pattern.FullScreenMenu}>
<Helmet>
<meta name="description" content="Create a full screen menu with CSS flexbox" />
<meta name="keywords" content="css fixed, css flexbox, css menu" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -13,7 +14,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Holy grail">
<DetailsLayout pattern={Pattern.HolyGrail}>
<Helmet>
<meta name="description" content="Create a holy grail layout with CSS flexbox" />
<meta name="keywords" content="css flexbox, css holy grail layout, css layout" />

View File

@@ -14,7 +14,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Initial avatar">
<DetailsLayout pattern={Pattern.InitialAvatar}>
<Helmet>
<meta name="description" content="Create an initial avatar with CSS" />
<meta name="keywords" content="css avatar" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -12,7 +13,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Input add-on">
<DetailsLayout pattern={Pattern.InputAddon}>
<Helmet>
<meta name="description" content="Create an input add-on with CSS flexbox" />
<meta name="keywords" content="css flexbox, css input add-on" />

View File

@@ -8,6 +8,7 @@ import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
import Heading from '../../components/Heading';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -45,7 +46,7 @@ const Item: React.FC<ItemProps> = ({ action, keys }) => {
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Keyboard shortcut">
<DetailsLayout pattern={Pattern.KeyboardShortcut}>
<Helmet>
<meta name="description" content="Create a keyboard shortcut with CSS" />
<meta name="keywords" content="kbd tag, keyboard shortcut" />

View File

@@ -5,13 +5,14 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Lined paper">
<DetailsLayout pattern={Pattern.LinedPaper}>
<Helmet>
<meta name="description" content="Create lined paper with CSS" />
<meta name="keywords" content="css linear gradient, css lined paper, css multiple horizontal lines" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -14,7 +15,7 @@ import Square from '../../placeholders/Square';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Media object">
<DetailsLayout pattern={Pattern.MediaObject}>
<Helmet>
<meta name="description" content="Create a media object with CSS flexbox" />
<meta name="keywords" content="css flexbox, media object" />

View File

@@ -18,7 +18,7 @@ import Triangle from '../../placeholders/Triangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Mega menu">
<DetailsLayout pattern={Pattern.MegaMenu}>
<Helmet>
<meta name="description" content="Create a mega menu with CSS" />
<meta name="keywords" content="css mega menu" />

View File

@@ -17,7 +17,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Menu">
<DetailsLayout pattern={Pattern.Menu}>
<Helmet>
<meta name="description" content="Create a menu with CSS flexbox" />
<meta name="keywords" content="css flexbox, css menu" />

View File

@@ -6,6 +6,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -15,7 +16,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Modal">
<DetailsLayout pattern={Pattern.Modal}>
<Helmet>
<meta name="description" content="Create a modal with CSS flexbox" />
<meta name="keywords" content="css dialog, css flexbox, css modal" />

View File

@@ -15,7 +15,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Nested dropdowns">
<DetailsLayout pattern={Pattern.NestedDropdowns}>
<Helmet>
<meta name="description" content="Create nested dropdown menu with CSS" />
<meta name="keywords" content="css dropdown menu, css multi-level dropdown menu, css nested dropdown menu" />

View File

@@ -6,6 +6,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -14,7 +15,7 @@ import Circle from '../../placeholders/Circle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Notification">
<DetailsLayout pattern={Pattern.Notification}>
<Helmet>
<meta name="description" content="Create a notification with CSS flexbox" />
<meta name="keywords" content="css alert, css flexbox, css notification" />

View File

@@ -14,7 +14,7 @@ import Triangle from '../../placeholders/Triangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Overlay play button">
<DetailsLayout pattern={Pattern.OverlayPlayButton}>
<Helmet>
<meta name="description" content="Create an overlay play button with CSS flexbox" />
<meta name="keywords" content="css flexbox" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -13,7 +14,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Pagination">
<DetailsLayout pattern={Pattern.Pagination}>
<Helmet>
<meta name="description" content="Create a pagination with CSS flexbox" />
<meta name="keywords" content="css flexbox, css pagination" />

View File

@@ -13,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Popover arrow">
<DetailsLayout pattern={Pattern.PopoverArrow}>
<Helmet>
<meta name="description" content="Create a popover arrow with CSS" />
<meta name="keywords" content="css arrow, css popover" />

View File

@@ -14,7 +14,7 @@ import Circle from '../../placeholders/Circle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Presence indicator">
<DetailsLayout pattern={Pattern.PresenceIndicator}>
<Helmet>
<meta name="description" content="Create a presence indicator with CSS" />
<meta name="keywords" content="css indicator" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -12,7 +13,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Previous and next buttons">
<DetailsLayout pattern={Pattern.PreviousNextButtons}>
<Helmet>
<meta name="description" content="Create previous and next buttons with CSS flexbox" />
<meta name="keywords" content="css flexbox, css pagination" />

View File

@@ -17,7 +17,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Pricing table">
<DetailsLayout pattern={Pattern.PricingTable}>
<Helmet>
<meta name="description" content="Create a pricing table with CSS flexbox" />
<meta name="keywords" content="css flexbox, css pricing table" />

View File

@@ -5,6 +5,7 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import useInterval from '../../hooks/useInterval';
import DetailsLayout from '../../layouts/DetailsLayout';
@@ -17,7 +18,7 @@ const Details: React.FC<{}> = () => {
}, 1 * 100);
return (
<DetailsLayout title="Progress bar">
<DetailsLayout pattern={Pattern.ProgressBar}>
<Helmet>
<meta name="description" content="Create a progress bar with CSS flexbox" />
<meta name="keywords" content="css flexbox, css progress bar" />

View File

@@ -33,7 +33,7 @@ const Details: React.FC<{}> = () => {
};
return (
<DetailsLayout title="Property list">
<DetailsLayout pattern={Pattern.PropertyList}>
<Helmet>
<meta name="description" content="Create a property list with CSS flexbox" />
<meta name="keywords" content="css flexbox, property list" />

View File

@@ -53,7 +53,7 @@ const Details: React.FC<{}> = () => {
};
return (
<DetailsLayout title="Questions and answers">
<DetailsLayout pattern={Pattern.QuestionsAndAnswers}>
<Helmet>
<meta name="description" content="Create a questions and answers section with CSS flexbox" />
<meta name="keywords" content="css accordion, css faq, css flexbox" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -72,7 +73,7 @@ const RadialProgress: React.FC<RadialProgressProps> = ({ percentages }) => {
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Radial progress bar">
<DetailsLayout pattern={Pattern.RadialProgressBar}>
<Helmet>
<meta name="description" content="Create a radial progress bar with CSS flexbox" />
<meta name="keywords" content="css clip rect, css flexbox, css progress bar" />

View File

@@ -49,7 +49,7 @@ const Details: React.FC<{}> = () => {
};
return (
<DetailsLayout title="Radio button group">
<DetailsLayout pattern={Pattern.RadioButtonGroup}>
<Helmet>
<meta name="description" content="Create a radio button group with CSS flexbox" />
<meta name="keywords" content="css flexbox, css radio button" />

View File

@@ -17,7 +17,7 @@ const Details: React.FC<{}> = () => {
const toggle = () => setFirstChecked((c) => !c);
return (
<DetailsLayout title="Radio switch">
<DetailsLayout pattern={Pattern.RadioSwitch}>
<Helmet>
<meta name="description" content="Create a radio switch with CSS flexbox" />
<meta name="keywords" content="css flexbox, css radio switch, css switch" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -12,7 +13,7 @@ import Star from './Star';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Rating">
<DetailsLayout pattern={Pattern.Rating}>
<Helmet>
<meta name="description" content="Create a star rating with CSS flexbox" />
<meta name="keywords" content="css flexbox, css star rating" />

View File

@@ -5,13 +5,14 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Resizable element">
<DetailsLayout pattern={Pattern.ResizableElement}>
<Helmet>
<meta name="description" content="Create resizable indicators with CSS" />
<meta name="keywords" content="css resizable, css resize cursor" />

View File

@@ -14,7 +14,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Ribbon">
<DetailsLayout pattern={Pattern.Ribbon}>
<Helmet>
<meta name="description" content="Create a ribbon with CSS" />
<meta name="keywords" content="css ribbon" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -13,7 +14,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Same height columns">
<DetailsLayout pattern={Pattern.SameHeightColumns}>
<Helmet>
<meta name="description" content="Create same height columns with CSS flexbox" />
<meta name="keywords" content="css flexbox, css layout, css same height columns" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -12,7 +13,7 @@ import Circle from '../../placeholders/Circle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Search box">
<DetailsLayout pattern={Pattern.SearchBox}>
<Helmet>
<meta name="description" content="Create a search box with CSS flexbox" />
<meta name="keywords" content="css flexbox, css search box" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -12,7 +13,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Separator">
<DetailsLayout pattern={Pattern.Separator}>
<Helmet>
<meta name="description" content="Create a separator with CSS flexbox" />
<meta name="keywords" content="css divider, css flexbox, css separator" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -12,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Sidebar">
<DetailsLayout pattern={Pattern.Sidebar}>
<Helmet>
<meta name="description" content="Create a sidebar with CSS flexbox" />
<meta name="keywords" content="css flexbox, css layout, css sidebar" />

View File

@@ -14,7 +14,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Simple grid">
<DetailsLayout pattern={Pattern.SimpleGrid}>
<Helmet>
<meta name="description" content="Create a simple grid with CSS flexbox" />
<meta name="keywords" content="css flexbox, css flexbox grid, css grid, css layout" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -13,7 +14,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Slider">
<DetailsLayout pattern={Pattern.Slider}>
<Helmet>
<meta name="description" content="Create a slider with CSS flexbox" />
<meta name="keywords" content="css flexbox, css slider" />

View File

@@ -19,7 +19,7 @@ const Details: React.FC<{}> = () => {
const change = (e: React.ChangeEvent<HTMLInputElement>) => setValue(parseInt(e.target.value, 10));
return (
<DetailsLayout title="Spin button">
<DetailsLayout pattern={Pattern.SpinButton}>
<Helmet>
<meta name="description" content="Create a spin button with CSS flexbox" />
<meta name="keywords" content="css flexbox, css spin button" />

View File

@@ -14,7 +14,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Split navigation">
<DetailsLayout pattern={Pattern.SplitNavigation}>
<Helmet>
<meta name="description" content="Create a split navigation with CSS flexbox" />
<meta name="keywords" content="css flexbox, css menu, css navigation, css split navigation" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -14,7 +15,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Split screen">
<DetailsLayout pattern={Pattern.SplitScreen}>
<Helmet>
<meta name="description" content="Create a split screen with CSS flexbox" />
<meta name="keywords" content="css flexbox, css layout, css split screen" />

View File

@@ -13,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Stacked cards">
<DetailsLayout pattern={Pattern.StackedCards}>
<Helmet>
<meta name="description" content="Create stacked cards with CSS" />
<meta name="keywords" content="css card, css stacked cards, css transform rotate" />

View File

@@ -5,13 +5,14 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Stamp border">
<DetailsLayout pattern={Pattern.StampBorder}>
<Helmet>
<meta name="description" content="Create stamp border with CSS" />
<meta name="keywords" content="css radial gradient, css stamp border" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import random from '../../helpers/random';
import DetailsLayout from '../../layouts/DetailsLayout';
@@ -12,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Statistic">
<DetailsLayout pattern={Pattern.Statistic}>
<Helmet>
<meta name="description" content="Create a statistic component with CSS flexbox" />
<meta name="keywords" content="css flexbox, css statistic" />

View File

@@ -7,13 +7,14 @@ import React from 'react';
import { Helmet } from 'react-helmet';
import Heading from '../../components/Heading';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Status light">
<DetailsLayout pattern={Pattern.StatusLight}>
<Helmet>
<meta name="description" content="Create a status light with CSS flexbox" />
<meta name="keywords" content="css flexbox, css status light" />

View File

@@ -22,7 +22,7 @@ const Details: React.FC<{}> = () => {
};
return (
<DetailsLayout title="Stepper input">
<DetailsLayout pattern={Pattern.StepperInput}>
<Helmet>
<meta name="description" content="Create a stepper input with CSS flexbox" />
<meta name="keywords" content="css flexbox, css stepper input" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -13,7 +14,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Sticky footer">
<DetailsLayout pattern={Pattern.StickyFooter}>
<Helmet>
<meta name="description" content="Create a sticky footer with CSS flexbox" />
<meta name="keywords" content="css flexbox, css layout, css sticky, css sticky footer" />

View File

@@ -15,7 +15,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Sticky header">
<DetailsLayout pattern={Pattern.StickyHeader}>
<Helmet>
<meta name="description" content="Create a sticky header with CSS" />
<meta name="keywords" content="css layout, css position sticky, css sticky header" />

View File

@@ -13,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Sticky sections">
<DetailsLayout pattern={Pattern.StickySections}>
<Helmet>
<meta name="description" content="Create sticky sections with CSS" />
<meta name="keywords" content="css layout, css sticky, css sticky sections" />

View File

@@ -17,7 +17,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
const numberOfColumns = 10;
return (
<DetailsLayout title="Sticky table column">
<DetailsLayout pattern={Pattern.StickyTableColumn}>
<Helmet>
<meta name="description" content="Create sticky table column with CSS" />
<meta name="keywords" content="css position sticky, css sticky table column" />

View File

@@ -15,7 +15,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Sticky table headers">
<DetailsLayout pattern={Pattern.StickyTableHeaders}>
<Helmet>
<meta name="description" content="Create sticky table headers with CSS" />
<meta name="keywords" content="css position sticky, css sticky table headers" />

View File

@@ -16,7 +16,7 @@ const Details: React.FC<{}> = () => {
const toggle = () => setChecked((c) => !c);
return (
<DetailsLayout title="Switch">
<DetailsLayout pattern={Pattern.Switch}>
<Helmet>
<meta name="description" content="Create a switch with CSS flexbox" />
<meta name="keywords" content="css custom checkbox, css flexbox, css switch, css switcher" />

View File

@@ -5,6 +5,7 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -38,7 +39,7 @@ const Details: React.FC<{}> = () => {
};
return (
<DetailsLayout title="Tab">
<DetailsLayout pattern={Pattern.Tab}>
<Helmet>
<meta name="description" content="Create tabs with CSS flexbox" />
<meta name="keywords" content="css flexbox, css navigation, css tab" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -12,7 +13,7 @@ import Circle from '../../placeholders/Circle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Teardrop">
<DetailsLayout pattern={Pattern.Teardrop}>
<Helmet>
<meta name="description" content="Create a teardrop with CSS" />
<meta

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -14,7 +15,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Timeline">
<DetailsLayout pattern={Pattern.Timeline}>
<Helmet>
<meta name="description" content="Create a timeline with CSS flexbox" />
<meta name="keywords" content="css flexbox, css timeline" />

View File

@@ -5,6 +5,7 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -14,7 +15,7 @@ const Details: React.FC<{}> = () => {
const toggle = () => setVisible((v) => !v);
return (
<DetailsLayout title="Toggle password visibility">
<DetailsLayout pattern={Pattern.TogglePasswordVisibility}>
<Helmet>
<meta name="description" content="Create a toggle password visibility with CSS flexbox" />
<meta name="keywords" content="css flexbox, toggle password visibility" />

View File

@@ -17,7 +17,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Tooltip">
<DetailsLayout pattern={Pattern.Tooltip}>
<Helmet>
<meta name="description" content="Create a tooltip with CSS" />
<meta name="keywords" content="css tooltip" />

View File

@@ -13,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Triangle buttons">
<DetailsLayout pattern={Pattern.TriangleButtons}>
<Helmet>
<meta name="description" content="Create triangle buttons with CSS" />
<meta name="keywords" content="css triangle buttons" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -12,7 +13,7 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Upload button">
<DetailsLayout pattern={Pattern.UploadButton}>
<Helmet>
<meta name="description" content="Create an upload button with CSS flexbox" />
<meta name="keywords" content="css file input, css flexbox, css upload button" />

View File

@@ -5,13 +5,14 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Validation icon">
<DetailsLayout pattern={Pattern.ValidationIcon}>
<Helmet>
<meta name="description" content="Add validation icons to input with CSS" />
<meta name="keywords" content="css validation icon" />

View File

@@ -14,7 +14,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Video background">
<DetailsLayout pattern={Pattern.VideoBackground}>
<Helmet>
<meta name="description" content="Add video background with CSS flexbox" />
<meta name="keywords" content="css flexbox, object fit cover" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -12,7 +13,7 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Watermark">
<DetailsLayout pattern={Pattern.Watermark}>
<Helmet>
<meta name="description" content="Create a watermark with CSS" />
<meta name="keywords" content="css watermark" />

View File

@@ -5,6 +5,7 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Pattern from '../../constants/Pattern';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -14,7 +15,7 @@ import Line from '../../placeholders/Line';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Wizard">
<DetailsLayout pattern={Pattern.Wizard}>
<Helmet>
<meta name="description" content="Create a wizard with CSS flexbox" />
<meta name="keywords" content="css flexbox, css stepper, css wizard" />