Commit Graph

99 Commits

Author SHA1 Message Date
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
Hayden Bleasel 72b485dce6 Update package.json 2025-08-25 17:46:22 -07:00
Hayden Bleasel a03629c59a Manual version bump 2025-08-25 17:45:38 -07:00
github-actions[bot] 929a8f3599 Version Packages (#36)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-25 17:41:09 -07:00
Hayden Bleasel 5ccfe24093 Resolves #5 2025-08-25 17:40:31 -07:00
Hayden Bleasel f834892754 fix: codeblock dark mode and background (#40)
* Add theme provider

* Update footer.tsx

* Update code blocks

* Create yellow-webs-follow.md

* Accept two shiki themes

* Update index.tsx

* Misc fixes
2025-08-25 17:32:34 -07:00
Hayden Bleasel 045907f841 fix: handleincompletesingleunderscoreitalic is not accounting for the usage inside math equations (#38)
* Fix underscores in math equations

* Create cuddly-goats-warn.md
2025-08-25 16:30:23 -07:00
Hayden Bleasel dc9ab5fffb Fix unit tests (#37)
* Fix failing unit tests

* Add test suite to PR and Release workflows

* Create short-swans-rush.md
2025-08-25 16:29:57 -07:00
Hayden Bleasel 6093353163 Update package.json 2025-08-25 12:24:51 -07:00
Hayden Bleasel 5ce9e33e20 Suppress error rendering 2025-08-25 12:24:28 -07:00
Hayden Bleasel ae0881caff Automatic diagrams (#34)
* Update demo copy

* Extract Code component

* Merge Code components

* Update mermaid.tsx

* Update mermaid.tsx

* Intelligently render "cached" valid Mermaid diagram

* Update components.tsx

* Fix infinite loop

* Update package.json
2025-08-25 11:41:57 -07:00
Francisco Moretti 9fc596354c fix(Response): language available on code element, not pre (#16)
* fix(Response): language available on code element, not pre

Infer code language from the className on the code element (not from pre).

The className prop on the component is a string. The node.properties.classname is an array of class tokens. We use className with a regex to extract the language.

Default language plaintext. Happy to change this if JS is a better default.

* fix div inside pre

* fix(components): update regex for language extraction

Changed the regex in components.tsx to allow for non-whitespace characters in language class names, improving language detection for code blocks.

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-08-25 11:03:58 -07:00
Ayhan Sipahi d528e25ac1 feat: Add Interactive Mermaid Diagram Support with Manual Rendering (#18)
* feat: add Mermaid diagram support to Streamdown

- Add Mermaid package dependency
- Create Mermaid component with error handling
- Integrate Mermaid support in markdown components
- Add Mermaid demo to website
- Update README with Mermaid examples
- Add comprehensive tests for Mermaid component

* feat(mermaıd): lazy load mermaid

* feat: add interactive Mermaid diagram support with manual render buttons

* perf: optimize Mermaid initialization to prevent config conflicts

* fix: extract pre component to resolve React Hooks Rules violation

* fix: add error handling and unique ID generation

* fix: conditionally render Mermaid button only for Mermaid code blocks
2025-08-25 10:58:33 -07:00
Arnav K be33778983 chore: update lucide-react dependency to fix virus error w/ vite (#27) 2025-08-25 10:55:13 -07:00