Created
December 16, 2024 04:06
-
-
Save MarkPThomas/7944ffca5a61ed3669917e1ae6ec455a to your computer and use it in GitHub Desktop.
Changes to convert from standard website to using Styled Components
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/package.json b/package.json | |
index 7bee1d9..4acefb0 100644 | |
--- a/package.json | |
+++ b/package.json | |
@@ -22,6 +22,7 @@ | |
"react": "^18.3.1", | |
"react-dom": "^18.3.1", | |
"react-scripts": "5.0.1", | |
+ "styled-components": "^6.1.11", | |
"typescript": "^4.4.2", | |
"web-vitals": "^2.1.0" | |
}, | |
@@ -61,4 +62,4 @@ | |
"last 1 safari version" | |
] | |
} | |
-} | |
\ No newline at end of file | |
+} | |
diff --git a/src/components/Button.tsx b/src/components/Button.tsx | |
index c33be6e..b111f0e 100644 | |
--- a/src/components/Button.tsx | |
+++ b/src/components/Button.tsx | |
@@ -1,5 +1,52 @@ | |
import React from 'react'; | |
-import './button.css'; | |
+import styled from 'styled-components' | |
+ | |
+const StyledButton = styled.button<{ | |
+ $primary: boolean, | |
+ $size: string, | |
+ $backgroundColor?: string | |
+}>` | |
+ font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; | |
+ font-weight: 700; | |
+ border: 0; | |
+ border-radius: 3em; | |
+ cursor: pointer; | |
+ display: inline-block; | |
+ line-height: 1; | |
+ | |
+ ${props => props.$primary ? ` | |
+ color: white; | |
+ background-color: #1ea7fd; | |
+ ` : ` | |
+ color: #333; | |
+ background-color: transparent; | |
+ box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset; | |
+ `} | |
+ | |
+ ${props => props.$backgroundColor && ` | |
+ background-color: ${props.$backgroundColor}; | |
+ `} | |
+ | |
+ ${props => { | |
+ switch (props.$size) { | |
+ case 'small': | |
+ return ` | |
+ font-size: 12px; | |
+ padding: 10px 16px; | |
+ `; | |
+ case 'medium': | |
+ return ` | |
+ font-size: 14px; | |
+ padding: 11px 20px; | |
+ `; | |
+ case 'large': | |
+ return ` | |
+ font-size: 16px; | |
+ padding: 12px 24px; | |
+ `; | |
+ } | |
+ } | |
+ }`; | |
interface ButtonProps { | |
/** | |
@@ -34,15 +81,9 @@ export const Button = ({ | |
label, | |
...props | |
}: ButtonProps) => { | |
- const mode = primary ? 'storybook-button--primary' : 'storybook-button--secondary'; | |
return ( | |
- <button | |
- type="button" | |
- className={['storybook-button', `storybook-button--${size}`, mode].join(' ')} | |
- style={{ backgroundColor }} | |
- {...props} | |
- > | |
+ <StyledButton $primary={primary} $size={size} $backgroundColor={backgroundColor} {...props}> | |
{label} | |
- </button> | |
+ </StyledButton> | |
); | |
}; | |
diff --git a/src/components/Header.tsx b/src/components/Header.tsx | |
index c806ddf..25db705 100644 | |
--- a/src/components/Header.tsx | |
+++ b/src/components/Header.tsx | |
@@ -1,7 +1,40 @@ | |
import React from 'react'; | |
+import styled from 'styled-components' | |
import { Button } from './Button'; | |
-import './header.css'; | |
+ | |
+const StyledHeader = styled.div` | |
+ font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; | |
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1); | |
+ padding: 15px 20px; | |
+ display: flex; | |
+ align-items: center; | |
+ justify-content: space-between; | |
+`; | |
+ | |
+const StyledSvg = styled.svg` | |
+ display: inline-block; | |
+ vertical-align: top; | |
+`; | |
+ | |
+const StyledH1 = styled.h1` | |
+ font-weight: 700; | |
+ font-size: 20px; | |
+ line-height: 1; | |
+ margin: 6px 0 6px 10px; | |
+ display: inline-block; | |
+ vertical-align: top; | |
+`; | |
+ | |
+const StyledSpan = styled.span` | |
+ color: #333; | |
+ font-size: 14px; | |
+ margin-right: 10px; | |
+`; | |
+ | |
+const StyledButton = styled(Button)` | |
+ margin-left: 10px; | |
+`; | |
type User = { | |
name: string; | |
@@ -16,9 +49,9 @@ interface HeaderProps { | |
export const Header = ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps) => ( | |
<header> | |
- <div className="storybook-header"> | |
+ <StyledHeader> | |
<div> | |
- <svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> | |
+ <StyledSvg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> | |
<g fill="none" fillRule="evenodd"> | |
<path | |
d="M10 0h12a10 10 0 0110 10v12a10 10 0 01-10 10H10A10 10 0 010 22V10A10 10 0 0110 0z" | |
@@ -33,24 +66,24 @@ export const Header = ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps | |
fill="#91BAF8" | |
/> | |
</g> | |
- </svg> | |
- <h1>Acme</h1> | |
+ </StyledSvg> | |
+ <StyledH1>Acme</StyledH1> | |
</div> | |
<div> | |
{user ? ( | |
<> | |
- <span className="welcome"> | |
+ <StyledSpan> | |
Welcome, <b>{user.name}</b>! | |
- </span> | |
+ </StyledSpan> | |
<Button size="small" onClick={onLogout} label="Log out" /> | |
</> | |
) : ( | |
<> | |
<Button size="small" onClick={onLogin} label="Log in" /> | |
- <Button primary size="small" onClick={onCreateAccount} label="Sign up" /> | |
+ <StyledButton primary size="small" onClick={onCreateAccount} label="Sign up" /> | |
</> | |
)} | |
</div> | |
- </div> | |
+ </StyledHeader> | |
</header> | |
); | |
diff --git a/src/components/Page.tsx b/src/components/Page.tsx | |
index 1727063..f60aa58 100644 | |
--- a/src/components/Page.tsx | |
+++ b/src/components/Page.tsx | |
@@ -1,8 +1,119 @@ | |
import React from 'react'; | |
+import styled, { keyframes } from 'styled-components'; | |
import logo from './assets/logo.svg'; | |
import { Header } from './Header'; | |
-import './page.css'; | |
+ | |
+const SectionAppHeader = styled.section` | |
+ background-color: #282c34; | |
+ min-height: 100vh; | |
+ display: flex; | |
+ flex-direction: column; | |
+ align-items: center; | |
+ justify-content: center; | |
+ font-size: calc(10px + 2vmin); | |
+ color: white; | |
+`; | |
+ | |
+const appLogoSpin = keyframes` | |
+ from { | |
+ transform: rotate(0deg); | |
+ } | |
+ | |
+ to { | |
+ transform: rotate(360deg); | |
+ } | |
+`; | |
+ | |
+const customMediaQuery = (prefersReducedMotion: string) => | |
+ `@media (prefers-reduced-motion: ${prefersReducedMotion})`; | |
+ | |
+const media = { | |
+ noPreferenceReducedMotion: customMediaQuery('no-preference') | |
+}; | |
+ | |
+const AppLogo = styled.img` | |
+ height: 40vmin; | |
+ pointer-events: none; | |
+ | |
+ ${media.noPreferenceReducedMotion} { | |
+ animation: ${appLogoSpin} infinite 20s linear; | |
+ } | |
+`; | |
+ | |
+const AppLink = styled.a` | |
+ color: #61dafb; | |
+`; | |
+ | |
+const SectionStorybookPage = styled.section` | |
+ font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; | |
+ font-size: 14px; | |
+ line-height: 24px; | |
+ padding: 48px 20px; | |
+ margin: 0 auto; | |
+ max-width: 600px; | |
+ color: #333; | |
+ | |
+ h2 { | |
+ font-weight: 700; | |
+ font-size: 32px; | |
+ line-height: 1; | |
+ margin: 0 0 4px; | |
+ display: inline-block; | |
+ vertical-align: top; | |
+ } | |
+ | |
+ p { | |
+ margin: 1em 0; | |
+ } | |
+ | |
+ a { | |
+ text-decoration: none; | |
+ color: #1ea7fd; | |
+ } | |
+ | |
+ ul { | |
+ padding-left: 30px; | |
+ margin: 1em 0; | |
+ } | |
+ | |
+ li { | |
+ margin-bottom: 8px; | |
+ } | |
+`; | |
+ | |
+const TipWrapper = styled.div` | |
+ font-size: 13px; | |
+ line-height: 20px; | |
+ margin-top: 40px; | |
+ margin-bottom: 40px; | |
+ | |
+ svg { | |
+ display: inline-block; | |
+ height: 12px; | |
+ width: 12px; | |
+ margin-right: 4px; | |
+ vertical-align: top; | |
+ margin-top: 3px; | |
+ } | |
+ | |
+ svg path { | |
+ fill: #1ea7fd; | |
+ } | |
+`; | |
+ | |
+const Tip = styled.span` | |
+ display: inline-block; | |
+ border-radius: 1em; | |
+ font-size: 11px; | |
+ line-height: 12px; | |
+ font-weight: 700; | |
+ background: #e7fdd8; | |
+ color: #66bf3c; | |
+ padding: 4px 12px; | |
+ margin-right: 10px; | |
+ vertical-align: top; | |
+`; | |
type User = { | |
name: string; | |
@@ -19,21 +130,20 @@ export const Page: React.FC = () => { | |
onLogout={() => setUser(undefined)} | |
onCreateAccount={() => setUser({ name: 'Jane Doe' })} | |
/> | |
- <section className="App-header"> | |
- <img src={logo} className="App-logo" alt="logo" /> | |
+ <SectionAppHeader> | |
+ <AppLogo src={logo} alt="logo" /> | |
<p> | |
Edit <code>src/App.tsx</code> and save to reload. | |
</p> | |
- <a | |
- className="App-link" | |
+ <AppLink | |
href="https://reactjs.org" | |
target="_blank" | |
rel="noopener noreferrer" | |
> | |
Learn React | |
- </a> | |
- </section> | |
- <section className="storybook-page"> | |
+ </AppLink> | |
+ </SectionAppHeader> | |
+ <SectionStorybookPage> | |
<h2>Pages in Storybook</h2> | |
<p> | |
We recommend building UIs with a{' '} | |
@@ -68,8 +178,8 @@ export const Page: React.FC = () => { | |
</a> | |
. | |
</p> | |
- <div className="tip-wrapper"> | |
- <span className="tip">Tip</span> Adjust the width of the canvas with the{' '} | |
+ <TipWrapper> | |
+ <Tip>Tip</Tip> Adjust the width of the canvas with the{' '} | |
<svg width="10" height="10" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg"> | |
<g fill="none" fillRule="evenodd"> | |
<path | |
@@ -80,8 +190,8 @@ export const Page: React.FC = () => { | |
</g> | |
</svg> | |
Viewports addon in the toolbar | |
- </div> | |
- </section> | |
+ </TipWrapper> | |
+ </SectionStorybookPage> | |
</article> | |
); | |
}; | |
diff --git a/src/components/button.css b/src/components/button.css | |
deleted file mode 100644 | |
index dc91dc7..0000000 | |
--- a/src/components/button.css | |
+++ /dev/null | |
@@ -1,30 +0,0 @@ | |
-.storybook-button { | |
- font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; | |
- font-weight: 700; | |
- border: 0; | |
- border-radius: 3em; | |
- cursor: pointer; | |
- display: inline-block; | |
- line-height: 1; | |
-} | |
-.storybook-button--primary { | |
- color: white; | |
- background-color: #1ea7fd; | |
-} | |
-.storybook-button--secondary { | |
- color: #333; | |
- background-color: transparent; | |
- box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset; | |
-} | |
-.storybook-button--small { | |
- font-size: 12px; | |
- padding: 10px 16px; | |
-} | |
-.storybook-button--medium { | |
- font-size: 14px; | |
- padding: 11px 20px; | |
-} | |
-.storybook-button--large { | |
- font-size: 16px; | |
- padding: 12px 24px; | |
-} | |
diff --git a/src/components/header.css b/src/components/header.css | |
deleted file mode 100644 | |
index d9a7052..0000000 | |
--- a/src/components/header.css | |
+++ /dev/null | |
@@ -1,32 +0,0 @@ | |
-.storybook-header { | |
- font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; | |
- border-bottom: 1px solid rgba(0, 0, 0, 0.1); | |
- padding: 15px 20px; | |
- display: flex; | |
- align-items: center; | |
- justify-content: space-between; | |
-} | |
- | |
-.storybook-header svg { | |
- display: inline-block; | |
- vertical-align: top; | |
-} | |
- | |
-.storybook-header h1 { | |
- font-weight: 700; | |
- font-size: 20px; | |
- line-height: 1; | |
- margin: 6px 0 6px 10px; | |
- display: inline-block; | |
- vertical-align: top; | |
-} | |
- | |
-.storybook-header button + button { | |
- margin-left: 10px; | |
-} | |
- | |
-.storybook-header .welcome { | |
- color: #333; | |
- font-size: 14px; | |
- margin-right: 10px; | |
-} | |
diff --git a/src/components/page.css b/src/components/page.css | |
deleted file mode 100644 | |
index 6205ef3..0000000 | |
--- a/src/components/page.css | |
+++ /dev/null | |
@@ -1,110 +0,0 @@ | |
-.App { | |
- text-align: center; | |
-} | |
- | |
-.App-logo { | |
- height: 40vmin; | |
- pointer-events: none; | |
-} | |
- | |
-@media (prefers-reduced-motion: no-preference) { | |
- .App-logo { | |
- animation: App-logo-spin infinite 20s linear; | |
- } | |
-} | |
- | |
-.App-header { | |
- background-color: #282c34; | |
- min-height: 100vh; | |
- display: flex; | |
- flex-direction: column; | |
- align-items: center; | |
- justify-content: center; | |
- font-size: calc(10px + 2vmin); | |
- color: white; | |
-} | |
- | |
-.App-link { | |
- color: #61dafb; | |
-} | |
- | |
-@keyframes App-logo-spin { | |
- from { | |
- transform: rotate(0deg); | |
- } | |
- | |
- to { | |
- transform: rotate(360deg); | |
- } | |
-} | |
- | |
- | |
-.storybook-page { | |
- font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; | |
- font-size: 14px; | |
- line-height: 24px; | |
- padding: 48px 20px; | |
- margin: 0 auto; | |
- max-width: 600px; | |
- color: #333; | |
-} | |
- | |
-.storybook-page h2 { | |
- font-weight: 700; | |
- font-size: 32px; | |
- line-height: 1; | |
- margin: 0 0 4px; | |
- display: inline-block; | |
- vertical-align: top; | |
-} | |
- | |
-.storybook-page p { | |
- margin: 1em 0; | |
-} | |
- | |
-.storybook-page a { | |
- text-decoration: none; | |
- color: #1ea7fd; | |
-} | |
- | |
-.storybook-page ul { | |
- padding-left: 30px; | |
- margin: 1em 0; | |
-} | |
- | |
-.storybook-page li { | |
- margin-bottom: 8px; | |
-} | |
- | |
-.storybook-page .tip { | |
- display: inline-block; | |
- border-radius: 1em; | |
- font-size: 11px; | |
- line-height: 12px; | |
- font-weight: 700; | |
- background: #e7fdd8; | |
- color: #66bf3c; | |
- padding: 4px 12px; | |
- margin-right: 10px; | |
- vertical-align: top; | |
-} | |
- | |
-.storybook-page .tip-wrapper { | |
- font-size: 13px; | |
- line-height: 20px; | |
- margin-top: 40px; | |
- margin-bottom: 40px; | |
-} | |
- | |
-.storybook-page .tip-wrapper svg { | |
- display: inline-block; | |
- height: 12px; | |
- width: 12px; | |
- margin-right: 4px; | |
- vertical-align: top; | |
- margin-top: 3px; | |
-} | |
- | |
-.storybook-page .tip-wrapper svg path { | |
- fill: #1ea7fd; | |
-} | |
\ No newline at end of file | |
diff --git a/yarn.lock b/yarn.lock | |
index 537a10c..9ab4fd7 100644 | |
--- a/yarn.lock | |
+++ b/yarn.lock | |
@@ -1326,6 +1326,23 @@ | |
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" | |
integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== | |
+"@emotion/[email protected]": | |
+ version "1.2.2" | |
+ resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" | |
+ integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== | |
+ dependencies: | |
+ "@emotion/memoize" "^0.8.1" | |
+ | |
+"@emotion/memoize@^0.8.1": | |
+ version "0.8.1" | |
+ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" | |
+ integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== | |
+ | |
+"@emotion/[email protected]": | |
+ version "0.8.1" | |
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" | |
+ integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== | |
+ | |
"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": | |
version "1.0.1" | |
resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" | |
@@ -3393,6 +3410,11 @@ | |
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" | |
integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== | |
+"@types/[email protected]": | |
+ version "4.2.5" | |
+ resolved "https://registry.yarnpkg.com/@types/stylis/-/stylis-4.2.5.tgz#1daa6456f40959d06157698a653a9ab0a70281df" | |
+ integrity sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw== | |
+ | |
"@types/testing-library__jest-dom@^5.9.1": | |
version "5.14.9" | |
resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz#0fb1e6a0278d87b6737db55af5967570b67cb466" | |
@@ -4514,6 +4536,11 @@ camelcase@^6.2.0, camelcase@^6.2.1: | |
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" | |
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== | |
+camelize@^1.0.0: | |
+ version "1.0.1" | |
+ resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" | |
+ integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== | |
+ | |
caniuse-api@^3.0.0: | |
version "3.0.0" | |
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" | |
@@ -4939,6 +4966,11 @@ css-blank-pseudo@^3.0.3: | |
dependencies: | |
postcss-selector-parser "^6.0.9" | |
+css-color-keywords@^1.0.0: | |
+ version "1.0.0" | |
+ resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" | |
+ integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== | |
+ | |
css-declaration-sorter@^6.3.1: | |
version "6.4.1" | |
resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz#28beac7c20bad7f1775be3a7129d7eae409a3a71" | |
@@ -5008,6 +5040,15 @@ css-select@^4.1.3: | |
domutils "^2.8.0" | |
nth-check "^2.0.1" | |
[email protected]: | |
+ version "3.2.0" | |
+ resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32" | |
+ integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ== | |
+ dependencies: | |
+ camelize "^1.0.0" | |
+ css-color-keywords "^1.0.0" | |
+ postcss-value-parser "^4.0.2" | |
+ | |
[email protected]: | |
version "1.0.0-alpha.37" | |
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" | |
@@ -5122,7 +5163,7 @@ cssstyle@^2.3.0: | |
dependencies: | |
cssom "~0.3.6" | |
-csstype@^3.0.2: | |
[email protected], csstype@^3.0.2: | |
version "3.1.3" | |
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" | |
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== | |
@@ -9889,20 +9930,12 @@ postcss-unique-selectors@^5.1.1: | |
dependencies: | |
postcss-selector-parser "^6.0.5" | |
-postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: | |
+postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: | |
version "4.2.0" | |
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" | |
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== | |
-postcss@^7.0.35: | |
- version "7.0.39" | |
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" | |
- integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== | |
- dependencies: | |
- picocolors "^0.2.1" | |
- source-map "^0.6.1" | |
- | |
-postcss@^8.3.5, postcss@^8.4.23, postcss@^8.4.33, postcss@^8.4.4: | |
[email protected], postcss@^8.3.5, postcss@^8.4.23, postcss@^8.4.33, postcss@^8.4.4: | |
version "8.4.38" | |
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" | |
integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== | |
@@ -9911,6 +9944,14 @@ postcss@^8.3.5, postcss@^8.4.23, postcss@^8.4.33, postcss@^8.4.4: | |
picocolors "^1.0.0" | |
source-map-js "^1.2.0" | |
+postcss@^7.0.35: | |
+ version "7.0.39" | |
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" | |
+ integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== | |
+ dependencies: | |
+ picocolors "^0.2.1" | |
+ source-map "^0.6.1" | |
+ | |
prelude-ls@^1.2.1: | |
version "1.2.1" | |
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" | |
@@ -10879,6 +10920,11 @@ shallow-clone@^3.0.0: | |
dependencies: | |
kind-of "^6.0.2" | |
[email protected]: | |
+ version "1.1.0" | |
+ resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" | |
+ integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== | |
+ | |
shebang-command@^2.0.0: | |
version "2.0.0" | |
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" | |
@@ -11282,6 +11328,21 @@ style-loader@^3.3.1: | |
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" | |
integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== | |
+styled-components@^6.1.11: | |
+ version "6.1.11" | |
+ resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-6.1.11.tgz#01948e5195bf1d39e57e0a85b41958c80e40cfb8" | |
+ integrity sha512-Ui0jXPzbp1phYij90h12ksljKGqF8ncGx+pjrNPsSPhbUUjWT2tD1FwGo2LF6USCnbrsIhNngDfodhxbegfEOA== | |
+ dependencies: | |
+ "@emotion/is-prop-valid" "1.2.2" | |
+ "@emotion/unitless" "0.8.1" | |
+ "@types/stylis" "4.2.5" | |
+ css-to-react-native "3.2.0" | |
+ csstype "3.1.3" | |
+ postcss "8.4.38" | |
+ shallowequal "1.1.0" | |
+ stylis "4.3.2" | |
+ tslib "2.6.2" | |
+ | |
stylehacks@^5.1.1: | |
version "5.1.1" | |
resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" | |
@@ -11290,6 +11351,11 @@ stylehacks@^5.1.1: | |
browserslist "^4.21.4" | |
postcss-selector-parser "^6.0.4" | |
[email protected]: | |
+ version "4.3.2" | |
+ resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.2.tgz#8f76b70777dd53eb669c6f58c997bf0a9972e444" | |
+ integrity sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg== | |
+ | |
sucrase@^3.32.0: | |
version "3.35.0" | |
resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" | |
@@ -11670,16 +11736,16 @@ tsconfig-paths@^4.2.0: | |
minimist "^1.2.6" | |
strip-bom "^3.0.0" | |
[email protected], tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0: | |
+ version "2.6.2" | |
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" | |
+ integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== | |
+ | |
tslib@^1.13.0, tslib@^1.8.1: | |
version "1.14.1" | |
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" | |
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== | |
-tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0: | |
- version "2.6.2" | |
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" | |
- integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== | |
- | |
tsutils@^3.21.0: | |
version "3.21.0" | |
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment