react-markdown-code-highlighter
Version:
`react-markdown-code-highlighter` is a flexible [React](https://react.dev) component for rendering Markdown with syntax-highlighted code blocks using [highlight.js](https://highlightjs.org/). It is designed for use in chat systems and AI assistants like C
862 lines (861 loc) • 28.7 kB
CSS
:root {
--ds-rgb-neutral-50: 250 250 250;
--ds-rgb-neutral-100: 245 245 245;
--ds-rgb-neutral-150: 237 237 237;
--ds-rgb-neutral-200: 229 229 229;
--ds-rgb-neutral-250: 220 220 220;
--ds-rgb-neutral-300: 212 212 212;
--ds-rgb-neutral-350: 187 187 187;
--ds-rgb-neutral-400: 163 163 163;
--ds-rgb-neutral-450: 139 139 139;
--ds-rgb-neutral-500: 115 115 115;
--ds-rgb-neutral-550: 98 98 98;
--ds-rgb-neutral-600: 82 82 82;
--ds-rgb-neutral-650: 73 73 73;
--ds-rgb-neutral-700: 64 64 64;
--ds-rgb-neutral-750: 51 51 51;
--ds-rgb-neutral-800: 38 38 38;
--ds-rgb-neutral-850: 30 30 30;
--ds-rgb-neutral-900: 23 23 23;
--ds-rgb-neutral-950: 10 10 10;
--ds-rgb-blue-500: 59 130 246;
--ds-rgb-label-1: var(--ds-rgb-neutral-700);
}
.ds-markdown {
--ds-font-family-code: Menlo, 'Roboto Mono', 'Courier New', Courier, monospace, 'Inter', sans-serif;
font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, Helvetica Neue, Oxygen, Open Sans, sans-serif;
}
.ds-markdown {
--ds-rgb-primary: var(--ds-rgb-blue-500);
--ds-rgb-label-1: var(--ds-rgb-neutral-700);
--ds-rgb-label-2: var(--ds-rgb-neutral-450);
--ds-rgb-label-3: var(--ds-rgb-neutral-400);
--dsr-border-1: rgb(var(--ds-rgb-neutral-350));
--dsr-border-2: rgb(var(--ds-rgb-neutral-200));
}
.ds-markdown {
--ds-font-size-m: 14px;
--ds-font-size-xsp: 11px;
--ds-line-height-m: 25px;
--ds-transition-duration: 0.2s;
--ds-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
--ds-rgba-transparent: 255 255 255 / 0;
--ds-rgb-link: var(--ds-rgb-primary);
}
.ds-markdown.apple {
--ds-font-weight-strong: 500;
}
.ds-markdown {
--ds-md-zoom: 1.143;
--ds-md-font-size: calc(var(--ds-md-zoom) * var(--ds-font-size-m));
--ds-md-line-height: calc(var(--ds-md-zoom) * var(--ds-line-height-m));
font-size: var(--ds-md-font-size);
min-height: var(--ds-md-font-size);
line-height: var(--ds-md-line-height);
color: rgb(var(--ds-rgb-label-1));
}
.ds-markdown img {
max-width: 100%;
}
.ds-markdown h1,
.ds-markdown h2,
.ds-markdown h3,
.ds-markdown h4,
.ds-markdown h5,
.ds-markdown h6 {
font-weight: var(--ds-font-weight-strong);
font-size: var(--ds-md-font-size);
line-height: var(--ds-md-line-height);
margin: calc(var(--ds-md-zoom) * 16px) 0 calc(var(--ds-md-zoom) * 12px) 0;
}
.ds-markdown h1,
.ds-markdown h2,
.ds-markdown h3,
.ds-markdown h4,
.ds-markdown h5,
.ds-markdown h6 {
font-weight: var(--ds-font-weight-strong);
font-size: var(--ds-md-font-size);
line-height: var(--ds-md-line-height);
margin: calc(var(--ds-md-zoom) * 16px) 0 calc(var(--ds-md-zoom) * 12px) 0;
}
.ds-markdown h1 {
font-size: calc(var(--ds-md-zoom) * 24px);
line-height: 1.5;
}
.ds-markdown h2 {
font-size: calc(var(--ds-md-zoom) * 20px);
line-height: 1.5;
}
.ds-markdown h3 {
font-size: calc(var(--ds-md-zoom) * 16px);
line-height: 1.5;
}
.ds-markdown h1 .header-anchor,
.ds-markdown h2 .header-anchor,
.ds-markdown h3 .header-anchor,
.ds-markdown h4 .header-anchor,
.ds-markdown h5 .header-anchor,
.ds-markdown h6 .header-anchor {
opacity: 0;
margin-left: 4px;
}
.ds-markdown h1:hover .header-anchor,
.ds-markdown h2:hover .header-anchor,
.ds-markdown h3:hover .header-anchor,
.ds-markdown h4:hover .header-anchor,
.ds-markdown h5:hover .header-anchor,
.ds-markdown h6:hover .header-anchor {
opacity: 1;
}
.ds-markdown .ds-markdown-paragraph {
margin: calc(var(--ds-md-zoom) * 12px) 0;
font-size: var(--ds-md-font-size);
line-height: var(--ds-md-line-height);
}
.ds-markdown a:not(.ds-a) {
color: rgb(var(--ds-rgb-link));
transition: box-shadow var(--ds-transition-duration) var(--ds-ease-in-out);
border-radius: calc(var(--ds-md-zoom) * 6px);
border-left: 3px solid rgba(var(--ds-rgba-transparent));
border-right: 3px solid rgba(var(--ds-rgba-transparent));
border-top: 2px solid rgba(var(--ds-rgba-transparent));
border-bottom: 2px solid rgba(var(--ds-rgba-transparent));
margin-left: -3px;
margin-right: -3px;
text-decoration: none;
position: relative;
}
.ds-markdown a:not(.ds-a):focus {
outline: none;
}
.ds-markdown a:not(.ds-a):focus-visible {
box-shadow: 0 0 0 2px rgb(var(--ds-rgb-primary));
}
.ds-markdown li > ul,
.ds-markdown li > ol {
margin-top: 4px;
}
.ds-markdown ul,
.ds-markdown ol {
margin: calc(var(--ds-md-zoom) * 12px) 0;
padding-left: calc(var(--ds-md-zoom) * 24px);
}
.ds-markdown li:not(:first-child) {
margin-top: 4px;
}
.ds-markdown li::marker {
line-height: var(--ds-md-line-height);
color: rgb(var(--ds-rgb-label-2));
}
.ds-markdown hr {
height: 1px;
margin: 32px 0;
background-color: var(--dsr-border-2);
border: none;
display: block;
}
.ds-markdown blockquote {
border-left: 2px solid rgb(var(--ds-rgb-label-3));
padding-left: calc(var(--ds-md-zoom) * 16px);
margin: 0;
}
.ds-markdown table {
border-collapse: collapse;
}
.ds-markdown th {
color: rgb(var(--ds-rgb-label-1));
padding: calc(var(--ds-md-zoom) * 6px) calc(var(--ds-md-zoom) * 12px);
border-bottom: 1px solid rgb(var(--ds-rgb-label-3));
border-top: 1px solid rgb(var(--ds-rgb-label-3));
font-weight: 600;
}
.ds-markdown th,
.ds-markdown td {
text-align: left;
}
.ds-markdown th:first-child {
padding-left: 0;
}
.ds-markdown td {
padding: calc(var(--ds-md-zoom) * 6px) calc(var(--ds-md-zoom) * 12px);
border-bottom: 1px solid rgb(var(--ds-rgb-label-3));
}
.ds-markdown td:first-child {
padding-left: 0;
}
.ds-markdown pre {
margin: calc(var(--ds-md-zoom) * 12px) 0;
font-family: var(--ds-font-family-code);
overflow: auto;
}
.ds-markdown code {
font-size: 0.875em;
font-weight: var(--ds-font-weight-strong);
font-family: var(--ds-font-family-code);
background-color: #ececec;
border-radius: 4px;
padding: 0.15rem 0.3rem;
}
.ds-markdown code:before {
margin-left: 4px;
}
.ds-markdown code:after {
margin-right: 4px;
}
ds-markdown-math {
text-align: center;
display: block;
overflow-x: auto;
overflow-y: hidden;
}
.ds-markdown > * .ds-markdown-math {
margin: calc(var(--ds-md-zoom) * 12px) 0;
}
.ds-markdown > * .ds-markdown-math:first-child {
margin-top: 0;
}
.ds-markdown > * .ds-markdown-math:last-child {
margin-bottom: 0;
}
.ds-markdown-code-copy-button {
background-color: rgba(var(--ds-rgba-transparent));
color: inherit;
cursor: pointer;
border: none;
margin: 0;
padding: 0;
}
.ds-markdown li > .ds-markdown-paragraph {
margin: 4px 0;
}
.ds-markdown li > :first-child {
margin-top: 0;
}
.ds-markdown li > :last-child {
margin-bottom: 0;
}
.ds-markdown .ds-markdown-paragraph:last-child {
margin-bottom: 0 ;
}
.ds-markdown > :first-child {
margin-top: 0 ;
}
.ds-markdown .ds-typed-thinking {
border-left: 2px solid #e5e5e5;
padding: 0 0 0 12px;
color: #8b8b8b;
line-height: 26px;
font-size: var(--ds-font-size-m);
}
.ds-markdown.ds-typed-answer {
margin: calc(var(--ds-md-zoom) * 12px) 0;
font-size: var(--ds-md-font-size);
line-height: var(--ds-md-line-height);
}
.md-code-block {
--ds-md-code-block-border-radius: 12px;
--ds-md-code-block-font-size: calc(var(--ds-md-zoom) * var(--ds-font-size-xsp));
border-radius: var(--ds-md-code-block-border-radius);
font-size: var(--ds-md-code-block-font-size);
line-height: calc(var(--ds-md-code-block-font-size) * 1.6);
}
.md-code-block-light {
--ds-md-code-block-border-color: #e5e5e5;
--ds-md-code-block-banner-wrap-background-color: white;
--ds-md-code-banner-background-color: #f5f5f5;
color: #494949;
background: #fafafa;
}
.md-code-block-banner {
border-top-left-radius: var(--ds-md-code-block-border-radius);
border-top-right-radius: var(--ds-md-code-block-border-radius);
}
.md-code-block-banner-lite {
padding: 0;
}
.md-code-block-banner-content {
justify-content: space-between;
align-items: center;
padding: 6px 14px 6px 6px;
display: flex;
}
.md-code-block-language {
color: var(--dsr-text-2);
margin-left: 8px;
font-size: 12px;
line-height: 18px;
}
.ds-markdown .markdown-table-wrapper {
overflow-x: auto;
}
.ds-markdown .markdown-table-wrapper table {
width: max-content;
max-width: max-content;
min-width: 100%;
}
.ds-markdown .markdown-table-wrapper th,
.ds-markdown .markdown-table-wrapper td {
padding: 10px;
font-size: 15px;
line-height: 1.72;
}
.ds-markdown .markdown-table-wrapper th {
border-color: var(--dsr-border-1);
border-top: none;
}
.ds-markdown .markdown-table-wrapper td {
border-color: var(--dsr-border-2);
max-width: 320px;
min-width: 100px;
max-width: max(30vw, 320px);
}
.md-code-block.md-code-block-dark code[class*='language-'],
.md-code-block.md-code-block-dark pre[class*='language-'] {
color: #e3eaf2;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
-moz-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-ms-hyphens: none;
hyphens: none;
background: 0 0;
font-family: Consolas,
Monaco,
Andale Mono,
Ubuntu Mono,
monospace;
line-height: 1.5;
}
.md-code-block.md-code-block-dark pre[class*='language-']::-moz-selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark pre[class*='language-'] ::-moz-selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark code[class*='language-']::-moz-selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark code[class*='language-'] ::-moz-selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark pre[class*='language-']::-moz-selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark pre[class*='language-'] ::-moz-selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark code[class*='language-']::-moz-selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark code[class*='language-'] ::-moz-selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark pre[class*='language-']::-moz-selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark pre[class*='language-']::selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark pre[class*='language-'] ::-moz-selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark pre[class*='language-'] ::selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark code[class*='language-']::-moz-selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark code[class*='language-']::selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark code[class*='language-'] ::-moz-selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark code[class*='language-'] ::selection {
background: #3c526d;
}
.md-code-block.md-code-block-dark pre[class*='language-'] {
margin: 0.5em 0;
padding: 1em;
overflow: auto;
}
.md-code-block.md-code-block-dark :not(pre) > code[class*='language-'],
.md-code-block.md-code-block-dark pre[class*='language-'] {
background: #111b27;
}
.md-code-block.md-code-block-dark :not(pre) > code[class*='language-'] {
white-space: normal;
border-radius: 0.3em;
padding: 0.1em 0.3em;
}
.md-code-block.md-code-block-dark .token.comment,
.md-code-block.md-code-block-dark .token.prolog,
.md-code-block.md-code-block-dark .token.doctype,
.md-code-block.md-code-block-dark .token.cdata {
color: #8da1b9;
}
.md-code-block.md-code-block-dark .token.punctuation {
color: #e3eaf2;
}
.md-code-block.md-code-block-dark .token.delimiter.important,
.md-code-block.md-code-block-dark .token.selector .parent,
.md-code-block.md-code-block-dark .token.tag,
.md-code-block.md-code-block-dark .token.tag .token.punctuation {
color: #6cc;
}
.md-code-block.md-code-block-dark .token.attr-name,
.md-code-block.md-code-block-dark .token.boolean,
.md-code-block.md-code-block-dark .token.boolean.important,
.md-code-block.md-code-block-dark .token.number,
.md-code-block.md-code-block-dark .token.constant,
.md-code-block.md-code-block-dark .token.selector .token.attribute {
color: #e6d37a;
}
.md-code-block.md-code-block-dark .token.class-name,
.md-code-block.md-code-block-dark .token.key,
.md-code-block.md-code-block-dark .token.parameter,
.md-code-block.md-code-block-dark .token.property,
.md-code-block.md-code-block-dark .token.property-access,
.md-code-block.md-code-block-dark .token.variable {
color: #6cb8e6;
}
.md-code-block.md-code-block-dark .token.attr-value,
.md-code-block.md-code-block-dark .token.inserted,
.md-code-block.md-code-block-dark .token.color,
.md-code-block.md-code-block-dark .token.selector .token.value,
.md-code-block.md-code-block-dark .token.string,
.md-code-block.md-code-block-dark .token.string .token.url-link {
color: #91d076;
}
.md-code-block.md-code-block-dark .token.builtin,
.md-code-block.md-code-block-dark .token.keyword-array,
.md-code-block.md-code-block-dark .token.package,
.md-code-block.md-code-block-dark .token.regex {
color: #f4adf4;
}
.md-code-block.md-code-block-dark .token.function,
.md-code-block.md-code-block-dark .token.selector .token.class,
.md-code-block.md-code-block-dark .token.selector .token.id {
color: #c699e3;
}
.md-code-block.md-code-block-dark .token.atrule .token.rule,
.md-code-block.md-code-block-dark .token.combinator,
.md-code-block.md-code-block-dark .token.keyword,
.md-code-block.md-code-block-dark .token.operator,
.md-code-block.md-code-block-dark .token.pseudo-class,
.md-code-block.md-code-block-dark .token.pseudo-element,
.md-code-block.md-code-block-dark .token.selector,
.md-code-block.md-code-block-dark .token.unit {
color: #e9ae7e;
}
.md-code-block.md-code-block-dark .token.deleted,
.md-code-block.md-code-block-dark .token.important {
color: #cd6660;
}
.md-code-block.md-code-block-dark .token.keyword-this,
.md-code-block.md-code-block-dark .token.this {
color: #6cb8e6;
}
.md-code-block.md-code-block-dark .token.important,
.md-code-block.md-code-block-dark .token.keyword-this,
.md-code-block.md-code-block-dark .token.this,
.md-code-block.md-code-block-dark .token.bold {
font-weight: 700;
}
.md-code-block.md-code-block-dark .token.delimiter.important {
font-weight: inherit;
}
.md-code-block.md-code-block-dark .token.italic {
font-style: italic;
}
.md-code-block.md-code-block-dark .token.entity {
cursor: help;
}
.md-code-block.md-code-block-dark .language-markdown .token.title,
.md-code-block.md-code-block-dark .language-markdown .token.title .token.punctuation {
color: #6cb8e6;
font-weight: 700;
}
.md-code-block.md-code-block-dark .language-markdown .token.blockquote.punctuation {
color: #f4adf4;
}
.md-code-block.md-code-block-dark .language-markdown .token.code {
color: #6cc;
}
.md-code-block.md-code-block-dark .language-markdown .token.hr.punctuation {
color: #6cb8e6;
}
.md-code-block.md-code-block-dark .language-markdown .token.url .token.content {
color: #91d076;
}
.md-code-block.md-code-block-dark .language-markdown .token.url-link {
color: #e6d37a;
}
.md-code-block.md-code-block-dark .language-markdown .token.list.punctuation {
color: #f4adf4;
}
.md-code-block.md-code-block-dark .language-markdown .token.table-header,
.md-code-block.md-code-block-dark .language-json .token.operator {
color: #e3eaf2;
}
.md-code-block.md-code-block-dark .language-scss .token.variable {
color: #6cc;
}
.md-code-block.md-code-block-dark .token.token.tab:not(:empty):before,
.md-code-block.md-code-block-dark .token.token.cr:before,
.md-code-block.md-code-block-dark .token.token.lf:before,
.md-code-block.md-code-block-dark .token.token.space:before {
color: #8da1b9;
}
.md-code-block.md-code-block-dark div.code-toolbar > .toolbar.toolbar > .toolbar-item > a,
.md-code-block.md-code-block-dark div.code-toolbar > .toolbar.toolbar > .toolbar-item > button {
color: #111b27;
background: #6cb8e6;
}
.md-code-block.md-code-block-dark div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover,
.md-code-block.md-code-block-dark div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus,
.md-code-block.md-code-block-dark div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover,
.md-code-block.md-code-block-dark div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus {
color: #111b27;
background: rgba(108, 184, 230, 0.855);
text-decoration: none;
}
.md-code-block.md-code-block-dark div.code-toolbar > .toolbar.toolbar > .toolbar-item > span,
.md-code-block.md-code-block-dark div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover,
.md-code-block.md-code-block-dark div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus {
color: #111b27;
background: #8da1b9;
}
.md-code-block.md-code-block-dark .line-highlight.line-highlight {
background: linear-gradient(90deg, rgba(60, 82, 109, 0.373) 70%, rgba(60, 82, 109, 0.333));
}
.md-code-block.md-code-block-dark .line-highlight.line-highlight:before,
.md-code-block.md-code-block-dark .line-highlight.line-highlight[data-end]:after {
color: #111b27;
background-color: #8da1b9;
box-shadow: 0 1px #3c526d;
}
.md-code-block.md-code-block-dark pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before {
background-color: rgba(141, 161, 185, 0.094);
}
.md-code-block.md-code-block-dark .line-numbers.line-numbers .line-numbers-rows {
background: rgba(11, 18, 27, 0.48);
border-right: 1px solid #0b121b;
}
.md-code-block.md-code-block-dark .line-numbers .line-numbers-rows > span:before {
color: rgba(141, 161, 185, 0.855);
}
.md-code-block.md-code-block-dark .rainbow-braces .token.token.punctuation.brace-level-1,
.md-code-block.md-code-block-dark .rainbow-braces .token.token.punctuation.brace-level-5,
.md-code-block.md-code-block-dark .rainbow-braces .token.token.punctuation.brace-level-9 {
color: #e6d37a;
}
.md-code-block.md-code-block-dark .rainbow-braces .token.token.punctuation.brace-level-2,
.md-code-block.md-code-block-dark .rainbow-braces .token.token.punctuation.brace-level-6,
.md-code-block.md-code-block-dark .rainbow-braces .token.token.punctuation.brace-level-10 {
color: #f4adf4;
}
.md-code-block.md-code-block-dark .rainbow-braces .token.token.punctuation.brace-level-3,
.md-code-block.md-code-block-dark .rainbow-braces .token.token.punctuation.brace-level-7,
.md-code-block.md-code-block-dark .rainbow-braces .token.token.punctuation.brace-level-11 {
color: #6cb8e6;
}
.md-code-block.md-code-block-dark .rainbow-braces .token.token.punctuation.brace-level-4,
.md-code-block.md-code-block-dark .rainbow-braces .token.token.punctuation.brace-level-8,
.md-code-block.md-code-block-dark .rainbow-braces .token.token.punctuation.brace-level-12 {
color: #c699e3;
}
.md-code-block.md-code-block-dark pre.diff-highlight > code .token.token.deleted:not(.prefix),
.md-code-block.md-code-block-dark pre > code.diff-highlight .token.token.deleted:not(.prefix) {
background-color: rgba(205, 102, 96, 0.12);
}
.md-code-block.md-code-block-dark pre.diff-highlight > code .token.token.inserted:not(.prefix),
.md-code-block.md-code-block-dark pre > code.diff-highlight .token.token.inserted:not(.prefix) {
background-color: rgba(145, 208, 118, 0.12);
}
.md-code-block.md-code-block-dark .command-line .command-line-prompt {
border-right: 1px solid #0b121b;
}
.md-code-block.md-code-block-dark .command-line .command-line-prompt > span:before {
color: rgba(141, 161, 185, 0.855);
}
.md-code-block.md-code-block-light code[class*='language-'],
.md-code-block.md-code-block-light pre[class*='language-'] {
color: #383a42;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
-moz-tab-size: 2;
tab-size: 2;
-webkit-hyphens: none;
-ms-hyphens: none;
hyphens: none;
direction: ltr;
background: #fafafa;
font-family: Fira Code,
Fira Mono,
Menlo,
Consolas,
DejaVu Sans Mono,
monospace;
line-height: 1.5;
}
.md-code-block.md-code-block-light code[class*='language-']::-moz-selection {
color: inherit;
background: #e5e5e6;
}
.md-code-block.md-code-block-light code[class*='language-'] ::-moz-selection {
color: inherit;
background: #e5e5e6;
}
.md-code-block.md-code-block-light pre[class*='language-'] ::-moz-selection {
color: inherit;
background: #e5e5e6;
}
.md-code-block.md-code-block-light code[class*='language-']::-moz-selection {
color: inherit;
background: #e5e5e6;
}
.md-code-block.md-code-block-light code[class*='language-'] ::-moz-selection {
color: inherit;
background: #e5e5e6;
}
.md-code-block.md-code-block-light pre[class*='language-'] ::-moz-selection {
color: inherit;
background: #e5e5e6;
}
.md-code-block.md-code-block-light code[class*='language-']::-moz-selection {
color: inherit;
background: #e5e5e6;
}
.md-code-block.md-code-block-light code[class*='language-']::selection {
color: inherit;
background: #e5e5e6;
}
.md-code-block.md-code-block-light code[class*='language-'] ::-moz-selection {
color: inherit;
background: #e5e5e6;
}
.md-code-block.md-code-block-light code[class*='language-'] ::selection {
color: inherit;
background: #e5e5e6;
}
.md-code-block.md-code-block-light pre[class*='language-'] ::-moz-selection {
color: inherit;
background: #e5e5e6;
}
.md-code-block.md-code-block-light pre[class*='language-'] ::selection {
color: inherit;
background: #e5e5e6;
}
.md-code-block.md-code-block-light pre[class*='language-'] {
border-radius: 0.3em;
margin: 0.5em 0;
padding: 1em;
overflow: auto;
}
.md-code-block.md-code-block-light :not(pre) > code[class*='language-'] {
white-space: normal;
border-radius: 0.3em;
padding: 0.2em 0.3em;
}
.md-code-block.md-code-block-light .token.comment,
.md-code-block.md-code-block-light .token.prolog,
.md-code-block.md-code-block-light .token.cdata {
color: #a0a1a7;
}
.md-code-block.md-code-block-light .token.doctype,
.md-code-block.md-code-block-light .token.punctuation,
.md-code-block.md-code-block-light .token.entity {
color: #383a42;
}
.md-code-block.md-code-block-light .token.attr-name,
.md-code-block.md-code-block-light .token.class-name,
.md-code-block.md-code-block-light .token.boolean,
.md-code-block.md-code-block-light .token.constant,
.md-code-block.md-code-block-light .token.number,
.md-code-block.md-code-block-light .token.atrule {
color: #b76b01;
}
.md-code-block.md-code-block-light .token.keyword {
color: #a626a4;
}
.md-code-block.md-code-block-light .token.property,
.md-code-block.md-code-block-light .token.tag,
.md-code-block.md-code-block-light .token.symbol,
.md-code-block.md-code-block-light .token.deleted,
.md-code-block.md-code-block-light .token.important {
color: #e45649;
}
.md-code-block.md-code-block-light .token.selector,
.md-code-block.md-code-block-light .token.string,
.md-code-block.md-code-block-light .token.char,
.md-code-block.md-code-block-light .token.builtin,
.md-code-block.md-code-block-light .token.inserted,
.md-code-block.md-code-block-light .token.regex,
.md-code-block.md-code-block-light .token.attr-value,
.md-code-block.md-code-block-light .token.attr-value > .token.punctuation {
color: #50a14f;
}
.md-code-block.md-code-block-light .token.variable,
.md-code-block.md-code-block-light .token.operator,
.md-code-block.md-code-block-light .token.function {
color: #4078f2;
}
.md-code-block.md-code-block-light .token.url {
color: #0184bc;
}
.md-code-block.md-code-block-light .token.attr-value > .token.punctuation.attr-equals,
.md-code-block.md-code-block-light .token.special-attr > .token.attr-value > .token.value.css {
color: #383a42;
}
.md-code-block.md-code-block-light .language-css .token.selector {
color: #e45649;
}
.md-code-block.md-code-block-light .language-css .token.property {
color: #383a42;
}
.md-code-block.md-code-block-light .language-css .token.function,
.md-code-block.md-code-block-light .language-css .token.url > .token.function {
color: #0184bc;
}
.md-code-block.md-code-block-light .language-css .token.url > .token.string.url {
color: #50a14f;
}
.md-code-block.md-code-block-light .language-css .token.important,
.md-code-block.md-code-block-light .language-css .token.atrule .token.rule,
.md-code-block.md-code-block-light .language-javascript .token.operator {
color: #a626a4;
}
.md-code-block.md-code-block-light .language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation {
color: #ca1243;
}
.md-code-block.md-code-block-light .language-json .token.operator {
color: #383a42;
}
.md-code-block.md-code-block-light .language-json .token.null.keyword {
color: #b76b01;
}
.md-code-block.md-code-block-light .language-markdown .token.url,
.md-code-block.md-code-block-light .language-markdown .token.url > .token.operator,
.md-code-block.md-code-block-light .language-markdown .token.url-reference.url > .token.string {
color: #383a42;
}
.md-code-block.md-code-block-light .language-markdown .token.url > .token.content {
color: #4078f2;
}
.md-code-block.md-code-block-light .language-markdown .token.url > .token.url,
.md-code-block.md-code-block-light .language-markdown .token.url-reference.url {
color: #0184bc;
}
.md-code-block.md-code-block-light .language-markdown .token.blockquote.punctuation,
.md-code-block.md-code-block-light .language-markdown .token.hr.punctuation {
color: #a0a1a7;
font-style: italic;
}
.md-code-block.md-code-block-light .language-markdown .token.code-snippet {
color: #50a14f;
}
.md-code-block.md-code-block-light .language-markdown .token.bold .token.content {
color: #b76b01;
}
.md-code-block.md-code-block-light .language-markdown .token.italic .token.content {
color: #a626a4;
}
.md-code-block.md-code-block-light .language-markdown .token.strike .token.content,
.md-code-block.md-code-block-light .language-markdown .token.strike .token.punctuation,
.md-code-block.md-code-block-light .language-markdown .token.list.punctuation,
.md-code-block.md-code-block-light .language-markdown .token.title.important > .token.punctuation {
color: #e45649;
}
.md-code-block.md-code-block-light .token.bold {
font-weight: 700;
}
.md-code-block.md-code-block-light .token.comment,
.md-code-block.md-code-block-light .token.italic {
font-style: italic;
}
.md-code-block.md-code-block-light .token.entity {
cursor: help;
}
.md-code-block.md-code-block-light .token.namespace {
opacity: 0.8;
}
.md-code-block.md-code-block-light .token.token.tab:not(:empty):before,
.md-code-block.md-code-block-light .token.token.cr:before,
.md-code-block.md-code-block-light .token.token.lf:before,
.md-code-block.md-code-block-light .token.token.space:before {
color: rgba(56, 58, 66, 0.2);
}
.md-code-block-light {
--ds-md-code-block-border-color: #e5e5e5;
--ds-md-code-block-banner-wrap-background-color: white;
--ds-md-code-banner-background-color: #f5f5f5;
color: #494949;
background: #fafafa;
}
.md-code-block-dark {
--ds-md-code-block-border-color: var(--dsr-bg, transparent);
--ds-md-code-block-banner-wrap-background-color: #292a2d;
--ds-md-code-banner-background-color: #404045;
color: #fff;
background: #212327;
}
.md-code-block {
--ds-md-code-block-border-radius: 12px;
--ds-md-code-block-font-size: calc(var(--ds-md-zoom) * var(--ds-font-size-xsp));
border-radius: var(--ds-md-code-block-border-radius);
font-size: var(--ds-md-code-block-font-size);
line-height: calc(var(--ds-md-code-block-font-size) * 1.6);
}
.md-code-block:not(:last-child) {
margin-bottom: calc(var(--ds-md-zoom) * 10px);
}
.md-code-block-banner-wrap {
background-color: var(--ds-md-code-block-banner-wrap-background-color);
z-index: 6;
position: -webkit-sticky;
position: sticky;
top: 0;
}
.md-code-block-banner {
background: var(--ds-md-code-banner-background-color);
padding: calc(var(--ds-md-zoom) * 8px) calc(var(--ds-md-zoom) * 12px);
font-size: var(--ds-md-code-block-font-size);
line-height: var(--ds-md-code-block-font-size);
justify-content: space-between;
display: flex;
}
.md-code-block-banner-lite {
padding: 0;
}
.md-code-block-banner {
border-top-left-radius: var(--ds-md-code-block-border-radius);
border-top-right-radius: var(--ds-md-code-block-border-radius);
}
.md-code-block-footer {
background: var(--ds-md-code-banner-background-color);
padding: calc(var(--ds-md-zoom) * 8px) calc(var(--ds-md-zoom) * 12px);
font-size: var(--ds-md-code-block-font-size);
line-height: var(--ds-md-code-block-font-size);
border-bottom-left-radius: var(--ds-md-code-block-border-radius);
border-bottom-right-radius: var(--ds-md-code-block-border-radius);
justify-content: flex-end;
display: flex;
}
.md-code-block-action {
align-items: center;
display: flex;
}
.md-code-block > pre {
padding: calc(var(--ds-md-zoom) * 8px) calc(var(--ds-md-zoom) * 12px);
white-space: pre-wrap;
word-break: break-all;
margin: 0 ;
}