
* Codeblock cleanup in markdown * Initial approach to getting this working with rx.memo and reflex web * abstract the map var logic * the tests are not valid + pyright fix * darglint fix * Add unit tests plus mix components * pyi run * rebase on main * fix darglint * testing different OS * revert * This should fix it. Right? * Fix tests * minor fn signature fix * use ArgsFunctionOperation * use destructured args and pass the tests * fix remaining unit tests * fix pyi files * rebase on main * move language regex on codeblock to markdown * fix tests --------- Co-authored-by: Khaleel Al-Adhami <khaleel.aladhami@gmail.com>
2233 lines
69 KiB
Python
2233 lines
69 KiB
Python
"""Stub file for reflex/components/datadisplay/shiki_code_block.py"""
|
|
|
|
# ------------------- DO NOT EDIT ----------------------
|
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
|
# ------------------------------------------------------
|
|
from typing import Any, Dict, Literal, Optional, Union, overload
|
|
|
|
from reflex.base import Base
|
|
from reflex.components.component import Component, ComponentNamespace
|
|
from reflex.components.markdown.markdown import MarkdownComponentMap
|
|
from reflex.components.props import NoExtrasAllowedProps
|
|
from reflex.event import BASE_STATE, EventType
|
|
from reflex.style import Style
|
|
from reflex.vars.base import Var
|
|
from reflex.vars.function import FunctionStringVar
|
|
|
|
def copy_script() -> Any: ...
|
|
|
|
SHIKIJS_TRANSFORMER_FNS = {
|
|
"transformerNotationDiff",
|
|
"transformerNotationHighlight",
|
|
"transformerNotationWordHighlight",
|
|
"transformerNotationFocus",
|
|
"transformerNotationErrorLevel",
|
|
"transformerRenderWhitespace",
|
|
"transformerMetaHighlight",
|
|
"transformerMetaWordHighlight",
|
|
"transformerCompactLineOptions",
|
|
"transformerRemoveNotationEscape",
|
|
}
|
|
LINE_NUMBER_STYLING = {
|
|
"code": {
|
|
"counter-reset": "step",
|
|
"counter-increment": "step 0",
|
|
"display": "grid",
|
|
"line-height": "1.7",
|
|
"font-size": "0.875em",
|
|
},
|
|
"code .line::before": {
|
|
"content": "counter(step)",
|
|
"counter-increment": "step",
|
|
"width": "1rem",
|
|
"margin-right": "1.5rem",
|
|
"display": "inline-block",
|
|
"text-align": "right",
|
|
"color": "rgba(115,138,148,.4)",
|
|
},
|
|
}
|
|
BOX_PARENT_STYLING = {
|
|
"pre": {
|
|
"margin": "0",
|
|
"padding": "24px",
|
|
"background": "transparent",
|
|
"overflow-x": "auto",
|
|
"border-radius": "6px",
|
|
}
|
|
}
|
|
THEME_MAPPING = {
|
|
"light": "one-light",
|
|
"dark": "one-dark-pro",
|
|
"a11y-dark": "github-dark",
|
|
}
|
|
LANGUAGE_MAPPING = {"bash": "shellscript"}
|
|
LiteralCodeLanguage = Literal[
|
|
"abap",
|
|
"actionscript-3",
|
|
"ada",
|
|
"angular-html",
|
|
"angular-ts",
|
|
"apache",
|
|
"apex",
|
|
"apl",
|
|
"applescript",
|
|
"ara",
|
|
"asciidoc",
|
|
"asm",
|
|
"astro",
|
|
"awk",
|
|
"ballerina",
|
|
"bat",
|
|
"beancount",
|
|
"berry",
|
|
"bibtex",
|
|
"bicep",
|
|
"blade",
|
|
"c",
|
|
"cadence",
|
|
"clarity",
|
|
"clojure",
|
|
"cmake",
|
|
"cobol",
|
|
"codeowners",
|
|
"codeql",
|
|
"coffee",
|
|
"common-lisp",
|
|
"coq",
|
|
"cpp",
|
|
"crystal",
|
|
"csharp",
|
|
"css",
|
|
"csv",
|
|
"cue",
|
|
"cypher",
|
|
"d",
|
|
"dart",
|
|
"dax",
|
|
"desktop",
|
|
"diff",
|
|
"docker",
|
|
"dotenv",
|
|
"dream-maker",
|
|
"edge",
|
|
"elixir",
|
|
"elm",
|
|
"emacs-lisp",
|
|
"erb",
|
|
"erlang",
|
|
"fennel",
|
|
"fish",
|
|
"fluent",
|
|
"fortran-fixed-form",
|
|
"fortran-free-form",
|
|
"fsharp",
|
|
"gdresource",
|
|
"gdscript",
|
|
"gdshader",
|
|
"genie",
|
|
"gherkin",
|
|
"git-commit",
|
|
"git-rebase",
|
|
"gleam",
|
|
"glimmer-js",
|
|
"glimmer-ts",
|
|
"glsl",
|
|
"gnuplot",
|
|
"go",
|
|
"graphql",
|
|
"groovy",
|
|
"hack",
|
|
"haml",
|
|
"handlebars",
|
|
"haskell",
|
|
"haxe",
|
|
"hcl",
|
|
"hjson",
|
|
"hlsl",
|
|
"html",
|
|
"html-derivative",
|
|
"http",
|
|
"hxml",
|
|
"hy",
|
|
"imba",
|
|
"ini",
|
|
"java",
|
|
"javascript",
|
|
"jinja",
|
|
"jison",
|
|
"json",
|
|
"json5",
|
|
"jsonc",
|
|
"jsonl",
|
|
"jsonnet",
|
|
"jssm",
|
|
"jsx",
|
|
"julia",
|
|
"kotlin",
|
|
"kusto",
|
|
"latex",
|
|
"lean",
|
|
"less",
|
|
"liquid",
|
|
"log",
|
|
"logo",
|
|
"lua",
|
|
"luau",
|
|
"make",
|
|
"markdown",
|
|
"marko",
|
|
"matlab",
|
|
"mdc",
|
|
"mdx",
|
|
"mermaid",
|
|
"mojo",
|
|
"move",
|
|
"narrat",
|
|
"nextflow",
|
|
"nginx",
|
|
"nim",
|
|
"nix",
|
|
"nushell",
|
|
"objective-c",
|
|
"objective-cpp",
|
|
"ocaml",
|
|
"pascal",
|
|
"perl",
|
|
"php",
|
|
"plain",
|
|
"plsql",
|
|
"po",
|
|
"postcss",
|
|
"powerquery",
|
|
"powershell",
|
|
"prisma",
|
|
"prolog",
|
|
"proto",
|
|
"pug",
|
|
"puppet",
|
|
"purescript",
|
|
"python",
|
|
"qml",
|
|
"qmldir",
|
|
"qss",
|
|
"r",
|
|
"racket",
|
|
"raku",
|
|
"razor",
|
|
"reg",
|
|
"regexp",
|
|
"rel",
|
|
"riscv",
|
|
"rst",
|
|
"ruby",
|
|
"rust",
|
|
"sas",
|
|
"sass",
|
|
"scala",
|
|
"scheme",
|
|
"scss",
|
|
"shaderlab",
|
|
"shellscript",
|
|
"shellsession",
|
|
"smalltalk",
|
|
"solidity",
|
|
"soy",
|
|
"sparql",
|
|
"splunk",
|
|
"sql",
|
|
"ssh-config",
|
|
"stata",
|
|
"stylus",
|
|
"svelte",
|
|
"swift",
|
|
"system-verilog",
|
|
"systemd",
|
|
"tasl",
|
|
"tcl",
|
|
"templ",
|
|
"terraform",
|
|
"tex",
|
|
"toml",
|
|
"ts-tags",
|
|
"tsv",
|
|
"tsx",
|
|
"turtle",
|
|
"twig",
|
|
"typescript",
|
|
"typespec",
|
|
"typst",
|
|
"v",
|
|
"vala",
|
|
"vb",
|
|
"verilog",
|
|
"vhdl",
|
|
"viml",
|
|
"vue",
|
|
"vue-html",
|
|
"vyper",
|
|
"wasm",
|
|
"wenyan",
|
|
"wgsl",
|
|
"wikitext",
|
|
"wolfram",
|
|
"xml",
|
|
"xsl",
|
|
"yaml",
|
|
"zenscript",
|
|
"zig",
|
|
]
|
|
LiteralCodeTheme = Literal[
|
|
"andromeeda",
|
|
"aurora-x",
|
|
"ayu-dark",
|
|
"catppuccin-frappe",
|
|
"catppuccin-latte",
|
|
"catppuccin-macchiato",
|
|
"catppuccin-mocha",
|
|
"dark-plus",
|
|
"dracula",
|
|
"dracula-soft",
|
|
"everforest-dark",
|
|
"everforest-light",
|
|
"github-dark",
|
|
"github-dark-default",
|
|
"github-dark-dimmed",
|
|
"github-dark-high-contrast",
|
|
"github-light",
|
|
"github-light-default",
|
|
"github-light-high-contrast",
|
|
"houston",
|
|
"laserwave",
|
|
"light-plus",
|
|
"material-theme",
|
|
"material-theme-darker",
|
|
"material-theme-lighter",
|
|
"material-theme-ocean",
|
|
"material-theme-palenight",
|
|
"min-dark",
|
|
"min-light",
|
|
"monokai",
|
|
"night-owl",
|
|
"nord",
|
|
"one-dark-pro",
|
|
"one-light",
|
|
"plastic",
|
|
"poimandres",
|
|
"red",
|
|
"rose-pine",
|
|
"rose-pine-dawn",
|
|
"rose-pine-moon",
|
|
"slack-dark",
|
|
"slack-ochin",
|
|
"snazzy-light",
|
|
"solarized-dark",
|
|
"solarized-light",
|
|
"synthwave-84",
|
|
"tokyo-night",
|
|
"vesper",
|
|
"vitesse-black",
|
|
"vitesse-dark",
|
|
"vitesse-light",
|
|
]
|
|
|
|
class Position(NoExtrasAllowedProps):
|
|
line: int
|
|
character: int
|
|
|
|
class ShikiDecorations(NoExtrasAllowedProps):
|
|
start: Union[int, Position]
|
|
end: Union[int, Position]
|
|
tag_name: str
|
|
properties: dict[str, Any]
|
|
always_wrap: bool
|
|
|
|
class ShikiBaseTransformers(Base):
|
|
library: str
|
|
fns: list[FunctionStringVar]
|
|
style: Optional[Style]
|
|
|
|
class ShikiJsTransformer(ShikiBaseTransformers):
|
|
library: str
|
|
fns: list[FunctionStringVar]
|
|
style: Optional[Style]
|
|
|
|
class ShikiCodeBlock(Component, MarkdownComponentMap):
|
|
@overload
|
|
@classmethod
|
|
def create( # type: ignore
|
|
cls,
|
|
*children,
|
|
language: Optional[
|
|
Union[
|
|
Literal[
|
|
"abap",
|
|
"actionscript-3",
|
|
"ada",
|
|
"angular-html",
|
|
"angular-ts",
|
|
"apache",
|
|
"apex",
|
|
"apl",
|
|
"applescript",
|
|
"ara",
|
|
"asciidoc",
|
|
"asm",
|
|
"astro",
|
|
"awk",
|
|
"ballerina",
|
|
"bat",
|
|
"beancount",
|
|
"berry",
|
|
"bibtex",
|
|
"bicep",
|
|
"blade",
|
|
"c",
|
|
"cadence",
|
|
"clarity",
|
|
"clojure",
|
|
"cmake",
|
|
"cobol",
|
|
"codeowners",
|
|
"codeql",
|
|
"coffee",
|
|
"common-lisp",
|
|
"coq",
|
|
"cpp",
|
|
"crystal",
|
|
"csharp",
|
|
"css",
|
|
"csv",
|
|
"cue",
|
|
"cypher",
|
|
"d",
|
|
"dart",
|
|
"dax",
|
|
"desktop",
|
|
"diff",
|
|
"docker",
|
|
"dotenv",
|
|
"dream-maker",
|
|
"edge",
|
|
"elixir",
|
|
"elm",
|
|
"emacs-lisp",
|
|
"erb",
|
|
"erlang",
|
|
"fennel",
|
|
"fish",
|
|
"fluent",
|
|
"fortran-fixed-form",
|
|
"fortran-free-form",
|
|
"fsharp",
|
|
"gdresource",
|
|
"gdscript",
|
|
"gdshader",
|
|
"genie",
|
|
"gherkin",
|
|
"git-commit",
|
|
"git-rebase",
|
|
"gleam",
|
|
"glimmer-js",
|
|
"glimmer-ts",
|
|
"glsl",
|
|
"gnuplot",
|
|
"go",
|
|
"graphql",
|
|
"groovy",
|
|
"hack",
|
|
"haml",
|
|
"handlebars",
|
|
"haskell",
|
|
"haxe",
|
|
"hcl",
|
|
"hjson",
|
|
"hlsl",
|
|
"html",
|
|
"html-derivative",
|
|
"http",
|
|
"hxml",
|
|
"hy",
|
|
"imba",
|
|
"ini",
|
|
"java",
|
|
"javascript",
|
|
"jinja",
|
|
"jison",
|
|
"json",
|
|
"json5",
|
|
"jsonc",
|
|
"jsonl",
|
|
"jsonnet",
|
|
"jssm",
|
|
"jsx",
|
|
"julia",
|
|
"kotlin",
|
|
"kusto",
|
|
"latex",
|
|
"lean",
|
|
"less",
|
|
"liquid",
|
|
"log",
|
|
"logo",
|
|
"lua",
|
|
"luau",
|
|
"make",
|
|
"markdown",
|
|
"marko",
|
|
"matlab",
|
|
"mdc",
|
|
"mdx",
|
|
"mermaid",
|
|
"mojo",
|
|
"move",
|
|
"narrat",
|
|
"nextflow",
|
|
"nginx",
|
|
"nim",
|
|
"nix",
|
|
"nushell",
|
|
"objective-c",
|
|
"objective-cpp",
|
|
"ocaml",
|
|
"pascal",
|
|
"perl",
|
|
"php",
|
|
"plain",
|
|
"plsql",
|
|
"po",
|
|
"postcss",
|
|
"powerquery",
|
|
"powershell",
|
|
"prisma",
|
|
"prolog",
|
|
"proto",
|
|
"pug",
|
|
"puppet",
|
|
"purescript",
|
|
"python",
|
|
"qml",
|
|
"qmldir",
|
|
"qss",
|
|
"r",
|
|
"racket",
|
|
"raku",
|
|
"razor",
|
|
"reg",
|
|
"regexp",
|
|
"rel",
|
|
"riscv",
|
|
"rst",
|
|
"ruby",
|
|
"rust",
|
|
"sas",
|
|
"sass",
|
|
"scala",
|
|
"scheme",
|
|
"scss",
|
|
"shaderlab",
|
|
"shellscript",
|
|
"shellsession",
|
|
"smalltalk",
|
|
"solidity",
|
|
"soy",
|
|
"sparql",
|
|
"splunk",
|
|
"sql",
|
|
"ssh-config",
|
|
"stata",
|
|
"stylus",
|
|
"svelte",
|
|
"swift",
|
|
"system-verilog",
|
|
"systemd",
|
|
"tasl",
|
|
"tcl",
|
|
"templ",
|
|
"terraform",
|
|
"tex",
|
|
"toml",
|
|
"ts-tags",
|
|
"tsv",
|
|
"tsx",
|
|
"turtle",
|
|
"twig",
|
|
"typescript",
|
|
"typespec",
|
|
"typst",
|
|
"v",
|
|
"vala",
|
|
"vb",
|
|
"verilog",
|
|
"vhdl",
|
|
"viml",
|
|
"vue",
|
|
"vue-html",
|
|
"vyper",
|
|
"wasm",
|
|
"wenyan",
|
|
"wgsl",
|
|
"wikitext",
|
|
"wolfram",
|
|
"xml",
|
|
"xsl",
|
|
"yaml",
|
|
"zenscript",
|
|
"zig",
|
|
],
|
|
Var[
|
|
Literal[
|
|
"abap",
|
|
"actionscript-3",
|
|
"ada",
|
|
"angular-html",
|
|
"angular-ts",
|
|
"apache",
|
|
"apex",
|
|
"apl",
|
|
"applescript",
|
|
"ara",
|
|
"asciidoc",
|
|
"asm",
|
|
"astro",
|
|
"awk",
|
|
"ballerina",
|
|
"bat",
|
|
"beancount",
|
|
"berry",
|
|
"bibtex",
|
|
"bicep",
|
|
"blade",
|
|
"c",
|
|
"cadence",
|
|
"clarity",
|
|
"clojure",
|
|
"cmake",
|
|
"cobol",
|
|
"codeowners",
|
|
"codeql",
|
|
"coffee",
|
|
"common-lisp",
|
|
"coq",
|
|
"cpp",
|
|
"crystal",
|
|
"csharp",
|
|
"css",
|
|
"csv",
|
|
"cue",
|
|
"cypher",
|
|
"d",
|
|
"dart",
|
|
"dax",
|
|
"desktop",
|
|
"diff",
|
|
"docker",
|
|
"dotenv",
|
|
"dream-maker",
|
|
"edge",
|
|
"elixir",
|
|
"elm",
|
|
"emacs-lisp",
|
|
"erb",
|
|
"erlang",
|
|
"fennel",
|
|
"fish",
|
|
"fluent",
|
|
"fortran-fixed-form",
|
|
"fortran-free-form",
|
|
"fsharp",
|
|
"gdresource",
|
|
"gdscript",
|
|
"gdshader",
|
|
"genie",
|
|
"gherkin",
|
|
"git-commit",
|
|
"git-rebase",
|
|
"gleam",
|
|
"glimmer-js",
|
|
"glimmer-ts",
|
|
"glsl",
|
|
"gnuplot",
|
|
"go",
|
|
"graphql",
|
|
"groovy",
|
|
"hack",
|
|
"haml",
|
|
"handlebars",
|
|
"haskell",
|
|
"haxe",
|
|
"hcl",
|
|
"hjson",
|
|
"hlsl",
|
|
"html",
|
|
"html-derivative",
|
|
"http",
|
|
"hxml",
|
|
"hy",
|
|
"imba",
|
|
"ini",
|
|
"java",
|
|
"javascript",
|
|
"jinja",
|
|
"jison",
|
|
"json",
|
|
"json5",
|
|
"jsonc",
|
|
"jsonl",
|
|
"jsonnet",
|
|
"jssm",
|
|
"jsx",
|
|
"julia",
|
|
"kotlin",
|
|
"kusto",
|
|
"latex",
|
|
"lean",
|
|
"less",
|
|
"liquid",
|
|
"log",
|
|
"logo",
|
|
"lua",
|
|
"luau",
|
|
"make",
|
|
"markdown",
|
|
"marko",
|
|
"matlab",
|
|
"mdc",
|
|
"mdx",
|
|
"mermaid",
|
|
"mojo",
|
|
"move",
|
|
"narrat",
|
|
"nextflow",
|
|
"nginx",
|
|
"nim",
|
|
"nix",
|
|
"nushell",
|
|
"objective-c",
|
|
"objective-cpp",
|
|
"ocaml",
|
|
"pascal",
|
|
"perl",
|
|
"php",
|
|
"plain",
|
|
"plsql",
|
|
"po",
|
|
"postcss",
|
|
"powerquery",
|
|
"powershell",
|
|
"prisma",
|
|
"prolog",
|
|
"proto",
|
|
"pug",
|
|
"puppet",
|
|
"purescript",
|
|
"python",
|
|
"qml",
|
|
"qmldir",
|
|
"qss",
|
|
"r",
|
|
"racket",
|
|
"raku",
|
|
"razor",
|
|
"reg",
|
|
"regexp",
|
|
"rel",
|
|
"riscv",
|
|
"rst",
|
|
"ruby",
|
|
"rust",
|
|
"sas",
|
|
"sass",
|
|
"scala",
|
|
"scheme",
|
|
"scss",
|
|
"shaderlab",
|
|
"shellscript",
|
|
"shellsession",
|
|
"smalltalk",
|
|
"solidity",
|
|
"soy",
|
|
"sparql",
|
|
"splunk",
|
|
"sql",
|
|
"ssh-config",
|
|
"stata",
|
|
"stylus",
|
|
"svelte",
|
|
"swift",
|
|
"system-verilog",
|
|
"systemd",
|
|
"tasl",
|
|
"tcl",
|
|
"templ",
|
|
"terraform",
|
|
"tex",
|
|
"toml",
|
|
"ts-tags",
|
|
"tsv",
|
|
"tsx",
|
|
"turtle",
|
|
"twig",
|
|
"typescript",
|
|
"typespec",
|
|
"typst",
|
|
"v",
|
|
"vala",
|
|
"vb",
|
|
"verilog",
|
|
"vhdl",
|
|
"viml",
|
|
"vue",
|
|
"vue-html",
|
|
"vyper",
|
|
"wasm",
|
|
"wenyan",
|
|
"wgsl",
|
|
"wikitext",
|
|
"wolfram",
|
|
"xml",
|
|
"xsl",
|
|
"yaml",
|
|
"zenscript",
|
|
"zig",
|
|
]
|
|
],
|
|
]
|
|
] = None,
|
|
theme: Optional[
|
|
Union[
|
|
Literal[
|
|
"andromeeda",
|
|
"aurora-x",
|
|
"ayu-dark",
|
|
"catppuccin-frappe",
|
|
"catppuccin-latte",
|
|
"catppuccin-macchiato",
|
|
"catppuccin-mocha",
|
|
"dark-plus",
|
|
"dracula",
|
|
"dracula-soft",
|
|
"everforest-dark",
|
|
"everforest-light",
|
|
"github-dark",
|
|
"github-dark-default",
|
|
"github-dark-dimmed",
|
|
"github-dark-high-contrast",
|
|
"github-light",
|
|
"github-light-default",
|
|
"github-light-high-contrast",
|
|
"houston",
|
|
"laserwave",
|
|
"light-plus",
|
|
"material-theme",
|
|
"material-theme-darker",
|
|
"material-theme-lighter",
|
|
"material-theme-ocean",
|
|
"material-theme-palenight",
|
|
"min-dark",
|
|
"min-light",
|
|
"monokai",
|
|
"night-owl",
|
|
"nord",
|
|
"one-dark-pro",
|
|
"one-light",
|
|
"plastic",
|
|
"poimandres",
|
|
"red",
|
|
"rose-pine",
|
|
"rose-pine-dawn",
|
|
"rose-pine-moon",
|
|
"slack-dark",
|
|
"slack-ochin",
|
|
"snazzy-light",
|
|
"solarized-dark",
|
|
"solarized-light",
|
|
"synthwave-84",
|
|
"tokyo-night",
|
|
"vesper",
|
|
"vitesse-black",
|
|
"vitesse-dark",
|
|
"vitesse-light",
|
|
],
|
|
Var[
|
|
Literal[
|
|
"andromeeda",
|
|
"aurora-x",
|
|
"ayu-dark",
|
|
"catppuccin-frappe",
|
|
"catppuccin-latte",
|
|
"catppuccin-macchiato",
|
|
"catppuccin-mocha",
|
|
"dark-plus",
|
|
"dracula",
|
|
"dracula-soft",
|
|
"everforest-dark",
|
|
"everforest-light",
|
|
"github-dark",
|
|
"github-dark-default",
|
|
"github-dark-dimmed",
|
|
"github-dark-high-contrast",
|
|
"github-light",
|
|
"github-light-default",
|
|
"github-light-high-contrast",
|
|
"houston",
|
|
"laserwave",
|
|
"light-plus",
|
|
"material-theme",
|
|
"material-theme-darker",
|
|
"material-theme-lighter",
|
|
"material-theme-ocean",
|
|
"material-theme-palenight",
|
|
"min-dark",
|
|
"min-light",
|
|
"monokai",
|
|
"night-owl",
|
|
"nord",
|
|
"one-dark-pro",
|
|
"one-light",
|
|
"plastic",
|
|
"poimandres",
|
|
"red",
|
|
"rose-pine",
|
|
"rose-pine-dawn",
|
|
"rose-pine-moon",
|
|
"slack-dark",
|
|
"slack-ochin",
|
|
"snazzy-light",
|
|
"solarized-dark",
|
|
"solarized-light",
|
|
"synthwave-84",
|
|
"tokyo-night",
|
|
"vesper",
|
|
"vitesse-black",
|
|
"vitesse-dark",
|
|
"vitesse-light",
|
|
]
|
|
],
|
|
]
|
|
] = None,
|
|
themes: Optional[
|
|
Union[
|
|
Var[Union[dict[str, str], list[dict[str, Any]]]],
|
|
dict[str, str],
|
|
list[dict[str, Any]],
|
|
]
|
|
] = None,
|
|
code: Optional[Union[Var[str], str]] = None,
|
|
transformers: Optional[
|
|
Union[
|
|
Var[list[Union[ShikiBaseTransformers, dict[str, Any]]]],
|
|
list[Union[ShikiBaseTransformers, dict[str, Any]]],
|
|
]
|
|
] = None,
|
|
decorations: Optional[
|
|
Union[Var[list[ShikiDecorations]], list[ShikiDecorations]]
|
|
] = None,
|
|
style: Optional[Style] = None,
|
|
key: Optional[Any] = None,
|
|
id: Optional[Any] = None,
|
|
class_name: Optional[Any] = None,
|
|
autofocus: Optional[bool] = None,
|
|
custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
|
|
on_blur: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_click: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_focus: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mount: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
|
|
**props,
|
|
) -> "ShikiCodeBlock":
|
|
"""Create a code block component using [shiki syntax highlighter](https://shiki.matsu.io/).
|
|
|
|
Args:
|
|
*children: The children of the component.
|
|
language: The language to use.
|
|
theme: The theme to use ("light" or "dark").
|
|
themes: The set of themes to use for different modes.
|
|
code: The code to display.
|
|
transformers: The transformers to use for the syntax highlighter.
|
|
decorations: The decorations to use for the syntax highlighter.
|
|
style: The style of the component.
|
|
key: A unique key for the component.
|
|
id: The id for the component.
|
|
class_name: The class name for the component.
|
|
autofocus: Whether the component should take the focus once the page is loaded
|
|
custom_attrs: custom attribute
|
|
**props: The props to pass to the component.
|
|
|
|
Returns:
|
|
The code block component.
|
|
"""
|
|
...
|
|
|
|
def add_imports(self) -> dict[str, list[str]]: ...
|
|
@classmethod
|
|
def create_transformer(
|
|
cls, library: str, fns: list[str]
|
|
) -> ShikiBaseTransformers: ...
|
|
|
|
class ShikiHighLevelCodeBlock(ShikiCodeBlock):
|
|
@overload
|
|
@classmethod
|
|
def create( # type: ignore
|
|
cls,
|
|
*children,
|
|
use_transformers: Optional[Union[Var[bool], bool]] = None,
|
|
show_line_numbers: Optional[Union[Var[bool], bool]] = None,
|
|
can_copy: Optional[bool] = None,
|
|
copy_button: Optional[Union[Component, bool]] = None,
|
|
language: Optional[
|
|
Union[
|
|
Literal[
|
|
"abap",
|
|
"actionscript-3",
|
|
"ada",
|
|
"angular-html",
|
|
"angular-ts",
|
|
"apache",
|
|
"apex",
|
|
"apl",
|
|
"applescript",
|
|
"ara",
|
|
"asciidoc",
|
|
"asm",
|
|
"astro",
|
|
"awk",
|
|
"ballerina",
|
|
"bat",
|
|
"beancount",
|
|
"berry",
|
|
"bibtex",
|
|
"bicep",
|
|
"blade",
|
|
"c",
|
|
"cadence",
|
|
"clarity",
|
|
"clojure",
|
|
"cmake",
|
|
"cobol",
|
|
"codeowners",
|
|
"codeql",
|
|
"coffee",
|
|
"common-lisp",
|
|
"coq",
|
|
"cpp",
|
|
"crystal",
|
|
"csharp",
|
|
"css",
|
|
"csv",
|
|
"cue",
|
|
"cypher",
|
|
"d",
|
|
"dart",
|
|
"dax",
|
|
"desktop",
|
|
"diff",
|
|
"docker",
|
|
"dotenv",
|
|
"dream-maker",
|
|
"edge",
|
|
"elixir",
|
|
"elm",
|
|
"emacs-lisp",
|
|
"erb",
|
|
"erlang",
|
|
"fennel",
|
|
"fish",
|
|
"fluent",
|
|
"fortran-fixed-form",
|
|
"fortran-free-form",
|
|
"fsharp",
|
|
"gdresource",
|
|
"gdscript",
|
|
"gdshader",
|
|
"genie",
|
|
"gherkin",
|
|
"git-commit",
|
|
"git-rebase",
|
|
"gleam",
|
|
"glimmer-js",
|
|
"glimmer-ts",
|
|
"glsl",
|
|
"gnuplot",
|
|
"go",
|
|
"graphql",
|
|
"groovy",
|
|
"hack",
|
|
"haml",
|
|
"handlebars",
|
|
"haskell",
|
|
"haxe",
|
|
"hcl",
|
|
"hjson",
|
|
"hlsl",
|
|
"html",
|
|
"html-derivative",
|
|
"http",
|
|
"hxml",
|
|
"hy",
|
|
"imba",
|
|
"ini",
|
|
"java",
|
|
"javascript",
|
|
"jinja",
|
|
"jison",
|
|
"json",
|
|
"json5",
|
|
"jsonc",
|
|
"jsonl",
|
|
"jsonnet",
|
|
"jssm",
|
|
"jsx",
|
|
"julia",
|
|
"kotlin",
|
|
"kusto",
|
|
"latex",
|
|
"lean",
|
|
"less",
|
|
"liquid",
|
|
"log",
|
|
"logo",
|
|
"lua",
|
|
"luau",
|
|
"make",
|
|
"markdown",
|
|
"marko",
|
|
"matlab",
|
|
"mdc",
|
|
"mdx",
|
|
"mermaid",
|
|
"mojo",
|
|
"move",
|
|
"narrat",
|
|
"nextflow",
|
|
"nginx",
|
|
"nim",
|
|
"nix",
|
|
"nushell",
|
|
"objective-c",
|
|
"objective-cpp",
|
|
"ocaml",
|
|
"pascal",
|
|
"perl",
|
|
"php",
|
|
"plain",
|
|
"plsql",
|
|
"po",
|
|
"postcss",
|
|
"powerquery",
|
|
"powershell",
|
|
"prisma",
|
|
"prolog",
|
|
"proto",
|
|
"pug",
|
|
"puppet",
|
|
"purescript",
|
|
"python",
|
|
"qml",
|
|
"qmldir",
|
|
"qss",
|
|
"r",
|
|
"racket",
|
|
"raku",
|
|
"razor",
|
|
"reg",
|
|
"regexp",
|
|
"rel",
|
|
"riscv",
|
|
"rst",
|
|
"ruby",
|
|
"rust",
|
|
"sas",
|
|
"sass",
|
|
"scala",
|
|
"scheme",
|
|
"scss",
|
|
"shaderlab",
|
|
"shellscript",
|
|
"shellsession",
|
|
"smalltalk",
|
|
"solidity",
|
|
"soy",
|
|
"sparql",
|
|
"splunk",
|
|
"sql",
|
|
"ssh-config",
|
|
"stata",
|
|
"stylus",
|
|
"svelte",
|
|
"swift",
|
|
"system-verilog",
|
|
"systemd",
|
|
"tasl",
|
|
"tcl",
|
|
"templ",
|
|
"terraform",
|
|
"tex",
|
|
"toml",
|
|
"ts-tags",
|
|
"tsv",
|
|
"tsx",
|
|
"turtle",
|
|
"twig",
|
|
"typescript",
|
|
"typespec",
|
|
"typst",
|
|
"v",
|
|
"vala",
|
|
"vb",
|
|
"verilog",
|
|
"vhdl",
|
|
"viml",
|
|
"vue",
|
|
"vue-html",
|
|
"vyper",
|
|
"wasm",
|
|
"wenyan",
|
|
"wgsl",
|
|
"wikitext",
|
|
"wolfram",
|
|
"xml",
|
|
"xsl",
|
|
"yaml",
|
|
"zenscript",
|
|
"zig",
|
|
],
|
|
Var[
|
|
Literal[
|
|
"abap",
|
|
"actionscript-3",
|
|
"ada",
|
|
"angular-html",
|
|
"angular-ts",
|
|
"apache",
|
|
"apex",
|
|
"apl",
|
|
"applescript",
|
|
"ara",
|
|
"asciidoc",
|
|
"asm",
|
|
"astro",
|
|
"awk",
|
|
"ballerina",
|
|
"bat",
|
|
"beancount",
|
|
"berry",
|
|
"bibtex",
|
|
"bicep",
|
|
"blade",
|
|
"c",
|
|
"cadence",
|
|
"clarity",
|
|
"clojure",
|
|
"cmake",
|
|
"cobol",
|
|
"codeowners",
|
|
"codeql",
|
|
"coffee",
|
|
"common-lisp",
|
|
"coq",
|
|
"cpp",
|
|
"crystal",
|
|
"csharp",
|
|
"css",
|
|
"csv",
|
|
"cue",
|
|
"cypher",
|
|
"d",
|
|
"dart",
|
|
"dax",
|
|
"desktop",
|
|
"diff",
|
|
"docker",
|
|
"dotenv",
|
|
"dream-maker",
|
|
"edge",
|
|
"elixir",
|
|
"elm",
|
|
"emacs-lisp",
|
|
"erb",
|
|
"erlang",
|
|
"fennel",
|
|
"fish",
|
|
"fluent",
|
|
"fortran-fixed-form",
|
|
"fortran-free-form",
|
|
"fsharp",
|
|
"gdresource",
|
|
"gdscript",
|
|
"gdshader",
|
|
"genie",
|
|
"gherkin",
|
|
"git-commit",
|
|
"git-rebase",
|
|
"gleam",
|
|
"glimmer-js",
|
|
"glimmer-ts",
|
|
"glsl",
|
|
"gnuplot",
|
|
"go",
|
|
"graphql",
|
|
"groovy",
|
|
"hack",
|
|
"haml",
|
|
"handlebars",
|
|
"haskell",
|
|
"haxe",
|
|
"hcl",
|
|
"hjson",
|
|
"hlsl",
|
|
"html",
|
|
"html-derivative",
|
|
"http",
|
|
"hxml",
|
|
"hy",
|
|
"imba",
|
|
"ini",
|
|
"java",
|
|
"javascript",
|
|
"jinja",
|
|
"jison",
|
|
"json",
|
|
"json5",
|
|
"jsonc",
|
|
"jsonl",
|
|
"jsonnet",
|
|
"jssm",
|
|
"jsx",
|
|
"julia",
|
|
"kotlin",
|
|
"kusto",
|
|
"latex",
|
|
"lean",
|
|
"less",
|
|
"liquid",
|
|
"log",
|
|
"logo",
|
|
"lua",
|
|
"luau",
|
|
"make",
|
|
"markdown",
|
|
"marko",
|
|
"matlab",
|
|
"mdc",
|
|
"mdx",
|
|
"mermaid",
|
|
"mojo",
|
|
"move",
|
|
"narrat",
|
|
"nextflow",
|
|
"nginx",
|
|
"nim",
|
|
"nix",
|
|
"nushell",
|
|
"objective-c",
|
|
"objective-cpp",
|
|
"ocaml",
|
|
"pascal",
|
|
"perl",
|
|
"php",
|
|
"plain",
|
|
"plsql",
|
|
"po",
|
|
"postcss",
|
|
"powerquery",
|
|
"powershell",
|
|
"prisma",
|
|
"prolog",
|
|
"proto",
|
|
"pug",
|
|
"puppet",
|
|
"purescript",
|
|
"python",
|
|
"qml",
|
|
"qmldir",
|
|
"qss",
|
|
"r",
|
|
"racket",
|
|
"raku",
|
|
"razor",
|
|
"reg",
|
|
"regexp",
|
|
"rel",
|
|
"riscv",
|
|
"rst",
|
|
"ruby",
|
|
"rust",
|
|
"sas",
|
|
"sass",
|
|
"scala",
|
|
"scheme",
|
|
"scss",
|
|
"shaderlab",
|
|
"shellscript",
|
|
"shellsession",
|
|
"smalltalk",
|
|
"solidity",
|
|
"soy",
|
|
"sparql",
|
|
"splunk",
|
|
"sql",
|
|
"ssh-config",
|
|
"stata",
|
|
"stylus",
|
|
"svelte",
|
|
"swift",
|
|
"system-verilog",
|
|
"systemd",
|
|
"tasl",
|
|
"tcl",
|
|
"templ",
|
|
"terraform",
|
|
"tex",
|
|
"toml",
|
|
"ts-tags",
|
|
"tsv",
|
|
"tsx",
|
|
"turtle",
|
|
"twig",
|
|
"typescript",
|
|
"typespec",
|
|
"typst",
|
|
"v",
|
|
"vala",
|
|
"vb",
|
|
"verilog",
|
|
"vhdl",
|
|
"viml",
|
|
"vue",
|
|
"vue-html",
|
|
"vyper",
|
|
"wasm",
|
|
"wenyan",
|
|
"wgsl",
|
|
"wikitext",
|
|
"wolfram",
|
|
"xml",
|
|
"xsl",
|
|
"yaml",
|
|
"zenscript",
|
|
"zig",
|
|
]
|
|
],
|
|
]
|
|
] = None,
|
|
theme: Optional[
|
|
Union[
|
|
Literal[
|
|
"andromeeda",
|
|
"aurora-x",
|
|
"ayu-dark",
|
|
"catppuccin-frappe",
|
|
"catppuccin-latte",
|
|
"catppuccin-macchiato",
|
|
"catppuccin-mocha",
|
|
"dark-plus",
|
|
"dracula",
|
|
"dracula-soft",
|
|
"everforest-dark",
|
|
"everforest-light",
|
|
"github-dark",
|
|
"github-dark-default",
|
|
"github-dark-dimmed",
|
|
"github-dark-high-contrast",
|
|
"github-light",
|
|
"github-light-default",
|
|
"github-light-high-contrast",
|
|
"houston",
|
|
"laserwave",
|
|
"light-plus",
|
|
"material-theme",
|
|
"material-theme-darker",
|
|
"material-theme-lighter",
|
|
"material-theme-ocean",
|
|
"material-theme-palenight",
|
|
"min-dark",
|
|
"min-light",
|
|
"monokai",
|
|
"night-owl",
|
|
"nord",
|
|
"one-dark-pro",
|
|
"one-light",
|
|
"plastic",
|
|
"poimandres",
|
|
"red",
|
|
"rose-pine",
|
|
"rose-pine-dawn",
|
|
"rose-pine-moon",
|
|
"slack-dark",
|
|
"slack-ochin",
|
|
"snazzy-light",
|
|
"solarized-dark",
|
|
"solarized-light",
|
|
"synthwave-84",
|
|
"tokyo-night",
|
|
"vesper",
|
|
"vitesse-black",
|
|
"vitesse-dark",
|
|
"vitesse-light",
|
|
],
|
|
Var[
|
|
Literal[
|
|
"andromeeda",
|
|
"aurora-x",
|
|
"ayu-dark",
|
|
"catppuccin-frappe",
|
|
"catppuccin-latte",
|
|
"catppuccin-macchiato",
|
|
"catppuccin-mocha",
|
|
"dark-plus",
|
|
"dracula",
|
|
"dracula-soft",
|
|
"everforest-dark",
|
|
"everforest-light",
|
|
"github-dark",
|
|
"github-dark-default",
|
|
"github-dark-dimmed",
|
|
"github-dark-high-contrast",
|
|
"github-light",
|
|
"github-light-default",
|
|
"github-light-high-contrast",
|
|
"houston",
|
|
"laserwave",
|
|
"light-plus",
|
|
"material-theme",
|
|
"material-theme-darker",
|
|
"material-theme-lighter",
|
|
"material-theme-ocean",
|
|
"material-theme-palenight",
|
|
"min-dark",
|
|
"min-light",
|
|
"monokai",
|
|
"night-owl",
|
|
"nord",
|
|
"one-dark-pro",
|
|
"one-light",
|
|
"plastic",
|
|
"poimandres",
|
|
"red",
|
|
"rose-pine",
|
|
"rose-pine-dawn",
|
|
"rose-pine-moon",
|
|
"slack-dark",
|
|
"slack-ochin",
|
|
"snazzy-light",
|
|
"solarized-dark",
|
|
"solarized-light",
|
|
"synthwave-84",
|
|
"tokyo-night",
|
|
"vesper",
|
|
"vitesse-black",
|
|
"vitesse-dark",
|
|
"vitesse-light",
|
|
]
|
|
],
|
|
]
|
|
] = None,
|
|
themes: Optional[
|
|
Union[
|
|
Var[Union[dict[str, str], list[dict[str, Any]]]],
|
|
dict[str, str],
|
|
list[dict[str, Any]],
|
|
]
|
|
] = None,
|
|
code: Optional[Union[Var[str], str]] = None,
|
|
transformers: Optional[
|
|
Union[
|
|
Var[list[Union[ShikiBaseTransformers, dict[str, Any]]]],
|
|
list[Union[ShikiBaseTransformers, dict[str, Any]]],
|
|
]
|
|
] = None,
|
|
decorations: Optional[
|
|
Union[Var[list[ShikiDecorations]], list[ShikiDecorations]]
|
|
] = None,
|
|
style: Optional[Style] = None,
|
|
key: Optional[Any] = None,
|
|
id: Optional[Any] = None,
|
|
class_name: Optional[Any] = None,
|
|
autofocus: Optional[bool] = None,
|
|
custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
|
|
on_blur: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_click: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_focus: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mount: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
|
|
**props,
|
|
) -> "ShikiHighLevelCodeBlock":
|
|
"""Create a code block component using [shiki syntax highlighter](https://shiki.matsu.io/).
|
|
|
|
Args:
|
|
*children: The children of the component.
|
|
use_transformers: If this is enabled, the default transformers(shikijs transformer) will be used.
|
|
show_line_numbers: If this is enabled line numbers will be shown next to the code block.
|
|
can_copy: Whether a copy button should appear.
|
|
copy_button: copy_button: A custom copy button to override the default one.
|
|
language: The language to use.
|
|
theme: The theme to use ("light" or "dark").
|
|
themes: The set of themes to use for different modes.
|
|
code: The code to display.
|
|
transformers: The transformers to use for the syntax highlighter.
|
|
decorations: The decorations to use for the syntax highlighter.
|
|
style: The style of the component.
|
|
key: A unique key for the component.
|
|
id: The id for the component.
|
|
class_name: The class name for the component.
|
|
autofocus: Whether the component should take the focus once the page is loaded
|
|
custom_attrs: custom attribute
|
|
**props: The props to pass to the component.
|
|
|
|
Returns:
|
|
The code block component.
|
|
"""
|
|
...
|
|
|
|
class TransformerNamespace(ComponentNamespace):
|
|
shikijs = ShikiJsTransformer
|
|
|
|
class CodeblockNamespace(ComponentNamespace):
|
|
root = staticmethod(ShikiCodeBlock.create)
|
|
create_transformer = staticmethod(ShikiCodeBlock.create_transformer)
|
|
transformers = TransformerNamespace()
|
|
|
|
@staticmethod
|
|
def __call__(
|
|
*children,
|
|
use_transformers: Optional[Union[Var[bool], bool]] = None,
|
|
show_line_numbers: Optional[Union[Var[bool], bool]] = None,
|
|
can_copy: Optional[bool] = None,
|
|
copy_button: Optional[Union[Component, bool]] = None,
|
|
language: Optional[
|
|
Union[
|
|
Literal[
|
|
"abap",
|
|
"actionscript-3",
|
|
"ada",
|
|
"angular-html",
|
|
"angular-ts",
|
|
"apache",
|
|
"apex",
|
|
"apl",
|
|
"applescript",
|
|
"ara",
|
|
"asciidoc",
|
|
"asm",
|
|
"astro",
|
|
"awk",
|
|
"ballerina",
|
|
"bat",
|
|
"beancount",
|
|
"berry",
|
|
"bibtex",
|
|
"bicep",
|
|
"blade",
|
|
"c",
|
|
"cadence",
|
|
"clarity",
|
|
"clojure",
|
|
"cmake",
|
|
"cobol",
|
|
"codeowners",
|
|
"codeql",
|
|
"coffee",
|
|
"common-lisp",
|
|
"coq",
|
|
"cpp",
|
|
"crystal",
|
|
"csharp",
|
|
"css",
|
|
"csv",
|
|
"cue",
|
|
"cypher",
|
|
"d",
|
|
"dart",
|
|
"dax",
|
|
"desktop",
|
|
"diff",
|
|
"docker",
|
|
"dotenv",
|
|
"dream-maker",
|
|
"edge",
|
|
"elixir",
|
|
"elm",
|
|
"emacs-lisp",
|
|
"erb",
|
|
"erlang",
|
|
"fennel",
|
|
"fish",
|
|
"fluent",
|
|
"fortran-fixed-form",
|
|
"fortran-free-form",
|
|
"fsharp",
|
|
"gdresource",
|
|
"gdscript",
|
|
"gdshader",
|
|
"genie",
|
|
"gherkin",
|
|
"git-commit",
|
|
"git-rebase",
|
|
"gleam",
|
|
"glimmer-js",
|
|
"glimmer-ts",
|
|
"glsl",
|
|
"gnuplot",
|
|
"go",
|
|
"graphql",
|
|
"groovy",
|
|
"hack",
|
|
"haml",
|
|
"handlebars",
|
|
"haskell",
|
|
"haxe",
|
|
"hcl",
|
|
"hjson",
|
|
"hlsl",
|
|
"html",
|
|
"html-derivative",
|
|
"http",
|
|
"hxml",
|
|
"hy",
|
|
"imba",
|
|
"ini",
|
|
"java",
|
|
"javascript",
|
|
"jinja",
|
|
"jison",
|
|
"json",
|
|
"json5",
|
|
"jsonc",
|
|
"jsonl",
|
|
"jsonnet",
|
|
"jssm",
|
|
"jsx",
|
|
"julia",
|
|
"kotlin",
|
|
"kusto",
|
|
"latex",
|
|
"lean",
|
|
"less",
|
|
"liquid",
|
|
"log",
|
|
"logo",
|
|
"lua",
|
|
"luau",
|
|
"make",
|
|
"markdown",
|
|
"marko",
|
|
"matlab",
|
|
"mdc",
|
|
"mdx",
|
|
"mermaid",
|
|
"mojo",
|
|
"move",
|
|
"narrat",
|
|
"nextflow",
|
|
"nginx",
|
|
"nim",
|
|
"nix",
|
|
"nushell",
|
|
"objective-c",
|
|
"objective-cpp",
|
|
"ocaml",
|
|
"pascal",
|
|
"perl",
|
|
"php",
|
|
"plain",
|
|
"plsql",
|
|
"po",
|
|
"postcss",
|
|
"powerquery",
|
|
"powershell",
|
|
"prisma",
|
|
"prolog",
|
|
"proto",
|
|
"pug",
|
|
"puppet",
|
|
"purescript",
|
|
"python",
|
|
"qml",
|
|
"qmldir",
|
|
"qss",
|
|
"r",
|
|
"racket",
|
|
"raku",
|
|
"razor",
|
|
"reg",
|
|
"regexp",
|
|
"rel",
|
|
"riscv",
|
|
"rst",
|
|
"ruby",
|
|
"rust",
|
|
"sas",
|
|
"sass",
|
|
"scala",
|
|
"scheme",
|
|
"scss",
|
|
"shaderlab",
|
|
"shellscript",
|
|
"shellsession",
|
|
"smalltalk",
|
|
"solidity",
|
|
"soy",
|
|
"sparql",
|
|
"splunk",
|
|
"sql",
|
|
"ssh-config",
|
|
"stata",
|
|
"stylus",
|
|
"svelte",
|
|
"swift",
|
|
"system-verilog",
|
|
"systemd",
|
|
"tasl",
|
|
"tcl",
|
|
"templ",
|
|
"terraform",
|
|
"tex",
|
|
"toml",
|
|
"ts-tags",
|
|
"tsv",
|
|
"tsx",
|
|
"turtle",
|
|
"twig",
|
|
"typescript",
|
|
"typespec",
|
|
"typst",
|
|
"v",
|
|
"vala",
|
|
"vb",
|
|
"verilog",
|
|
"vhdl",
|
|
"viml",
|
|
"vue",
|
|
"vue-html",
|
|
"vyper",
|
|
"wasm",
|
|
"wenyan",
|
|
"wgsl",
|
|
"wikitext",
|
|
"wolfram",
|
|
"xml",
|
|
"xsl",
|
|
"yaml",
|
|
"zenscript",
|
|
"zig",
|
|
],
|
|
Var[
|
|
Literal[
|
|
"abap",
|
|
"actionscript-3",
|
|
"ada",
|
|
"angular-html",
|
|
"angular-ts",
|
|
"apache",
|
|
"apex",
|
|
"apl",
|
|
"applescript",
|
|
"ara",
|
|
"asciidoc",
|
|
"asm",
|
|
"astro",
|
|
"awk",
|
|
"ballerina",
|
|
"bat",
|
|
"beancount",
|
|
"berry",
|
|
"bibtex",
|
|
"bicep",
|
|
"blade",
|
|
"c",
|
|
"cadence",
|
|
"clarity",
|
|
"clojure",
|
|
"cmake",
|
|
"cobol",
|
|
"codeowners",
|
|
"codeql",
|
|
"coffee",
|
|
"common-lisp",
|
|
"coq",
|
|
"cpp",
|
|
"crystal",
|
|
"csharp",
|
|
"css",
|
|
"csv",
|
|
"cue",
|
|
"cypher",
|
|
"d",
|
|
"dart",
|
|
"dax",
|
|
"desktop",
|
|
"diff",
|
|
"docker",
|
|
"dotenv",
|
|
"dream-maker",
|
|
"edge",
|
|
"elixir",
|
|
"elm",
|
|
"emacs-lisp",
|
|
"erb",
|
|
"erlang",
|
|
"fennel",
|
|
"fish",
|
|
"fluent",
|
|
"fortran-fixed-form",
|
|
"fortran-free-form",
|
|
"fsharp",
|
|
"gdresource",
|
|
"gdscript",
|
|
"gdshader",
|
|
"genie",
|
|
"gherkin",
|
|
"git-commit",
|
|
"git-rebase",
|
|
"gleam",
|
|
"glimmer-js",
|
|
"glimmer-ts",
|
|
"glsl",
|
|
"gnuplot",
|
|
"go",
|
|
"graphql",
|
|
"groovy",
|
|
"hack",
|
|
"haml",
|
|
"handlebars",
|
|
"haskell",
|
|
"haxe",
|
|
"hcl",
|
|
"hjson",
|
|
"hlsl",
|
|
"html",
|
|
"html-derivative",
|
|
"http",
|
|
"hxml",
|
|
"hy",
|
|
"imba",
|
|
"ini",
|
|
"java",
|
|
"javascript",
|
|
"jinja",
|
|
"jison",
|
|
"json",
|
|
"json5",
|
|
"jsonc",
|
|
"jsonl",
|
|
"jsonnet",
|
|
"jssm",
|
|
"jsx",
|
|
"julia",
|
|
"kotlin",
|
|
"kusto",
|
|
"latex",
|
|
"lean",
|
|
"less",
|
|
"liquid",
|
|
"log",
|
|
"logo",
|
|
"lua",
|
|
"luau",
|
|
"make",
|
|
"markdown",
|
|
"marko",
|
|
"matlab",
|
|
"mdc",
|
|
"mdx",
|
|
"mermaid",
|
|
"mojo",
|
|
"move",
|
|
"narrat",
|
|
"nextflow",
|
|
"nginx",
|
|
"nim",
|
|
"nix",
|
|
"nushell",
|
|
"objective-c",
|
|
"objective-cpp",
|
|
"ocaml",
|
|
"pascal",
|
|
"perl",
|
|
"php",
|
|
"plain",
|
|
"plsql",
|
|
"po",
|
|
"postcss",
|
|
"powerquery",
|
|
"powershell",
|
|
"prisma",
|
|
"prolog",
|
|
"proto",
|
|
"pug",
|
|
"puppet",
|
|
"purescript",
|
|
"python",
|
|
"qml",
|
|
"qmldir",
|
|
"qss",
|
|
"r",
|
|
"racket",
|
|
"raku",
|
|
"razor",
|
|
"reg",
|
|
"regexp",
|
|
"rel",
|
|
"riscv",
|
|
"rst",
|
|
"ruby",
|
|
"rust",
|
|
"sas",
|
|
"sass",
|
|
"scala",
|
|
"scheme",
|
|
"scss",
|
|
"shaderlab",
|
|
"shellscript",
|
|
"shellsession",
|
|
"smalltalk",
|
|
"solidity",
|
|
"soy",
|
|
"sparql",
|
|
"splunk",
|
|
"sql",
|
|
"ssh-config",
|
|
"stata",
|
|
"stylus",
|
|
"svelte",
|
|
"swift",
|
|
"system-verilog",
|
|
"systemd",
|
|
"tasl",
|
|
"tcl",
|
|
"templ",
|
|
"terraform",
|
|
"tex",
|
|
"toml",
|
|
"ts-tags",
|
|
"tsv",
|
|
"tsx",
|
|
"turtle",
|
|
"twig",
|
|
"typescript",
|
|
"typespec",
|
|
"typst",
|
|
"v",
|
|
"vala",
|
|
"vb",
|
|
"verilog",
|
|
"vhdl",
|
|
"viml",
|
|
"vue",
|
|
"vue-html",
|
|
"vyper",
|
|
"wasm",
|
|
"wenyan",
|
|
"wgsl",
|
|
"wikitext",
|
|
"wolfram",
|
|
"xml",
|
|
"xsl",
|
|
"yaml",
|
|
"zenscript",
|
|
"zig",
|
|
]
|
|
],
|
|
]
|
|
] = None,
|
|
theme: Optional[
|
|
Union[
|
|
Literal[
|
|
"andromeeda",
|
|
"aurora-x",
|
|
"ayu-dark",
|
|
"catppuccin-frappe",
|
|
"catppuccin-latte",
|
|
"catppuccin-macchiato",
|
|
"catppuccin-mocha",
|
|
"dark-plus",
|
|
"dracula",
|
|
"dracula-soft",
|
|
"everforest-dark",
|
|
"everforest-light",
|
|
"github-dark",
|
|
"github-dark-default",
|
|
"github-dark-dimmed",
|
|
"github-dark-high-contrast",
|
|
"github-light",
|
|
"github-light-default",
|
|
"github-light-high-contrast",
|
|
"houston",
|
|
"laserwave",
|
|
"light-plus",
|
|
"material-theme",
|
|
"material-theme-darker",
|
|
"material-theme-lighter",
|
|
"material-theme-ocean",
|
|
"material-theme-palenight",
|
|
"min-dark",
|
|
"min-light",
|
|
"monokai",
|
|
"night-owl",
|
|
"nord",
|
|
"one-dark-pro",
|
|
"one-light",
|
|
"plastic",
|
|
"poimandres",
|
|
"red",
|
|
"rose-pine",
|
|
"rose-pine-dawn",
|
|
"rose-pine-moon",
|
|
"slack-dark",
|
|
"slack-ochin",
|
|
"snazzy-light",
|
|
"solarized-dark",
|
|
"solarized-light",
|
|
"synthwave-84",
|
|
"tokyo-night",
|
|
"vesper",
|
|
"vitesse-black",
|
|
"vitesse-dark",
|
|
"vitesse-light",
|
|
],
|
|
Var[
|
|
Literal[
|
|
"andromeeda",
|
|
"aurora-x",
|
|
"ayu-dark",
|
|
"catppuccin-frappe",
|
|
"catppuccin-latte",
|
|
"catppuccin-macchiato",
|
|
"catppuccin-mocha",
|
|
"dark-plus",
|
|
"dracula",
|
|
"dracula-soft",
|
|
"everforest-dark",
|
|
"everforest-light",
|
|
"github-dark",
|
|
"github-dark-default",
|
|
"github-dark-dimmed",
|
|
"github-dark-high-contrast",
|
|
"github-light",
|
|
"github-light-default",
|
|
"github-light-high-contrast",
|
|
"houston",
|
|
"laserwave",
|
|
"light-plus",
|
|
"material-theme",
|
|
"material-theme-darker",
|
|
"material-theme-lighter",
|
|
"material-theme-ocean",
|
|
"material-theme-palenight",
|
|
"min-dark",
|
|
"min-light",
|
|
"monokai",
|
|
"night-owl",
|
|
"nord",
|
|
"one-dark-pro",
|
|
"one-light",
|
|
"plastic",
|
|
"poimandres",
|
|
"red",
|
|
"rose-pine",
|
|
"rose-pine-dawn",
|
|
"rose-pine-moon",
|
|
"slack-dark",
|
|
"slack-ochin",
|
|
"snazzy-light",
|
|
"solarized-dark",
|
|
"solarized-light",
|
|
"synthwave-84",
|
|
"tokyo-night",
|
|
"vesper",
|
|
"vitesse-black",
|
|
"vitesse-dark",
|
|
"vitesse-light",
|
|
]
|
|
],
|
|
]
|
|
] = None,
|
|
themes: Optional[
|
|
Union[
|
|
Var[Union[dict[str, str], list[dict[str, Any]]]],
|
|
dict[str, str],
|
|
list[dict[str, Any]],
|
|
]
|
|
] = None,
|
|
code: Optional[Union[Var[str], str]] = None,
|
|
transformers: Optional[
|
|
Union[
|
|
Var[list[Union[ShikiBaseTransformers, dict[str, Any]]]],
|
|
list[Union[ShikiBaseTransformers, dict[str, Any]]],
|
|
]
|
|
] = None,
|
|
decorations: Optional[
|
|
Union[Var[list[ShikiDecorations]], list[ShikiDecorations]]
|
|
] = None,
|
|
style: Optional[Style] = None,
|
|
key: Optional[Any] = None,
|
|
id: Optional[Any] = None,
|
|
class_name: Optional[Any] = None,
|
|
autofocus: Optional[bool] = None,
|
|
custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
|
|
on_blur: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_click: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_focus: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mount: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
|
|
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
|
|
**props,
|
|
) -> "ShikiHighLevelCodeBlock":
|
|
"""Create a code block component using [shiki syntax highlighter](https://shiki.matsu.io/).
|
|
|
|
Args:
|
|
*children: The children of the component.
|
|
use_transformers: If this is enabled, the default transformers(shikijs transformer) will be used.
|
|
show_line_numbers: If this is enabled line numbers will be shown next to the code block.
|
|
can_copy: Whether a copy button should appear.
|
|
copy_button: copy_button: A custom copy button to override the default one.
|
|
language: The language to use.
|
|
theme: The theme to use ("light" or "dark").
|
|
themes: The set of themes to use for different modes.
|
|
code: The code to display.
|
|
transformers: The transformers to use for the syntax highlighter.
|
|
decorations: The decorations to use for the syntax highlighter.
|
|
style: The style of the component.
|
|
key: A unique key for the component.
|
|
id: The id for the component.
|
|
class_name: The class name for the component.
|
|
autofocus: Whether the component should take the focus once the page is loaded
|
|
custom_attrs: custom attribute
|
|
**props: The props to pass to the component.
|
|
|
|
Returns:
|
|
The code block component.
|
|
"""
|
|
...
|
|
|
|
code_block = CodeblockNamespace()
|