diff --git a/cypress/integration/sitemap-vrt/constants.ts b/cypress/integration/sitemap-vrt/constants.ts index fcf0b3ee93..09aac8de56 100644 --- a/cypress/integration/sitemap-vrt/constants.ts +++ b/cypress/integration/sitemap-vrt/constants.ts @@ -24,6 +24,7 @@ export const SITEMAP = [ "/blog/2024-07-17-paste-newsletter/", "/blog/2024-08-23-paste-newsletter", "/blog/2024-11-07-paste-newsletter/", + "/blog/2025-03-20-paste-newsletter/", "/blog/2025-03-20-css-variables-ssr-ssg/", "/components/account-switcher/", "/components/account-switcher/api", diff --git a/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/ai.gif b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/ai.gif new file mode 100644 index 0000000000..c6d9c7b92e Binary files /dev/null and b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/ai.gif differ diff --git a/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/blockquote.png b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/blockquote.png new file mode 100644 index 0000000000..76aa084c10 Binary files /dev/null and b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/blockquote.png differ diff --git a/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/elevation.png b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/elevation.png new file mode 100644 index 0000000000..b221c1e864 Binary files /dev/null and b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/elevation.png differ diff --git a/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/keyboard-key.png b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/keyboard-key.png new file mode 100644 index 0000000000..9ead9cae1c Binary files /dev/null and b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/keyboard-key.png differ diff --git a/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/paste-team.png b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/paste-team.png new file mode 100644 index 0000000000..91cf2074b5 Binary files /dev/null and b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/paste-team.png differ diff --git a/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/tony.png b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/tony.png new file mode 100644 index 0000000000..1473c8ca78 Binary files /dev/null and b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/tony.png differ diff --git a/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/wireframe.png b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/wireframe.png new file mode 100644 index 0000000000..5ecbd17c93 Binary files /dev/null and b/packages/paste-website/src/assets/images/articles/2025-03-20-paste-newsletter/wireframe.png differ diff --git a/packages/paste-website/src/pages/blog/2025-03-20-paste-newsletter.mdx b/packages/paste-website/src/pages/blog/2025-03-20-paste-newsletter.mdx new file mode 100644 index 0000000000..5d0a088297 --- /dev/null +++ b/packages/paste-website/src/pages/blog/2025-03-20-paste-newsletter.mdx @@ -0,0 +1,175 @@ +export const meta = { + title: "Paste Design System Newsletter - March 2025 Edition", + slug: "/blog/2025-03-20-paste-newsletter/", + date: "2025-03-20", + author: 'Paste', + avatar: 'https://avatars.githubusercontent.com/t/3335688?s=280&v=4', + excerpt: "What's new in Paste in March 2025? React 19, new wireframe theme, and more!", +}; + +import Image from "next/image"; +import { Box } from "@twilio-paste/box"; + +import { ResponsiveImage } from "../../components/ResponsiveImage"; +import { ResponsiveBorderedImage } from "../../components/ResponsiveBorderedImage"; + +import PasteTeam from "../../assets/images/articles/2025-03-20-paste-newsletter/paste-team.png"; +import Elevation from "../../assets/images/articles/2025-03-20-paste-newsletter/elevation.png"; +import Wireframe from "../../assets/images/articles/2025-03-20-paste-newsletter/wireframe.png"; +import KeyboardKey from "../../assets/images/articles/2025-03-20-paste-newsletter/keyboard-key.png"; +import Blockquote from "../../assets/images/articles/2025-03-20-paste-newsletter/blockquote.png"; +import Tony from "../../assets/images/articles/2025-03-20-paste-newsletter/tony.png"; +import AI from "../../assets/images/articles/2025-03-20-paste-newsletter/ai.gif"; + +import DefaultLayout from "../../layouts/DefaultLayout"; +import { getNavigationData } from "../../utils/api"; + +export default DefaultLayout; + +export const getStaticProps = async () => { + const navigationData = await getNavigationData(); + return { + props: { + navigationData, + }, + }; +}; + + + +--- + + + + + + + +## 👋 Hello from Paste! + +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). + + + + + +**Engineering team**: Kristian Antrobus, Nora Krantz, Shoaib Ahmed
+**Design team**: Jhanvi Bhatia, Roxana Gómez, Sarah Li, Tony Ip + +## 📣 What was new in Paste? + +### 🚀 React 19 support 🚀 + +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). + +*Note: only the three latest versions of React are supported with Paste, so React 16 support is no longer guaranteed.* + +### Elevation foundations + + + + + +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. + +### Figma wireframe theme + + + + + +A wireframe theme is now available in Figma! This theme can help with testing design concepts, presenting early work, and learning and iterating rapidly. + +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. + +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) + +### Keyboard Key component + + + + + +[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. + +### Blockquote and Example Text components + + + + + +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. + +### Typewriter animations in AI Chat Log + + + + + + +[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. + +### Additional updates + +- Combobox (Figma): Added a slot to Combobox options +- [Icons](/components/icon): Added rich content icons for Content Template Builder in Flex and Messaging +- [Side Modal](/components/side-modal): Footer actions are now aligned on the left by default +- [Side Panel](/components/side-panel): Zhuzh’d the responsive behavior + +## ✨ Pastemates™ spotlight + +*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.* + + + + + +In this edition of Pastemates, we’re spotlighting an interim addition to the design systems team: Tony Ip! + +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. + +Residing in Seattle, Tony enjoys watching suspenseful TV series, gardening, tackling home improvement projects, and building out his camper. + +## 👀 What we're working on next + +| Feature | Description | +| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **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.| +| **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. | +| **Design Address validation pattern** | In collaboration with the Commerce team, design guidelines, layout, and validation rules when asking customers for addresses. | + + + +See you next time! 👋 + +— The UX Infrastructure Team + +
+
+Engineering team: Kristian Antrobus, Nora Krantz, Shoaib Ahmed +
+Design team: Jhanvi Bhatia, Roxana Gómez, Sarah Li, Tony Ip + +
+ +
+ +