feat: render Discord Components V2#89
Merged
Merged
Conversation
|
|
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds rendering for Discord's Components V2 — the layout/content components that
carry visible message content (Container, Section, Text Display, Media Gallery, File,
Separator, Thumbnail). Previously only Action Rows + Buttons were rendered and
everything else in
message.componentswas dropped.With Components V2 a message's top-level
componentscan be any of these (not justAction Rows), so the dispatch was reworked to route each top-level component through a
single switch that handles both the existing interactive components and the new ones.
Components added
accent_colorstripe andspoilerMarkdownpipelineShared additions: a reusable
Spoiler(click-to-reveal) and aMediaItem(image/video)helper. All styling uses the existing stitches theme tokens.
Action Rows, Buttons and select menus are unchanged — select menus still render as
nothing (unchanged behaviour); buttons now also render when nested inside a Container or
as a Section accessory.
Bumps
discord-api-types0.37 → 0.38, which is required for the V2 component types(
APIContainerComponent,APISectionComponent,APIMessage.componentsas the top-levelunion, etc.). 0.37 had no V2 component types. This changes the exported message/component
types, so it warrants a major release. (
ButtonStyle.Premium, new in 0.38, is now mappedin the button style table.)
Storybook
Added
ComponentsV2.stories.tsxwith stories for Container, Text Display, Section, MediaGallery, File and Separators.