diff --git a/client/constants/Pattern.ts b/client/constants/Pattern.ts index 2087a26..544d891 100644 --- a/client/constants/Pattern.ts +++ b/client/constants/Pattern.ts @@ -43,6 +43,7 @@ enum Pattern { HolyGrail = 'Holy grail', InitialAvatar = 'Initial avatar', InputAddon = 'Input addon', + InvertedCorners = 'Inverted corners', KeyboardShortcut = 'Keyboard shortcut', LayeredCard = 'Layered card', LinedPaper = 'Lined paper', diff --git a/client/index.css b/client/index.css index 5f1b632..d9a8c6a 100644 --- a/client/index.css +++ b/client/index.css @@ -47,7 +47,6 @@ a { } .main { flex: 1; - overflow: auto; } .sidebar { display: none; @@ -80,7 +79,7 @@ a { font-size: 2rem; line-height: 1.5; text-align: center; - text-transform: capitalize; + text-transform: uppercase; } .hero__subheading { color: var(--color-gray-9); diff --git a/client/pages/ExplorePage.tsx b/client/pages/ExplorePage.tsx index b1346f5..8eb088f 100644 --- a/client/pages/ExplorePage.tsx +++ b/client/pages/ExplorePage.tsx @@ -136,6 +136,7 @@ const ExplorePage = () => { + diff --git a/client/patterns/inverted-corners/Cover.tsx b/client/patterns/inverted-corners/Cover.tsx new file mode 100644 index 0000000..83b319a --- /dev/null +++ b/client/patterns/inverted-corners/Cover.tsx @@ -0,0 +1,43 @@ +/** * A collection of popular layouts and patterns made with CSS (https://csslayout.io) + * (c) 2019 - 2021 Nguyen Huu Phuoc + */ + +import * as React from 'react'; + +import Frame from '../../placeholders/Frame'; + +const Cover: React.FC<{}> = () => { + return ( + +
+
+
+
+
+ + ); +}; + +export default Cover; diff --git a/client/patterns/inverted-corners/Details.tsx b/client/patterns/inverted-corners/Details.tsx new file mode 100644 index 0000000..aa9ad02 --- /dev/null +++ b/client/patterns/inverted-corners/Details.tsx @@ -0,0 +1,101 @@ +/** + * A collection of popular layouts and patterns made with CSS (https://csslayout.io) + * (c) 2019 - 2021 Nguyen Huu Phuoc + */ + +import * as 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 './inverted-corners.css'; + +const Details: React.FC<{}> = () => { + return ( + + + + + + + + + ... +
+`} +css={` +:root { + --inverted-corners-background: #52525B; + --inverted-corners-size: 2rem; +} + +.inverted-corners { + background-color: var(--inverted-corners-background); + + /* Used to position the corner */ + position: relative; +} + +.inverted-corners::before { + content: ''; + + /* Absolute position */ + bottom: calc(-2 * var(--inverted-corners-size)); + left: 0; + position: absolute; + + /* Size */ + height: calc(2 * var(--inverted-corners-size)); + width: var(--inverted-corners-size); + + /* Border */ + background-color: transparent; + border-top-left-radius: var(--inverted-corners-size); + box-shadow: var(--inverted-corners-background) + 0px calc(-1 * var(--inverted-corners-size)) 0px 0px; +} +`} + > +
+
+
+
+
+ + +
+ + +
+
Speech Bubble
+
+
+ + ); +}; + +export default Details; diff --git a/client/patterns/inverted-corners/inverted-corners.css b/client/patterns/inverted-corners/inverted-corners.css new file mode 100644 index 0000000..b9b022b --- /dev/null +++ b/client/patterns/inverted-corners/inverted-corners.css @@ -0,0 +1,53 @@ +/** + * A collection of popular layouts and patterns made with CSS (https://csslayout.io) + * (c) 2019 - 2021 Nguyen Huu Phuoc + */ + +:root { + --inverted-corners-background: #52525B; + --inverted-corners-size: 2rem; +} + +.inverted-corners { + background-color: var(--inverted-corners-background); + + /* Used to position the corner */ + position: relative; + + /* Misc */ + height: 100%; +} + +.inverted-corners::before { + content: ''; + + /* Absolute position */ + bottom: calc(-2 * var(--inverted-corners-size)); + left: 0; + position: absolute; + + /* Size */ + height: calc(2 * var(--inverted-corners-size)); + width: var(--inverted-corners-size); + + /* Border */ + background-color: transparent; + border-top-left-radius: var(--inverted-corners-size); + box-shadow: var(--inverted-corners-background) 0px calc(-1 * var(--inverted-corners-size)) 0px 0px; +} + +/* Use case */ +.inverted-corners--speech { + /* Border radius */ + border-bottom-right-radius: var(--inverted-corners-size); + border-top-left-radius: var(--inverted-corners-size); + border-top-right-radius: var(--inverted-corners-size); + + /* Center the content */ + align-items: center; + display: flex; + justify-content: center; + + /* Misc */ + color: #FFF; +} \ No newline at end of file