Commit Graph

113 Commits

Author SHA1 Message Date
streamdown-github-app[bot] c0d45ca15a Version Packages (#126)
Co-authored-by: streamdown-bot[bot] <streamdown-bot[bot]@users.noreply.github.com>
2025-09-15 21:02:49 -07:00
Hayden Bleasel f34c039d40 fix: 121 br in markdown tables from gpt oss seem encoded or printed to output (#146)
* Add rehype-raw to allow HTML elements in markdown

* Create angry-crews-beg.md
2025-09-15 20:47:51 -07:00
Hayden Bleasel 0ebf67db1d 1.3 changes (#145)
* Bump deps

* Run Ultracite

* Update code-block.tsx

* Update parse-blocks.tsx

* Create great-pants-trade.md
2025-09-15 20:35:31 -07:00
Francisco Moretti 64b5afa904 feat: memoize components to prevent child re-renders (#45)
* chore(markdown): memoize components to prevent child re-renders

This PR memoizes Markdown components to prevent re-renders in children. I'll include a video.

Start as draft.

Note: This fix doesn't solve `anchor` because of how `hardern-react-markdown` works.

* changeset

* Draft section

* Revert "Draft section"

This reverts commit df4c3aca05.

* fix: remove unused 'node' prop from MemoLi component

* fix imports

* feat: add ImageComponent to components export and update memoization for Markdown elements

- Introduced `ImageComponent` for handling images in Markdown.
- Updated memoization for various Markdown elements to improve performance.
- Cleaned up import statements for consistency.

* fix: update image component to use MemoImg for improved performance

- Replaced `ImageComponent` with `MemoImg` in the components export.
- This change enhances memoization for image handling in Markdown.

* Change streamdown version and memoize components

Updated streamdown version from patch to minor and added feature to memoize components.

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-09-15 13:13:40 -07:00
2hu 20330ba822 feat: add table text/html copy (#130) 2025-09-15 12:12:40 -07:00
Pere Montpeó d29281ed59 fix: update background color in TableDownloadDropdown component (#133)
* fix: update background color in TableDownloadDropdown component

* chore: changeset
2025-09-15 12:10:38 -07:00
Cris 11b347e044 fix: prevent runtime error by falling back for unsupported languages in Shiki (#136)
* fix(code-blocks): unsupported programming languages fallback to plain text

* chore: created a changeset for unsupported languages fallback

* refactor(supported-shiki-languages): removed redundant supported languages type

* revert pnpm-lock.yaml to match upstream/main

* removed extra space

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>

---------

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-09-15 12:09:29 -07:00
Machiel 73b17a4d0b showControls to show and hide copy/download buttons (#138)
* feat: add showControls prop to control copy/download button visibility.

* feat: Add documentation for `showControls`.

* feat: Add tests for `showControls`.

* feat: add showControls prop to control copy/download button visibility.

* Rename showControls to controls

* Fix conditional hooks

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-09-15 12:08:03 -07:00
17hz 333df85cd2 Update moduleResolution in tsconfig.json to bundler (#143)
* Update moduleResolution in tsconfig.json to bundler

* Create lovely-windows-care.md

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-09-15 12:04:53 -07:00
sunjie21 ecb929abb8 fix: long link text overflows (#139) 2025-09-15 10:38:15 -07:00
2hu d583b1f582 chore: marked tree-shaking(possible) (#116) 2025-09-10 21:13:36 -07:00
Ayhan Sipahi d2edc9012d feat: add custom Mermaid configuration support (#122)
* feat: add custom Mermaid configuration support

* ci: add change set

* fix: optimize mermaid config comparison and initialization
2025-09-10 21:12:25 -07:00
John McCambridge 266fa2be95 Fix/word internal underscores (#125)
* handle case for internal underscore

* fix: word-internal underscores incorrectly treated as incomplete markdown

* chore: remove redundant coverage

* fix: word internal underscores

* fix: handle non-unicode
2025-09-10 21:09:58 -07:00
streamdown-github-app[bot] fc09c5af50 Version Packages (#101)
Co-authored-by: streamdown-bot[bot] <streamdown-bot[bot]@users.noreply.github.com>
2025-09-04 21:52:10 -07:00
Hayden Bleasel 8511d5de18 Update table.tsx 2025-09-04 21:36:57 -07:00
Hayden Bleasel 36ce0b0237 Update table.tsx 2025-09-04 21:35:37 -07:00
Hayden Bleasel c3a2eaaca7 V1.2 misc fixes (#105)
* Add type safety to remark plugins

* Move harden-react-markdown defaults to props

* Change switch to if to avoid default clause

* Use save-file for table

* Use for-of

* Write custom save function

* Remove use of state in image

* Update image.tsx

* Use existing save function

* Create khaki-facts-fly.md
2025-09-04 21:25:45 -07:00
Hayden Bleasel fa7733c918 1.2 cleanup (#104)
* Bump deps

* Run Ultracite

* Replace custom download code with file-saver

* Export with correct file extension

* Update code-block.tsx

* Replace file-saver with save-file

* Add button animations

* Add file support to test app

* Add ability to select model in test app

* Filter out embedding models

* Update chat.tsx

* Create olive-lamps-glow.md
2025-09-04 19:00:25 -07:00
Milind Mishra a4a10fcd8d feat: add image download functionality with hover controls (#103)
* feat: add image download functionality

* feat: add changeset

* fix: misc nitpicks
2025-09-04 17:38:25 -07:00
Milind Mishra 435a2c6230 feat: add download functionality to code blocks (#102)
* feat: add code block download capablity

* feat: add change set
2025-09-04 17:29:17 -07:00
Hayden Bleasel bc3f423353 fix: parseincompletemarkdown lists emphasis character block issue (#100)
* handle lists with emphasis character blocks

* Create good-maps-sneeze.md

* Update components.test.tsx
2025-09-04 15:31:20 -07:00
Milind Mishra 3fab433c28 feat: add table markdown copy and csv/markdown download options (#99)
* feat: add table markdown copy and csv and markdown download options

* fix: update table copy button title to lowercase

* Update packages/streamdown/lib/table.tsx

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>

* Update packages/streamdown/lib/table.tsx

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>

* feat: nitpicks

* feat: add changeset

* fix: address table copy event handler nitpicks

* Update packages/streamdown/lib/table.tsx

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>

---------

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-09-04 14:34:22 -07:00
streamdown-github-app[bot] f264e984e3 Version Packages (#93)
Co-authored-by: streamdown-bot[bot] <streamdown-bot[bot]@users.noreply.github.com>
2025-09-03 15:46:21 -07:00
Hayden Bleasel 426c8970ee fix: parseincompletemarkdown emphasis character block issue (#94)
* Handle trailing markdown

* Fix nested italics

* Create old-facts-beg.md
2025-09-03 15:27:19 -07:00
Taesu 4459b14a5d feat: adjust table component (#92)
* feat: apply whitespace-nowrap to th and match table colors with CodeBlock

* test: update thead/tbody test codes

* chore: add changeset for table component update

* test: adjust th test code
2025-09-03 14:41:53 -07:00
streamdown-github-app[bot] 7a128a2701 Version Packages (#87)
Co-authored-by: streamdown-bot[bot] <streamdown-bot[bot]@users.noreply.github.com>
2025-09-03 09:57:11 -07:00
Hayden Bleasel 5a50f22008 Bump deps (#89)
* Bump deps

* Transpile shiki

* Create afraid-kiwis-bathe.md

* Update biome.jsonc

* Ignore shadcn files

* Run Ultracite

* Run unsafe fixes
2025-09-03 09:56:07 -07:00
Hayden Bleasel 4737c9928d fix: streaming lists long items break to a new line once the next token / element arrives (#88)
* Update components.tsx

* Create rotten-ravens-start.md
2025-09-03 09:47:24 -07:00
野迂迂 23d8efe332 fix: resolve onCopy function called multiply times (#86)
* fix: resolve onCopy function called multiply times

* chore: add changeset

* fix: update copied condition
2025-09-03 09:37:08 -07:00
streamdown-github-app[bot] 066e213671 Version Packages (#81)
Co-authored-by: streamdown-bot[bot] <streamdown-bot[bot]@users.noreply.github.com>
2025-09-02 19:43:43 -07:00
Hayden Bleasel f45ea6d7d2 fix: the unterminated long link text is not rendering anything until the full link has completed streaming (#85)
* Update terminator-parser.tsx

* Automatically close links with placeholder url

* Create yummy-lines-matter.md
2025-09-02 19:35:54 -07:00
Hayden Bleasel bda3134b52 add rtl unit tests (#84)
* Create rtl-support.test.tsx

* Create upset-eggs-own.md

* Update rtl-support.test.tsx
2025-09-02 18:26:25 -07:00
Hayden Bleasel 76b68bfa70 fix: more data attributes for code block elements (#82)
* add more code block data attributes

* Create brown-goats-serve.md
2025-09-02 17:46:48 -07:00
Hayden Bleasel faba69f08f fix: regression displaying multiple language code blocks (#80)
* Support multiple simultaneous code blocks with different languages

Refactored code block highlighter logic to allow rendering multiple code blocks with different languages at the same time. Added tests to verify correct rendering and language labeling for multiple and rapid sequential code blocks. Introduced HighlighterManager to manage highlighter instances and loaded languages efficiently.

* Create petite-steaks-sit.md
2025-09-02 17:24:28 -07:00
streamdown-github-app[bot] 520dd6d4a0 Version Packages (#66)
Co-authored-by: streamdown-bot[bot] <streamdown-bot[bot]@users.noreply.github.com>
2025-09-02 09:44:30 -07:00
Hayden Bleasel 6e0f722d70 fix: rendering code blocks throws csp errors using vite build (#77)
* Update code-block.tsx

* Create eighty-regions-make.md
2025-09-02 09:14:10 -07:00
Taesu e7f040232e Redesign CodeBlock for improved UX (#69)
* feat: redesign CodeBlock component

* test: update CodeBlock tests for new structure

* chore: add changeset for CodeBlock redesign

* fix: move CodeBlock copy button to top-right

* fix: prevent state update on unmounted CodeBlock

* Update cold-mirrors-see.md

* Update code-block.tsx

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-09-02 08:29:09 -07:00
2hu 04b6e787d6 chore: sync README (#75)
* chore: sync README

* Update packages/streamdown/README.md

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-09-02 08:23:16 -07:00
Hayden Bleasel 6751cbba48 fix katex post-processing (#65) 2025-08-28 12:40:25 -07:00
streamdown-github-app[bot] 57ad869111 Version Packages (#63)
Co-authored-by: streamdown-bot[bot] <streamdown-bot[bot]@users.noreply.github.com>
2025-08-28 11:05:50 -07:00
Hayden Bleasel 69fb1e0db4 fix single dollar sign text rendering as math (#64)
* Disable singleDollarTextMath

* Create wet-islands-slide.md

* Update tests

* Update mathematics.tsx

* Update wet-islands-slide.md

* Revert "Update wet-islands-slide.md"

This reverts commit 3e8f80aa63.
2025-08-28 11:04:34 -07:00
streamdown-github-app[bot] 593b021da0 Version Packages (#60)
Co-authored-by: streamdown-bot[bot] <streamdown-bot[bot]@users.noreply.github.com>
2025-08-28 10:16:45 -07:00
Hayden Bleasel e01669bd4e Add test app (#62)
* Scaffold test app

* Wire up AI SDK + Gateway

* Finish test app

* Resolves #53

* For #55

* Update config.json

* Create fuzzy-zoos-drive.md
2025-08-28 10:16:25 -07:00
2hu bf8c798501 docs: add defaultOrigin prop to README (#57)
* docs: add defaultOrigin prop to README

* Update README.md

* Create strong-apes-stop.md

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-08-28 09:15:07 -07:00
Hayden Bleasel 593e49eb92 fix multiple renders of the same mermaid diagram (#59)
* Improve stable ID

* Update mermaid.tsx

* Create social-bugs-doubt.md
2025-08-28 08:50:05 -07:00
streamdown-github-app[bot] 913351d200 Version Packages (#46)
Co-authored-by: streamdown-bot[bot] <streamdown-bot[bot]@users.noreply.github.com>
2025-08-26 21:02:39 -07:00
Hayden Bleasel 5fbad80f2f fix bug with terminating lists on certain models (#49)
* fix asterisk list termination

* Create fancy-snails-march.md
2025-08-26 21:01:30 -07:00
Hayden Bleasel 13898aa987 feat: add data attributes to markdown components (#48)
* Add data-streamdown attributes to components

Added data-streamdown attributes to various rendered components for improved DOM identification and targeting. This enhances testability and integration with other tools that rely on custom data attributes.

* Create little-buses-lick.md

* Update verify-changesets.yml
2025-08-26 20:45:40 -07:00
Chenalejandro 390bbc73af temporary fix for error color in rehype katex (#44)
* fix

* Hardcode muted foreground color

* Update index.tsx

* Create metal-hotels-doubt.md

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-08-26 15:43:30 -07:00
17hz 5f4ed3d30c chore: remove package-lock.json (#42)
* chore: remove package-lock.json

* chore: ignore package-lock.json

* Create modern-groups-ring.md

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-08-26 10:20:04 -07:00