AWDS
"Andrew Westling Design System" - it's exactly what it says on the box
This is just my kitchen sink for testing the local theme on this website.
Colors
Typography
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Default Body TextLabel TextTheme Output
{ "useColorSchemeMediaQuery": true, "printColorModeName": "light", "useLocalStorage": false, "breakpoints": [ "40rem" ], "fonts": { "body": "system-ui, sans-serif", "heading": "inherit", "monospace": "Menlo, monospace" }, "space": [ "0.000rem", "0.250rem", "0.500rem", "1.000rem", "2.000rem", "3.000rem", "5.000rem" ], "fontSizes": [ "0.800rem", "1.000rem", "1.250rem", "1.500rem", "2.000rem", "2.500rem" ], "fontWeights": { "body": 400, "heading": 600 }, "lineHeights": { "body": 1.5, "heading": 1.125 }, "colors": { "text": "var(--theme-ui-colors-text)", "background": "var(--theme-ui-colors-background)", "muted": "var(--theme-ui-colors-muted)", "highlight": "var(--theme-ui-colors-highlight)", "primary": "var(--theme-ui-colors-primary)", "secondary": "var(--theme-ui-colors-secondary)", "tertiary": "var(--theme-ui-colors-tertiary)", "accent": "var(--theme-ui-colors-accent)", "modes": { "light": { "text": "var(--theme-ui-colors-modes-light-text)", "background": "var(--theme-ui-colors-modes-light-background)", "muted": "var(--theme-ui-colors-modes-light-muted)", "highlight": "var(--theme-ui-colors-modes-light-highlight)" }, "dark": { "text": "var(--theme-ui-colors-modes-dark-text)", "background": "var(--theme-ui-colors-modes-dark-background)", "muted": "var(--theme-ui-colors-modes-dark-muted)", "highlight": "var(--theme-ui-colors-modes-dark-highlight)" } } }, "text": { "heading": { "fontFamily": "heading", "lineHeight": "heading", "fontWeight": "heading", "&:hover": { ".anchor-link": { "visibility": [ null, "visible" ] } } }, "label": { "fontSize": "0.800rem", "color": "muted" }, "footer": { "lineHeight": 2, "fontSize": "0.800rem", "display": "block" }, "default": { "fontSize": "1.000rem", "lineHeight": "body" } }, "styles": { "root": { "fontFamily": "body", "lineHeight": "body", "fontWeight": "body", "h1": { "variant": "text.heading", "fontSize": [ "2.000rem", "2.500rem" ] }, "h2": { "variant": "text.heading", "fontSize": [ "1.500rem", "2.000rem" ] }, "h3": { "variant": "text.heading", "fontSize": [ "1.250rem", "1.500rem" ] }, "h2:not(:first-of-type)": { "marginTop": [ "3.000rem" ] }, "h4": { "variant": "text.heading", "fontSize": [ "1.000rem", "1.250rem" ] }, "h5": { "variant": "text.heading", "fontSize": [ "1.000rem", "1.250rem" ] }, "h6": { "variant": "text.heading", "fontSize": [ "1.000rem", "1.250rem" ] }, ".anchor-link": { "visibility": "hidden", "float": "left", "lineHeight": 1, "paddingRight": "0.250rem", "marginLeft": "calc(-1.000rem - 0.250rem)", "fill": "text" }, "code": { "backgroundColor": "highlight", "borderRadius": "default", "color": "primary", "padding": "0.250rem" }, ".tidbyt-gif-container": { "backgroundColor": "#000", "width": "fit-content" }, ".tidbyt-gif": { "imageRendering": "pixelated", "maskSize": "contain", "webkitMaskSize": "contain", "maskImage": "url('/assets/projects/tidbyt/mask.png')", "webkitMaskImage": "url('/assets/projects/tidbyt/mask.png')" }, "li > p": { "margin": 0 } }, "a": { "color": "inherit", "&:hover": { "color": "primary" } }, "p": { "variant": "text.default" }, "li": { "variant": "text.default" }, "footer": { "backgroundColor": "highlight", "fontSize": "0.800rem", "paddingY": "2.000rem", "color": "muted", "a": { "color": "muted" } } }, "radii": { "default": "3px", "large": "10px", "full": "9999px" }, "sizes": { "container": "50rem", "space": [ "0.000rem", "0.250rem", "0.500rem", "1.000rem", "2.000rem", "3.000rem", "5.000rem" ] }, "layout": { "container": { "paddingX": "1.000rem" } }, "buttons": { "primary": { "&:hover": { "color": "text", "cursor": "pointer" } }, "small": { "fontSize": [ 0 ], "color": "muted", "bg": "highlight", "borderColor": "muted", "borderStyle": "solid", "borderWidth": "1px", "&:hover": { "color": "highlight", "bg": "muted", "cursor": "pointer" } } }, "rawColors": { "text": "#050708", "background": "#ffffff", "muted": "#666666", "highlight": "#efefef", "primary": "#f1553a", "secondary": "#1d93b2", "tertiary": "#b8c05d", "accent": "#fcbb1a", "modes": { "light": { "text": "#050708", "background": "#ffffff", "muted": "#666666", "highlight": "#efefef" }, "dark": { "text": "#dddddd", "background": "#050708", "muted": "#898989", "highlight": "#333333" } } } }
Components
DarkModeToggle
Toggles dark mode using Theme UI's useColorMode()
.
Footer
Global footer on this website.
Greeting
This is the banner at the top of my index page and my resume.
👋 Hi, I'm Andrew M Westling, a software engineer in Brooklyn, NY.
Header
Global header on this website.
Message
I use this block at the top of pages to give a TL;DR summary of what you're about to read.
This is a Message. I use it at the top of page to summarize what the page is about.
Maybe it's just a response to a shortened attention span, but it's nice to have a TL;DR sometimes.
Sometimes, these include links to external pages. To include an external link, do it like this.
PhotoOfMe
This is the photo of me on the index page, and the caption/attribution.
Buttons
These are buttons, for use wherever a button is needed.
TidbytGif
This is to display a Tidbyt preview gif with the nicer "rounded" appearance from Pixlet's UI.