Skip to content

Commit df7c98c

Browse files
committed
Add assets to blog post
1 parent 4b35896 commit df7c98c

File tree

8 files changed

+16
-12
lines changed

8 files changed

+16
-12
lines changed
Loading
Loading
Loading
Loading
Binary file not shown.
Loading

src/pages/blog/catalyst-v0-1-0/index.mdx

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { adamwathan } from '@/authors'
22
import card from './card.png'
3+
import video from './catalyst-switch.mp4'
34

45

56
export const meta = {
@@ -19,7 +20,7 @@ Today's the day — we just released Catalyst v0.1.0, our first fully-componenti
1920

2021
**Today's the day** — we just hit the deploy button on [Catalyst v0.1.0](https://tailwindui.com/templates/catalyst), just in time for your holiday hacking sessions.
2122

22-
![Overview of components included in Catalyst v0.1.0](./banner.png)
23+
![Overview of components included in Catalyst v0.1.0](./catalyst-ui-kit.png)
2324

2425
**Catalyst is our first fully-componentized, batteries-included application UI kit** — real React components with thoughtfully designed APIs that build on each other to create a real component architecture, the same way we'd do it in a real application.
2526

@@ -53,29 +54,32 @@ Getting the visual style right on a project like this is hard. We went into it w
5354

5455
It took a lot of work and there were a lot of trade-offs to balance, but I'm really in love with where we ended up:
5556

56-
_Some sort of image showcasing the visual style_
57+
![](./catalyst-states.png)
5758

5859
**To be competitive**, we invested in lots of details like subtle backdrop blurs on dropdown menus, perfecting the way shadows and borders blend with each other on form controls, and thoughtful use of animation in things like dialogs and toggle switches.
5960

60-
_Some image showing the stuff I mentioned above_
61+
![](./catalyst-shadows.png)
6162

6263
**To be timeless**, we tried to strike the right balance between flat and skeuomorphic design, with just enough depth cues that our components will look great even if the trends change a bit in either direction.
6364

64-
_Something showing off button design probably_
65+
![](./catalyst-buttons.png)
6566

6667
We also took inspiration from the browser, and used unopinionated blue focus rings to avoid picking a treatment that might soon look out of fashion.
6768

68-
_Something showing off focus rings_
69-
7069
**To be productive**, we worked carefully to make sure there was still plenty of whitespace, but that the UI was still dense enough to fit plenty of information on the screen.
7170

72-
_Something showing tables probably_
71+
![](./catalyst-table.png)
7372

7473
We also limited our use of transitions and animations only to places where it felt important, and even then tried to keep them fast so it never feels like you're waiting on the UI.
7574

75+
<div className="my-8 relative rounded-2xl overflow-hidden">
76+
<div className="absolute inset-0 rounded-2xl ring-1 ring-inset ring-slate-900/10 pointer-events-none"></div>
77+
<video src={video} autoPlay playsInline loop muted className="block m-0"/>
78+
</div>
79+
7680
**Catalyst also ships with full dark mode support**, and anything you build with Catalyst components automatically adapts between light and dark modes.
7781

78-
_Something showing dark mode_
82+
![](./catalyst-dark-mode.png)
7983

8084
It's not obvious, but there are a ton of little details we had to change to make things look their best in dark mode, like adjusting shadows, changing outer rings to inner rings to mimic the change in lighting, and more.
8185

@@ -88,7 +92,7 @@ We spent a _lot_ of time working on the component APIs, trying very hard to make
8892

8993
It's common for UI libraries to use APIs like this:
9094

91-
```jsx
95+
```jsx {{ filename: 'JSX', style: 'framed', color: 'pink' }}
9296
function Example() {
9397
return (
9498
<TextField
@@ -106,7 +110,7 @@ Ultimately that led us to APIs that closely mirrored HTML, where it's rare that
106110

107111
Creating a text field with Catalyst looks like this for example:
108112

109-
```jsx
113+
```jsx {{ filename: 'JSX', style: 'framed', color: 'indigo' }}
110114
import { Description, Field, Label } from '@/components/fieldset'
111115
import { Input } from '@/components/input'
112116

@@ -124,7 +128,7 @@ function Example() {
124128
By keeping things composable like this, it makes it really easy to do things like constrain the width of the input, without constraining the width of any of the other elements:
125129
126130
127-
```diff-jsx
131+
```diff-jsx {{ filename: 'JSX', style: 'framed', color: 'fuchsia' }}
128132
import { Description, Field, Label } from '@/components/fieldset'
129133
import { Input } from '@/components/input'
130134
@@ -142,7 +146,7 @@ By keeping things composable like this, it makes it really easy to do things lik
142146

143147
It also makes it easy to move the description _below_ the input, instead of above:
144148

145-
```diff-jsx
149+
```diff-jsx {{ filename: 'JSX', style: 'framed', color: 'sky' }}
146150
import { Description, Field, Label } from '@/components/fieldset'
147151
import { Input } from '@/components/input'
148152

0 commit comments

Comments
 (0)