summaryrefslogtreecommitdiff
path: root/examples/basics/src/components
diff options
context:
space:
mode:
authorGravatar Fred K. Schott <fkschott@gmail.com> 2022-05-03 17:08:15 -0700
committerGravatar GitHub <noreply@github.com> 2022-05-03 17:08:15 -0700
commit78855ce8922a5649813a750bc9fa65aa1112f173 (patch)
treefc99da6215c2416e6ef4baac8eedf9c0908c3385 /examples/basics/src/components
parent860357388f0b944b98246394813c2928258e6dc3 (diff)
downloadastro-78855ce8922a5649813a750bc9fa65aa1112f173.tar.gz
astro-78855ce8922a5649813a750bc9fa65aa1112f173.tar.zst
astro-78855ce8922a5649813a750bc9fa65aa1112f173.zip
first polish (#3236)
Diffstat (limited to 'examples/basics/src/components')
-rw-r--r--examples/basics/src/components/Card.astro75
-rw-r--r--examples/basics/src/components/Layout.astro55
2 files changed, 75 insertions, 55 deletions
diff --git a/examples/basics/src/components/Card.astro b/examples/basics/src/components/Card.astro
new file mode 100644
index 000000000..7b911b395
--- /dev/null
+++ b/examples/basics/src/components/Card.astro
@@ -0,0 +1,75 @@
+---
+export interface Props {
+ title: string,
+ body: string,
+ href: string,
+}
+const {href, title, body} = Astro.props;
+---
+<li class="link-card">
+ <a href={href}>
+ <h2>
+ {title}
+ <span>&rarr;</span>
+ </h2>
+ <p>
+ {body}
+ <slot name="icon" />
+ </p>
+ </a>
+</li>
+<style>
+
+ :root {
+ --link-gradient: linear-gradient(45deg, #4F39FA, #DA62C4 30%, var(--color-border) 60%);
+ }
+
+ .link-card {
+ list-style: none;
+ display: flex;
+ padding: 0.15rem;
+ background-image: var(--link-gradient);
+ background-size: 400%;
+ border-radius: 0.5rem;
+ background-position: 100%;
+ transition: background-position 0.6s cubic-bezier(0.22, 1, 0.36, 1);
+ }
+
+ .link-card > a {
+ width: 100%;
+ text-decoration: none;
+ line-height: 1.4;
+ padding: 1em 1.3em;
+ border-radius: 0.35rem;
+ color: var(--text-color);
+ background-color: white;
+ opacity: 0.8;
+ }
+
+ h2 {
+ margin: 0;
+ transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1);
+ }
+
+ p {
+ margin-top: 0.75rem;
+ margin-bottom: 0;
+ }
+
+ h2 span {
+ display: inline-block;
+ transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
+ }
+
+ .link-card:is(:hover, :focus-within) {
+ background-position: 0;
+ }
+
+ .link-card:is(:hover, :focus-within) h2 {
+ color: #4F39FA;
+ }
+
+ .link-card:is(:hover, :focus-within) h2 span {
+ transform: translateX(2px);
+ }
+</style> \ No newline at end of file
diff --git a/examples/basics/src/components/Layout.astro b/examples/basics/src/components/Layout.astro
deleted file mode 100644
index cf1c00262..000000000
--- a/examples/basics/src/components/Layout.astro
+++ /dev/null
@@ -1,55 +0,0 @@
----
-export interface Props {
- title: string;
-}
-
-const { title } = Astro.props as Props;
----
-
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width">
- <link rel="icon" type="image/x-icon" href="/favicon.ico" />
- <title>{title}</title>
-</head>
-<body>
- <slot />
-</body>
-</html>
-
-<style>
- :root {
- --font-size-base: clamp(1rem, 0.34vw + 0.91rem, 1.19rem);
- --font-size-lg: clamp(1.2rem, 0.7vw + 1.2rem, 1.5rem);
- --font-size-xl: clamp(2.44rem, 2.38vw + 1.85rem, 3.75rem);
-
- --color-text: hsl(12, 5%, 4%);
- --color-bg: hsl(10, 21%, 95%);
- }
-
- html {
- font-family: system-ui, sans-serif;
- font-size: var(--font-size-base);
- color: var(--color-text);
- background-color: var(--color-bg);
- }
-
- body {
- margin: 0;
- }
-
- :global(h1) {
- font-size: var(--font-size-xl);
- }
-
- :global(h2) {
- font-size: var(--font-size-lg);
- }
-
- :global(code) {
- font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
- Bitstream Vera Sans Mono, Courier New, monospace;
- }
-</style>