Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
422 commits
Select commit Hold shift + click to select a range
b511e43
Fix docs build
dav-is Aug 28, 2025
8881180
Move Externals Provider to a 'use client' based loader
dav-is Aug 28, 2025
72cfbce
Fix build
dav-is Aug 28, 2025
4ab4bab
Remove outdated tests
dav-is Aug 28, 2025
e6c2212
Fix webpack build
dav-is Aug 28, 2025
cb599e4
pnpm dedupe
dav-is Aug 28, 2025
0957795
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Aug 28, 2025
32b34dd
pnpm dedupe
dav-is Aug 28, 2025
6a24e24
prettier
dav-is Aug 28, 2025
df03ec3
store parser in globalThis
dav-is Aug 28, 2025
16609c7
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Aug 28, 2025
268015d
Simplify loadVariant function params
dav-is Aug 29, 2025
895da07
Simplify loadFallbackCode function params
dav-is Aug 29, 2025
6e58101
Code review
dav-is Aug 29, 2025
551d89b
Pull heavy files from the base client bundle
dav-is Aug 29, 2025
540463f
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Aug 29, 2025
776e015
Fix lint
dav-is Aug 29, 2025
3b9df66
Add turbopack build-exp command
dav-is Aug 29, 2025
7dc6ce6
Improve applyTransform test case
dav-is Aug 29, 2025
61a399c
Add console.error if variant load error during server render
dav-is Aug 29, 2025
065df9b
parameters -> arguments
dav-is Aug 29, 2025
4255097
Remove idea for cli tool from error
dav-is Aug 29, 2025
a4ad21c
Add Next.js Plugin
dav-is Aug 29, 2025
903b04b
Use next.js plugin
dav-is Aug 29, 2025
e6cb907
Add Next.js Plugin
dav-is Aug 29, 2025
0302494
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Aug 29, 2025
0a95ce7
Document transformMarkdownRelativePaths
dav-is Aug 29, 2025
3e3999f
Improve CodeControllerContext docs
dav-is Aug 29, 2025
bcac2a7
Add documentation for abstractCreateDemoClient and transformMarkdownB…
dav-is Aug 29, 2025
100a2d7
Add more docs
dav-is Aug 30, 2025
4b2fa08
Add patterns section
dav-is Aug 30, 2025
b51a4e5
Add links to demos
dav-is Aug 30, 2025
09b0c75
Improve useErrors
dav-is Aug 30, 2025
9e5730e
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 2, 2025
12fdec1
Fix merge conflict
dav-is Sep 2, 2025
f0d606f
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 2, 2025
f07517a
Prettier
dav-is Sep 2, 2025
bced5e0
Lint
dav-is Sep 2, 2025
6013b8c
Fix Fallback Bugs
dav-is Sep 3, 2025
f7735cc
Add transform-markdown-demo-links
dav-is Sep 3, 2025
8e60f39
Improve Code Highlighter Demos
dav-is Sep 3, 2025
fdd298b
Prettier
dav-is Sep 3, 2025
7dd46d0
Fix unit tests
dav-is Sep 3, 2025
4c17fab
Improve CodeProvider docs
dav-is Sep 3, 2025
7e97fbb
Add Bundle Analyzer
dav-is Sep 3, 2025
3e20015
Fix Fallback Bugs
dav-is Sep 3, 2025
4dbb82c
Fix unit tests
dav-is Sep 3, 2025
5a4bcc0
Updated test too soon
dav-is Sep 3, 2025
3d01bc5
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 3, 2025
956e5b8
Move docs to top-level docs/
dav-is Sep 3, 2025
db6dcd2
Update tsconfig
dav-is Sep 3, 2025
6941b05
Lint fix
dav-is Sep 3, 2025
32e7519
Add bundle
Janpot Sep 3, 2025
a006dc6
Improve relative path resolution
dav-is Sep 3, 2025
4c9d5d8
Update README link
dav-is Sep 3, 2025
f88f2a1
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 3, 2025
eba6a1b
Improve built factories pattern docs
dav-is Sep 3, 2025
ba867d8
Improve Props Context Layering Pattern Docs
dav-is Sep 3, 2025
11282e2
Remove emojis
dav-is Sep 3, 2025
d51e7fd
Improve Shared Docs Layout
dav-is Sep 3, 2025
0d46866
Improve readme linking
dav-is Sep 3, 2025
ceab91b
Fix ```mdx
dav-is Sep 3, 2025
99e5501
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 4, 2025
4a91028
Add server-only imports where helpful
dav-is Sep 4, 2025
2a59b6d
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 4, 2025
1d568f8
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 4, 2025
f444119
Add server-only to docs
dav-is Sep 4, 2025
fc64da5
Update package.json to fit new format
dav-is Sep 4, 2025
6364372
Fix lint config
dav-is Sep 4, 2025
c91bcbb
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 4, 2025
66a8460
pnpm dedupe
dav-is Sep 4, 2025
29313a7
prettier
dav-is Sep 4, 2025
d7c1486
Update Props Context Layering Pattern Doc
dav-is Sep 4, 2025
0208cc4
Some code review changes
dav-is Sep 4, 2025
44292b3
Some code review changes
dav-is Sep 4, 2025
a3592a3
Cleanup deps
dav-is Sep 4, 2025
0f6a4a0
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 4, 2025
e85f81c
pnpm dedupe
dav-is Sep 4, 2025
49a05a0
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 4, 2025
8bfd217
prettier
dav-is Sep 4, 2025
9241cb5
Refactor useUrlHashState to improve hash synchronization and subscrib…
dav-is Sep 4, 2025
f6cb9b8
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 4, 2025
b689aba
Add more 'server-only'
dav-is Sep 4, 2025
e865d14
Add new exports
dav-is Sep 4, 2025
07d55d6
Revert "Add server-only imports where helpful"
dav-is Sep 4, 2025
1471171
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 4, 2025
da02cb1
Replace useOnHydrate and useOnIdle
dav-is Sep 4, 2025
e836e2d
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 4, 2025
c252e5d
pnpm dedupe
dav-is Sep 4, 2025
0e7d538
Add fragment delimiters convention
dav-is Sep 4, 2025
3639656
Refactor useControlledCode to simplify return values and update relat…
dav-is Sep 5, 2025
03d42c1
Improve CodeHighlighter Types
dav-is Sep 5, 2025
cc5803c
Refactor renderWithInitialSource and CodeInitialSourceLoader for impr…
dav-is Sep 5, 2025
c1b2cd6
Re-add exported types
dav-is Sep 5, 2025
bc8eac6
Use `path-module` in loadVariant
dav-is Sep 5, 2025
b97fd11
Allow client loading without `forceClient` when using <CodeProvider>
dav-is Sep 5, 2025
5e0ee3b
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 5, 2025
469ab8e
Enhance error logging in CodeHighlighterClient with URL context and a…
dav-is Sep 5, 2025
dad1305
pnpm dedupe
dav-is Sep 5, 2025
82d6fdb
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 5, 2025
a0b9d8c
add peer dep
dav-is Sep 5, 2025
b12db50
pnpm dedupe
dav-is Sep 5, 2025
003de61
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 5, 2025
e5fcf06
prettier
dav-is Sep 5, 2025
16d8a23
Refactor addPathsToVariant
dav-is Sep 5, 2025
e31a6e1
Rewrite addPathsToVariant
dav-is Sep 5, 2025
c7700f8
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 5, 2025
394547d
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 5, 2025
f48420d
Improve Error Experience
dav-is Sep 6, 2025
217e486
prettier
dav-is Sep 6, 2025
8efef8c
Simplify useUrlHashState()
dav-is Sep 8, 2025
f6ce76a
Remove markdown transformers not added in this PR
dav-is Sep 8, 2025
d47226b
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 8, 2025
fee457c
prettier
dav-is Sep 8, 2025
5e426b2
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 8, 2025
dd5058d
Update useUrlHashState docs
dav-is Sep 8, 2025
2b3450d
Add withDocsInfra links
dav-is Sep 8, 2025
d273158
Remove legacy .gitignore entry
dav-is Sep 8, 2025
0176666
Run docs-infra build before eslint
dav-is Sep 8, 2025
5fdd012
Add back missing plugins
dav-is Sep 8, 2025
0655dd1
fix tests
dav-is Sep 8, 2025
22569df
Add 'allowExternalVariants' option to parseCreateFactoryCall
dav-is Sep 8, 2025
4036245
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 8, 2025
860a696
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 9, 2025
32fc831
Update note on globals
dav-is Sep 10, 2025
0a3accb
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 10, 2025
66017c4
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 10, 2025
4e00066
Add performance logging to code highlighter
dav-is Sep 10, 2025
10d89ad
Add performance logging to withDocsInfra
dav-is Sep 10, 2025
9742e96
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 10, 2025
4dd1926
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 10, 2025
5aecd1f
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 10, 2025
4c790f5
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 10, 2025
9f929fd
Fix turbopack serialization issue
dav-is Sep 10, 2025
754f009
Fix turbopack serialization issue
dav-is Sep 10, 2025
9dc605f
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 10, 2025
d78ad51
Cleanup CodeHighlighter exports
dav-is Sep 10, 2025
53293b2
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 10, 2025
f8e41c1
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 10, 2025
8b1a74a
Add .next to .lintignore
dav-is Sep 10, 2025
abee2e4
Fix lint
dav-is Sep 10, 2025
57ba685
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 10, 2025
d1e246d
pnpm dedupe
dav-is Sep 10, 2025
dc4dabd
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 10, 2025
aef8eb9
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 10, 2025
51c39f2
pnpm dedupe again
dav-is Sep 10, 2025
b74c375
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 10, 2025
bf42cfe
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 10, 2025
87d9c9d
Use /types
dav-is Sep 10, 2025
1e5311a
For code longer than 120 lines, only render highlighted lines when vi…
dav-is Sep 15, 2025
de269fb
Add benchmarks pages
dav-is Sep 15, 2025
c9ee180
Update examples to use useCode's <pre>
dav-is Sep 15, 2025
a4ac6e8
Add missing changes
dav-is Sep 15, 2025
d514832
For code longer than 120 lines, only render highlighted lines when vi…
dav-is Sep 15, 2025
22e2e2c
Update examples to use useCode's <pre>
dav-is Sep 15, 2025
548b450
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 16, 2025
538ad1c
pnpm dedupe
dav-is Sep 16, 2025
43f3ae4
fix lint
dav-is Sep 16, 2025
d005046
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 16, 2025
ed2f936
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 16, 2025
0841d12
Merge branch 'davis/add-docs-infra-docs' into davis/add-docs-benchmar…
dav-is Sep 16, 2025
81743c9
prettier
dav-is Sep 16, 2025
4680447
Merge branch 'davis/add-docs-infra-docs' into davis/add-docs-benchmar…
dav-is Sep 16, 2025
08cfb13
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 16, 2025
31003d0
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 16, 2025
042d5e3
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 18, 2025
dcc0f8e
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 18, 2025
2fe345d
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 18, 2025
ed2be3a
Fix plain text code output
dav-is Sep 25, 2025
511d599
Fix double pre
dav-is Sep 25, 2025
b30fd29
Add enhanceAfter and rename highlightAt to highlightAfter
dav-is Sep 26, 2025
a692bea
enhanceAfter and highlightAfter docs
dav-is Sep 26, 2025
6a2a292
Compress hast in html in production
dav-is Sep 26, 2025
71f8a26
Add enhanceAfter and rename highlightAt to highlightAfter
dav-is Sep 26, 2025
dc7e87e
Compress hast in html in production
dav-is Sep 26, 2025
d21653d
Remove performance logs for now
dav-is Sep 26, 2025
d79a916
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 26, 2025
8456070
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 26, 2025
98e487b
Merge branch 'davis/add-docs-infra-docs' into davis/add-docs-benchmar…
dav-is Sep 26, 2025
2e3b047
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 26, 2025
f99d37b
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 26, 2025
acdd682
Revert "Remove performance logs for now"
dav-is Sep 26, 2025
4e94024
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 26, 2025
b12ab2f
Fix lint
dav-is Sep 26, 2025
9955521
Fix Loading Component
dav-is Sep 19, 2025
057b31b
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 26, 2025
c5b8565
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 26, 2025
4c659e8
Merge branch 'davis/add-docs-infra-docs' into davis/add-docs-benchmar…
dav-is Sep 26, 2025
3927a95
Add support for CSS @import
dav-is Sep 26, 2025
3dcfc5f
Support imports within mdx files
dav-is Sep 28, 2025
7ce59e5
Refactor parseImports
dav-is Sep 28, 2025
0975202
Collect and remove comments during import parse
dav-is Sep 29, 2025
5ed9de6
Optimize rewriteImports()
dav-is Sep 29, 2025
8e18364
Add docs-infra copilot instructions
dav-is Sep 29, 2025
78973c8
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 29, 2025
8ad83f7
Merge branch 'master' into davis/add-code-highlighter-loader
dav-is Sep 29, 2025
f0b571c
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 29, 2025
f46700f
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 29, 2025
84f5136
Update start command
dav-is Sep 29, 2025
9f6c252
Support createSnippet<typeof Component>(import.meta.url) factories
dav-is Sep 29, 2025
b143bc1
Optimize parseCreateFactoryCall
dav-is Sep 29, 2025
871853f
Add more notes to copilot instructions
dav-is Sep 29, 2025
4190dd0
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 29, 2025
c399633
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 29, 2025
057c877
Rename parseImports() to parseImportsAndComments()
dav-is Sep 29, 2025
68b354d
Improve semantic structure of code in html
dav-is Sep 29, 2025
c621b19
Rename transformHtmlCode to transformHtmlCodePrecomputed
dav-is Sep 29, 2025
abb2f21
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 29, 2025
59262b9
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 29, 2025
0655ced
transformHtmlCodePrecomputed should output a <pre> tag
dav-is Sep 29, 2025
2f9ee80
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 29, 2025
e1fcab1
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 29, 2025
fe108c9
Parse vanilla markdown output within transformHtmlCodePrecomputed
dav-is Sep 30, 2025
e158310
Merge branch 'davis/add-code-highlighter-loader' into davis/add-docs-…
dav-is Sep 30, 2025
107453b
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 30, 2025
4d7a306
Merge branch 'master' into davis/add-docs-infra-performance-logging
dav-is Sep 30, 2025
509b657
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Sep 30, 2025
1c3d4d9
Merge branch 'master' into davis/add-docs-infra-performance-logging
dav-is Oct 1, 2025
795bdd5
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Oct 1, 2025
63a070e
Use allFilesSlugs to add `id` elements to the page
dav-is Oct 1, 2025
715b615
Merge branch 'master' into davis/add-docs-infra-performance-logging
dav-is Oct 14, 2025
6cfec54
Merge branch 'master' into davis/add-docs-infra-docs
dav-is Oct 14, 2025
06b0ad8
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Oct 14, 2025
44242ee
Fix lint
dav-is Oct 14, 2025
4998a72
Merge branch 'davis/add-docs-infra-docs' into davis/add-docs-benchmar…
dav-is Oct 14, 2025
3fcae76
pnpm dedupe
dav-is Oct 14, 2025
8fa0821
Merge branch 'davis/add-docs-infra-docs' into davis/add-docs-benchmar…
dav-is Oct 14, 2025
66f7192
Update useCode docs for `fileHashMode`
dav-is Oct 28, 2025
c2b99c8
Update docs for fileHashMode
dav-is Nov 2, 2025
81af348
Update docs on useCode and useDemo
dav-is Nov 4, 2025
5c04194
Merge branch 'master' into davis/add-docs-infra-performance-logging
dav-is Nov 5, 2025
de52479
Update performanceLogger()
dav-is Nov 10, 2025
c8d1328
Merge branch 'master' into davis/add-docs-infra-performance-logging
dav-is Nov 10, 2025
274b942
Fix test and lint
dav-is Nov 10, 2025
68deb17
Fix test lint
dav-is Nov 10, 2025
f362b2a
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Nov 10, 2025
41bdfbc
Merge branch 'davis/add-docs-infra-docs' of github.com:mui/mui-public…
dav-is Nov 10, 2025
b3f3d6d
pnpm dedupe
dav-is Nov 10, 2025
cf87873
Apply downstream changes from types meta PR
dav-is Nov 10, 2025
1e6365a
Merge branch 'davis/add-docs-infra-docs' into davis/add-docs-benchmar…
dav-is Nov 10, 2025
48cc26d
Add remaining diff from types meta PR
dav-is Nov 10, 2025
eb3eb6d
Merge branch 'davis/add-docs-infra-performance-logging' into davis/ad…
dav-is Nov 10, 2025
7e0d719
Merge branch 'davis/add-docs-infra-docs' into davis/add-docs-benchmar…
dav-is Nov 10, 2025
42d0e9f
Merge branch 'master' into davis/add-docs-benchmarking
dav-is Nov 24, 2025
431835d
Merge branch 'master' into davis/add-docs-benchmarking
dav-is Dec 12, 2025
994b9e5
Merge branch 'master' into davis/add-docs-benchmarking
dav-is Dec 16, 2025
aa9a91e
Install web-vitals
dav-is Dec 16, 2025
bd581e5
pnpm dedupe
dav-is Dec 16, 2025
02a16b3
Merge branch 'master' into davis/add-docs-benchmarking
dav-is Dec 16, 2025
461c5aa
Merge branch 'master' into davis/add-docs-benchmarking
dav-is Dec 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files (can opt-in for committing if needed)
.env*

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.code {
margin: 1rem 0;
background: #fdfcfe;
border: 1px solid #d0cdd7;
border-radius: 8px;
overflow-x: auto;
}

.codeBlock {
margin: 0;
display: block;
overflow-x: auto;
padding: 1em;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
'use client';

import * as React from 'react';

import type { ContentProps } from '@mui/internal-docs-infra/CodeHighlighter/types';
import { useCode } from '@mui/internal-docs-infra/useCode';

import styles from './CodeContent.module.css';

import '@wooorm/starry-night/style/light';

export function CodeContent(props: ContentProps<{}>) {
const code = useCode(props, { preClassName: styles.codeBlock });

return <div className={styles.code}>{code.selectedFile}</div>;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import 'server-only';

import * as React from 'react';
import type { ContentLoadingProps } from '@mui/internal-docs-infra/CodeHighlighter/types';
import styles from './CodeContent.module.css';

import '@wooorm/starry-night/style/light';

export function CodeContentLoading(props: ContentLoadingProps<{}>) {
return (
<div>
<div className={styles.code}>
<pre className={styles.codeBlock}>{props.source}</pre>
</div>
</div>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { createDemoPerformance } from '@/functions/createDemoPerformance';
import Page from './page';

export const DemoCodeHighlighterPerformance = createDemoPerformance(import.meta.url, Page);
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import * as React from 'react';
import { createParseSource } from '@mui/internal-docs-infra/pipeline/parseSource';
import { CodeHighlighter } from '@mui/internal-docs-infra/CodeHighlighter';

import { CodeContent } from '../CodeContent';
import { CodeContentLoading } from '../CodeContentLoading';

import code from '../../snippets/large/snippet';

const sourceParser = createParseSource();

export default function Page() {
return (
<CodeHighlighter
Content={CodeContent}
ContentLoading={CodeContentLoading}
sourceParser={sourceParser}
fileName="large-file.js"
>
{code}
</CodeHighlighter>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Benchmarking Code Highlighter

This demo showcases the performance of the [`CodeHighlighter`](../../../../docs-infra/components/code-highlighter/page.mdx) component when handling large code snippets. It uses RSC to highlight the code.

import { DemoCodeHighlighterPerformance } from './demos/code';

<DemoCodeHighlighterPerformance />

[See Setup](./demos/code/)
Loading
Loading