Skip to content

Commit 3a9bb7c

Browse files
authored
feat: march newsletter (#4289)
* feat: march newsletter * chore: sitemap * chore: img styles and anchor headings * chore: img fix * chore: one final img
1 parent eece462 commit 3a9bb7c

File tree

9 files changed

+176
-0
lines changed

9 files changed

+176
-0
lines changed

cypress/integration/sitemap-vrt/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export const SITEMAP = [
2424
"/blog/2024-07-17-paste-newsletter/",
2525
"/blog/2024-08-23-paste-newsletter",
2626
"/blog/2024-11-07-paste-newsletter/",
27+
"/blog/2025-03-20-paste-newsletter/",
2728
"/blog/2025-03-20-css-variables-ssr-ssg/",
2829
"/components/account-switcher/",
2930
"/components/account-switcher/api",
672 KB
Loading
312 KB
Loading
180 KB
Loading
185 KB
Loading
1.41 MB
Loading
1.27 MB
Loading
159 KB
Loading
Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
export const meta = {
2+
title: "Paste Design System Newsletter - March 2025 Edition",
3+
slug: "/blog/2025-03-20-paste-newsletter/",
4+
date: "2025-03-20",
5+
author: 'Paste',
6+
avatar: 'https://avatars.githubusercontent.com/t/3335688?s=280&v=4',
7+
excerpt: "What's new in Paste in March 2025? React 19, new wireframe theme, and more!",
8+
};
9+
10+
import Image from "next/image";
11+
import { Box } from "@twilio-paste/box";
12+
13+
import { ResponsiveImage } from "../../components/ResponsiveImage";
14+
import { ResponsiveBorderedImage } from "../../components/ResponsiveBorderedImage";
15+
16+
import PasteTeam from "../../assets/images/articles/2025-03-20-paste-newsletter/paste-team.png";
17+
import Elevation from "../../assets/images/articles/2025-03-20-paste-newsletter/elevation.png";
18+
import Wireframe from "../../assets/images/articles/2025-03-20-paste-newsletter/wireframe.png";
19+
import KeyboardKey from "../../assets/images/articles/2025-03-20-paste-newsletter/keyboard-key.png";
20+
import Blockquote from "../../assets/images/articles/2025-03-20-paste-newsletter/blockquote.png";
21+
import Tony from "../../assets/images/articles/2025-03-20-paste-newsletter/tony.png";
22+
import AI from "../../assets/images/articles/2025-03-20-paste-newsletter/ai.gif";
23+
24+
import DefaultLayout from "../../layouts/DefaultLayout";
25+
import { getNavigationData } from "../../utils/api";
26+
27+
export default DefaultLayout;
28+
29+
export const getStaticProps = async () => {
30+
const navigationData = await getNavigationData();
31+
return {
32+
props: {
33+
navigationData,
34+
},
35+
};
36+
};
37+
38+
<ArticleHeader
39+
title={meta.title}
40+
description={meta.description}
41+
date={meta.date}
42+
machineDate={meta.date}
43+
author={meta.author}
44+
avatar={meta.avatar}
45+
/>
46+
47+
---
48+
49+
<contentwrapper>
50+
51+
<PageAside data={mdxHeadings} hideFeedback />
52+
53+
<ArticleContent>
54+
55+
## 👋 Hello from Paste!
56+
57+
It’s been a while since we’ve hit your inbox, so we wanted to introduce ourselves in case you’re new or haven’t hit us up in a while. We’ve been hard at work collaborating with the Brand, Commerce, and AI teams (on Voice, Flex, and Messaging), but as always, we’re available on [Github Discussions](https://github.com/twilio-labs/paste/discussions) and [office hours](https://docs.google.com/spreadsheets/d/10vD91zdwr9hjgDOV3HSGnoC0LgvYw-thmn3X_kvW0xk/edit?gid=800758837#gid=800758837).
58+
59+
<Box width="100%" maxWidth="600px" display="block" margin="0 auto">
60+
<ResponsiveBorderedImage src={PasteTeam} alt="Paste team members: Jhanvi Bhatia, Kristian Antrobus, Nora Krantz, Roxana Gómez, Sarah Li, Shoaib Ahmed, Tony Ip" />
61+
</Box>
62+
63+
**Engineering team**: Kristian Antrobus, Nora Krantz, Shoaib Ahmed <br/>
64+
**Design team**: Jhanvi Bhatia, Roxana Gómez, Sarah Li, Tony Ip
65+
66+
## 📣 What was new in Paste?
67+
68+
### 🚀 React 19 support 🚀
69+
70+
The latest version release includes full support for Paste within a React 19 app. No changes should be necessary for consuming applications – this change should be 100% backwards compatible (with a minimum of React v17.0.2). Please let us know if you experience any issues by [opening a Github Discussion](https://github.com/twilio-labs/paste/discussions/new/choose).
71+
72+
*Note: only the three latest versions of React are supported with Paste, so React 16 support is no longer guaranteed.*
73+
74+
### Elevation foundations
75+
76+
<Box width="100%" maxWidth="600px" display="block" margin="0 auto">
77+
<ResponsiveBorderedImage src={Elevation} alt="Elevation foundations documentation" />
78+
</Box>
79+
80+
Elevation represents how "close" or "far" an element feels from the user in a digital context, using a combination of shadows, colors and overlays to create a layering effect, making elements feel distinct, focused or prioritized. [Take a look at the new guidelines](/foundations/elevation) for context on styles used in Paste components or for direction on styling your own custom components with elevation.
81+
82+
### Figma wireframe theme
83+
84+
<Box width="100%" maxWidth="600px" display="block" margin="0 auto">
85+
<ResponsiveBorderedImage src={Wireframe} alt="Figma wireframe theme" />
86+
</Box>
87+
88+
A wireframe theme is now available in Figma! This theme can help with testing design concepts, presenting early work, and learning and iterating rapidly.
89+
90+
Huge thanks to **Sam Muñoz** for contributing this theme, and his amazing work in learning about theming in Paste and iterating quickly based on feedback. [Watch this video on how to apply the wireframe theme](https://www.loom.com/share/cea84863304c437ca1ecb95df560f010?sid=5ecd699b-5e26-47b9-8b43-e6fcbe834f71), and send Sam any feedback you have.
91+
92+
If you’re an engineer who would find a theme like this helpful in code, please reach out to us in a [Github Discussion](https://github.com/twilio-labs/paste/discussions)
93+
94+
### Keyboard Key component
95+
96+
<Box width="100%" maxWidth="400px" display="block" margin="0 auto">
97+
<ResponsiveBorderedImage src={KeyboardKey} alt="Keyboard Key component example" />
98+
</Box>
99+
100+
[Keyboard Key](/components/keyboard-key) is a styled text component intended to differentiate keyboard commands and shortcuts from other types of text. The component also includes a `pressed` state, adjusting styles to provide feedback to the user when the given key is active.
101+
102+
### Blockquote and Example Text components
103+
104+
<Box width="100%" maxWidth="400px" display="block" margin="0 auto">
105+
<ResponsiveBorderedImage src={Blockquote} alt="Blockquote and Example Text components" />
106+
</Box>
107+
108+
A [Blockquote](/components/blockquote) is a stylized text wrapper for a quotation and source, while [Example Text](/components/example-text) is a stylized text wrapper that distinguishes user input examples from body text. Both can be used to enhance readability and understanding of written text.
109+
110+
### Typewriter animations in AI Chat Log
111+
112+
<Box marginBottom="space60" display="flex" justifyContent="center">
113+
<Box
114+
as={Image}
115+
maxWidth="80%"
116+
borderColor="colorBorderWeaker"
117+
borderStyle="solid"
118+
borderWidth="borderWidth10"
119+
borderRadius="borderRadius20"
120+
height="100%"
121+
src={AI}
122+
alt="AI Chat Log with typewriter animations"
123+
style={{ objectFit: "contain" }}
124+
/>
125+
</Box>
126+
127+
128+
[Typewriter animations](/components/ai-chat-log#animating) now work out-of-the-box on the AI Chat Log component. Use the animated prop on messages returned from the AI in order to implement the typewriter animations. The animations will perform well even with non-text components in the body of the AI message.
129+
130+
### Additional updates
131+
132+
- Combobox (Figma): Added a slot to Combobox options
133+
- [Icons](/components/icon): Added rich content icons for Content Template Builder in Flex and Messaging
134+
- [Side Modal](/components/side-modal): Footer actions are now aligned on the left by default
135+
- [Side Panel](/components/side-panel): Zhuzh’d the responsive behavior
136+
137+
## ✨ Pastemates™ spotlight
138+
139+
*Pastemates are individuals and teams who have been critical contributors to Paste, through advocating for adoption within their products and channeling important feedback and contributions back into the system.*
140+
141+
<Box width="100%" maxWidth="200px" display="block" margin="0 auto">
142+
<ResponsiveBorderedImage src={Tony} alt="image of Tony Ip" />
143+
</Box>
144+
145+
In this edition of Pastemates, we’re spotlighting an interim addition to the design systems team: Tony Ip!
146+
147+
Tony joins us from the Flex Mobile Platform team, where he recently created the Design Guideline and UI Kit for Flex Mobile following its Public Beta launch. Over his 7 years at Twilio, including time at Zipwhip, he worked on the Zipwhip Mobile App, Zipwhip Embeddables, 10DLC, AMB, RCS, Twilio Frontline, and Twilio Flex. He is now working on an Address validation pattern with the Commerce Team.
148+
149+
Residing in Seattle, Tony enjoys watching suspenseful TV series, gardening, tackling home improvement projects, and building out his camper.
150+
151+
## 👀 What we're working on next
152+
153+
| Feature | Description |
154+
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
155+
| **Refined AI Experiences** | In collaboration with the Voice, Flex, and Messaging teams, research and iterate on the Artificial Intelligence experience guidelines and AI Chat Log component.|
156+
| **Form pattern and refined form fields** | Holistic guidelines on how to structure and lay out forms, working off a previous contribution (thanks, Andy Doyle!), along with an update to the visual design of form fields. |
157+
| **Design Address validation pattern** | In collaboration with the Commerce team, design guidelines, layout, and validation rules when asking customers for addresses. |
158+
159+
<Box marginBottom="space120" />
160+
161+
See you next time! 👋
162+
163+
<em>— The UX Infrastructure Team
164+
165+
<br />
166+
<br />
167+
Engineering team: Kristian Antrobus, Nora Krantz, Shoaib Ahmed
168+
<br />
169+
Design team: Jhanvi Bhatia, Roxana Gómez, Sarah Li, Tony Ip
170+
171+
</em>
172+
173+
</ArticleContent>
174+
175+
</contentwrapper>

0 commit comments

Comments
 (0)