From e5dffc9c12d6e9d29f5f71630e26c23c3b52c3fd Mon Sep 17 00:00:00 2001 From: Manuel Lieb Date: Sat, 6 Jul 2024 10:38:41 +0200 Subject: [PATCH 1/7] feat: [WEB-69] add Input Component --- src/components/Input.astro | 128 +++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 src/components/Input.astro diff --git a/src/components/Input.astro b/src/components/Input.astro new file mode 100644 index 0000000..ab6d119 --- /dev/null +++ b/src/components/Input.astro @@ -0,0 +1,128 @@ +--- +export interface Props extends HTMLInputElement { + variant?: "primary" | "secondary"; +} + +const { class: className, variant, ...rest } = Astro.props; +--- + +
+ +
+ + From a13d6c098e990c45ee0563d0cfc492cef5da47b3 Mon Sep 17 00:00:00 2001 From: Manuel Lieb Date: Sat, 6 Jul 2024 11:03:30 +0200 Subject: [PATCH 2/7] feat: [WEB-69] add variant styles to Input Component --- src/components/Input.astro | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/src/components/Input.astro b/src/components/Input.astro index ab6d119..88cce8a 100644 --- a/src/components/Input.astro +++ b/src/components/Input.astro @@ -16,20 +16,31 @@ const { class: className, variant, ...rest } = Astro.props; :root { --input-color: var(--color-gray-600); --input-background-color: var(--color-white); + --input-outline-background-color: var(--color-white); --input-placeholder-color: var(--color-cardboard); --input-hover-color: var(--color-gray-600); --input-hover-background-color: var(--color-gray-50); --input-focus-color: var(--color-gray-700); - --input-focus-background-color: var(--color-white); --input-focus-outline-color: var(--color-green-100); --input-invalid-color: var(--color-purple-200); - --input-invalid-background-color: var(--color-white); --input-invalid-outline-color: var(--color-purple-200); } + /** + * variants need to be declared before styles + * otherwise the outline styles will not work + * TODO: investigate why - probably a cascade issue + */ + .secondary { + --input-background-color: var(--color-gray-50); + --input-outline-background-color: var(--color-gray-50); + --input-hover-background-color: var(--color-gray-100); + --input-focus-background-color: var(--color-gray-50); + } + .wrapper { display: inline-flex; justify-content: center; @@ -47,16 +58,12 @@ const { class: className, variant, ...rest } = Astro.props; ); padding-inline: pxToRem(30); column-gap: var(--spacing-1x); - background-color: var(--input-background-color); + background-color: var(--input-outline-background-color); transition: var(--transition-duration-quick) var(--transition-easing-default); transition-property: color, background-color; - &:not(:disabled) { - cursor: pointer; - } - &::before { content: ""; display: block; @@ -79,17 +86,12 @@ const { class: className, variant, ...rest } = Astro.props; &:where(:has(input:not(:disabled):hover)) { --input-color: var(--input-hover-color); --input-background-color: var(--input-hover-background-color); - &::before { - background-color: var(--input-hover-background-color); - } + --input-outline-background-color: var(--input-hover-background-color); } &:where(:has(input:focus-visible)) { --input-color: var(--input-focus-color); - --input-background-color: var(--input-focus-outline-color); - &::before { - background-color: var(--input-focus-background-color); - } + --input-outline-background-color: var(--input-focus-outline-color); } &:where(:has(input:disabled)) { @@ -100,10 +102,7 @@ const { class: className, variant, ...rest } = Astro.props; &:where(:has(input:user-invalid)) { --input-color: var(--input-invalid-color); - --input-background-color: var(--input-invalid-outline-color); - &::before { - background-color: var(--input-invalid-background-color); - } + --input-outline-background-color: var(--input-invalid-outline-color); } } From 469957a43afb5585043f1f8e128fc8944b4d4034 Mon Sep 17 00:00:00 2001 From: Manuel Lieb Date: Sat, 6 Jul 2024 11:26:50 +0200 Subject: [PATCH 3/7] feat: [WEB-69] add NewsletterForm to Footer --- src/components/Footer.astro | 14 ++++---- src/components/NewsletterForm.astro | 52 +++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 6 deletions(-) create mode 100644 src/components/NewsletterForm.astro diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 6a532ca..1cfd181 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -2,9 +2,9 @@ import { client } from "../utils/graphql-client"; import { graphql } from "gql.tada"; import Button from "./Button.astro"; -// import NewsletterSignup from "./NewsletterSignup.astro"; import Logo from "./Logo.astro"; import Link from "./Link.astro"; +import NewsletterForm from "./NewsletterForm.astro"; import Vercel from "../assets/vercel.svg?raw"; const { slug } = Astro.params; @@ -77,11 +77,7 @@ const socialMediaItems = ---