@mantine-vue/code-highlight 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/index.cjs +511 -576
- package/cjs/index.cjs.map +1 -1
- package/esm/index.mjs +511 -576
- package/esm/index.mjs.map +1 -1
- package/lib/CodeHighlight/CodeHighlight.d.ts +46 -496
- package/lib/CodeHighlight/CodeHighlight.types.d.ts +80 -0
- package/lib/CodeHighlight/CodeHighlight.vue.d.ts +17 -0
- package/lib/CodeHighlight/CodeHighlightControl/CodeHighlightControl.d.ts +2 -68
- package/lib/CodeHighlight/CodeHighlightControl/CodeHighlightControl.types.d.ts +20 -0
- package/lib/CodeHighlight/CodeHighlightControl/CodeHighlightControl.vue.d.ts +15 -0
- package/lib/CodeHighlight/CopyCodeButton/CopyCodeButton.d.ts +1 -32
- package/lib/CodeHighlight/CopyCodeButton/CopyCodeButton.vue.d.ts +8 -0
- package/lib/CodeHighlight/CopyCodeButton/CopyIcon.d.ts +1 -13
- package/lib/CodeHighlight/CopyCodeButton/CopyIcon.vue.d.ts +6 -0
- package/lib/CodeHighlight/ExpandCodeButton/ExpandCodeButton.d.ts +1 -41
- package/lib/CodeHighlight/ExpandCodeButton/ExpandCodeButton.vue.d.ts +15 -0
- package/lib/CodeHighlight/ExpandCodeButton/ExpandIcon.d.ts +1 -13
- package/lib/CodeHighlight/ExpandCodeButton/ExpandIcon.vue.d.ts +6 -0
- package/lib/CodeHighlight/InlineCodeHighlight.d.ts +16 -107
- package/lib/CodeHighlight/InlineCodeHighlight.types.d.ts +30 -0
- package/lib/CodeHighlight/InlineCodeHighlight.vue.d.ts +5 -0
- package/lib/CodeHighlightProvider/CodeHighlightAdapterProvider.vue.d.ts +14 -0
- package/lib/CodeHighlightProvider/CodeHighlightProvider.d.ts +19 -32
- package/lib/CodeHighlightProvider/CodeHighlightProvider.types.d.ts +25 -0
- package/lib/CodeHighlightTabs/CodeHighlightTabs.d.ts +43 -262
- package/lib/CodeHighlightTabs/CodeHighlightTabs.types.d.ts +47 -0
- package/lib/CodeHighlightTabs/CodeHighlightTabs.vue.d.ts +21 -0
- package/lib/CodeHighlightTabs/FileIcon.d.ts +1 -40
- package/lib/CodeHighlightTabs/FileIcon.vue.d.ts +21 -0
- package/lib/index.d.mts +3 -3
- package/lib/index.d.ts +3 -3
- package/package.json +3 -3
package/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../src/CodeHighlight.module.css","../src/CodeHighlightProvider/adapters/plain-text-adapter.ts","../src/CodeHighlightProvider/CodeHighlightProvider.ts","../src/CodeHighlight/CodeHighlight.context.ts","../src/CodeHighlight/CodeHighlightControl/CodeHighlightControl.ts","../src/CodeHighlight/CopyCodeButton/CopyIcon.ts","../src/CodeHighlight/CopyCodeButton/CopyCodeButton.ts","../src/CodeHighlight/ExpandCodeButton/ExpandIcon.ts","../src/CodeHighlight/ExpandCodeButton/ExpandCodeButton.ts","../src/CodeHighlight/CodeHighlight.ts","../src/CodeHighlight/InlineCodeHighlight.ts","../src/CodeHighlightTabs/FileIcon.ts","../src/CodeHighlightTabs/CodeHighlightTabs.ts","../src/CodeHighlightProvider/adapters/highlight-js-adapter.ts","../src/CodeHighlightProvider/adapters/shiki-themes.ts","../src/CodeHighlightProvider/adapters/shiki-adapter.ts"],"sourcesContent":[".root {\n position: relative;\n}\n\n.codeHighlight {\n position: relative;\n border-radius: var(--ch-radius, 0px);\n overflow: hidden;\n\n &:where([data-with-border]) {\n @mixin where-light {\n border: 1px solid var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n border: 1px solid var(--mantine-color-dark-6);\n }\n\n &:where([data-code-color-scheme='dark']) {\n border: 1px solid var(--mantine-color-dark-6);\n }\n\n &:where([data-code-color-scheme='light']) {\n border: 1px solid var(--mantine-color-gray-2);\n }\n }\n\n @mixin where-light {\n --ch-background: var(--mantine-color-gray-0);\n }\n\n @mixin where-dark {\n --ch-background: var(--mantine-color-dark-8);\n }\n}\n\n.inlineCodeHighlight {\n border-radius: var(--ch-radius, var(--mantine-radius-sm));\n overflow: hidden;\n background-color: var(--ch-background);\n font-size: 13px;\n padding: 3px 5px;\n\n &:where([data-with-border]) {\n @mixin where-light {\n border: 1px solid var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n border: 1px solid var(--mantine-color-dark-6);\n }\n\n &:where([data-code-color-scheme='dark']) {\n border: 1px solid var(--mantine-color-dark-6);\n }\n\n &:where([data-code-color-scheme='light']) {\n border: 1px solid var(--mantine-color-gray-2);\n }\n }\n\n @mixin where-light {\n --ch-background: var(--mantine-color-gray-0);\n }\n\n @mixin where-dark {\n --ch-background: var(--mantine-color-dark-8);\n }\n}\n\n.pre {\n --code-line-height: 1.7;\n\n display: block;\n margin: 0;\n flex: 1;\n min-width: 0;\n\n &[data-with-offset] .code {\n padding-top: 50px;\n }\n}\n\n.code {\n display: block;\n padding: var(--mantine-spacing-xs) var(--mantine-spacing-md);\n background-color: var(--ch-background);\n font-size: 13px;\n line-height: var(--code-line-height, var(--mantine-line-height));\n font-family: var(--mantine-font-family-monospace);\n width: fit-content;\n min-width: 100%;\n\n &:where([data-inline]) {\n display: inline-block;\n padding: 3px 5px;\n background-color: var(--ch-background);\n }\n}\n\n.controls {\n position: absolute;\n top: 8px;\n right: 8px;\n z-index: 1;\n background-color: var(--ch-background);\n border-bottom-left-radius: var(--mantine-radius-md);\n\n &:where([data-with-offset]) {\n top: 12px;\n }\n}\n\n.control {\n color: var(--mantine-color-text);\n opacity: 0.5;\n\n @mixin hover {\n color: var(--mantine-color-bright);\n opacity: 1;\n }\n\n &:where([data-code-color-scheme='dark']) {\n color: var(--mantine-color-dark-0);\n\n @mixin hover {\n color: var(--mantine-color-white);\n }\n }\n\n &:where([data-code-color-scheme='light']) {\n color: var(--mantine-color-black);\n\n @mixin hover {\n color: var(--mantine-color-black);\n }\n }\n\n & :where(svg) {\n width: 18px;\n height: 18px;\n display: block;\n }\n}\n\n.controlTooltip {\n &:where([data-code-color-scheme='light']) {\n background-color: var(--mantine-color-gray-9);\n color: var(--mantine-color-white);\n }\n\n &:where([data-code-color-scheme='dark']) {\n background-color: var(--mantine-color-gray-2);\n color: var(--mantine-color-black);\n }\n}\n\n.codeWrapper {\n --code-line-height: 1.7;\n\n display: flex;\n flex-direction: row;\n}\n\n.lineNumbers {\n user-select: none;\n text-align: right;\n padding: var(--mantine-spacing-xs) var(--mantine-spacing-xs);\n padding-left: var(--mantine-spacing-md);\n font-family: var(--mantine-font-family-monospace);\n font-size: 13px;\n line-height: var(--code-line-height, var(--mantine-line-height));\n color: var(--mantine-color-dimmed);\n background-color: var(--ch-background);\n flex-shrink: 0;\n\n &[data-with-offset] {\n padding-top: 50px;\n }\n}\n\n.scrollarea {\n &[data-collapsed] {\n max-height: var(--ch-max-height, 180px);\n overflow: hidden;\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n height: 80px;\n pointer-events: none;\n background: linear-gradient(\n 0deg,\n var(--ch-background) 0%,\n var(--ch-background) 25%,\n transparent 100%\n );\n z-index: 1;\n }\n }\n}\n\n.showCodeButton {\n position: absolute;\n z-index: 2;\n bottom: 0;\n inset-inline-start: 50%;\n transform: translateX(-50%);\n font-size: var(--mantine-font-size-sm);\n color: var(--mantine-color-anchor);\n width: 100%;\n text-align: center;\n padding-top: var(--mantine-spacing-xs);\n padding-bottom: var(--mantine-spacing-xs);\n white-space: nowrap;\n\n &[data-hidden] {\n display: none;\n }\n\n &:where([data-code-color-scheme='dark']) {\n color: var(--mantine-primary-color-5);\n }\n\n &:where([data-code-color-scheme='light']) {\n color: var(--mantine-primary-color-6);\n }\n}\n\n.file {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--mantine-font-size-xs);\n gap: 7px;\n padding: 5px 9px;\n font-family: var(--mantine-font-family-monospace);\n font-weight: var(--mantine-font-weight-bold);\n line-height: 1;\n user-select: none;\n cursor: pointer;\n opacity: 0.8;\n border: 1px solid transparent;\n white-space: nowrap;\n margin: 0;\n border-radius: var(--mantine-radius-default);\n\n &:where([data-active]) {\n opacity: 1;\n }\n\n @mixin where-light {\n border-color: var(--mantine-color-gray-3);\n color: var(--mantine-color-gray-8);\n\n &:where([data-active]) {\n background-color: var(--mantine-color-white);\n color: var(--mantine-color-black);\n }\n }\n\n @mixin where-dark {\n border-color: var(--mantine-color-dark-4);\n color: var(--mantine-color-dark-0);\n\n &:where([data-active]) {\n background-color: var(--mantine-color-dark-5);\n color: var(--mantine-color-white);\n }\n }\n\n &:where([data-color-scheme='light']) {\n border-color: var(--mantine-color-gray-3);\n color: var(--mantine-color-gray-8);\n\n &:where([data-active]) {\n background-color: var(--mantine-color-white);\n color: var(--mantine-color-black);\n }\n }\n\n &:where([data-color-scheme='dark']) {\n border-color: var(--mantine-color-dark-4);\n color: var(--mantine-color-dark-0);\n\n &:where([data-active]) {\n background-color: var(--mantine-color-dark-5);\n color: var(--mantine-color-white);\n }\n }\n\n @mixin hover {\n opacity: 1;\n }\n\n &:where(:only-child) {\n cursor: default;\n }\n}\n\n.fileIcon {\n & :where(svg) {\n display: block;\n }\n}\n\n.filesScrollarea {\n position: absolute;\n z-index: 2;\n top: 0;\n left: 0;\n right: 70px;\n}\n\n.files {\n display: flex;\n padding: 12px 10px;\n padding-bottom: 0;\n gap: var(--mantine-spacing-xs);\n}\n","import type { CodeHighlightAdapter } from '../CodeHighlightProvider'\n\nexport const plainTextAdapter: CodeHighlightAdapter = {\n getHighlighter:\n () =>\n ({ code }) => ({ highlightedCode: code, isHighlighted: false }),\n}\n","import { computed, defineComponent, h, inject, onMounted, provide, ref, type PropType } from 'vue'\nimport { plainTextAdapter } from './adapters/plain-text-adapter'\n\nexport interface HighlighterInput {\n colorScheme: 'light' | 'dark' | (string & {})\n code: string\n language?: string\n}\n\nexport type Highlighter = (input: HighlighterInput) => {\n highlightedCode: string\n isHighlighted: boolean\n codeElementProps?: Record<string, any>\n}\n\nexport interface CodeHighlightAdapter {\n loadContext?: () => Promise<any>\n getHighlighter: (ctx: any) => Highlighter\n}\n\nexport interface CodeHighlightProviderContext {\n adapter: CodeHighlightAdapter\n highlight: Highlighter\n}\n\nconst CodeHighlightContext = Symbol('CodeHighlightContext')\n\nexport function provideCodeHighlightAdapterContext(value: CodeHighlightProviderContext) {\n provide(CodeHighlightContext, value)\n}\n\nexport function useHighlight() {\n const ctx = inject<CodeHighlightProviderContext | null>(CodeHighlightContext, null)\n return ctx?.highlight || plainTextAdapter.getHighlighter(null)\n}\n\nexport const CodeHighlightAdapterProvider = defineComponent({\n name: 'CodeHighlightAdapterProvider',\n props: {\n adapter: { type: Object as PropType<CodeHighlightAdapter>, required: true },\n },\n setup(props, { slots }) {\n const context = ref<any>(null)\n const highlight = computed(() => props.adapter.getHighlighter(context.value))\n\n onMounted(() => {\n props.adapter.loadContext?.().then((value) => {\n context.value = value\n })\n })\n\n provideCodeHighlightAdapterContext({\n adapter: props.adapter,\n get highlight() {\n return highlight.value\n },\n })\n\n return () => h('div', { style: { display: 'contents' } }, slots.default?.())\n },\n})\n","import { createSafeContext } from '@mantine-vue/core'\n\nexport interface CodeHighlightContextValue {\n getStyles: (selector: string, options?: Record<string, any>) => Record<string, any>\n codeColorScheme: 'light' | 'dark' | (string & {}) | undefined\n}\n\nexport const [provideCodeHighlightContext, useCodeHighlightContext] =\n createSafeContext<CodeHighlightContextValue>(\n 'CodeHighlightProvider was not found in the component tree',\n )\n","import { defineComponent, h, type PropType } from 'vue'\nimport { ActionIcon, Tooltip, useProps } from '@mantine-vue/core'\nimport { useCodeHighlightContext } from '../CodeHighlight.context'\n\nexport interface CodeHighlightControlProps {\n tooltipLabel?: string\n classNames?: any\n styles?: any\n vars?: any\n [key: string]: any\n}\n\nexport const CodeHighlightControl = defineComponent({\n name: 'CodeHighlightControl',\n inheritAttrs: false,\n props: {\n tooltipLabel: { type: String, default: undefined },\n classNames: { type: [Object, Function], default: undefined },\n styles: { type: [Object, Function], default: undefined },\n vars: { type: [Object, Function], default: undefined },\n component: { type: String, default: 'button' },\n onClick: { type: Function as PropType<(event: MouseEvent) => void>, default: undefined },\n },\n setup(rawProps, { attrs, slots }) {\n const props = useProps<CodeHighlightControlProps>('CodeHighlightControl', null, rawProps as any)\n const ctx = useCodeHighlightContext()\n\n return () => {\n const tooltipStyles = ctx.getStyles('controlTooltip')\n const control = h(\n ActionIcon,\n {\n ...ctx.getStyles('control'),\n ...attrs,\n component: props.component,\n variant: 'none' as any,\n 'data-code-color-scheme': ctx.codeColorScheme,\n onClick: props.onClick,\n },\n slots,\n )\n\n return props.tooltipLabel\n ? h(\n Tooltip,\n {\n label: props.tooltipLabel,\n fz: 'sm',\n position: 'bottom',\n classNames: { tooltip: tooltipStyles.class },\n styles: { tooltip: tooltipStyles.style },\n 'data-code-color-scheme': ctx.codeColorScheme,\n transitionProps: { duration: 0 },\n },\n () => control,\n )\n : control\n }\n },\n})\n","import { defineComponent, h } from 'vue'\n\nexport const CopyIcon = defineComponent({\n name: 'CopyIcon',\n inheritAttrs: false,\n props: {\n copied: { type: Boolean, required: true },\n },\n setup(props, { attrs }) {\n return () =>\n h(\n 'svg',\n {\n ...attrs,\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n strokeWidth: '2',\n stroke: 'currentColor',\n fill: 'none',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n },\n props.copied\n ? [\n h('path', { stroke: 'none', d: 'M0 0h24v24H0z', fill: 'none' }),\n h('path', { d: 'M5 12l5 5l10 -10' }),\n ]\n : [\n h('path', { stroke: 'none', d: 'M0 0h24v24H0z', fill: 'none' }),\n h('path', {\n d: 'M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z',\n }),\n h('path', {\n d: 'M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2',\n }),\n ],\n )\n },\n})\n","import { defineComponent, h } from 'vue'\nimport { useClipboard } from '@mantine-vue/hooks'\nimport { CodeHighlightControl } from '../CodeHighlightControl/CodeHighlightControl'\nimport { CopyIcon } from './CopyIcon'\n\nexport const CopyCodeButton = defineComponent({\n name: 'CopyCodeButton',\n props: {\n code: { type: String, required: true },\n copiedLabel: { type: String, default: 'Copied' },\n copyLabel: { type: String, default: 'Copy' },\n },\n setup(props) {\n const clipboard = useClipboard()\n\n return () =>\n h(\n CodeHighlightControl,\n {\n onClick: () => clipboard.copy(props.code.trim()),\n variant: 'none',\n tooltipLabel: clipboard.copied.value ? props.copiedLabel : props.copyLabel,\n 'aria-label': clipboard.copied.value ? props.copiedLabel : `${props.copyLabel} code`,\n },\n () => h(CopyIcon, { copied: clipboard.copied.value }),\n )\n },\n})\n","import { defineComponent, h } from 'vue'\n\nexport const ExpandIcon = defineComponent({\n name: 'ExpandIcon',\n inheritAttrs: false,\n props: {\n expanded: { type: Boolean, required: true },\n },\n setup(props, { attrs }) {\n return () =>\n h(\n 'svg',\n {\n ...attrs,\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n strokeWidth: '2',\n stroke: 'currentColor',\n fill: 'none',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n },\n props.expanded\n ? [\n h('path', { stroke: 'none', d: 'M0 0h24v24H0z', fill: 'none' }),\n h('path', { d: 'M12 13v-8l-3 3m6 0l-3 -3' }),\n h('path', { d: 'M9 17l1 0' }),\n h('path', { d: 'M14 17l1 0' }),\n h('path', { d: 'M19 17l1 0' }),\n h('path', { d: 'M4 17l1 0' }),\n ]\n : [\n h('path', { stroke: 'none', d: 'M0 0h24v24H0z', fill: 'none' }),\n h('path', { d: 'M12 11v8l3 -3m-6 0l3 3' }),\n h('path', { d: 'M9 7l1 0' }),\n h('path', { d: 'M14 7l1 0' }),\n h('path', { d: 'M19 7l1 0' }),\n h('path', { d: 'M4 7l1 0' }),\n ],\n )\n },\n})\n","import { defineComponent, h, type PropType } from 'vue'\nimport { CodeHighlightControl } from '../CodeHighlightControl/CodeHighlightControl'\nimport { ExpandIcon } from './ExpandIcon'\n\nexport const ExpandCodeButton = defineComponent({\n name: 'ExpandCodeButton',\n props: {\n expanded: { type: Boolean, required: true },\n onExpand: { type: Function as PropType<(value: boolean) => void>, required: true },\n collapseCodeLabel: { type: String, default: 'Collapse code' },\n expandCodeLabel: { type: String, default: 'Expand code' },\n },\n setup(props) {\n return () =>\n h(\n CodeHighlightControl,\n {\n onClick: () => props.onExpand(!props.expanded),\n tooltipLabel: props.expanded ? props.collapseCodeLabel : props.expandCodeLabel,\n 'aria-label': props.expanded ? props.collapseCodeLabel : props.expandCodeLabel,\n },\n () => h(ExpandIcon, { expanded: props.expanded }),\n )\n },\n})\n","import {\n Box,\n ScrollArea,\n UnstyledButton,\n createVarsResolver,\n getRadius,\n getThemeColor,\n rem,\n useMantineContext,\n useProps,\n useStyles,\n} from '@mantine-vue/core'\nimport { useUncontrolled } from '@mantine-vue/hooks'\nimport { defineComponent, h, type PropType, type SlotsType, type VNodeChild } from 'vue'\nimport classes from '../CodeHighlight.module.css'\nimport {\n useHighlight,\n type CodeHighlightAdapter,\n} from '../CodeHighlightProvider/CodeHighlightProvider'\nimport {\n provideCodeHighlightContext,\n type CodeHighlightContextValue,\n} from './CodeHighlight.context'\nimport {\n CodeHighlightControl,\n type CodeHighlightControlProps,\n} from './CodeHighlightControl/CodeHighlightControl'\nimport { CopyCodeButton } from './CopyCodeButton/CopyCodeButton'\nimport { ExpandCodeButton } from './ExpandCodeButton/ExpandCodeButton'\n\nexport type CodeHighlightStylesNames =\n | 'codeHighlight'\n | 'pre'\n | 'code'\n | 'control'\n | 'controlTooltip'\n | 'controls'\n | 'scrollarea'\n | 'showCodeButton'\n | 'lineNumbers'\n | 'codeWrapper'\n\nexport type CodeHighlightCssVariables = {\n codeHighlight: '--ch-max-height' | '--ch-background' | '--ch-radius'\n}\n\nexport interface CodeHighlightSettings {\n copyLabel?: string\n copiedLabel?: string\n defaultExpanded?: boolean\n expanded?: boolean\n onExpandedChange?: (expanded: boolean) => void\n maxCollapsedHeight?: number | string\n withCopyButton?: boolean\n withExpandButton?: boolean\n expandCodeLabel?: string\n collapseCodeLabel?: string\n background?: string\n radius?: string | number\n withBorder?: boolean\n withLineNumbers?: boolean\n controls?: VNodeChild[] | (() => VNodeChild)\n codeColorScheme?: 'dark' | 'light' | (string & {})\n}\n\nexport interface CodeHighlightProps extends CodeHighlightSettings {\n __withOffset?: boolean\n __staticSelector?: string\n __inline?: boolean\n code: string\n language?: string\n classNames?: any\n styles?: any\n vars?: any\n unstyled?: boolean\n class?: any\n style?: any\n [key: string]: any\n}\n\nexport interface CodeHighlightFactory {\n props: CodeHighlightProps\n stylesNames: CodeHighlightStylesNames\n vars: CodeHighlightCssVariables\n}\n\nexport interface CodeHighlightSlots {\n controls?: () => VNodeChild\n}\n\nconst defaultProps = {\n withCopyButton: true,\n expandCodeLabel: 'Expand code',\n collapseCodeLabel: 'Collapse code',\n} satisfies Partial<CodeHighlightProps>\n\nconst varsResolver = createVarsResolver<any>(\n (theme, { maxCollapsedHeight, background, radius }) => ({\n codeHighlight: {\n '--ch-max-height': rem(maxCollapsedHeight),\n '--ch-background': background ? getThemeColor(background, theme) : undefined,\n '--ch-radius': typeof radius !== 'undefined' ? getRadius(radius) : undefined,\n },\n }),\n)\n\nfunction renderHtmlOrText(isHighlighted: boolean, highlightedCode: string, code: string) {\n return isHighlighted ? { innerHTML: highlightedCode } : { textContent: code.trim() }\n}\n\nfunction cx(...values: any[]) {\n return values.filter(Boolean)\n}\n\nfunction resolveColorScheme(value: 'light' | 'dark' | 'auto'): 'light' | 'dark' {\n if (value !== 'auto') {\n return value\n }\n\n return typeof window !== 'undefined' &&\n window.matchMedia?.('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n}\n\nconst CodeHighlightBase = defineComponent({\n name: 'CodeHighlight',\n inheritAttrs: false,\n slots: Object as SlotsType<CodeHighlightSlots>,\n props: {\n code: { type: String, required: true },\n language: { type: String, default: undefined },\n copyLabel: { type: String, default: undefined },\n copiedLabel: { type: String, default: undefined },\n defaultExpanded: { type: Boolean, default: undefined },\n expanded: { type: Boolean, default: undefined },\n onExpandedChange: {\n type: Function as PropType<(expanded: boolean) => void>,\n default: undefined,\n },\n maxCollapsedHeight: { type: [String, Number] as PropType<string | number>, default: undefined },\n withCopyButton: { type: Boolean, default: undefined },\n withExpandButton: { type: Boolean, default: false },\n expandCodeLabel: { type: String, default: undefined },\n collapseCodeLabel: { type: String, default: undefined },\n background: { type: String, default: undefined },\n radius: { type: [String, Number] as PropType<string | number>, default: undefined },\n withBorder: { type: Boolean, default: false },\n withLineNumbers: { type: Boolean, default: false },\n controls: {\n type: [Array, Function] as PropType<CodeHighlightSettings['controls']>,\n default: undefined,\n },\n codeColorScheme: {\n type: String as PropType<CodeHighlightSettings['codeColorScheme']>,\n default: undefined,\n },\n __withOffset: { type: Boolean, default: false },\n __staticSelector: { type: String, default: undefined },\n __inline: { type: Boolean, default: false },\n classNames: { type: [Object, Function], default: undefined },\n styles: { type: [Object, Function], default: undefined },\n vars: { type: [Object, Function], default: undefined },\n unstyled: { type: Boolean, default: false },\n },\n setup(rawProps, { attrs, slots }) {\n const props = useProps<CodeHighlightProps>('CodeHighlight', defaultProps, rawProps as any)\n const mantine = useMantineContext()\n const getStyles = useStyles<CodeHighlightFactory>({\n name: props.__staticSelector || 'CodeHighlight',\n classes,\n props,\n className: attrs.class,\n style: attrs.style as any,\n classNames: props.classNames as any,\n styles: props.styles as any,\n vars: props.vars as any,\n unstyled: props.unstyled,\n varsResolver,\n rootSelector: 'codeHighlight',\n } as any)\n const [expanded, setExpanded] = useUncontrolled<boolean>({\n value: () => props.expanded,\n defaultValue: props.defaultExpanded,\n finalValue: true,\n onChange: (value) => props.onExpandedChange?.(value),\n })\n const highlight = useHighlight()\n\n provideCodeHighlightContext({\n getStyles,\n get codeColorScheme() {\n return props.codeColorScheme\n },\n })\n\n return () => {\n const colorScheme = resolveColorScheme(mantine.colorScheme.value)\n const highlightedCode = highlight({\n code: props.code.trim(),\n language: props.language,\n colorScheme: props.codeColorScheme ?? colorScheme,\n })\n const codeContent = renderHtmlOrText(\n highlightedCode.isHighlighted,\n highlightedCode.highlightedCode,\n props.code,\n )\n\n if (props.__inline) {\n return h(Box, {\n component: 'code',\n ...attrs,\n ...highlightedCode.codeElementProps,\n ...getStyles('codeHighlight', {\n className: cx(highlightedCode.codeElementProps?.class, attrs.class),\n style: [highlightedCode.codeElementProps?.style, attrs.style],\n }),\n 'data-with-border': props.withBorder || undefined,\n ...codeContent,\n })\n }\n\n const renderedControls =\n props.controls !== undefined\n ? typeof props.controls === 'function'\n ? props.controls()\n : props.controls\n : slots.controls?.()\n const controlsArray = Array.isArray(renderedControls)\n ? renderedControls\n : renderedControls\n ? [renderedControls]\n : []\n const shouldDisplayControls =\n controlsArray.length > 0 || props.withExpandButton || props.withCopyButton\n\n return h(\n Box,\n {\n ...attrs,\n ...getStyles('codeHighlight'),\n dir: 'ltr',\n 'data-code-color-scheme': props.codeColorScheme,\n 'data-with-border': props.withBorder || undefined,\n },\n () => [\n shouldDisplayControls\n ? h(\n 'div',\n { ...getStyles('controls'), 'data-with-offset': props.__withOffset || undefined },\n [\n ...controlsArray,\n props.withExpandButton\n ? h(ExpandCodeButton, {\n expanded: expanded.value,\n onExpand: setExpanded,\n expandCodeLabel: props.expandCodeLabel,\n collapseCodeLabel: props.collapseCodeLabel,\n })\n : null,\n props.withCopyButton\n ? h(CopyCodeButton, {\n code: props.code,\n copiedLabel: props.copiedLabel,\n copyLabel: props.copyLabel,\n })\n : null,\n ],\n )\n : null,\n h(\n ScrollArea,\n {\n type: 'hover',\n scrollbarSize: 4,\n dir: 'ltr',\n offsetScrollbars: false,\n 'data-collapsed': !expanded.value || undefined,\n styles: { viewport: { overscrollBehaviorInline: 'none' } },\n ...getStyles('scrollarea'),\n },\n () =>\n h('div', getStyles('codeWrapper'), [\n props.withLineNumbers\n ? h(\n 'div',\n {\n ...getStyles('lineNumbers'),\n 'data-with-offset': props.__withOffset || undefined,\n },\n props.code\n .trim()\n .split('\\n')\n .map((_, index) => h('div', { key: index }, index + 1)),\n )\n : null,\n h(\n 'pre',\n { ...getStyles('pre'), 'data-with-offset': props.__withOffset || undefined },\n h('code', {\n ...highlightedCode.codeElementProps,\n ...getStyles('code', {\n className: highlightedCode.codeElementProps?.class,\n style: highlightedCode.codeElementProps?.style,\n }),\n ...codeContent,\n }),\n ),\n ]),\n ),\n h(\n UnstyledButton,\n {\n ...getStyles('showCodeButton'),\n mod: { hidden: expanded.value },\n onClick: () => setExpanded(true),\n 'data-code-color-scheme': props.codeColorScheme,\n },\n () => props.expandCodeLabel,\n ),\n ],\n )\n }\n },\n})\n\nexport const CodeHighlight = Object.assign(CodeHighlightBase, {\n classes,\n varsResolver,\n Control: CodeHighlightControl,\n})\n\nexport type { CodeHighlightAdapter, CodeHighlightContextValue, CodeHighlightControlProps }\n","import { defineComponent, h, type PropType } from 'vue'\nimport {\n createVarsResolver,\n getRadius,\n getThemeColor,\n useProps,\n useStyles,\n} from '@mantine-vue/core'\nimport { CodeHighlight } from './CodeHighlight'\nimport classes from '../CodeHighlight.module.css'\n\nexport type InlineCodeHighlightStylesNames = 'inlineCodeHighlight'\nexport type InlineCodeHighlightCssVariables = {\n inlineCodeHighlight: '--ch-background' | '--ch-radius'\n}\n\nexport interface InlineCodeHighlightProps {\n code: string\n language?: string\n background?: string\n radius?: string | number\n withBorder?: boolean\n classNames?: any\n styles?: any\n vars?: any\n unstyled?: boolean\n [key: string]: any\n}\n\nexport interface InlineCodeHighlightFactory {\n props: InlineCodeHighlightProps\n stylesNames: InlineCodeHighlightStylesNames\n vars: InlineCodeHighlightCssVariables\n}\n\nconst varsResolver = createVarsResolver<any>((theme, { background, radius }) => ({\n inlineCodeHighlight: {\n '--ch-background': background ? getThemeColor(background, theme) : undefined,\n '--ch-radius': typeof radius !== 'undefined' ? getRadius(radius) : undefined,\n },\n}))\n\nexport const InlineCodeHighlight = defineComponent({\n name: 'InlineCodeHighlight',\n inheritAttrs: false,\n props: {\n code: { type: String, required: true },\n language: { type: String, default: undefined },\n background: { type: String, default: undefined },\n radius: { type: [String, Number] as PropType<string | number>, default: undefined },\n withBorder: { type: Boolean, default: false },\n classNames: { type: [Object, Function], default: undefined },\n styles: { type: [Object, Function], default: undefined },\n vars: { type: [Object, Function], default: undefined },\n unstyled: { type: Boolean, default: false },\n },\n setup(rawProps, { attrs }) {\n const props = useProps<InlineCodeHighlightProps>('InlineCodeHighlight', null, rawProps as any)\n const getStyles = useStyles<InlineCodeHighlightFactory>({\n name: 'InlineCodeHighlight',\n classes,\n props,\n className: attrs.class,\n style: attrs.style as any,\n classNames: props.classNames as any,\n styles: props.styles as any,\n unstyled: props.unstyled,\n vars: props.vars as any,\n varsResolver,\n rootSelector: 'inlineCodeHighlight',\n } as any)\n\n return () =>\n h(CodeHighlight, {\n ...attrs,\n ...props,\n ...getStyles('inlineCodeHighlight'),\n __inline: true,\n })\n },\n})\n\nObject.assign(InlineCodeHighlight, { classes, varsResolver })\n","import { defineComponent, h, type PropType, type SlotsType, type VNodeChild } from 'vue'\n\nexport interface FileIconSlots {\n fileIcon?: () => VNodeChild\n getFileIcon?: (input: { fileName: string }) => VNodeChild\n}\n\nexport const FileIcon = defineComponent({\n name: 'FileIcon',\n inheritAttrs: false,\n slots: Object as SlotsType<FileIconSlots>,\n props: {\n fileName: { type: String, default: undefined },\n getFileIcon: {\n type: Function as PropType<(fileName: string) => VNodeChild>,\n default: undefined,\n },\n fileIcon: {\n type: [String, Number, Object, Function, Array] as PropType<VNodeChild>,\n default: undefined,\n },\n },\n setup(props, { attrs, slots }) {\n return () => {\n if (props.fileIcon) {\n return h('span', attrs, props.fileIcon as any)\n }\n\n if (props.getFileIcon && props.fileName) {\n return h('span', attrs, props.getFileIcon(props.fileName) as any)\n }\n\n if (slots.fileIcon) {\n return h('span', attrs, slots.fileIcon() as any)\n }\n\n if (slots.getFileIcon && props.fileName) {\n return h('span', attrs, slots.getFileIcon({ fileName: props.fileName }) as any)\n }\n\n return null\n }\n },\n})\n","import { defineComponent, h, watch, type PropType, type SlotsType, type VNodeChild } from 'vue'\nimport { Box, ScrollArea, UnstyledButton, useProps, useStyles } from '@mantine-vue/core'\nimport { useUncontrolled } from '@mantine-vue/hooks'\nimport {\n CodeHighlight,\n type CodeHighlightSettings,\n type CodeHighlightStylesNames,\n} from '../CodeHighlight/CodeHighlight'\nimport { FileIcon } from './FileIcon'\nimport classes from '../CodeHighlight.module.css'\n\nexport type CodeHighlightDefaultLanguage = 'tsx' | 'scss' | 'html' | 'bash' | 'json'\n\nexport interface CodeHighlightTabsCode {\n language?: CodeHighlightDefaultLanguage | (string & {})\n code: string\n fileName?: string\n icon?: VNodeChild\n}\n\nexport type CodeHighlightTabsStylesNames =\n | 'root'\n | 'files'\n | 'file'\n | 'fileIcon'\n | 'filesScrollarea'\n | CodeHighlightStylesNames\n\nexport interface CodeHighlightTabsProps extends CodeHighlightSettings {\n code: CodeHighlightTabsCode[]\n getFileIcon?: (fileName: string) => VNodeChild\n defaultActiveTab?: number\n activeTab?: number\n onTabChange?: (tab: number) => void\n classNames?: any\n styles?: any\n vars?: any\n unstyled?: boolean\n [key: string]: any\n}\n\nexport interface CodeHighlightTabsFactory {\n props: CodeHighlightTabsProps\n stylesNames: CodeHighlightTabsStylesNames\n}\n\nexport interface CodeHighlightTabsSlots {\n getFileIcon?: (input: { fileName: string }) => VNodeChild\n controls?: () => VNodeChild\n}\n\nexport const CodeHighlightTabs = defineComponent({\n name: 'CodeHighlightTabs',\n inheritAttrs: false,\n slots: Object as SlotsType<CodeHighlightTabsSlots>,\n props: {\n code: { type: Array as PropType<CodeHighlightTabsCode[]>, required: true },\n getFileIcon: {\n type: Function as PropType<(fileName: string) => VNodeChild>,\n default: undefined,\n },\n defaultActiveTab: { type: Number, default: undefined },\n activeTab: { type: Number, default: undefined },\n onTabChange: { type: Function as PropType<(tab: number) => void>, default: undefined },\n defaultExpanded: { type: Boolean, default: undefined },\n expanded: { type: Boolean, default: undefined },\n onExpandedChange: {\n type: Function as PropType<(expanded: boolean) => void>,\n default: undefined,\n },\n withCopyButton: { type: Boolean, default: undefined },\n withExpandButton: { type: Boolean, default: false },\n withBorder: { type: Boolean, default: false },\n radius: { type: [String, Number] as PropType<string | number>, default: undefined },\n maxCollapsedHeight: { type: [String, Number] as PropType<string | number>, default: undefined },\n copyLabel: { type: String, default: undefined },\n copiedLabel: { type: String, default: undefined },\n expandCodeLabel: { type: String, default: undefined },\n collapseCodeLabel: { type: String, default: undefined },\n background: { type: String, default: undefined },\n controls: {\n type: [Array, Function] as PropType<CodeHighlightSettings['controls']>,\n default: undefined,\n },\n codeColorScheme: {\n type: String as PropType<CodeHighlightSettings['codeColorScheme']>,\n default: undefined,\n },\n withLineNumbers: { type: Boolean, default: false },\n classNames: { type: [Object, Function], default: undefined },\n styles: { type: [Object, Function], default: undefined },\n vars: { type: [Object, Function], default: undefined },\n unstyled: { type: Boolean, default: false },\n },\n setup(rawProps, { attrs, slots }) {\n const props = useProps<CodeHighlightTabsProps>('CodeHighlightTabs', null, rawProps as any)\n const getStyles = useStyles<CodeHighlightTabsFactory>({\n name: 'CodeHighlightTabs',\n classes,\n props,\n className: attrs.class,\n style: attrs.style as any,\n classNames: props.classNames as any,\n styles: props.styles as any,\n unstyled: props.unstyled,\n vars: props.vars as any,\n })\n const [value, setValue] = useUncontrolled<number>({\n defaultValue: props.defaultActiveTab,\n value: () => props.activeTab,\n finalValue: 0,\n onChange: (tab) => props.onTabChange?.(tab),\n })\n const [expanded, setExpanded] = useUncontrolled<boolean>({\n defaultValue: props.defaultExpanded,\n value: () => props.expanded,\n finalValue: true,\n onChange: (next) => props.onExpandedChange?.(next),\n })\n\n watch(\n () => [value.value, props.code.length] as const,\n ([currentValue, length]) => {\n if (currentValue >= length) {\n setValue(length - 1)\n }\n },\n { immediate: true },\n )\n\n return () => {\n if (props.code.length <= 0) {\n return null\n }\n\n const currentCode = props.code[value.value] || { code: '', language: 'tsx', fileName: '' }\n const getFileIcon =\n props.getFileIcon ??\n (slots.getFileIcon ? (fileName: string) => slots.getFileIcon?.({ fileName }) : undefined)\n const files = props.code.map((node, index) =>\n h(\n UnstyledButton,\n {\n ...getStyles('file'),\n key: node.fileName ?? index,\n mod: { active: index === value.value },\n onClick: () => setValue(index),\n 'data-color-scheme': props.codeColorScheme,\n },\n () => [\n h(FileIcon, {\n fileIcon: node.icon,\n getFileIcon,\n fileName: node.fileName,\n key: 'file-icon',\n ...getStyles('fileIcon'),\n }),\n h('span', { key: 'file-name' }, node.fileName),\n ],\n ),\n )\n\n return h(Box, { ...attrs, ...getStyles('root') }, () => [\n h(\n ScrollArea,\n {\n type: 'never',\n dir: 'ltr',\n offsetScrollbars: false,\n ...getStyles('filesScrollarea'),\n },\n () => h('div', getStyles('files'), files),\n ),\n h(\n CodeHighlight,\n {\n code: currentCode.code,\n language: currentCode.language,\n expanded: expanded.value,\n onExpandedChange: setExpanded,\n withCopyButton: props.withCopyButton,\n withExpandButton: props.withExpandButton,\n withBorder: props.withBorder,\n radius: props.radius,\n maxCollapsedHeight: props.maxCollapsedHeight,\n copiedLabel: props.copiedLabel,\n copyLabel: props.copyLabel,\n expandCodeLabel: props.expandCodeLabel,\n collapseCodeLabel: props.collapseCodeLabel,\n background: props.background,\n controls: props.controls,\n codeColorScheme: props.codeColorScheme,\n withLineNumbers: props.withLineNumbers,\n __withOffset: true,\n __staticSelector: 'CodeHighlightTabs',\n classNames: props.classNames,\n styles: props.styles,\n },\n { controls: slots.controls },\n ),\n ])\n }\n },\n})\n\nObject.assign(CodeHighlightTabs, { classes })\n","import type { CodeHighlightAdapter } from '../CodeHighlightProvider'\n\nexport function createHighlightJsAdapter(hljs: any): CodeHighlightAdapter {\n return {\n getHighlighter:\n () =>\n ({ code, language }) => {\n const lang = hljs.getLanguage(language) ? language : 'plaintext'\n return {\n highlightedCode: hljs.highlight(code.trim(), { language: lang }).value,\n isHighlighted: true,\n codeElementProps: { class: `hljs ${lang}` },\n }\n },\n }\n}\n","export const light = {\n colors: {\n 'activityBar.activeBorder': '#fd8c73',\n 'activityBar.background': '#ffffff',\n 'activityBar.border': '#d0d7de',\n 'activityBar.foreground': '#1f2328',\n 'activityBar.inactiveForeground': '#656d76',\n 'activityBarBadge.background': '#0969da',\n 'activityBarBadge.foreground': '#ffffff',\n 'badge.background': '#0969da',\n 'badge.foreground': '#ffffff',\n 'breadcrumb.activeSelectionForeground': '#656d76',\n 'breadcrumb.focusForeground': '#1f2328',\n 'breadcrumb.foreground': '#656d76',\n 'breadcrumbPicker.background': '#ffffff',\n 'button.background': '#1f883d',\n 'button.foreground': '#ffffff',\n 'button.hoverBackground': '#1a7f37',\n 'button.secondaryBackground': '#ebecf0',\n 'button.secondaryForeground': '#24292f',\n 'button.secondaryHoverBackground': '#f3f4f6',\n 'checkbox.background': '#f6f8fa',\n 'checkbox.border': '#d0d7de',\n 'debugConsole.errorForeground': '#cf222e',\n 'debugConsole.infoForeground': '#57606a',\n 'debugConsole.sourceForeground': '#9a6700',\n 'debugConsole.warningForeground': '#7d4e00',\n 'debugConsoleInputIcon.foreground': '#6639ba',\n 'debugIcon.breakpointForeground': '#cf222e',\n 'debugTokenExpression.boolean': '#116329',\n 'debugTokenExpression.error': '#a40e26',\n 'debugTokenExpression.name': '#0550ae',\n 'debugTokenExpression.number': '#116329',\n 'debugTokenExpression.string': '#0a3069',\n 'debugTokenExpression.value': '#0a3069',\n 'debugToolBar.background': '#ffffff',\n descriptionForeground: '#656d76',\n 'diffEditor.insertedLineBackground': '#aceebb4d',\n 'diffEditor.insertedTextBackground': '#6fdd8b80',\n 'diffEditor.removedLineBackground': '#ffcecb4d',\n 'diffEditor.removedTextBackground': '#ff818266',\n 'dropdown.background': '#ffffff',\n 'dropdown.border': '#d0d7de',\n 'dropdown.foreground': '#1f2328',\n 'dropdown.listBackground': '#ffffff',\n 'editor.background': '#ffffff',\n 'editor.findMatchBackground': '#bf8700',\n 'editor.findMatchHighlightBackground': '#fae17d80',\n 'editor.focusedStackFrameHighlightBackground': '#4ac26b66',\n 'editor.foldBackground': '#6e77811a',\n 'editor.foreground': '#1f2328',\n 'editor.lineHighlightBackground': '#eaeef280',\n 'editor.linkedEditingBackground': '#0969da12',\n 'editor.selectionHighlightBackground': '#4ac26b40',\n 'editor.stackFrameHighlightBackground': '#d4a72c66',\n 'editor.wordHighlightBackground': '#eaeef280',\n 'editor.wordHighlightBorder': '#afb8c199',\n 'editor.wordHighlightStrongBackground': '#afb8c14d',\n 'editor.wordHighlightStrongBorder': '#afb8c199',\n 'editorBracketHighlight.foreground1': '#0969da',\n 'editorBracketHighlight.foreground2': '#1a7f37',\n 'editorBracketHighlight.foreground3': '#9a6700',\n 'editorBracketHighlight.foreground4': '#cf222e',\n 'editorBracketHighlight.foreground5': '#bf3989',\n 'editorBracketHighlight.foreground6': '#8250df',\n 'editorBracketHighlight.unexpectedBracket.foreground': '#656d76',\n 'editorBracketMatch.background': '#4ac26b40',\n 'editorBracketMatch.border': '#4ac26b99',\n 'editorCursor.foreground': '#0969da',\n 'editorGroup.border': '#d0d7de',\n 'editorGroupHeader.tabsBackground': '#f6f8fa',\n 'editorGroupHeader.tabsBorder': '#d0d7de',\n 'editorGutter.addedBackground': '#4ac26b66',\n 'editorGutter.deletedBackground': '#ff818266',\n 'editorGutter.modifiedBackground': '#d4a72c66',\n 'editorIndentGuide.activeBackground': '#1f23283d',\n 'editorIndentGuide.background': '#1f23281f',\n 'editorInlayHint.background': '#afb8c133',\n 'editorInlayHint.foreground': '#656d76',\n 'editorInlayHint.paramBackground': '#afb8c133',\n 'editorInlayHint.paramForeground': '#656d76',\n 'editorInlayHint.typeBackground': '#afb8c133',\n 'editorInlayHint.typeForeground': '#656d76',\n 'editorLineNumber.activeForeground': '#1f2328',\n 'editorLineNumber.foreground': '#8c959f',\n 'editorOverviewRuler.border': '#ffffff',\n 'editorWhitespace.foreground': '#afb8c1',\n 'editorWidget.background': '#ffffff',\n errorForeground: '#cf222e',\n focusBorder: '#0969da',\n foreground: '#1f2328',\n 'gitDecoration.addedResourceForeground': '#1a7f37',\n 'gitDecoration.conflictingResourceForeground': '#bc4c00',\n 'gitDecoration.deletedResourceForeground': '#cf222e',\n 'gitDecoration.ignoredResourceForeground': '#6e7781',\n 'gitDecoration.modifiedResourceForeground': '#9a6700',\n 'gitDecoration.submoduleResourceForeground': '#656d76',\n 'gitDecoration.untrackedResourceForeground': '#1a7f37',\n 'icon.foreground': '#656d76',\n 'input.background': '#ffffff',\n 'input.border': '#d0d7de',\n 'input.foreground': '#1f2328',\n 'input.placeholderForeground': '#6e7781',\n 'keybindingLabel.foreground': '#1f2328',\n 'list.activeSelectionBackground': '#afb8c133',\n 'list.activeSelectionForeground': '#1f2328',\n 'list.focusBackground': '#ddf4ff',\n 'list.focusForeground': '#1f2328',\n 'list.highlightForeground': '#0969da',\n 'list.hoverBackground': '#eaeef280',\n 'list.hoverForeground': '#1f2328',\n 'list.inactiveFocusBackground': '#ddf4ff',\n 'list.inactiveSelectionBackground': '#afb8c133',\n 'list.inactiveSelectionForeground': '#1f2328',\n 'minimapSlider.activeBackground': '#8c959f47',\n 'minimapSlider.background': '#8c959f33',\n 'minimapSlider.hoverBackground': '#8c959f3d',\n 'notificationCenterHeader.background': '#f6f8fa',\n 'notificationCenterHeader.foreground': '#656d76',\n 'notifications.background': '#ffffff',\n 'notifications.border': '#d0d7de',\n 'notifications.foreground': '#1f2328',\n 'notificationsErrorIcon.foreground': '#cf222e',\n 'notificationsInfoIcon.foreground': '#0969da',\n 'notificationsWarningIcon.foreground': '#9a6700',\n 'panel.background': '#f6f8fa',\n 'panel.border': '#d0d7de',\n 'panelInput.border': '#d0d7de',\n 'panelTitle.activeBorder': '#fd8c73',\n 'panelTitle.activeForeground': '#1f2328',\n 'panelTitle.inactiveForeground': '#656d76',\n 'pickerGroup.border': '#d0d7de',\n 'pickerGroup.foreground': '#656d76',\n 'progressBar.background': '#0969da',\n 'quickInput.background': '#ffffff',\n 'quickInput.foreground': '#1f2328',\n 'scrollbar.shadow': '#6e778133',\n 'scrollbarSlider.activeBackground': '#8c959f47',\n 'scrollbarSlider.background': '#8c959f33',\n 'scrollbarSlider.hoverBackground': '#8c959f3d',\n 'settings.headerForeground': '#1f2328',\n 'settings.modifiedItemIndicator': '#d4a72c66',\n 'sideBar.background': '#f6f8fa',\n 'sideBar.border': '#d0d7de',\n 'sideBar.foreground': '#1f2328',\n 'sideBarSectionHeader.background': '#f6f8fa',\n 'sideBarSectionHeader.border': '#d0d7de',\n 'sideBarSectionHeader.foreground': '#1f2328',\n 'sideBarTitle.foreground': '#1f2328',\n 'statusBar.background': '#ffffff',\n 'statusBar.border': '#d0d7de',\n 'statusBar.debuggingBackground': '#cf222e',\n 'statusBar.debuggingForeground': '#ffffff',\n 'statusBar.focusBorder': '#0969da80',\n 'statusBar.foreground': '#656d76',\n 'statusBar.noFolderBackground': '#ffffff',\n 'statusBarItem.activeBackground': '#1f23281f',\n 'statusBarItem.focusBorder': '#0969da',\n 'statusBarItem.hoverBackground': '#1f232814',\n 'statusBarItem.prominentBackground': '#afb8c133',\n 'statusBarItem.remoteBackground': '#eaeef2',\n 'statusBarItem.remoteForeground': '#1f2328',\n 'symbolIcon.arrayForeground': '#953800',\n 'symbolIcon.booleanForeground': '#0550ae',\n 'symbolIcon.classForeground': '#953800',\n 'symbolIcon.colorForeground': '#0a3069',\n 'symbolIcon.constantForeground': '#116329',\n 'symbolIcon.constructorForeground': '#3e1f79',\n 'symbolIcon.enumeratorForeground': '#953800',\n 'symbolIcon.enumeratorMemberForeground': '#0550ae',\n 'symbolIcon.eventForeground': '#57606a',\n 'symbolIcon.fieldForeground': '#953800',\n 'symbolIcon.fileForeground': '#7d4e00',\n 'symbolIcon.folderForeground': '#7d4e00',\n 'symbolIcon.functionForeground': '#6639ba',\n 'symbolIcon.interfaceForeground': '#953800',\n 'symbolIcon.keyForeground': '#0550ae',\n 'symbolIcon.keywordForeground': '#a40e26',\n 'symbolIcon.methodForeground': '#6639ba',\n 'symbolIcon.moduleForeground': '#a40e26',\n 'symbolIcon.namespaceForeground': '#a40e26',\n 'symbolIcon.nullForeground': '#0550ae',\n 'symbolIcon.numberForeground': '#116329',\n 'symbolIcon.objectForeground': '#953800',\n 'symbolIcon.operatorForeground': '#0a3069',\n 'symbolIcon.packageForeground': '#953800',\n 'symbolIcon.propertyForeground': '#953800',\n 'symbolIcon.referenceForeground': '#0550ae',\n 'symbolIcon.snippetForeground': '#0550ae',\n 'symbolIcon.stringForeground': '#0a3069',\n 'symbolIcon.structForeground': '#953800',\n 'symbolIcon.textForeground': '#0a3069',\n 'symbolIcon.typeParameterForeground': '#0a3069',\n 'symbolIcon.unitForeground': '#0550ae',\n 'symbolIcon.variableForeground': '#953800',\n 'tab.activeBackground': '#ffffff',\n 'tab.activeBorder': '#ffffff',\n 'tab.activeBorderTop': '#fd8c73',\n 'tab.activeForeground': '#1f2328',\n 'tab.border': '#d0d7de',\n 'tab.hoverBackground': '#ffffff',\n 'tab.inactiveBackground': '#f6f8fa',\n 'tab.inactiveForeground': '#656d76',\n 'tab.unfocusedActiveBorder': '#ffffff',\n 'tab.unfocusedActiveBorderTop': '#d0d7de',\n 'tab.unfocusedHoverBackground': '#eaeef280',\n 'terminal.ansiBlack': '#24292f',\n 'terminal.ansiBlue': '#0969da',\n 'terminal.ansiBrightBlack': '#57606a',\n 'terminal.ansiBrightBlue': '#218bff',\n 'terminal.ansiBrightCyan': '#3192aa',\n 'terminal.ansiBrightGreen': '#1a7f37',\n 'terminal.ansiBrightMagenta': '#a475f9',\n 'terminal.ansiBrightRed': '#a40e26',\n 'terminal.ansiBrightWhite': '#8c959f',\n 'terminal.ansiBrightYellow': '#633c01',\n 'terminal.ansiCyan': '#1b7c83',\n 'terminal.ansiGreen': '#116329',\n 'terminal.ansiMagenta': '#8250df',\n 'terminal.ansiRed': '#cf222e',\n 'terminal.ansiWhite': '#6e7781',\n 'terminal.ansiYellow': '#4d2d00',\n 'terminal.foreground': '#1f2328',\n 'textBlockQuote.background': '#f6f8fa',\n 'textBlockQuote.border': '#d0d7de',\n 'textCodeBlock.background': '#afb8c133',\n 'textLink.activeForeground': '#0969da',\n 'textLink.foreground': '#0969da',\n 'textPreformat.foreground': '#656d76',\n 'textSeparator.foreground': '#d8dee4',\n 'titleBar.activeBackground': '#ffffff',\n 'titleBar.activeForeground': '#656d76',\n 'titleBar.border': '#d0d7de',\n 'titleBar.inactiveBackground': '#f6f8fa',\n 'titleBar.inactiveForeground': '#656d76',\n 'tree.indentGuidesStroke': '#d8dee4',\n 'welcomePage.buttonBackground': '#f6f8fa',\n 'welcomePage.buttonHoverBackground': '#f3f4f6',\n },\n displayName: 'GitHub Light Default',\n semanticHighlighting: true,\n tokenColors: [\n {\n scope: ['comment', 'punctuation.definition.comment', 'string.comment'],\n settings: {\n foreground: '#6e7781',\n },\n },\n {\n scope: ['constant.other.placeholder', 'constant.character'],\n settings: {\n foreground: '#cf222e',\n },\n },\n {\n scope: [\n 'constant',\n 'entity.name.constant',\n 'variable.other.constant',\n 'variable.other.enummember',\n 'variable.language',\n 'entity',\n ],\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: ['entity.name', 'meta.export.default', 'meta.definition.variable'],\n settings: {\n foreground: '#953800',\n },\n },\n {\n scope: [\n 'variable.parameter.function',\n 'meta.jsx.children',\n 'meta.block',\n 'meta.tag.attributes',\n 'entity.name.constant',\n 'meta.object.member',\n 'meta.embedded.expression',\n ],\n settings: {\n foreground: '#1f2328',\n },\n },\n {\n scope: 'entity.name.function',\n settings: {\n foreground: '#8250df',\n },\n },\n {\n scope: ['entity.name.tag', 'support.class.component'],\n settings: {\n foreground: '#116329',\n },\n },\n {\n scope: 'keyword',\n settings: {\n foreground: '#cf222e',\n },\n },\n {\n scope: ['storage', 'storage.type'],\n settings: {\n foreground: '#cf222e',\n },\n },\n {\n scope: ['storage.modifier.package', 'storage.modifier.import', 'storage.type.java'],\n settings: {\n foreground: '#1f2328',\n },\n },\n {\n scope: ['string', 'string punctuation.section.embedded source'],\n settings: {\n foreground: '#0a3069',\n },\n },\n {\n scope: 'support',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: 'meta.property-name',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: 'variable',\n settings: {\n foreground: '#953800',\n },\n },\n {\n scope: 'variable.other',\n settings: {\n foreground: '#1f2328',\n },\n },\n {\n scope: 'invalid.broken',\n settings: {\n fontStyle: 'italic',\n foreground: '#82071e',\n },\n },\n {\n scope: 'invalid.deprecated',\n settings: {\n fontStyle: 'italic',\n foreground: '#82071e',\n },\n },\n {\n scope: 'invalid.illegal',\n settings: {\n fontStyle: 'italic',\n foreground: '#82071e',\n },\n },\n {\n scope: 'invalid.unimplemented',\n settings: {\n fontStyle: 'italic',\n foreground: '#82071e',\n },\n },\n {\n scope: 'carriage-return',\n settings: {\n background: '#cf222e',\n content: '^M',\n fontStyle: 'italic underline',\n foreground: '#f6f8fa',\n },\n },\n {\n scope: 'message.error',\n settings: {\n foreground: '#82071e',\n },\n },\n {\n scope: 'string variable',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: ['source.regexp', 'string.regexp'],\n settings: {\n foreground: '#0a3069',\n },\n },\n {\n scope: [\n 'string.regexp.character-class',\n 'string.regexp constant.character.escape',\n 'string.regexp source.ruby.embedded',\n 'string.regexp string.regexp.arbitrary-repitition',\n ],\n settings: {\n foreground: '#0a3069',\n },\n },\n {\n scope: 'string.regexp constant.character.escape',\n settings: {\n fontStyle: 'bold',\n foreground: '#116329',\n },\n },\n {\n scope: 'support.constant',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: 'support.variable',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: 'support.type.property-name.json',\n settings: {\n foreground: '#116329',\n },\n },\n {\n scope: 'meta.module-reference',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: 'punctuation.definition.list.begin.markdown',\n settings: {\n foreground: '#953800',\n },\n },\n {\n scope: ['markup.heading', 'markup.heading entity.name'],\n settings: {\n fontStyle: 'bold',\n foreground: '#0550ae',\n },\n },\n {\n scope: 'markup.quote',\n settings: {\n foreground: '#116329',\n },\n },\n {\n scope: 'markup.italic',\n settings: {\n fontStyle: 'italic',\n foreground: '#1f2328',\n },\n },\n {\n scope: 'markup.bold',\n settings: {\n fontStyle: 'bold',\n foreground: '#1f2328',\n },\n },\n {\n scope: ['markup.underline'],\n settings: {\n fontStyle: 'underline',\n },\n },\n {\n scope: ['markup.strikethrough'],\n settings: {\n fontStyle: 'strikethrough',\n },\n },\n {\n scope: 'markup.inline.raw',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: ['markup.deleted', 'meta.diff.header.from-file', 'punctuation.definition.deleted'],\n settings: {\n background: '#ffebe9',\n foreground: '#82071e',\n },\n },\n {\n scope: ['punctuation.section.embedded'],\n settings: {\n foreground: '#cf222e',\n },\n },\n {\n scope: ['markup.inserted', 'meta.diff.header.to-file', 'punctuation.definition.inserted'],\n settings: {\n background: '#dafbe1',\n foreground: '#116329',\n },\n },\n {\n scope: ['markup.changed', 'punctuation.definition.changed'],\n settings: {\n background: '#ffd8b5',\n foreground: '#953800',\n },\n },\n {\n scope: ['markup.ignored', 'markup.untracked'],\n settings: {\n background: '#0550ae',\n foreground: '#eaeef2',\n },\n },\n {\n scope: 'meta.diff.range',\n settings: {\n fontStyle: 'bold',\n foreground: '#8250df',\n },\n },\n {\n scope: 'meta.diff.header',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: 'meta.separator',\n settings: {\n fontStyle: 'bold',\n foreground: '#0550ae',\n },\n },\n {\n scope: 'meta.output',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: [\n 'brackethighlighter.tag',\n 'brackethighlighter.curly',\n 'brackethighlighter.round',\n 'brackethighlighter.square',\n 'brackethighlighter.angle',\n 'brackethighlighter.quote',\n ],\n settings: {\n foreground: '#57606a',\n },\n },\n {\n scope: 'brackethighlighter.unmatched',\n settings: {\n foreground: '#82071e',\n },\n },\n {\n scope: ['constant.other.reference.link', 'string.other.link'],\n settings: {\n foreground: '#0a3069',\n },\n },\n ],\n type: 'light',\n}\n\nexport const dark = {\n type: 'dark',\n colors: {\n 'dropdown.background': '#525252',\n 'list.activeSelectionBackground': '#707070',\n 'quickInputList.focusBackground': '#707070',\n 'list.inactiveSelectionBackground': '#4e4e4e',\n 'list.hoverBackground': '#444444',\n 'list.highlightForeground': '#e58520',\n 'button.background': '#565656',\n 'editor.background': '#1e1e1e',\n 'editor.foreground': '#c5c8c6',\n 'editor.selectionBackground': '#676b7180',\n 'minimap.selectionHighlight': '#676b7180',\n 'editor.selectionHighlightBackground': '#575b6180',\n 'editor.lineHighlightBackground': '#303030',\n 'editorLineNumber.activeForeground': '#949494',\n 'editor.wordHighlightBackground': '#4747a180',\n 'editor.wordHighlightStrongBackground': '#6767ce80',\n 'editorCursor.foreground': '#c07020',\n 'editorWhitespace.foreground': '#505037',\n 'editorIndentGuide.background': '#505037',\n 'editorIndentGuide.activeBackground': '#707057',\n 'editorGroupHeader.tabsBackground': '#282828',\n 'tab.inactiveBackground': '#404040',\n 'tab.border': '#303030',\n 'tab.inactiveForeground': '#d8d8d8',\n 'tab.lastPinnedBorder': '#505050',\n 'peekView.border': '#3655b5',\n 'panelTitle.activeForeground': '#ffffff',\n 'statusBar.background': '#505050',\n 'statusBar.debuggingBackground': '#505050',\n 'statusBar.noFolderBackground': '#505050',\n 'titleBar.activeBackground': '#505050',\n 'statusBarItem.remoteBackground': '#3655b5',\n 'ports.iconRunningProcessForeground': '#CCCCCC',\n 'activityBar.background': '#353535',\n 'activityBar.foreground': '#ffffff',\n 'activityBarBadge.background': '#3655b5',\n 'sideBar.background': '#272727',\n 'sideBarSectionHeader.background': '#505050',\n 'menu.background': '#272727',\n 'menu.foreground': '#CCCCCC',\n 'pickerGroup.foreground': '#b0b0b0',\n 'inputOption.activeBorder': '#3655b5',\n focusBorder: '#3655b5',\n 'terminal.ansiBlack': '#1e1e1e',\n 'terminal.ansiRed': '#C4265E', // the bright color with ~75% transparent on the background\n 'terminal.ansiGreen': '#86B42B',\n 'terminal.ansiYellow': '#B3B42B',\n 'terminal.ansiBlue': '#6A7EC8',\n 'terminal.ansiMagenta': '#8C6BC8',\n 'terminal.ansiCyan': '#56ADBC',\n 'terminal.ansiWhite': '#e3e3dd',\n 'terminal.ansiBrightBlack': '#666666',\n 'terminal.ansiBrightRed': '#f92672',\n 'terminal.ansiBrightGreen': '#A6E22E',\n 'terminal.ansiBrightYellow': '#e2e22e', // hue shifted #A6E22E\n 'terminal.ansiBrightBlue': '#819aff', // hue shifted #AE81FF\n 'terminal.ansiBrightMagenta': '#AE81FF',\n 'terminal.ansiBrightCyan': '#66D9EF',\n 'terminal.ansiBrightWhite': '#f8f8f2',\n 'terminal.inactiveSelectionBackground': '#676b7140',\n },\n tokenColors: [\n {\n settings: {\n foreground: '#C5C8C6',\n },\n },\n {\n scope: ['meta.embedded', 'source.groovy.embedded', 'variable.legacy.builtin.python'],\n settings: {\n foreground: '#C5C8C6',\n },\n },\n {\n name: 'Comment',\n scope: 'comment',\n settings: {\n fontStyle: '',\n foreground: '#9A9B99',\n },\n },\n {\n name: 'String',\n scope: 'string',\n settings: {\n fontStyle: '',\n foreground: '#9AA83A',\n },\n },\n {\n name: 'String Embedded Source',\n scope: 'string source',\n settings: {\n fontStyle: '',\n foreground: '#D08442',\n },\n },\n {\n name: 'Number',\n scope: 'constant.numeric',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Built-in constant',\n scope: 'constant.language',\n settings: {\n fontStyle: '',\n foreground: '#408080',\n },\n },\n {\n name: 'User-defined constant',\n scope: 'constant.character, constant.other',\n settings: {\n fontStyle: '',\n foreground: '#8080FF',\n },\n },\n {\n name: 'Keyword',\n scope: 'keyword',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Support',\n scope: 'support',\n settings: {\n fontStyle: '',\n foreground: '#C7444A',\n },\n },\n {\n name: 'Storage',\n scope: 'storage',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Class name',\n scope:\n 'entity.name.class, entity.name.type, entity.name.namespace, entity.name.scope-resolution',\n settings: {\n fontStyle: '',\n foreground: '#9B0000',\n },\n },\n {\n name: 'Inherited class',\n scope: 'entity.other.inherited-class',\n settings: {\n fontStyle: '',\n foreground: '#C7444A',\n },\n },\n {\n name: 'Function name',\n scope: 'entity.name.function',\n settings: {\n fontStyle: '',\n foreground: '#CE6700',\n },\n },\n {\n name: 'Function argument',\n scope: 'variable.parameter',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Tag name',\n scope: 'entity.name.tag',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Tag attribute',\n scope: 'entity.other.attribute-name',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Library function',\n scope: 'support.function',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Keyword',\n scope: 'keyword',\n settings: {\n fontStyle: '',\n foreground: '#676867',\n },\n },\n {\n name: 'Class Variable',\n scope: 'variable.other, variable.js, punctuation.separator.variable',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Meta Brace',\n scope:\n 'punctuation.section.embedded -(source string source punctuation.section.embedded), meta.brace.erb.html',\n settings: {\n fontStyle: '',\n foreground: '#008200',\n },\n },\n {\n name: 'Invalid',\n scope: 'invalid',\n settings: {\n fontStyle: '',\n foreground: '#FF0B00',\n },\n },\n {\n name: 'Normal Variable',\n scope: 'variable.other.php, variable.other.normal',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Function Object',\n scope: 'meta.function-call.object',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Function Call Variable',\n scope: 'variable.other.property',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Keyword Control / Special',\n scope: [\n 'keyword.control',\n 'keyword.operator.new.cpp',\n 'keyword.operator.delete.cpp',\n 'keyword.other.using',\n 'keyword.other.directive.using',\n 'keyword.other.operator',\n ],\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Tag',\n scope: 'meta.tag',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'Tag Name',\n scope: 'entity.name.tag',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Doctype',\n scope: 'meta.doctype, meta.tag.sgml-declaration.doctype, meta.tag.sgml.doctype',\n settings: {\n fontStyle: '',\n foreground: '#9AA83A',\n },\n },\n {\n name: 'Tag Inline Source',\n scope: 'meta.tag.inline source, text.html.php.source',\n settings: {\n fontStyle: '',\n foreground: '#9AA83A',\n },\n },\n {\n name: 'Tag Other',\n scope:\n 'meta.tag.other, entity.name.tag.style, entity.name.tag.script, meta.tag.block.script, source.js.embedded punctuation.definition.tag.html, source.css.embedded punctuation.definition.tag.html',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Tag Attribute',\n scope: 'entity.other.attribute-name, meta.tag punctuation.definition.string',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'Tag Value',\n scope: 'meta.tag string -source -punctuation, text source text meta.tag string -punctuation',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Meta Brace',\n scope:\n 'punctuation.section.embedded -(source string source punctuation.section.embedded), meta.brace.erb.html',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'HTML ID',\n scope: 'meta.toc-list.id',\n settings: {\n foreground: '#9AA83A',\n },\n },\n {\n name: 'HTML String',\n scope:\n 'string.quoted.double.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.definition.string.end.html source, string.quoted.double.html source',\n settings: {\n fontStyle: '',\n foreground: '#9AA83A',\n },\n },\n {\n name: 'HTML Tags',\n scope:\n 'punctuation.definition.tag.html, punctuation.definition.tag.begin, punctuation.definition.tag.end',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'CSS ID',\n scope: 'meta.selector entity.other.attribute-name.id',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'CSS Property Name',\n scope: 'source.css support.type.property-name',\n settings: {\n fontStyle: '',\n foreground: '#676867',\n },\n },\n {\n name: 'CSS Property Value',\n scope:\n 'meta.property-group support.constant.property-value, meta.property-value support.constant.property-value',\n settings: {\n fontStyle: '',\n foreground: '#C7444A',\n },\n },\n {\n name: 'JavaScript Variable',\n scope: 'variable.language.js',\n settings: {\n foreground: '#CC555A',\n },\n },\n {\n name: 'Template Definition',\n scope: ['punctuation.definition.template-expression', 'punctuation.section.embedded.coffee'],\n settings: {\n foreground: '#D08442',\n },\n },\n {\n name: 'Reset JavaScript string interpolation expression',\n scope: ['meta.template.expression'],\n settings: {\n foreground: '#C5C8C6',\n },\n },\n {\n name: 'PHP Function Call',\n scope: 'meta.function-call.object.php',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'PHP Single Quote HMTL Fix',\n scope: 'punctuation.definition.string.end.php, punctuation.definition.string.begin.php',\n settings: {\n foreground: '#9AA83A',\n },\n },\n {\n name: 'PHP Parenthesis HMTL Fix',\n scope: 'source.php.embedded.line.html',\n settings: {\n foreground: '#676867',\n },\n },\n {\n name: 'PHP Punctuation Embedded',\n scope: 'punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php',\n settings: {\n fontStyle: '',\n foreground: '#D08442',\n },\n },\n {\n name: 'Ruby Symbol',\n scope: 'constant.other.symbol.ruby',\n settings: {\n fontStyle: '',\n foreground: '#9AA83A',\n },\n },\n {\n name: 'Ruby Variable',\n scope: 'variable.language.ruby',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'Ruby Special Method',\n scope: 'keyword.other.special-method.ruby',\n settings: {\n fontStyle: '',\n foreground: '#D9B700',\n },\n },\n {\n name: 'Ruby Embedded Source',\n scope: ['punctuation.section.embedded.begin.ruby', 'punctuation.section.embedded.end.ruby'],\n settings: {\n foreground: '#D08442',\n },\n },\n {\n name: 'SQL',\n scope: 'keyword.other.DML.sql',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'diff: header',\n scope: 'meta.diff, meta.diff.header',\n settings: {\n fontStyle: 'italic',\n foreground: '#E0EDDD',\n },\n },\n {\n name: 'diff: deleted',\n scope: 'markup.deleted',\n settings: {\n fontStyle: '',\n foreground: '#dc322f',\n },\n },\n {\n name: 'diff: changed',\n scope: 'markup.changed',\n settings: {\n fontStyle: '',\n foreground: '#cb4b16',\n },\n },\n {\n name: 'diff: inserted',\n scope: 'markup.inserted',\n settings: {\n foreground: '#219186',\n },\n },\n {\n name: 'Markup Quote',\n scope: 'markup.quote',\n settings: {\n foreground: '#9872A2',\n },\n },\n {\n name: 'Markup Lists',\n scope: 'markup.list',\n settings: {\n foreground: '#9AA83A',\n },\n },\n {\n name: 'Markup Styling',\n scope: 'markup.bold, markup.italic',\n settings: {\n foreground: '#6089B4',\n },\n },\n {\n name: 'Markup Inline',\n scope: 'markup.inline.raw',\n settings: {\n fontStyle: '',\n foreground: '#FF0080',\n },\n },\n {\n name: 'Markup Headings',\n scope: 'markup.heading',\n settings: {\n foreground: '#D0B344',\n },\n },\n {\n name: 'Markup Setext Header',\n scope: 'markup.heading.setext',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'Markdown Headings',\n scope: 'markup.heading.markdown',\n settings: {\n fontStyle: 'bold',\n },\n },\n {\n name: 'Markdown Quote',\n scope: 'markup.quote.markdown',\n settings: {\n fontStyle: 'italic',\n foreground: '',\n },\n },\n {\n name: 'Markdown Bold',\n scope: 'markup.bold.markdown',\n settings: {\n fontStyle: 'bold',\n },\n },\n {\n name: 'Markdown Link Title/Description',\n scope: 'string.other.link.title.markdown,string.other.link.description.markdown',\n settings: {\n foreground: '#AE81FF',\n },\n },\n {\n name: 'Markdown Underline Link/Image',\n scope: 'markup.underline.link.markdown,markup.underline.link.image.markdown',\n settings: {\n foreground: '',\n },\n },\n {\n name: 'Markdown Emphasis',\n scope: 'markup.italic.markdown',\n settings: {\n fontStyle: 'italic',\n },\n },\n {\n scope: 'markup.strikethrough',\n settings: {\n fontStyle: 'strikethrough',\n },\n },\n {\n name: 'Markdown Punctuation Definition Link',\n scope: 'markup.list.unnumbered.markdown, markup.list.numbered.markdown',\n settings: {\n foreground: '',\n },\n },\n {\n name: 'Markdown List Punctuation',\n scope: ['punctuation.definition.list.begin.markdown'],\n settings: {\n foreground: '',\n },\n },\n {\n scope: 'token.info-token',\n settings: {\n foreground: '#6796e6',\n },\n },\n {\n scope: 'token.warn-token',\n settings: {\n foreground: '#cd9731',\n },\n },\n {\n scope: 'token.error-token',\n settings: {\n foreground: '#f44747',\n },\n },\n {\n scope: 'token.debug-token',\n settings: {\n foreground: '#b267e6',\n },\n },\n {\n name: 'this.self',\n scope: 'variable.language',\n settings: {\n foreground: '#c7444a',\n },\n },\n ],\n semanticHighlighting: true,\n}\n","import type { CodeHighlightAdapter } from '../CodeHighlightProvider'\nimport { dark, light } from './shiki-themes'\n\nfunction stripElement(openTag: string, data: string) {\n const openIndex = data.indexOf(`<${openTag}`)\n let closeIndex = openIndex + openTag.length\n\n for (let i = openIndex; i < data.length; i += 1) {\n if (data[i] === '>') {\n closeIndex = i\n break\n }\n }\n\n const striped = data.slice(0, openIndex) + data.slice(closeIndex + 1)\n return striped.replace(`</${openTag}>`, '')\n}\n\nexport function stripShikiCodeBlocks(data: string) {\n return stripElement('code', stripElement('pre', data))\n}\n\ninterface CreateShikiAdapterOptions {\n forceColorScheme?: 'dark' | 'light' | (string & {})\n}\n\nexport const createShikiAdapter = (\n loadShiki: () => Promise<any>,\n { forceColorScheme }: CreateShikiAdapterOptions = {},\n): CodeHighlightAdapter => ({\n loadContext: loadShiki,\n getHighlighter: (ctx) => {\n if (!ctx) {\n return ({ code }) => ({ highlightedCode: code, isHighlighted: false })\n }\n\n return ({ code, language, colorScheme }) => {\n let _colorScheme: any = colorScheme\n\n if (colorScheme === 'light') {\n _colorScheme = light\n } else if (colorScheme === 'dark') {\n _colorScheme = dark\n }\n\n return {\n isHighlighted: true,\n highlightedCode: stripShikiCodeBlocks(\n ctx.codeToHtml(code, {\n lang: language,\n theme: forceColorScheme || _colorScheme,\n }),\n ),\n }\n }\n },\n})\n"],"mappings":"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GACE,OAAO,CAAC,mBAAmB,yBAAyB;GACpD,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO,CAAC,WAAW,cAAc;GACjC,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IAAC;IAA4B;IAA2B;GAAmB;GAClF,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO,CAAC,UAAU,4CAA4C;GAC9D,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,YAAY;IACZ,SAAS;IACT,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO,CAAC,iBAAiB,eAAe;GACxC,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IACL;IACA;IACA;IACA;GACF;GACA,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO,CAAC,kBAAkB,4BAA4B;GACtD,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO,CAAC,kBAAkB;GAC1B,UAAU,EACR,WAAW,YACb;EACF;EACA;GACE,OAAO,CAAC,sBAAsB;GAC9B,UAAU,EACR,WAAW,gBACb;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IAAC;IAAkB;IAA8B;GAAgC;GACxF,UAAU;IACR,YAAY;IACZ,YAAY;GACd;EACF;EACA;GACE,OAAO,CAAC,8BAA8B;GACtC,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IAAC;IAAmB;IAA4B;GAAiC;GACxF,UAAU;IACR,YAAY;IACZ,YAAY;GACd;EACF;EACA;GACE,OAAO,CAAC,kBAAkB,gCAAgC;GAC1D,UAAU;IACR,YAAY;IACZ,YAAY;GACd;EACF;EACA;GACE,OAAO,CAAC,kBAAkB,kBAAkB;GAC5C,UAAU;IACR,YAAY;IACZ,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IACL;IACA;IACA;IACA;IACA;IACA;GACF;GACA,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO,CAAC,iCAAiC,mBAAmB;GAC5D,UAAU,EACR,YAAY,UACd;EACF;CACF;CACA,MAAM;AACR;AAEA,IAAa,OAAO;CAClB,MAAM;CACN,QAAQ;EACN,uBAAuB;EACvB,kCAAkC;EAClC,kCAAkC;EAClC,oCAAoC;EACpC,wBAAwB;EACxB,4BAA4B;EAC5B,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,8BAA8B;EAC9B,8BAA8B;EAC9B,uCAAuC;EACvC,kCAAkC;EAClC,qCAAqC;EACrC,kCAAkC;EAClC,wCAAwC;EACxC,2BAA2B;EAC3B,+BAA+B;EAC/B,gCAAgC;EAChC,sCAAsC;EACtC,oCAAoC;EACpC,0BAA0B;EAC1B,cAAc;EACd,0BAA0B;EAC1B,wBAAwB;EACxB,mBAAmB;EACnB,+BAA+B;EAC/B,wBAAwB;EACxB,iCAAiC;EACjC,gCAAgC;EAChC,6BAA6B;EAC7B,kCAAkC;EAClC,sCAAsC;EACtC,0BAA0B;EAC1B,0BAA0B;EAC1B,+BAA+B;EAC/B,sBAAsB;EACtB,mCAAmC;EACnC,mBAAmB;EACnB,mBAAmB;EACnB,0BAA0B;EAC1B,4BAA4B;EAC5B,aAAa;EACb,sBAAsB;EACtB,oBAAoB;EACpB,sBAAsB;EACtB,uBAAuB;EACvB,qBAAqB;EACrB,wBAAwB;EACxB,qBAAqB;EACrB,sBAAsB;EACtB,4BAA4B;EAC5B,0BAA0B;EAC1B,4BAA4B;EAC5B,6BAA6B;EAC7B,2BAA2B;EAC3B,8BAA8B;EAC9B,2BAA2B;EAC3B,4BAA4B;EAC5B,wCAAwC;CAC1C;CACA,aAAa;EACX,EACE,UAAU,EACR,YAAY,UACd,EACF;EACA;GACE,OAAO;IAAC;IAAiB;IAA0B;GAAgC;GACnF,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;IACL;IACA;IACA;IACA;IACA;IACA;GACF;GACA,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO,CAAC,8CAA8C,qCAAqC;GAC3F,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO,CAAC,0BAA0B;GAClC,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO,CAAC,2CAA2C,uCAAuC;GAC1F,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,WAAW,OACb;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,WAAW,OACb;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,WAAW,SACb;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,WAAW,gBACb;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,GACd;EACF;EACA;GACE,MAAM;GACN,OAAO,CAAC,4CAA4C;GACpD,UAAU,EACR,YAAY,GACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;CACF;CACA,sBAAsB;AACxB;;;ACntCA,SAAS,aAAa,SAAiB,MAAc;CACnD,MAAM,YAAY,KAAK,QAAQ,IAAI,SAAS;CAC5C,IAAI,aAAa,YAAY,QAAQ;CAErC,KAAK,IAAI,IAAI,WAAW,IAAI,KAAK,QAAQ,KAAK,GAC5C,IAAI,KAAK,OAAO,KAAK;EACnB,aAAa;EACb;CACF;CAIF,QADgB,KAAK,MAAM,GAAG,SAAS,IAAI,KAAK,MAAM,aAAa,CAAC,GACrD,QAAQ,KAAK,QAAQ,IAAI,EAAE;AAC5C;AAEA,SAAgB,qBAAqB,MAAc;CACjD,OAAO,aAAa,QAAQ,aAAa,OAAO,IAAI,CAAC;AACvD;AAMA,IAAa,sBACX,WACA,EAAE,qBAAgD,CAAC,OACzB;CAC1B,aAAa;CACb,iBAAiB,QAAQ;EACvB,IAAI,CAAC,KACH,QAAQ,EAAE,YAAY;GAAE,iBAAiB;GAAM,eAAe;EAAM;EAGtE,QAAQ,EAAE,MAAM,UAAU,kBAAkB;GAC1C,IAAI,eAAoB;GAExB,IAAI,gBAAgB,SAClB,eAAe;QACV,IAAI,gBAAgB,QACzB,eAAe;GAGjB,OAAO;IACL,eAAe;IACf,iBAAiB,qBACf,IAAI,WAAW,MAAM;KACnB,MAAM;KACN,OAAO,oBAAoB;IAC7B,CAAC,CACH;GACF;EACF;CACF;AACF"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["$attrs","$attrs","$attrs","$slots"],"sources":["../src/CodeHighlightProvider/adapters/plain-text-adapter.ts","../src/CodeHighlightProvider/CodeHighlightAdapterProvider.vue","../src/CodeHighlightProvider/CodeHighlightAdapterProvider.vue","../src/CodeHighlightProvider/CodeHighlightProvider.ts","../src/CodeHighlight/CodeHighlight.context.ts","../src/CodeHighlight/CodeHighlightControl/CodeHighlightControl.vue","../src/CodeHighlight/CodeHighlightControl/CodeHighlightControl.vue","../src/CodeHighlight/CopyCodeButton/CopyIcon.vue","../src/CodeHighlight/CopyCodeButton/CopyIcon.vue","../src/CodeHighlight/CopyCodeButton/CopyCodeButton.vue","../src/CodeHighlight/CopyCodeButton/CopyCodeButton.vue","../src/CodeHighlight/ExpandCodeButton/ExpandIcon.vue","../src/CodeHighlight/ExpandCodeButton/ExpandIcon.vue","../src/CodeHighlight/ExpandCodeButton/ExpandCodeButton.vue","../src/CodeHighlight/ExpandCodeButton/ExpandCodeButton.vue","../src/CodeHighlight.module.css","../src/CodeHighlight/CodeHighlight.vue","../src/CodeHighlight/CodeHighlight.vue","../src/CodeHighlight/CodeHighlight.ts","../src/CodeHighlight/InlineCodeHighlight.vue","../src/CodeHighlight/InlineCodeHighlight.vue","../src/CodeHighlight/InlineCodeHighlight.ts","../src/CodeHighlightTabs/FileIcon.vue","../src/CodeHighlightTabs/FileIcon.vue","../src/CodeHighlightTabs/CodeHighlightTabs.vue","../src/CodeHighlightTabs/CodeHighlightTabs.vue","../src/CodeHighlightTabs/CodeHighlightTabs.ts","../src/CodeHighlightProvider/adapters/highlight-js-adapter.ts","../src/CodeHighlightProvider/adapters/shiki-themes.ts","../src/CodeHighlightProvider/adapters/shiki-adapter.ts"],"sourcesContent":["import type { CodeHighlightAdapter } from '../CodeHighlightProvider'\n\nexport const plainTextAdapter: CodeHighlightAdapter = {\n getHighlighter:\n () =>\n ({ code }) => ({ highlightedCode: code, isHighlighted: false }),\n}\n","<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue'\nimport { provideCodeHighlightAdapterContext } from './CodeHighlightProvider'\nimport type { CodeHighlightAdapterProviderProps } from './CodeHighlightProvider.types'\n\ndefineOptions({ name: 'CodeHighlightAdapterProvider' })\nconst props = defineProps<CodeHighlightAdapterProviderProps>()\nconst context = ref<any>(null)\nconst highlight = computed(() => props.adapter.getHighlighter(context.value))\nonMounted(() =>\n props.adapter.loadContext?.().then((value) => {\n context.value = value\n }),\n)\nprovideCodeHighlightAdapterContext({\n adapter: props.adapter,\n get highlight() {\n return highlight.value\n },\n})\n</script>\n\n<template>\n <div style=\"display: contents\"><slot /></div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue'\nimport { provideCodeHighlightAdapterContext } from './CodeHighlightProvider'\nimport type { CodeHighlightAdapterProviderProps } from './CodeHighlightProvider.types'\n\ndefineOptions({ name: 'CodeHighlightAdapterProvider' })\nconst props = defineProps<CodeHighlightAdapterProviderProps>()\nconst context = ref<any>(null)\nconst highlight = computed(() => props.adapter.getHighlighter(context.value))\nonMounted(() =>\n props.adapter.loadContext?.().then((value) => {\n context.value = value\n }),\n)\nprovideCodeHighlightAdapterContext({\n adapter: props.adapter,\n get highlight() {\n return highlight.value\n },\n})\n</script>\n\n<template>\n <div style=\"display: contents\"><slot /></div>\n</template>\n","import { inject, provide } from 'vue'\nimport { plainTextAdapter } from './adapters/plain-text-adapter'\nimport CodeHighlightAdapterProviderComponent from './CodeHighlightAdapterProvider.vue'\nimport type { CodeHighlightProviderContext } from './CodeHighlightProvider.types'\n\nconst CodeHighlightContext = Symbol('CodeHighlightContext')\n\nexport function provideCodeHighlightAdapterContext(value: CodeHighlightProviderContext) {\n provide(CodeHighlightContext, value)\n}\n\nexport function useHighlight() {\n const ctx = inject<CodeHighlightProviderContext | null>(CodeHighlightContext, null)\n return ctx?.highlight || plainTextAdapter.getHighlighter(null)\n}\n\nexport const CodeHighlightAdapterProvider = CodeHighlightAdapterProviderComponent\nexport type * from './CodeHighlightProvider.types'\n","import { createSafeContext } from '@mantine-vue/core'\n\nexport interface CodeHighlightContextValue {\n getStyles: (selector: string, options?: Record<string, any>) => Record<string, any>\n codeColorScheme: 'light' | 'dark' | (string & {}) | undefined\n}\n\nexport const [provideCodeHighlightContext, useCodeHighlightContext] =\n createSafeContext<CodeHighlightContextValue>(\n 'CodeHighlightProvider was not found in the component tree',\n )\n","<script setup lang=\"ts\">\nimport { computed, useAttrs } from 'vue'\nimport { ActionIcon, Tooltip, useProps } from '@mantine-vue/core'\nimport { useCodeHighlightContext } from '../CodeHighlight.context'\nimport type {\n CodeHighlightControlEmits,\n CodeHighlightControlProps,\n CodeHighlightControlSlots,\n} from './CodeHighlightControl.types'\n\ndefineOptions({ name: 'CodeHighlightControl', inheritAttrs: false })\nconst rawProps = withDefaults(defineProps<CodeHighlightControlProps>(), { component: 'button' })\ndefineSlots<CodeHighlightControlSlots>()\nconst emit = defineEmits<CodeHighlightControlEmits>()\nconst props = useProps('CodeHighlightControl', null, rawProps)\nconst attrs = useAttrs()\nconst ctx = useCodeHighlightContext()\nconst tooltipStyles = computed(() => ctx.getStyles('controlTooltip'))\n</script>\n\n<template>\n <Tooltip\n v-if=\"props.tooltipLabel\"\n :label=\"props.tooltipLabel\"\n fz=\"sm\"\n position=\"bottom\"\n :class-names=\"{ tooltip: tooltipStyles.class }\"\n :styles=\"{ tooltip: tooltipStyles.style }\"\n :data-code-color-scheme=\"ctx.codeColorScheme\"\n :transition-props=\"{ duration: 0 }\"\n >\n <ActionIcon\n v-bind=\"{ ...ctx.getStyles('control'), ...attrs }\"\n :component=\"props.component\"\n :variant=\"'none' as any\"\n :data-code-color-scheme=\"ctx.codeColorScheme\"\n @click=\"(event: MouseEvent) => emit('click', event)\"\n >\n <slot />\n </ActionIcon>\n </Tooltip>\n <ActionIcon\n v-else\n v-bind=\"{ ...ctx.getStyles('control'), ...attrs }\"\n :component=\"props.component\"\n :variant=\"'none' as any\"\n :data-code-color-scheme=\"ctx.codeColorScheme\"\n @click=\"(event: MouseEvent) => emit('click', event)\"\n >\n <slot />\n </ActionIcon>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, useAttrs } from 'vue'\nimport { ActionIcon, Tooltip, useProps } from '@mantine-vue/core'\nimport { useCodeHighlightContext } from '../CodeHighlight.context'\nimport type {\n CodeHighlightControlEmits,\n CodeHighlightControlProps,\n CodeHighlightControlSlots,\n} from './CodeHighlightControl.types'\n\ndefineOptions({ name: 'CodeHighlightControl', inheritAttrs: false })\nconst rawProps = withDefaults(defineProps<CodeHighlightControlProps>(), { component: 'button' })\ndefineSlots<CodeHighlightControlSlots>()\nconst emit = defineEmits<CodeHighlightControlEmits>()\nconst props = useProps('CodeHighlightControl', null, rawProps)\nconst attrs = useAttrs()\nconst ctx = useCodeHighlightContext()\nconst tooltipStyles = computed(() => ctx.getStyles('controlTooltip'))\n</script>\n\n<template>\n <Tooltip\n v-if=\"props.tooltipLabel\"\n :label=\"props.tooltipLabel\"\n fz=\"sm\"\n position=\"bottom\"\n :class-names=\"{ tooltip: tooltipStyles.class }\"\n :styles=\"{ tooltip: tooltipStyles.style }\"\n :data-code-color-scheme=\"ctx.codeColorScheme\"\n :transition-props=\"{ duration: 0 }\"\n >\n <ActionIcon\n v-bind=\"{ ...ctx.getStyles('control'), ...attrs }\"\n :component=\"props.component\"\n :variant=\"'none' as any\"\n :data-code-color-scheme=\"ctx.codeColorScheme\"\n @click=\"(event: MouseEvent) => emit('click', event)\"\n >\n <slot />\n </ActionIcon>\n </Tooltip>\n <ActionIcon\n v-else\n v-bind=\"{ ...ctx.getStyles('control'), ...attrs }\"\n :component=\"props.component\"\n :variant=\"'none' as any\"\n :data-code-color-scheme=\"ctx.codeColorScheme\"\n @click=\"(event: MouseEvent) => emit('click', event)\"\n >\n <slot />\n </ActionIcon>\n</template>\n","<script setup lang=\"ts\">\ndefineOptions({ name: 'CopyIcon', inheritAttrs: false })\ndefineProps<{ copied: boolean }>()\n</script>\n\n<template>\n <svg\n v-bind=\"$attrs\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"2\"\n stroke=\"currentColor\"\n fill=\"none\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <template v-if=\"copied\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M5 12l5 5l10 -10\" />\n </template>\n <template v-else>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z\" />\n <path d=\"M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2\" />\n </template>\n </svg>\n</template>\n","<script setup lang=\"ts\">\ndefineOptions({ name: 'CopyIcon', inheritAttrs: false })\ndefineProps<{ copied: boolean }>()\n</script>\n\n<template>\n <svg\n v-bind=\"$attrs\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"2\"\n stroke=\"currentColor\"\n fill=\"none\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <template v-if=\"copied\">\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M5 12l5 5l10 -10\" />\n </template>\n <template v-else>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z\" />\n <path d=\"M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2\" />\n </template>\n </svg>\n</template>\n","<script setup lang=\"ts\">\nimport { useClipboard } from '@mantine-vue/hooks'\nimport CodeHighlightControl from '../CodeHighlightControl/CodeHighlightControl.vue'\nimport CopyIcon from './CopyIcon.vue'\n\nexport interface CopyCodeButtonProps {\n code: string\n copiedLabel?: string\n copyLabel?: string\n}\n\ndefineOptions({ name: 'CopyCodeButton' })\nconst props = withDefaults(defineProps<CopyCodeButtonProps>(), {\n copiedLabel: 'Copied',\n copyLabel: 'Copy',\n})\nconst clipboard = useClipboard()\n</script>\n\n<template>\n <CodeHighlightControl\n variant=\"none\"\n :tooltip-label=\"clipboard.copied.value ? props.copiedLabel : props.copyLabel\"\n :aria-label=\"clipboard.copied.value ? props.copiedLabel : `${props.copyLabel} code`\"\n @click=\"clipboard.copy(props.code.trim())\"\n >\n <CopyIcon :copied=\"clipboard.copied.value\" />\n </CodeHighlightControl>\n</template>\n","<script setup lang=\"ts\">\nimport { useClipboard } from '@mantine-vue/hooks'\nimport CodeHighlightControl from '../CodeHighlightControl/CodeHighlightControl.vue'\nimport CopyIcon from './CopyIcon.vue'\n\nexport interface CopyCodeButtonProps {\n code: string\n copiedLabel?: string\n copyLabel?: string\n}\n\ndefineOptions({ name: 'CopyCodeButton' })\nconst props = withDefaults(defineProps<CopyCodeButtonProps>(), {\n copiedLabel: 'Copied',\n copyLabel: 'Copy',\n})\nconst clipboard = useClipboard()\n</script>\n\n<template>\n <CodeHighlightControl\n variant=\"none\"\n :tooltip-label=\"clipboard.copied.value ? props.copiedLabel : props.copyLabel\"\n :aria-label=\"clipboard.copied.value ? props.copiedLabel : `${props.copyLabel} code`\"\n @click=\"clipboard.copy(props.code.trim())\"\n >\n <CopyIcon :copied=\"clipboard.copied.value\" />\n </CodeHighlightControl>\n</template>\n","<script setup lang=\"ts\">\ndefineOptions({ name: 'ExpandIcon', inheritAttrs: false })\ndefineProps<{ expanded: boolean }>()\n</script>\n\n<template>\n <svg\n v-bind=\"$attrs\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"2\"\n stroke=\"currentColor\"\n fill=\"none\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <template v-if=\"expanded\">\n <path d=\"M12 13v-8l-3 3m6 0l-3 -3\" />\n <path d=\"M9 17l1 0\" />\n <path d=\"M14 17l1 0\" />\n <path d=\"M19 17l1 0\" />\n <path d=\"M4 17l1 0\" />\n </template>\n <template v-else>\n <path d=\"M12 11v8l3 -3m-6 0l3 3\" />\n <path d=\"M9 7l1 0\" />\n <path d=\"M14 7l1 0\" />\n <path d=\"M19 7l1 0\" />\n <path d=\"M4 7l1 0\" />\n </template>\n </svg>\n</template>\n","<script setup lang=\"ts\">\ndefineOptions({ name: 'ExpandIcon', inheritAttrs: false })\ndefineProps<{ expanded: boolean }>()\n</script>\n\n<template>\n <svg\n v-bind=\"$attrs\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"2\"\n stroke=\"currentColor\"\n fill=\"none\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <template v-if=\"expanded\">\n <path d=\"M12 13v-8l-3 3m6 0l-3 -3\" />\n <path d=\"M9 17l1 0\" />\n <path d=\"M14 17l1 0\" />\n <path d=\"M19 17l1 0\" />\n <path d=\"M4 17l1 0\" />\n </template>\n <template v-else>\n <path d=\"M12 11v8l3 -3m-6 0l3 3\" />\n <path d=\"M9 7l1 0\" />\n <path d=\"M14 7l1 0\" />\n <path d=\"M19 7l1 0\" />\n <path d=\"M4 7l1 0\" />\n </template>\n </svg>\n</template>\n","<script setup lang=\"ts\">\nimport CodeHighlightControl from '../CodeHighlightControl/CodeHighlightControl.vue'\nimport ExpandIcon from './ExpandIcon.vue'\n\nexport interface ExpandCodeButtonProps {\n expanded: boolean\n collapseCodeLabel?: string\n expandCodeLabel?: string\n}\nexport interface ExpandCodeButtonEmits {\n expand: [value: boolean]\n}\n\ndefineOptions({ name: 'ExpandCodeButton' })\nconst props = withDefaults(defineProps<ExpandCodeButtonProps>(), {\n collapseCodeLabel: 'Collapse code',\n expandCodeLabel: 'Expand code',\n})\nconst emit = defineEmits<ExpandCodeButtonEmits>()\n</script>\n\n<template>\n <CodeHighlightControl\n :tooltip-label=\"props.expanded ? props.collapseCodeLabel : props.expandCodeLabel\"\n :aria-label=\"props.expanded ? props.collapseCodeLabel : props.expandCodeLabel\"\n @click=\"emit('expand', !props.expanded)\"\n >\n <ExpandIcon :expanded=\"props.expanded\" />\n </CodeHighlightControl>\n</template>\n","<script setup lang=\"ts\">\nimport CodeHighlightControl from '../CodeHighlightControl/CodeHighlightControl.vue'\nimport ExpandIcon from './ExpandIcon.vue'\n\nexport interface ExpandCodeButtonProps {\n expanded: boolean\n collapseCodeLabel?: string\n expandCodeLabel?: string\n}\nexport interface ExpandCodeButtonEmits {\n expand: [value: boolean]\n}\n\ndefineOptions({ name: 'ExpandCodeButton' })\nconst props = withDefaults(defineProps<ExpandCodeButtonProps>(), {\n collapseCodeLabel: 'Collapse code',\n expandCodeLabel: 'Expand code',\n})\nconst emit = defineEmits<ExpandCodeButtonEmits>()\n</script>\n\n<template>\n <CodeHighlightControl\n :tooltip-label=\"props.expanded ? props.collapseCodeLabel : props.expandCodeLabel\"\n :aria-label=\"props.expanded ? props.collapseCodeLabel : props.expandCodeLabel\"\n @click=\"emit('expand', !props.expanded)\"\n >\n <ExpandIcon :expanded=\"props.expanded\" />\n </CodeHighlightControl>\n</template>\n",".root {\n position: relative;\n}\n\n.codeHighlight {\n position: relative;\n border-radius: var(--ch-radius, 0px);\n overflow: hidden;\n\n &:where([data-with-border]) {\n @mixin where-light {\n border: 1px solid var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n border: 1px solid var(--mantine-color-dark-6);\n }\n\n &:where([data-code-color-scheme='dark']) {\n border: 1px solid var(--mantine-color-dark-6);\n }\n\n &:where([data-code-color-scheme='light']) {\n border: 1px solid var(--mantine-color-gray-2);\n }\n }\n\n @mixin where-light {\n --ch-background: var(--mantine-color-gray-0);\n }\n\n @mixin where-dark {\n --ch-background: var(--mantine-color-dark-8);\n }\n}\n\n.inlineCodeHighlight {\n border-radius: var(--ch-radius, var(--mantine-radius-sm));\n overflow: hidden;\n background-color: var(--ch-background);\n font-size: 13px;\n padding: 3px 5px;\n\n &:where([data-with-border]) {\n @mixin where-light {\n border: 1px solid var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n border: 1px solid var(--mantine-color-dark-6);\n }\n\n &:where([data-code-color-scheme='dark']) {\n border: 1px solid var(--mantine-color-dark-6);\n }\n\n &:where([data-code-color-scheme='light']) {\n border: 1px solid var(--mantine-color-gray-2);\n }\n }\n\n @mixin where-light {\n --ch-background: var(--mantine-color-gray-0);\n }\n\n @mixin where-dark {\n --ch-background: var(--mantine-color-dark-8);\n }\n}\n\n.pre {\n --code-line-height: 1.7;\n\n display: block;\n margin: 0;\n flex: 1;\n min-width: 0;\n\n &[data-with-offset] .code {\n padding-top: 50px;\n }\n}\n\n.code {\n display: block;\n padding: var(--mantine-spacing-xs) var(--mantine-spacing-md);\n background-color: var(--ch-background);\n font-size: 13px;\n line-height: var(--code-line-height, var(--mantine-line-height));\n font-family: var(--mantine-font-family-monospace);\n width: fit-content;\n min-width: 100%;\n\n &:where([data-inline]) {\n display: inline-block;\n padding: 3px 5px;\n background-color: var(--ch-background);\n }\n}\n\n.controls {\n position: absolute;\n top: 8px;\n right: 8px;\n z-index: 1;\n background-color: var(--ch-background);\n border-bottom-left-radius: var(--mantine-radius-md);\n\n &:where([data-with-offset]) {\n top: 12px;\n }\n}\n\n.control {\n color: var(--mantine-color-text);\n opacity: 0.5;\n\n @mixin hover {\n color: var(--mantine-color-bright);\n opacity: 1;\n }\n\n &:where([data-code-color-scheme='dark']) {\n color: var(--mantine-color-dark-0);\n\n @mixin hover {\n color: var(--mantine-color-white);\n }\n }\n\n &:where([data-code-color-scheme='light']) {\n color: var(--mantine-color-black);\n\n @mixin hover {\n color: var(--mantine-color-black);\n }\n }\n\n & :where(svg) {\n width: 18px;\n height: 18px;\n display: block;\n }\n}\n\n.controlTooltip {\n &:where([data-code-color-scheme='light']) {\n background-color: var(--mantine-color-gray-9);\n color: var(--mantine-color-white);\n }\n\n &:where([data-code-color-scheme='dark']) {\n background-color: var(--mantine-color-gray-2);\n color: var(--mantine-color-black);\n }\n}\n\n.codeWrapper {\n --code-line-height: 1.7;\n\n display: flex;\n flex-direction: row;\n}\n\n.lineNumbers {\n user-select: none;\n text-align: right;\n padding: var(--mantine-spacing-xs) var(--mantine-spacing-xs);\n padding-left: var(--mantine-spacing-md);\n font-family: var(--mantine-font-family-monospace);\n font-size: 13px;\n line-height: var(--code-line-height, var(--mantine-line-height));\n color: var(--mantine-color-dimmed);\n background-color: var(--ch-background);\n flex-shrink: 0;\n\n &[data-with-offset] {\n padding-top: 50px;\n }\n}\n\n.scrollarea {\n &[data-collapsed] {\n max-height: var(--ch-max-height, 180px);\n overflow: hidden;\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n height: 80px;\n pointer-events: none;\n background: linear-gradient(\n 0deg,\n var(--ch-background) 0%,\n var(--ch-background) 25%,\n transparent 100%\n );\n z-index: 1;\n }\n }\n}\n\n.showCodeButton {\n position: absolute;\n z-index: 2;\n bottom: 0;\n inset-inline-start: 50%;\n transform: translateX(-50%);\n font-size: var(--mantine-font-size-sm);\n color: var(--mantine-color-anchor);\n width: 100%;\n text-align: center;\n padding-top: var(--mantine-spacing-xs);\n padding-bottom: var(--mantine-spacing-xs);\n white-space: nowrap;\n\n &[data-hidden] {\n display: none;\n }\n\n &:where([data-code-color-scheme='dark']) {\n color: var(--mantine-primary-color-5);\n }\n\n &:where([data-code-color-scheme='light']) {\n color: var(--mantine-primary-color-6);\n }\n}\n\n.file {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--mantine-font-size-xs);\n gap: 7px;\n padding: 5px 9px;\n font-family: var(--mantine-font-family-monospace);\n font-weight: var(--mantine-font-weight-bold);\n line-height: 1;\n user-select: none;\n cursor: pointer;\n opacity: 0.8;\n border: 1px solid transparent;\n white-space: nowrap;\n margin: 0;\n border-radius: var(--mantine-radius-default);\n\n &:where([data-active]) {\n opacity: 1;\n }\n\n @mixin where-light {\n border-color: var(--mantine-color-gray-3);\n color: var(--mantine-color-gray-8);\n\n &:where([data-active]) {\n background-color: var(--mantine-color-white);\n color: var(--mantine-color-black);\n }\n }\n\n @mixin where-dark {\n border-color: var(--mantine-color-dark-4);\n color: var(--mantine-color-dark-0);\n\n &:where([data-active]) {\n background-color: var(--mantine-color-dark-5);\n color: var(--mantine-color-white);\n }\n }\n\n &:where([data-color-scheme='light']) {\n border-color: var(--mantine-color-gray-3);\n color: var(--mantine-color-gray-8);\n\n &:where([data-active]) {\n background-color: var(--mantine-color-white);\n color: var(--mantine-color-black);\n }\n }\n\n &:where([data-color-scheme='dark']) {\n border-color: var(--mantine-color-dark-4);\n color: var(--mantine-color-dark-0);\n\n &:where([data-active]) {\n background-color: var(--mantine-color-dark-5);\n color: var(--mantine-color-white);\n }\n }\n\n @mixin hover {\n opacity: 1;\n }\n\n &:where(:only-child) {\n cursor: default;\n }\n}\n\n.fileIcon {\n & :where(svg) {\n display: block;\n }\n}\n\n.filesScrollarea {\n position: absolute;\n z-index: 2;\n top: 0;\n left: 0;\n right: 70px;\n}\n\n.files {\n display: flex;\n padding: 12px 10px;\n padding-bottom: 0;\n gap: var(--mantine-spacing-xs);\n}\n","<script lang=\"ts\">\nimport { createVarsResolver, getRadius, getThemeColor, rem } from '@mantine-vue/core'\n\nconst varsResolver = createVarsResolver<any>(\n (theme, { maxCollapsedHeight, background, radius }) => ({\n codeHighlight: {\n '--ch-max-height': rem(maxCollapsedHeight),\n '--ch-background': background ? getThemeColor(background, theme) : undefined,\n '--ch-radius': typeof radius !== 'undefined' ? getRadius(radius) : undefined,\n },\n }),\n)\n\nexport { varsResolver }\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, useAttrs, useSlots } from 'vue'\nimport {\n Box,\n ScrollArea,\n UnstyledButton,\n useMantineContext,\n useProps,\n useStyles,\n} from '@mantine-vue/core'\nimport { useUncontrolled } from '@mantine-vue/hooks'\nimport { useHighlight } from '../CodeHighlightProvider/CodeHighlightProvider'\nimport { provideCodeHighlightContext } from './CodeHighlight.context'\nimport CopyCodeButton from './CopyCodeButton/CopyCodeButton.vue'\nimport ExpandCodeButton from './ExpandCodeButton/ExpandCodeButton.vue'\nimport type {\n CodeHighlightEmits,\n CodeHighlightFactory,\n CodeHighlightProps,\n CodeHighlightSlots,\n} from './CodeHighlight.types'\nimport classes from '../CodeHighlight.module.css'\n\ndefineOptions({ name: 'CodeHighlight', inheritAttrs: false })\nconst rawProps = withDefaults(defineProps<CodeHighlightProps>(), {\n // Keep optional Boolean props uncontrolled when they are not provided.\n defaultExpanded: undefined,\n expanded: undefined,\n withCopyButton: true,\n withExpandButton: false,\n expandCodeLabel: 'Expand code',\n collapseCodeLabel: 'Collapse code',\n withBorder: false,\n withLineNumbers: false,\n __withOffset: false,\n __inline: false,\n})\ndefineSlots<CodeHighlightSlots>()\nconst emit = defineEmits<CodeHighlightEmits>()\nconst props = useProps('CodeHighlight', null, rawProps)\nconst attrs = useAttrs()\nconst slots = useSlots()\nconst mantine = useMantineContext()\nconst getStyles = useStyles<CodeHighlightFactory>({\n name: props.__staticSelector || 'CodeHighlight',\n classes,\n props,\n className: attrs.class,\n style: attrs.style as any,\n classNames: props.classNames,\n styles: props.styles,\n vars: props.vars,\n unstyled: props.unstyled,\n varsResolver,\n rootSelector: 'codeHighlight',\n} as any)\nconst [expanded, setExpanded] = useUncontrolled<boolean>({\n value: () => props.expanded,\n defaultValue: props.defaultExpanded,\n finalValue: true,\n onChange: (value) => {\n emit('update:expanded', value)\n emit('expanded-change', value)\n },\n})\nconst highlight = useHighlight()\n\nfunction resolveColorScheme(value: 'light' | 'dark' | 'auto'): 'light' | 'dark' {\n if (value !== 'auto') return value\n return typeof window !== 'undefined' &&\n window.matchMedia?.('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n}\n\nconst highlighted = computed(() =>\n highlight({\n code: props.code.trim(),\n language: props.language,\n colorScheme: props.codeColorScheme ?? resolveColorScheme(mantine.colorScheme.value),\n }),\n)\nconst renderedControls = computed(() => {\n const value =\n props.controls !== undefined\n ? typeof props.controls === 'function'\n ? props.controls()\n : props.controls\n : slots.controls?.()\n return Array.isArray(value) ? value : value ? [value] : []\n})\nconst shouldDisplayControls = computed(\n () => renderedControls.value.length > 0 || props.withExpandButton || props.withCopyButton,\n)\nconst lineNumbers = computed(() =>\n props.code\n .trim()\n .split('\\n')\n .map((_, index) => index + 1),\n)\nconst renderControls = () => renderedControls.value\n\nprovideCodeHighlightContext({\n getStyles,\n get codeColorScheme() {\n return props.codeColorScheme\n },\n})\n</script>\n\n<template>\n <code\n v-if=\"props.__inline && highlighted.isHighlighted\"\n v-bind=\"{\n ...attrs,\n ...highlighted.codeElementProps,\n ...getStyles('codeHighlight', {\n className: [highlighted.codeElementProps?.class, attrs.class],\n style: [highlighted.codeElementProps?.style, attrs.style],\n }),\n }\"\n :data-with-border=\"props.withBorder || undefined\"\n v-html=\"highlighted.highlightedCode\"\n />\n <code\n v-else-if=\"props.__inline\"\n v-bind=\"{\n ...attrs,\n ...highlighted.codeElementProps,\n ...getStyles('codeHighlight', {\n className: [highlighted.codeElementProps?.class, attrs.class],\n style: [highlighted.codeElementProps?.style, attrs.style],\n }),\n }\"\n :data-with-border=\"props.withBorder || undefined\"\n >{{ props.code.trim() }}</code\n >\n <Box\n v-else\n v-bind=\"{ ...attrs, ...getStyles('codeHighlight') }\"\n dir=\"ltr\"\n :data-code-color-scheme=\"props.codeColorScheme\"\n :data-with-border=\"props.withBorder || undefined\"\n >\n <div\n v-if=\"shouldDisplayControls\"\n v-bind=\"getStyles('controls')\"\n :data-with-offset=\"props.__withOffset || undefined\"\n >\n <component :is=\"renderControls\" />\n <ExpandCodeButton\n v-if=\"props.withExpandButton\"\n :expanded=\"expanded\"\n :expand-code-label=\"props.expandCodeLabel\"\n :collapse-code-label=\"props.collapseCodeLabel\"\n @expand=\"setExpanded\"\n />\n <CopyCodeButton\n v-if=\"props.withCopyButton\"\n :code=\"props.code\"\n :copied-label=\"props.copiedLabel\"\n :copy-label=\"props.copyLabel\"\n />\n </div>\n <ScrollArea\n type=\"hover\"\n :scrollbar-size=\"4\"\n dir=\"ltr\"\n :offset-scrollbars=\"false\"\n :data-collapsed=\"!expanded || undefined\"\n :styles=\"{ viewport: { overscrollBehaviorInline: 'none' } }\"\n v-bind=\"getStyles('scrollarea')\"\n >\n <div v-bind=\"getStyles('codeWrapper')\">\n <div\n v-if=\"props.withLineNumbers\"\n v-bind=\"getStyles('lineNumbers')\"\n :data-with-offset=\"props.__withOffset || undefined\"\n >\n <div v-for=\"line in lineNumbers\" :key=\"line\">{{ line }}</div>\n </div>\n <pre v-bind=\"getStyles('pre')\" :data-with-offset=\"props.__withOffset || undefined\"><code\n v-if=\"highlighted.isHighlighted\"\n v-bind=\"{\n ...highlighted.codeElementProps,\n ...getStyles('code', {\n className: highlighted.codeElementProps?.class,\n style: highlighted.codeElementProps?.style,\n }),\n }\"\n v-html=\"highlighted.highlightedCode\"\n /><code\n v-else\n v-bind=\"{\n ...highlighted.codeElementProps,\n ...getStyles('code', {\n className: highlighted.codeElementProps?.class,\n style: highlighted.codeElementProps?.style,\n }),\n }\"\n >{{ props.code.trim() }}</code></pre>\n </div>\n </ScrollArea>\n <UnstyledButton\n v-bind=\"getStyles('showCodeButton')\"\n :mod=\"{ hidden: expanded }\"\n :data-code-color-scheme=\"props.codeColorScheme\"\n @click=\"setExpanded(true)\"\n >\n {{ props.expandCodeLabel }}\n </UnstyledButton>\n </Box>\n</template>\n","<script lang=\"ts\">\nimport { createVarsResolver, getRadius, getThemeColor, rem } from '@mantine-vue/core'\n\nconst varsResolver = createVarsResolver<any>(\n (theme, { maxCollapsedHeight, background, radius }) => ({\n codeHighlight: {\n '--ch-max-height': rem(maxCollapsedHeight),\n '--ch-background': background ? getThemeColor(background, theme) : undefined,\n '--ch-radius': typeof radius !== 'undefined' ? getRadius(radius) : undefined,\n },\n }),\n)\n\nexport { varsResolver }\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, useAttrs, useSlots } from 'vue'\nimport {\n Box,\n ScrollArea,\n UnstyledButton,\n useMantineContext,\n useProps,\n useStyles,\n} from '@mantine-vue/core'\nimport { useUncontrolled } from '@mantine-vue/hooks'\nimport { useHighlight } from '../CodeHighlightProvider/CodeHighlightProvider'\nimport { provideCodeHighlightContext } from './CodeHighlight.context'\nimport CopyCodeButton from './CopyCodeButton/CopyCodeButton.vue'\nimport ExpandCodeButton from './ExpandCodeButton/ExpandCodeButton.vue'\nimport type {\n CodeHighlightEmits,\n CodeHighlightFactory,\n CodeHighlightProps,\n CodeHighlightSlots,\n} from './CodeHighlight.types'\nimport classes from '../CodeHighlight.module.css'\n\ndefineOptions({ name: 'CodeHighlight', inheritAttrs: false })\nconst rawProps = withDefaults(defineProps<CodeHighlightProps>(), {\n // Keep optional Boolean props uncontrolled when they are not provided.\n defaultExpanded: undefined,\n expanded: undefined,\n withCopyButton: true,\n withExpandButton: false,\n expandCodeLabel: 'Expand code',\n collapseCodeLabel: 'Collapse code',\n withBorder: false,\n withLineNumbers: false,\n __withOffset: false,\n __inline: false,\n})\ndefineSlots<CodeHighlightSlots>()\nconst emit = defineEmits<CodeHighlightEmits>()\nconst props = useProps('CodeHighlight', null, rawProps)\nconst attrs = useAttrs()\nconst slots = useSlots()\nconst mantine = useMantineContext()\nconst getStyles = useStyles<CodeHighlightFactory>({\n name: props.__staticSelector || 'CodeHighlight',\n classes,\n props,\n className: attrs.class,\n style: attrs.style as any,\n classNames: props.classNames,\n styles: props.styles,\n vars: props.vars,\n unstyled: props.unstyled,\n varsResolver,\n rootSelector: 'codeHighlight',\n} as any)\nconst [expanded, setExpanded] = useUncontrolled<boolean>({\n value: () => props.expanded,\n defaultValue: props.defaultExpanded,\n finalValue: true,\n onChange: (value) => {\n emit('update:expanded', value)\n emit('expanded-change', value)\n },\n})\nconst highlight = useHighlight()\n\nfunction resolveColorScheme(value: 'light' | 'dark' | 'auto'): 'light' | 'dark' {\n if (value !== 'auto') return value\n return typeof window !== 'undefined' &&\n window.matchMedia?.('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n}\n\nconst highlighted = computed(() =>\n highlight({\n code: props.code.trim(),\n language: props.language,\n colorScheme: props.codeColorScheme ?? resolveColorScheme(mantine.colorScheme.value),\n }),\n)\nconst renderedControls = computed(() => {\n const value =\n props.controls !== undefined\n ? typeof props.controls === 'function'\n ? props.controls()\n : props.controls\n : slots.controls?.()\n return Array.isArray(value) ? value : value ? [value] : []\n})\nconst shouldDisplayControls = computed(\n () => renderedControls.value.length > 0 || props.withExpandButton || props.withCopyButton,\n)\nconst lineNumbers = computed(() =>\n props.code\n .trim()\n .split('\\n')\n .map((_, index) => index + 1),\n)\nconst renderControls = () => renderedControls.value\n\nprovideCodeHighlightContext({\n getStyles,\n get codeColorScheme() {\n return props.codeColorScheme\n },\n})\n</script>\n\n<template>\n <code\n v-if=\"props.__inline && highlighted.isHighlighted\"\n v-bind=\"{\n ...attrs,\n ...highlighted.codeElementProps,\n ...getStyles('codeHighlight', {\n className: [highlighted.codeElementProps?.class, attrs.class],\n style: [highlighted.codeElementProps?.style, attrs.style],\n }),\n }\"\n :data-with-border=\"props.withBorder || undefined\"\n v-html=\"highlighted.highlightedCode\"\n />\n <code\n v-else-if=\"props.__inline\"\n v-bind=\"{\n ...attrs,\n ...highlighted.codeElementProps,\n ...getStyles('codeHighlight', {\n className: [highlighted.codeElementProps?.class, attrs.class],\n style: [highlighted.codeElementProps?.style, attrs.style],\n }),\n }\"\n :data-with-border=\"props.withBorder || undefined\"\n >{{ props.code.trim() }}</code\n >\n <Box\n v-else\n v-bind=\"{ ...attrs, ...getStyles('codeHighlight') }\"\n dir=\"ltr\"\n :data-code-color-scheme=\"props.codeColorScheme\"\n :data-with-border=\"props.withBorder || undefined\"\n >\n <div\n v-if=\"shouldDisplayControls\"\n v-bind=\"getStyles('controls')\"\n :data-with-offset=\"props.__withOffset || undefined\"\n >\n <component :is=\"renderControls\" />\n <ExpandCodeButton\n v-if=\"props.withExpandButton\"\n :expanded=\"expanded\"\n :expand-code-label=\"props.expandCodeLabel\"\n :collapse-code-label=\"props.collapseCodeLabel\"\n @expand=\"setExpanded\"\n />\n <CopyCodeButton\n v-if=\"props.withCopyButton\"\n :code=\"props.code\"\n :copied-label=\"props.copiedLabel\"\n :copy-label=\"props.copyLabel\"\n />\n </div>\n <ScrollArea\n type=\"hover\"\n :scrollbar-size=\"4\"\n dir=\"ltr\"\n :offset-scrollbars=\"false\"\n :data-collapsed=\"!expanded || undefined\"\n :styles=\"{ viewport: { overscrollBehaviorInline: 'none' } }\"\n v-bind=\"getStyles('scrollarea')\"\n >\n <div v-bind=\"getStyles('codeWrapper')\">\n <div\n v-if=\"props.withLineNumbers\"\n v-bind=\"getStyles('lineNumbers')\"\n :data-with-offset=\"props.__withOffset || undefined\"\n >\n <div v-for=\"line in lineNumbers\" :key=\"line\">{{ line }}</div>\n </div>\n <pre v-bind=\"getStyles('pre')\" :data-with-offset=\"props.__withOffset || undefined\"><code\n v-if=\"highlighted.isHighlighted\"\n v-bind=\"{\n ...highlighted.codeElementProps,\n ...getStyles('code', {\n className: highlighted.codeElementProps?.class,\n style: highlighted.codeElementProps?.style,\n }),\n }\"\n v-html=\"highlighted.highlightedCode\"\n /><code\n v-else\n v-bind=\"{\n ...highlighted.codeElementProps,\n ...getStyles('code', {\n className: highlighted.codeElementProps?.class,\n style: highlighted.codeElementProps?.style,\n }),\n }\"\n >{{ props.code.trim() }}</code></pre>\n </div>\n </ScrollArea>\n <UnstyledButton\n v-bind=\"getStyles('showCodeButton')\"\n :mod=\"{ hidden: expanded }\"\n :data-code-color-scheme=\"props.codeColorScheme\"\n @click=\"setExpanded(true)\"\n >\n {{ props.expandCodeLabel }}\n </UnstyledButton>\n </Box>\n</template>\n","import CodeHighlightComponent, { varsResolver } from './CodeHighlight.vue'\nimport { CodeHighlightControl } from './CodeHighlightControl/CodeHighlightControl'\nimport classes from '../CodeHighlight.module.css'\n\nexport const CodeHighlight = Object.assign(CodeHighlightComponent, {\n classes,\n varsResolver,\n Control: CodeHighlightControl,\n})\nexport type * from './CodeHighlight.types'\n","<script lang=\"ts\">\nimport { createVarsResolver, getRadius, getThemeColor } from '@mantine-vue/core'\nconst varsResolver = createVarsResolver<any>((theme, { background, radius }) => ({\n inlineCodeHighlight: {\n '--ch-background': background ? getThemeColor(background, theme) : undefined,\n '--ch-radius': typeof radius !== 'undefined' ? getRadius(radius) : undefined,\n },\n}))\nexport { varsResolver }\n</script>\n\n<script setup lang=\"ts\">\nimport { useAttrs } from 'vue'\nimport { useProps, useStyles } from '@mantine-vue/core'\nimport CodeHighlightComponent from './CodeHighlight.vue'\nimport type {\n InlineCodeHighlightFactory,\n InlineCodeHighlightProps,\n} from './InlineCodeHighlight.types'\nimport classes from '../CodeHighlight.module.css'\n\ndefineOptions({ name: 'InlineCodeHighlight', inheritAttrs: false })\nconst rawProps = withDefaults(defineProps<InlineCodeHighlightProps>(), { withBorder: false })\nconst props = useProps('InlineCodeHighlight', null, rawProps)\nconst attrs = useAttrs()\nconst getStyles = useStyles<InlineCodeHighlightFactory>({\n name: 'InlineCodeHighlight',\n classes,\n props,\n className: attrs.class,\n style: attrs.style as any,\n classNames: props.classNames,\n styles: props.styles,\n unstyled: props.unstyled,\n vars: props.vars,\n varsResolver,\n rootSelector: 'inlineCodeHighlight',\n} as any)\n</script>\n\n<template>\n <CodeHighlightComponent\n v-bind=\"{ ...attrs, ...props, ...getStyles('inlineCodeHighlight') }\"\n __inline\n />\n</template>\n","<script lang=\"ts\">\nimport { createVarsResolver, getRadius, getThemeColor } from '@mantine-vue/core'\nconst varsResolver = createVarsResolver<any>((theme, { background, radius }) => ({\n inlineCodeHighlight: {\n '--ch-background': background ? getThemeColor(background, theme) : undefined,\n '--ch-radius': typeof radius !== 'undefined' ? getRadius(radius) : undefined,\n },\n}))\nexport { varsResolver }\n</script>\n\n<script setup lang=\"ts\">\nimport { useAttrs } from 'vue'\nimport { useProps, useStyles } from '@mantine-vue/core'\nimport CodeHighlightComponent from './CodeHighlight.vue'\nimport type {\n InlineCodeHighlightFactory,\n InlineCodeHighlightProps,\n} from './InlineCodeHighlight.types'\nimport classes from '../CodeHighlight.module.css'\n\ndefineOptions({ name: 'InlineCodeHighlight', inheritAttrs: false })\nconst rawProps = withDefaults(defineProps<InlineCodeHighlightProps>(), { withBorder: false })\nconst props = useProps('InlineCodeHighlight', null, rawProps)\nconst attrs = useAttrs()\nconst getStyles = useStyles<InlineCodeHighlightFactory>({\n name: 'InlineCodeHighlight',\n classes,\n props,\n className: attrs.class,\n style: attrs.style as any,\n classNames: props.classNames,\n styles: props.styles,\n unstyled: props.unstyled,\n vars: props.vars,\n varsResolver,\n rootSelector: 'inlineCodeHighlight',\n} as any)\n</script>\n\n<template>\n <CodeHighlightComponent\n v-bind=\"{ ...attrs, ...props, ...getStyles('inlineCodeHighlight') }\"\n __inline\n />\n</template>\n","import InlineCodeHighlightComponent, { varsResolver } from './InlineCodeHighlight.vue'\nimport classes from '../CodeHighlight.module.css'\nexport const InlineCodeHighlight = Object.assign(InlineCodeHighlightComponent, {\n classes,\n varsResolver,\n})\nexport type * from './InlineCodeHighlight.types'\n","<script setup lang=\"ts\">\nimport type { VNodeChild } from 'vue'\ndefineOptions({ name: 'FileIcon', inheritAttrs: false })\nconst props = defineProps<{\n fileName?: string\n getFileIcon?: (fileName: string) => VNodeChild\n fileIcon?: VNodeChild\n}>()\nconst slots = defineSlots<{\n fileIcon?: () => VNodeChild\n getFileIcon?: (input: { fileName: string }) => VNodeChild\n}>()\nconst renderIcon = () => {\n if (props.fileIcon) return props.fileIcon\n if (props.getFileIcon && props.fileName) return props.getFileIcon(props.fileName)\n if (slots.fileIcon) return slots.fileIcon()\n if (slots.getFileIcon && props.fileName) return slots.getFileIcon({ fileName: props.fileName })\n return null\n}\n</script>\n\n<template>\n <span v-if=\"renderIcon()\" v-bind=\"$attrs\"><component :is=\"renderIcon\" /></span>\n</template>\n","<script setup lang=\"ts\">\nimport type { VNodeChild } from 'vue'\ndefineOptions({ name: 'FileIcon', inheritAttrs: false })\nconst props = defineProps<{\n fileName?: string\n getFileIcon?: (fileName: string) => VNodeChild\n fileIcon?: VNodeChild\n}>()\nconst slots = defineSlots<{\n fileIcon?: () => VNodeChild\n getFileIcon?: (input: { fileName: string }) => VNodeChild\n}>()\nconst renderIcon = () => {\n if (props.fileIcon) return props.fileIcon\n if (props.getFileIcon && props.fileName) return props.getFileIcon(props.fileName)\n if (slots.fileIcon) return slots.fileIcon()\n if (slots.getFileIcon && props.fileName) return slots.getFileIcon({ fileName: props.fileName })\n return null\n}\n</script>\n\n<template>\n <span v-if=\"renderIcon()\" v-bind=\"$attrs\"><component :is=\"renderIcon\" /></span>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, useAttrs, useSlots, watch } from 'vue'\nimport { Box, ScrollArea, UnstyledButton, useProps, useStyles } from '@mantine-vue/core'\nimport { useUncontrolled } from '@mantine-vue/hooks'\nimport CodeHighlightComponent from '../CodeHighlight/CodeHighlight.vue'\nimport FileIcon from './FileIcon.vue'\nimport type {\n CodeHighlightTabsEmits,\n CodeHighlightTabsFactory,\n CodeHighlightTabsProps,\n CodeHighlightTabsSlots,\n} from './CodeHighlightTabs.types'\nimport classes from '../CodeHighlight.module.css'\n\ndefineOptions({ name: 'CodeHighlightTabs', inheritAttrs: false })\nconst rawProps = withDefaults(defineProps<CodeHighlightTabsProps>(), {\n // Keep optional Boolean props uncontrolled when they are not provided.\n defaultExpanded: undefined,\n expanded: undefined,\n withExpandButton: false,\n withBorder: false,\n withLineNumbers: false,\n})\ndefineSlots<CodeHighlightTabsSlots>()\nconst emit = defineEmits<CodeHighlightTabsEmits>()\nconst props = useProps('CodeHighlightTabs', null, rawProps)\nconst attrs = useAttrs()\nconst slots = useSlots()\nconst getStyles = useStyles<CodeHighlightTabsFactory>({\n name: 'CodeHighlightTabs',\n classes,\n props,\n className: attrs.class,\n style: attrs.style as any,\n classNames: props.classNames,\n styles: props.styles,\n unstyled: props.unstyled,\n vars: props.vars,\n})\nconst [value, setValue] = useUncontrolled<number>({\n defaultValue: props.defaultActiveTab,\n value: () => props.activeTab,\n finalValue: 0,\n onChange: (tab) => {\n emit('update:activeTab', tab)\n emit('tab-change', tab)\n },\n})\nconst [expanded, setExpanded] = useUncontrolled<boolean>({\n defaultValue: props.defaultExpanded,\n value: () => props.expanded,\n finalValue: true,\n onChange: (next) => {\n emit('update:expanded', next)\n emit('expanded-change', next)\n },\n})\nwatch(\n () => [value.value, props.code.length] as const,\n ([current, length]) => {\n if (current >= length) setValue(length - 1)\n },\n { immediate: true },\n)\nconst currentCode = computed(\n () => props.code[value.value] || { code: '', language: 'tsx', fileName: '' },\n)\nconst fileIconResolver = computed(\n () =>\n props.getFileIcon ??\n (slots.getFileIcon ? (fileName: string) => slots.getFileIcon?.({ fileName }) : undefined),\n)\n</script>\n\n<template>\n <Box v-if=\"props.code.length\" v-bind=\"{ ...attrs, ...getStyles('root') }\">\n <ScrollArea\n type=\"never\"\n dir=\"ltr\"\n :offset-scrollbars=\"false\"\n v-bind=\"getStyles('filesScrollarea')\"\n >\n <div v-bind=\"getStyles('files')\">\n <UnstyledButton\n v-for=\"(node, index) in props.code\"\n :key=\"node.fileName ?? index\"\n v-bind=\"getStyles('file')\"\n :mod=\"{ active: index === value }\"\n :data-color-scheme=\"props.codeColorScheme\"\n @click=\"setValue(index)\"\n >\n <FileIcon\n :file-icon=\"node.icon\"\n :get-file-icon=\"fileIconResolver\"\n :file-name=\"node.fileName\"\n v-bind=\"getStyles('fileIcon')\"\n />\n <span>{{ node.fileName }}</span>\n </UnstyledButton>\n </div>\n </ScrollArea>\n <CodeHighlightComponent\n :code=\"currentCode.code\"\n :language=\"currentCode.language\"\n :expanded=\"expanded\"\n :with-copy-button=\"props.withCopyButton\"\n :with-expand-button=\"props.withExpandButton\"\n :with-border=\"props.withBorder\"\n :radius=\"props.radius\"\n :max-collapsed-height=\"props.maxCollapsedHeight\"\n :copied-label=\"props.copiedLabel\"\n :copy-label=\"props.copyLabel\"\n :expand-code-label=\"props.expandCodeLabel\"\n :collapse-code-label=\"props.collapseCodeLabel\"\n :background=\"props.background\"\n :controls=\"props.controls\"\n :code-color-scheme=\"props.codeColorScheme\"\n :with-line-numbers=\"props.withLineNumbers\"\n __with-offset\n __static-selector=\"CodeHighlightTabs\"\n @expanded-change=\"setExpanded\"\n :class-names=\"props.classNames\"\n :styles=\"props.styles\"\n >\n <template v-if=\"$slots.controls\" #controls><slot name=\"controls\" /></template>\n </CodeHighlightComponent>\n </Box>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, useAttrs, useSlots, watch } from 'vue'\nimport { Box, ScrollArea, UnstyledButton, useProps, useStyles } from '@mantine-vue/core'\nimport { useUncontrolled } from '@mantine-vue/hooks'\nimport CodeHighlightComponent from '../CodeHighlight/CodeHighlight.vue'\nimport FileIcon from './FileIcon.vue'\nimport type {\n CodeHighlightTabsEmits,\n CodeHighlightTabsFactory,\n CodeHighlightTabsProps,\n CodeHighlightTabsSlots,\n} from './CodeHighlightTabs.types'\nimport classes from '../CodeHighlight.module.css'\n\ndefineOptions({ name: 'CodeHighlightTabs', inheritAttrs: false })\nconst rawProps = withDefaults(defineProps<CodeHighlightTabsProps>(), {\n // Keep optional Boolean props uncontrolled when they are not provided.\n defaultExpanded: undefined,\n expanded: undefined,\n withExpandButton: false,\n withBorder: false,\n withLineNumbers: false,\n})\ndefineSlots<CodeHighlightTabsSlots>()\nconst emit = defineEmits<CodeHighlightTabsEmits>()\nconst props = useProps('CodeHighlightTabs', null, rawProps)\nconst attrs = useAttrs()\nconst slots = useSlots()\nconst getStyles = useStyles<CodeHighlightTabsFactory>({\n name: 'CodeHighlightTabs',\n classes,\n props,\n className: attrs.class,\n style: attrs.style as any,\n classNames: props.classNames,\n styles: props.styles,\n unstyled: props.unstyled,\n vars: props.vars,\n})\nconst [value, setValue] = useUncontrolled<number>({\n defaultValue: props.defaultActiveTab,\n value: () => props.activeTab,\n finalValue: 0,\n onChange: (tab) => {\n emit('update:activeTab', tab)\n emit('tab-change', tab)\n },\n})\nconst [expanded, setExpanded] = useUncontrolled<boolean>({\n defaultValue: props.defaultExpanded,\n value: () => props.expanded,\n finalValue: true,\n onChange: (next) => {\n emit('update:expanded', next)\n emit('expanded-change', next)\n },\n})\nwatch(\n () => [value.value, props.code.length] as const,\n ([current, length]) => {\n if (current >= length) setValue(length - 1)\n },\n { immediate: true },\n)\nconst currentCode = computed(\n () => props.code[value.value] || { code: '', language: 'tsx', fileName: '' },\n)\nconst fileIconResolver = computed(\n () =>\n props.getFileIcon ??\n (slots.getFileIcon ? (fileName: string) => slots.getFileIcon?.({ fileName }) : undefined),\n)\n</script>\n\n<template>\n <Box v-if=\"props.code.length\" v-bind=\"{ ...attrs, ...getStyles('root') }\">\n <ScrollArea\n type=\"never\"\n dir=\"ltr\"\n :offset-scrollbars=\"false\"\n v-bind=\"getStyles('filesScrollarea')\"\n >\n <div v-bind=\"getStyles('files')\">\n <UnstyledButton\n v-for=\"(node, index) in props.code\"\n :key=\"node.fileName ?? index\"\n v-bind=\"getStyles('file')\"\n :mod=\"{ active: index === value }\"\n :data-color-scheme=\"props.codeColorScheme\"\n @click=\"setValue(index)\"\n >\n <FileIcon\n :file-icon=\"node.icon\"\n :get-file-icon=\"fileIconResolver\"\n :file-name=\"node.fileName\"\n v-bind=\"getStyles('fileIcon')\"\n />\n <span>{{ node.fileName }}</span>\n </UnstyledButton>\n </div>\n </ScrollArea>\n <CodeHighlightComponent\n :code=\"currentCode.code\"\n :language=\"currentCode.language\"\n :expanded=\"expanded\"\n :with-copy-button=\"props.withCopyButton\"\n :with-expand-button=\"props.withExpandButton\"\n :with-border=\"props.withBorder\"\n :radius=\"props.radius\"\n :max-collapsed-height=\"props.maxCollapsedHeight\"\n :copied-label=\"props.copiedLabel\"\n :copy-label=\"props.copyLabel\"\n :expand-code-label=\"props.expandCodeLabel\"\n :collapse-code-label=\"props.collapseCodeLabel\"\n :background=\"props.background\"\n :controls=\"props.controls\"\n :code-color-scheme=\"props.codeColorScheme\"\n :with-line-numbers=\"props.withLineNumbers\"\n __with-offset\n __static-selector=\"CodeHighlightTabs\"\n @expanded-change=\"setExpanded\"\n :class-names=\"props.classNames\"\n :styles=\"props.styles\"\n >\n <template v-if=\"$slots.controls\" #controls><slot name=\"controls\" /></template>\n </CodeHighlightComponent>\n </Box>\n</template>\n","import CodeHighlightTabsComponent from './CodeHighlightTabs.vue'\nimport classes from '../CodeHighlight.module.css'\nexport const CodeHighlightTabs = Object.assign(CodeHighlightTabsComponent, { classes })\nexport type * from './CodeHighlightTabs.types'\n","import type { CodeHighlightAdapter } from '../CodeHighlightProvider'\n\nexport function createHighlightJsAdapter(hljs: any): CodeHighlightAdapter {\n return {\n getHighlighter:\n () =>\n ({ code, language }) => {\n const lang = hljs.getLanguage(language) ? language : 'plaintext'\n return {\n highlightedCode: hljs.highlight(code.trim(), { language: lang }).value,\n isHighlighted: true,\n codeElementProps: { class: `hljs ${lang}` },\n }\n },\n }\n}\n","export const light = {\n colors: {\n 'activityBar.activeBorder': '#fd8c73',\n 'activityBar.background': '#ffffff',\n 'activityBar.border': '#d0d7de',\n 'activityBar.foreground': '#1f2328',\n 'activityBar.inactiveForeground': '#656d76',\n 'activityBarBadge.background': '#0969da',\n 'activityBarBadge.foreground': '#ffffff',\n 'badge.background': '#0969da',\n 'badge.foreground': '#ffffff',\n 'breadcrumb.activeSelectionForeground': '#656d76',\n 'breadcrumb.focusForeground': '#1f2328',\n 'breadcrumb.foreground': '#656d76',\n 'breadcrumbPicker.background': '#ffffff',\n 'button.background': '#1f883d',\n 'button.foreground': '#ffffff',\n 'button.hoverBackground': '#1a7f37',\n 'button.secondaryBackground': '#ebecf0',\n 'button.secondaryForeground': '#24292f',\n 'button.secondaryHoverBackground': '#f3f4f6',\n 'checkbox.background': '#f6f8fa',\n 'checkbox.border': '#d0d7de',\n 'debugConsole.errorForeground': '#cf222e',\n 'debugConsole.infoForeground': '#57606a',\n 'debugConsole.sourceForeground': '#9a6700',\n 'debugConsole.warningForeground': '#7d4e00',\n 'debugConsoleInputIcon.foreground': '#6639ba',\n 'debugIcon.breakpointForeground': '#cf222e',\n 'debugTokenExpression.boolean': '#116329',\n 'debugTokenExpression.error': '#a40e26',\n 'debugTokenExpression.name': '#0550ae',\n 'debugTokenExpression.number': '#116329',\n 'debugTokenExpression.string': '#0a3069',\n 'debugTokenExpression.value': '#0a3069',\n 'debugToolBar.background': '#ffffff',\n descriptionForeground: '#656d76',\n 'diffEditor.insertedLineBackground': '#aceebb4d',\n 'diffEditor.insertedTextBackground': '#6fdd8b80',\n 'diffEditor.removedLineBackground': '#ffcecb4d',\n 'diffEditor.removedTextBackground': '#ff818266',\n 'dropdown.background': '#ffffff',\n 'dropdown.border': '#d0d7de',\n 'dropdown.foreground': '#1f2328',\n 'dropdown.listBackground': '#ffffff',\n 'editor.background': '#ffffff',\n 'editor.findMatchBackground': '#bf8700',\n 'editor.findMatchHighlightBackground': '#fae17d80',\n 'editor.focusedStackFrameHighlightBackground': '#4ac26b66',\n 'editor.foldBackground': '#6e77811a',\n 'editor.foreground': '#1f2328',\n 'editor.lineHighlightBackground': '#eaeef280',\n 'editor.linkedEditingBackground': '#0969da12',\n 'editor.selectionHighlightBackground': '#4ac26b40',\n 'editor.stackFrameHighlightBackground': '#d4a72c66',\n 'editor.wordHighlightBackground': '#eaeef280',\n 'editor.wordHighlightBorder': '#afb8c199',\n 'editor.wordHighlightStrongBackground': '#afb8c14d',\n 'editor.wordHighlightStrongBorder': '#afb8c199',\n 'editorBracketHighlight.foreground1': '#0969da',\n 'editorBracketHighlight.foreground2': '#1a7f37',\n 'editorBracketHighlight.foreground3': '#9a6700',\n 'editorBracketHighlight.foreground4': '#cf222e',\n 'editorBracketHighlight.foreground5': '#bf3989',\n 'editorBracketHighlight.foreground6': '#8250df',\n 'editorBracketHighlight.unexpectedBracket.foreground': '#656d76',\n 'editorBracketMatch.background': '#4ac26b40',\n 'editorBracketMatch.border': '#4ac26b99',\n 'editorCursor.foreground': '#0969da',\n 'editorGroup.border': '#d0d7de',\n 'editorGroupHeader.tabsBackground': '#f6f8fa',\n 'editorGroupHeader.tabsBorder': '#d0d7de',\n 'editorGutter.addedBackground': '#4ac26b66',\n 'editorGutter.deletedBackground': '#ff818266',\n 'editorGutter.modifiedBackground': '#d4a72c66',\n 'editorIndentGuide.activeBackground': '#1f23283d',\n 'editorIndentGuide.background': '#1f23281f',\n 'editorInlayHint.background': '#afb8c133',\n 'editorInlayHint.foreground': '#656d76',\n 'editorInlayHint.paramBackground': '#afb8c133',\n 'editorInlayHint.paramForeground': '#656d76',\n 'editorInlayHint.typeBackground': '#afb8c133',\n 'editorInlayHint.typeForeground': '#656d76',\n 'editorLineNumber.activeForeground': '#1f2328',\n 'editorLineNumber.foreground': '#8c959f',\n 'editorOverviewRuler.border': '#ffffff',\n 'editorWhitespace.foreground': '#afb8c1',\n 'editorWidget.background': '#ffffff',\n errorForeground: '#cf222e',\n focusBorder: '#0969da',\n foreground: '#1f2328',\n 'gitDecoration.addedResourceForeground': '#1a7f37',\n 'gitDecoration.conflictingResourceForeground': '#bc4c00',\n 'gitDecoration.deletedResourceForeground': '#cf222e',\n 'gitDecoration.ignoredResourceForeground': '#6e7781',\n 'gitDecoration.modifiedResourceForeground': '#9a6700',\n 'gitDecoration.submoduleResourceForeground': '#656d76',\n 'gitDecoration.untrackedResourceForeground': '#1a7f37',\n 'icon.foreground': '#656d76',\n 'input.background': '#ffffff',\n 'input.border': '#d0d7de',\n 'input.foreground': '#1f2328',\n 'input.placeholderForeground': '#6e7781',\n 'keybindingLabel.foreground': '#1f2328',\n 'list.activeSelectionBackground': '#afb8c133',\n 'list.activeSelectionForeground': '#1f2328',\n 'list.focusBackground': '#ddf4ff',\n 'list.focusForeground': '#1f2328',\n 'list.highlightForeground': '#0969da',\n 'list.hoverBackground': '#eaeef280',\n 'list.hoverForeground': '#1f2328',\n 'list.inactiveFocusBackground': '#ddf4ff',\n 'list.inactiveSelectionBackground': '#afb8c133',\n 'list.inactiveSelectionForeground': '#1f2328',\n 'minimapSlider.activeBackground': '#8c959f47',\n 'minimapSlider.background': '#8c959f33',\n 'minimapSlider.hoverBackground': '#8c959f3d',\n 'notificationCenterHeader.background': '#f6f8fa',\n 'notificationCenterHeader.foreground': '#656d76',\n 'notifications.background': '#ffffff',\n 'notifications.border': '#d0d7de',\n 'notifications.foreground': '#1f2328',\n 'notificationsErrorIcon.foreground': '#cf222e',\n 'notificationsInfoIcon.foreground': '#0969da',\n 'notificationsWarningIcon.foreground': '#9a6700',\n 'panel.background': '#f6f8fa',\n 'panel.border': '#d0d7de',\n 'panelInput.border': '#d0d7de',\n 'panelTitle.activeBorder': '#fd8c73',\n 'panelTitle.activeForeground': '#1f2328',\n 'panelTitle.inactiveForeground': '#656d76',\n 'pickerGroup.border': '#d0d7de',\n 'pickerGroup.foreground': '#656d76',\n 'progressBar.background': '#0969da',\n 'quickInput.background': '#ffffff',\n 'quickInput.foreground': '#1f2328',\n 'scrollbar.shadow': '#6e778133',\n 'scrollbarSlider.activeBackground': '#8c959f47',\n 'scrollbarSlider.background': '#8c959f33',\n 'scrollbarSlider.hoverBackground': '#8c959f3d',\n 'settings.headerForeground': '#1f2328',\n 'settings.modifiedItemIndicator': '#d4a72c66',\n 'sideBar.background': '#f6f8fa',\n 'sideBar.border': '#d0d7de',\n 'sideBar.foreground': '#1f2328',\n 'sideBarSectionHeader.background': '#f6f8fa',\n 'sideBarSectionHeader.border': '#d0d7de',\n 'sideBarSectionHeader.foreground': '#1f2328',\n 'sideBarTitle.foreground': '#1f2328',\n 'statusBar.background': '#ffffff',\n 'statusBar.border': '#d0d7de',\n 'statusBar.debuggingBackground': '#cf222e',\n 'statusBar.debuggingForeground': '#ffffff',\n 'statusBar.focusBorder': '#0969da80',\n 'statusBar.foreground': '#656d76',\n 'statusBar.noFolderBackground': '#ffffff',\n 'statusBarItem.activeBackground': '#1f23281f',\n 'statusBarItem.focusBorder': '#0969da',\n 'statusBarItem.hoverBackground': '#1f232814',\n 'statusBarItem.prominentBackground': '#afb8c133',\n 'statusBarItem.remoteBackground': '#eaeef2',\n 'statusBarItem.remoteForeground': '#1f2328',\n 'symbolIcon.arrayForeground': '#953800',\n 'symbolIcon.booleanForeground': '#0550ae',\n 'symbolIcon.classForeground': '#953800',\n 'symbolIcon.colorForeground': '#0a3069',\n 'symbolIcon.constantForeground': '#116329',\n 'symbolIcon.constructorForeground': '#3e1f79',\n 'symbolIcon.enumeratorForeground': '#953800',\n 'symbolIcon.enumeratorMemberForeground': '#0550ae',\n 'symbolIcon.eventForeground': '#57606a',\n 'symbolIcon.fieldForeground': '#953800',\n 'symbolIcon.fileForeground': '#7d4e00',\n 'symbolIcon.folderForeground': '#7d4e00',\n 'symbolIcon.functionForeground': '#6639ba',\n 'symbolIcon.interfaceForeground': '#953800',\n 'symbolIcon.keyForeground': '#0550ae',\n 'symbolIcon.keywordForeground': '#a40e26',\n 'symbolIcon.methodForeground': '#6639ba',\n 'symbolIcon.moduleForeground': '#a40e26',\n 'symbolIcon.namespaceForeground': '#a40e26',\n 'symbolIcon.nullForeground': '#0550ae',\n 'symbolIcon.numberForeground': '#116329',\n 'symbolIcon.objectForeground': '#953800',\n 'symbolIcon.operatorForeground': '#0a3069',\n 'symbolIcon.packageForeground': '#953800',\n 'symbolIcon.propertyForeground': '#953800',\n 'symbolIcon.referenceForeground': '#0550ae',\n 'symbolIcon.snippetForeground': '#0550ae',\n 'symbolIcon.stringForeground': '#0a3069',\n 'symbolIcon.structForeground': '#953800',\n 'symbolIcon.textForeground': '#0a3069',\n 'symbolIcon.typeParameterForeground': '#0a3069',\n 'symbolIcon.unitForeground': '#0550ae',\n 'symbolIcon.variableForeground': '#953800',\n 'tab.activeBackground': '#ffffff',\n 'tab.activeBorder': '#ffffff',\n 'tab.activeBorderTop': '#fd8c73',\n 'tab.activeForeground': '#1f2328',\n 'tab.border': '#d0d7de',\n 'tab.hoverBackground': '#ffffff',\n 'tab.inactiveBackground': '#f6f8fa',\n 'tab.inactiveForeground': '#656d76',\n 'tab.unfocusedActiveBorder': '#ffffff',\n 'tab.unfocusedActiveBorderTop': '#d0d7de',\n 'tab.unfocusedHoverBackground': '#eaeef280',\n 'terminal.ansiBlack': '#24292f',\n 'terminal.ansiBlue': '#0969da',\n 'terminal.ansiBrightBlack': '#57606a',\n 'terminal.ansiBrightBlue': '#218bff',\n 'terminal.ansiBrightCyan': '#3192aa',\n 'terminal.ansiBrightGreen': '#1a7f37',\n 'terminal.ansiBrightMagenta': '#a475f9',\n 'terminal.ansiBrightRed': '#a40e26',\n 'terminal.ansiBrightWhite': '#8c959f',\n 'terminal.ansiBrightYellow': '#633c01',\n 'terminal.ansiCyan': '#1b7c83',\n 'terminal.ansiGreen': '#116329',\n 'terminal.ansiMagenta': '#8250df',\n 'terminal.ansiRed': '#cf222e',\n 'terminal.ansiWhite': '#6e7781',\n 'terminal.ansiYellow': '#4d2d00',\n 'terminal.foreground': '#1f2328',\n 'textBlockQuote.background': '#f6f8fa',\n 'textBlockQuote.border': '#d0d7de',\n 'textCodeBlock.background': '#afb8c133',\n 'textLink.activeForeground': '#0969da',\n 'textLink.foreground': '#0969da',\n 'textPreformat.foreground': '#656d76',\n 'textSeparator.foreground': '#d8dee4',\n 'titleBar.activeBackground': '#ffffff',\n 'titleBar.activeForeground': '#656d76',\n 'titleBar.border': '#d0d7de',\n 'titleBar.inactiveBackground': '#f6f8fa',\n 'titleBar.inactiveForeground': '#656d76',\n 'tree.indentGuidesStroke': '#d8dee4',\n 'welcomePage.buttonBackground': '#f6f8fa',\n 'welcomePage.buttonHoverBackground': '#f3f4f6',\n },\n displayName: 'GitHub Light Default',\n semanticHighlighting: true,\n tokenColors: [\n {\n scope: ['comment', 'punctuation.definition.comment', 'string.comment'],\n settings: {\n foreground: '#6e7781',\n },\n },\n {\n scope: ['constant.other.placeholder', 'constant.character'],\n settings: {\n foreground: '#cf222e',\n },\n },\n {\n scope: [\n 'constant',\n 'entity.name.constant',\n 'variable.other.constant',\n 'variable.other.enummember',\n 'variable.language',\n 'entity',\n ],\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: ['entity.name', 'meta.export.default', 'meta.definition.variable'],\n settings: {\n foreground: '#953800',\n },\n },\n {\n scope: [\n 'variable.parameter.function',\n 'meta.jsx.children',\n 'meta.block',\n 'meta.tag.attributes',\n 'entity.name.constant',\n 'meta.object.member',\n 'meta.embedded.expression',\n ],\n settings: {\n foreground: '#1f2328',\n },\n },\n {\n scope: 'entity.name.function',\n settings: {\n foreground: '#8250df',\n },\n },\n {\n scope: ['entity.name.tag', 'support.class.component'],\n settings: {\n foreground: '#116329',\n },\n },\n {\n scope: 'keyword',\n settings: {\n foreground: '#cf222e',\n },\n },\n {\n scope: ['storage', 'storage.type'],\n settings: {\n foreground: '#cf222e',\n },\n },\n {\n scope: ['storage.modifier.package', 'storage.modifier.import', 'storage.type.java'],\n settings: {\n foreground: '#1f2328',\n },\n },\n {\n scope: ['string', 'string punctuation.section.embedded source'],\n settings: {\n foreground: '#0a3069',\n },\n },\n {\n scope: 'support',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: 'meta.property-name',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: 'variable',\n settings: {\n foreground: '#953800',\n },\n },\n {\n scope: 'variable.other',\n settings: {\n foreground: '#1f2328',\n },\n },\n {\n scope: 'invalid.broken',\n settings: {\n fontStyle: 'italic',\n foreground: '#82071e',\n },\n },\n {\n scope: 'invalid.deprecated',\n settings: {\n fontStyle: 'italic',\n foreground: '#82071e',\n },\n },\n {\n scope: 'invalid.illegal',\n settings: {\n fontStyle: 'italic',\n foreground: '#82071e',\n },\n },\n {\n scope: 'invalid.unimplemented',\n settings: {\n fontStyle: 'italic',\n foreground: '#82071e',\n },\n },\n {\n scope: 'carriage-return',\n settings: {\n background: '#cf222e',\n content: '^M',\n fontStyle: 'italic underline',\n foreground: '#f6f8fa',\n },\n },\n {\n scope: 'message.error',\n settings: {\n foreground: '#82071e',\n },\n },\n {\n scope: 'string variable',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: ['source.regexp', 'string.regexp'],\n settings: {\n foreground: '#0a3069',\n },\n },\n {\n scope: [\n 'string.regexp.character-class',\n 'string.regexp constant.character.escape',\n 'string.regexp source.ruby.embedded',\n 'string.regexp string.regexp.arbitrary-repitition',\n ],\n settings: {\n foreground: '#0a3069',\n },\n },\n {\n scope: 'string.regexp constant.character.escape',\n settings: {\n fontStyle: 'bold',\n foreground: '#116329',\n },\n },\n {\n scope: 'support.constant',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: 'support.variable',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: 'support.type.property-name.json',\n settings: {\n foreground: '#116329',\n },\n },\n {\n scope: 'meta.module-reference',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: 'punctuation.definition.list.begin.markdown',\n settings: {\n foreground: '#953800',\n },\n },\n {\n scope: ['markup.heading', 'markup.heading entity.name'],\n settings: {\n fontStyle: 'bold',\n foreground: '#0550ae',\n },\n },\n {\n scope: 'markup.quote',\n settings: {\n foreground: '#116329',\n },\n },\n {\n scope: 'markup.italic',\n settings: {\n fontStyle: 'italic',\n foreground: '#1f2328',\n },\n },\n {\n scope: 'markup.bold',\n settings: {\n fontStyle: 'bold',\n foreground: '#1f2328',\n },\n },\n {\n scope: ['markup.underline'],\n settings: {\n fontStyle: 'underline',\n },\n },\n {\n scope: ['markup.strikethrough'],\n settings: {\n fontStyle: 'strikethrough',\n },\n },\n {\n scope: 'markup.inline.raw',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: ['markup.deleted', 'meta.diff.header.from-file', 'punctuation.definition.deleted'],\n settings: {\n background: '#ffebe9',\n foreground: '#82071e',\n },\n },\n {\n scope: ['punctuation.section.embedded'],\n settings: {\n foreground: '#cf222e',\n },\n },\n {\n scope: ['markup.inserted', 'meta.diff.header.to-file', 'punctuation.definition.inserted'],\n settings: {\n background: '#dafbe1',\n foreground: '#116329',\n },\n },\n {\n scope: ['markup.changed', 'punctuation.definition.changed'],\n settings: {\n background: '#ffd8b5',\n foreground: '#953800',\n },\n },\n {\n scope: ['markup.ignored', 'markup.untracked'],\n settings: {\n background: '#0550ae',\n foreground: '#eaeef2',\n },\n },\n {\n scope: 'meta.diff.range',\n settings: {\n fontStyle: 'bold',\n foreground: '#8250df',\n },\n },\n {\n scope: 'meta.diff.header',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: 'meta.separator',\n settings: {\n fontStyle: 'bold',\n foreground: '#0550ae',\n },\n },\n {\n scope: 'meta.output',\n settings: {\n foreground: '#0550ae',\n },\n },\n {\n scope: [\n 'brackethighlighter.tag',\n 'brackethighlighter.curly',\n 'brackethighlighter.round',\n 'brackethighlighter.square',\n 'brackethighlighter.angle',\n 'brackethighlighter.quote',\n ],\n settings: {\n foreground: '#57606a',\n },\n },\n {\n scope: 'brackethighlighter.unmatched',\n settings: {\n foreground: '#82071e',\n },\n },\n {\n scope: ['constant.other.reference.link', 'string.other.link'],\n settings: {\n foreground: '#0a3069',\n },\n },\n ],\n type: 'light',\n}\n\nexport const dark = {\n type: 'dark',\n colors: {\n 'dropdown.background': '#525252',\n 'list.activeSelectionBackground': '#707070',\n 'quickInputList.focusBackground': '#707070',\n 'list.inactiveSelectionBackground': '#4e4e4e',\n 'list.hoverBackground': '#444444',\n 'list.highlightForeground': '#e58520',\n 'button.background': '#565656',\n 'editor.background': '#1e1e1e',\n 'editor.foreground': '#c5c8c6',\n 'editor.selectionBackground': '#676b7180',\n 'minimap.selectionHighlight': '#676b7180',\n 'editor.selectionHighlightBackground': '#575b6180',\n 'editor.lineHighlightBackground': '#303030',\n 'editorLineNumber.activeForeground': '#949494',\n 'editor.wordHighlightBackground': '#4747a180',\n 'editor.wordHighlightStrongBackground': '#6767ce80',\n 'editorCursor.foreground': '#c07020',\n 'editorWhitespace.foreground': '#505037',\n 'editorIndentGuide.background': '#505037',\n 'editorIndentGuide.activeBackground': '#707057',\n 'editorGroupHeader.tabsBackground': '#282828',\n 'tab.inactiveBackground': '#404040',\n 'tab.border': '#303030',\n 'tab.inactiveForeground': '#d8d8d8',\n 'tab.lastPinnedBorder': '#505050',\n 'peekView.border': '#3655b5',\n 'panelTitle.activeForeground': '#ffffff',\n 'statusBar.background': '#505050',\n 'statusBar.debuggingBackground': '#505050',\n 'statusBar.noFolderBackground': '#505050',\n 'titleBar.activeBackground': '#505050',\n 'statusBarItem.remoteBackground': '#3655b5',\n 'ports.iconRunningProcessForeground': '#CCCCCC',\n 'activityBar.background': '#353535',\n 'activityBar.foreground': '#ffffff',\n 'activityBarBadge.background': '#3655b5',\n 'sideBar.background': '#272727',\n 'sideBarSectionHeader.background': '#505050',\n 'menu.background': '#272727',\n 'menu.foreground': '#CCCCCC',\n 'pickerGroup.foreground': '#b0b0b0',\n 'inputOption.activeBorder': '#3655b5',\n focusBorder: '#3655b5',\n 'terminal.ansiBlack': '#1e1e1e',\n 'terminal.ansiRed': '#C4265E', // the bright color with ~75% transparent on the background\n 'terminal.ansiGreen': '#86B42B',\n 'terminal.ansiYellow': '#B3B42B',\n 'terminal.ansiBlue': '#6A7EC8',\n 'terminal.ansiMagenta': '#8C6BC8',\n 'terminal.ansiCyan': '#56ADBC',\n 'terminal.ansiWhite': '#e3e3dd',\n 'terminal.ansiBrightBlack': '#666666',\n 'terminal.ansiBrightRed': '#f92672',\n 'terminal.ansiBrightGreen': '#A6E22E',\n 'terminal.ansiBrightYellow': '#e2e22e', // hue shifted #A6E22E\n 'terminal.ansiBrightBlue': '#819aff', // hue shifted #AE81FF\n 'terminal.ansiBrightMagenta': '#AE81FF',\n 'terminal.ansiBrightCyan': '#66D9EF',\n 'terminal.ansiBrightWhite': '#f8f8f2',\n 'terminal.inactiveSelectionBackground': '#676b7140',\n },\n tokenColors: [\n {\n settings: {\n foreground: '#C5C8C6',\n },\n },\n {\n scope: ['meta.embedded', 'source.groovy.embedded', 'variable.legacy.builtin.python'],\n settings: {\n foreground: '#C5C8C6',\n },\n },\n {\n name: 'Comment',\n scope: 'comment',\n settings: {\n fontStyle: '',\n foreground: '#9A9B99',\n },\n },\n {\n name: 'String',\n scope: 'string',\n settings: {\n fontStyle: '',\n foreground: '#9AA83A',\n },\n },\n {\n name: 'String Embedded Source',\n scope: 'string source',\n settings: {\n fontStyle: '',\n foreground: '#D08442',\n },\n },\n {\n name: 'Number',\n scope: 'constant.numeric',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Built-in constant',\n scope: 'constant.language',\n settings: {\n fontStyle: '',\n foreground: '#408080',\n },\n },\n {\n name: 'User-defined constant',\n scope: 'constant.character, constant.other',\n settings: {\n fontStyle: '',\n foreground: '#8080FF',\n },\n },\n {\n name: 'Keyword',\n scope: 'keyword',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Support',\n scope: 'support',\n settings: {\n fontStyle: '',\n foreground: '#C7444A',\n },\n },\n {\n name: 'Storage',\n scope: 'storage',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Class name',\n scope:\n 'entity.name.class, entity.name.type, entity.name.namespace, entity.name.scope-resolution',\n settings: {\n fontStyle: '',\n foreground: '#9B0000',\n },\n },\n {\n name: 'Inherited class',\n scope: 'entity.other.inherited-class',\n settings: {\n fontStyle: '',\n foreground: '#C7444A',\n },\n },\n {\n name: 'Function name',\n scope: 'entity.name.function',\n settings: {\n fontStyle: '',\n foreground: '#CE6700',\n },\n },\n {\n name: 'Function argument',\n scope: 'variable.parameter',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Tag name',\n scope: 'entity.name.tag',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Tag attribute',\n scope: 'entity.other.attribute-name',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Library function',\n scope: 'support.function',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Keyword',\n scope: 'keyword',\n settings: {\n fontStyle: '',\n foreground: '#676867',\n },\n },\n {\n name: 'Class Variable',\n scope: 'variable.other, variable.js, punctuation.separator.variable',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Meta Brace',\n scope:\n 'punctuation.section.embedded -(source string source punctuation.section.embedded), meta.brace.erb.html',\n settings: {\n fontStyle: '',\n foreground: '#008200',\n },\n },\n {\n name: 'Invalid',\n scope: 'invalid',\n settings: {\n fontStyle: '',\n foreground: '#FF0B00',\n },\n },\n {\n name: 'Normal Variable',\n scope: 'variable.other.php, variable.other.normal',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Function Object',\n scope: 'meta.function-call.object',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Function Call Variable',\n scope: 'variable.other.property',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Keyword Control / Special',\n scope: [\n 'keyword.control',\n 'keyword.operator.new.cpp',\n 'keyword.operator.delete.cpp',\n 'keyword.other.using',\n 'keyword.other.directive.using',\n 'keyword.other.operator',\n ],\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Tag',\n scope: 'meta.tag',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'Tag Name',\n scope: 'entity.name.tag',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Doctype',\n scope: 'meta.doctype, meta.tag.sgml-declaration.doctype, meta.tag.sgml.doctype',\n settings: {\n fontStyle: '',\n foreground: '#9AA83A',\n },\n },\n {\n name: 'Tag Inline Source',\n scope: 'meta.tag.inline source, text.html.php.source',\n settings: {\n fontStyle: '',\n foreground: '#9AA83A',\n },\n },\n {\n name: 'Tag Other',\n scope:\n 'meta.tag.other, entity.name.tag.style, entity.name.tag.script, meta.tag.block.script, source.js.embedded punctuation.definition.tag.html, source.css.embedded punctuation.definition.tag.html',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'Tag Attribute',\n scope: 'entity.other.attribute-name, meta.tag punctuation.definition.string',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'Tag Value',\n scope: 'meta.tag string -source -punctuation, text source text meta.tag string -punctuation',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'Meta Brace',\n scope:\n 'punctuation.section.embedded -(source string source punctuation.section.embedded), meta.brace.erb.html',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'HTML ID',\n scope: 'meta.toc-list.id',\n settings: {\n foreground: '#9AA83A',\n },\n },\n {\n name: 'HTML String',\n scope:\n 'string.quoted.double.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.definition.string.end.html source, string.quoted.double.html source',\n settings: {\n fontStyle: '',\n foreground: '#9AA83A',\n },\n },\n {\n name: 'HTML Tags',\n scope:\n 'punctuation.definition.tag.html, punctuation.definition.tag.begin, punctuation.definition.tag.end',\n settings: {\n fontStyle: '',\n foreground: '#6089B4',\n },\n },\n {\n name: 'CSS ID',\n scope: 'meta.selector entity.other.attribute-name.id',\n settings: {\n fontStyle: '',\n foreground: '#9872A2',\n },\n },\n {\n name: 'CSS Property Name',\n scope: 'source.css support.type.property-name',\n settings: {\n fontStyle: '',\n foreground: '#676867',\n },\n },\n {\n name: 'CSS Property Value',\n scope:\n 'meta.property-group support.constant.property-value, meta.property-value support.constant.property-value',\n settings: {\n fontStyle: '',\n foreground: '#C7444A',\n },\n },\n {\n name: 'JavaScript Variable',\n scope: 'variable.language.js',\n settings: {\n foreground: '#CC555A',\n },\n },\n {\n name: 'Template Definition',\n scope: ['punctuation.definition.template-expression', 'punctuation.section.embedded.coffee'],\n settings: {\n foreground: '#D08442',\n },\n },\n {\n name: 'Reset JavaScript string interpolation expression',\n scope: ['meta.template.expression'],\n settings: {\n foreground: '#C5C8C6',\n },\n },\n {\n name: 'PHP Function Call',\n scope: 'meta.function-call.object.php',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'PHP Single Quote HMTL Fix',\n scope: 'punctuation.definition.string.end.php, punctuation.definition.string.begin.php',\n settings: {\n foreground: '#9AA83A',\n },\n },\n {\n name: 'PHP Parenthesis HMTL Fix',\n scope: 'source.php.embedded.line.html',\n settings: {\n foreground: '#676867',\n },\n },\n {\n name: 'PHP Punctuation Embedded',\n scope: 'punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php',\n settings: {\n fontStyle: '',\n foreground: '#D08442',\n },\n },\n {\n name: 'Ruby Symbol',\n scope: 'constant.other.symbol.ruby',\n settings: {\n fontStyle: '',\n foreground: '#9AA83A',\n },\n },\n {\n name: 'Ruby Variable',\n scope: 'variable.language.ruby',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'Ruby Special Method',\n scope: 'keyword.other.special-method.ruby',\n settings: {\n fontStyle: '',\n foreground: '#D9B700',\n },\n },\n {\n name: 'Ruby Embedded Source',\n scope: ['punctuation.section.embedded.begin.ruby', 'punctuation.section.embedded.end.ruby'],\n settings: {\n foreground: '#D08442',\n },\n },\n {\n name: 'SQL',\n scope: 'keyword.other.DML.sql',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'diff: header',\n scope: 'meta.diff, meta.diff.header',\n settings: {\n fontStyle: 'italic',\n foreground: '#E0EDDD',\n },\n },\n {\n name: 'diff: deleted',\n scope: 'markup.deleted',\n settings: {\n fontStyle: '',\n foreground: '#dc322f',\n },\n },\n {\n name: 'diff: changed',\n scope: 'markup.changed',\n settings: {\n fontStyle: '',\n foreground: '#cb4b16',\n },\n },\n {\n name: 'diff: inserted',\n scope: 'markup.inserted',\n settings: {\n foreground: '#219186',\n },\n },\n {\n name: 'Markup Quote',\n scope: 'markup.quote',\n settings: {\n foreground: '#9872A2',\n },\n },\n {\n name: 'Markup Lists',\n scope: 'markup.list',\n settings: {\n foreground: '#9AA83A',\n },\n },\n {\n name: 'Markup Styling',\n scope: 'markup.bold, markup.italic',\n settings: {\n foreground: '#6089B4',\n },\n },\n {\n name: 'Markup Inline',\n scope: 'markup.inline.raw',\n settings: {\n fontStyle: '',\n foreground: '#FF0080',\n },\n },\n {\n name: 'Markup Headings',\n scope: 'markup.heading',\n settings: {\n foreground: '#D0B344',\n },\n },\n {\n name: 'Markup Setext Header',\n scope: 'markup.heading.setext',\n settings: {\n fontStyle: '',\n foreground: '#D0B344',\n },\n },\n {\n name: 'Markdown Headings',\n scope: 'markup.heading.markdown',\n settings: {\n fontStyle: 'bold',\n },\n },\n {\n name: 'Markdown Quote',\n scope: 'markup.quote.markdown',\n settings: {\n fontStyle: 'italic',\n foreground: '',\n },\n },\n {\n name: 'Markdown Bold',\n scope: 'markup.bold.markdown',\n settings: {\n fontStyle: 'bold',\n },\n },\n {\n name: 'Markdown Link Title/Description',\n scope: 'string.other.link.title.markdown,string.other.link.description.markdown',\n settings: {\n foreground: '#AE81FF',\n },\n },\n {\n name: 'Markdown Underline Link/Image',\n scope: 'markup.underline.link.markdown,markup.underline.link.image.markdown',\n settings: {\n foreground: '',\n },\n },\n {\n name: 'Markdown Emphasis',\n scope: 'markup.italic.markdown',\n settings: {\n fontStyle: 'italic',\n },\n },\n {\n scope: 'markup.strikethrough',\n settings: {\n fontStyle: 'strikethrough',\n },\n },\n {\n name: 'Markdown Punctuation Definition Link',\n scope: 'markup.list.unnumbered.markdown, markup.list.numbered.markdown',\n settings: {\n foreground: '',\n },\n },\n {\n name: 'Markdown List Punctuation',\n scope: ['punctuation.definition.list.begin.markdown'],\n settings: {\n foreground: '',\n },\n },\n {\n scope: 'token.info-token',\n settings: {\n foreground: '#6796e6',\n },\n },\n {\n scope: 'token.warn-token',\n settings: {\n foreground: '#cd9731',\n },\n },\n {\n scope: 'token.error-token',\n settings: {\n foreground: '#f44747',\n },\n },\n {\n scope: 'token.debug-token',\n settings: {\n foreground: '#b267e6',\n },\n },\n {\n name: 'this.self',\n scope: 'variable.language',\n settings: {\n foreground: '#c7444a',\n },\n },\n ],\n semanticHighlighting: true,\n}\n","import type { CodeHighlightAdapter } from '../CodeHighlightProvider'\nimport { dark, light } from './shiki-themes'\n\nfunction stripElement(openTag: string, data: string) {\n const openIndex = data.indexOf(`<${openTag}`)\n let closeIndex = openIndex + openTag.length\n\n for (let i = openIndex; i < data.length; i += 1) {\n if (data[i] === '>') {\n closeIndex = i\n break\n }\n }\n\n const striped = data.slice(0, openIndex) + data.slice(closeIndex + 1)\n return striped.replace(`</${openTag}>`, '')\n}\n\nexport function stripShikiCodeBlocks(data: string) {\n return stripElement('code', stripElement('pre', data))\n}\n\ninterface CreateShikiAdapterOptions {\n forceColorScheme?: 'dark' | 'light' | (string & {})\n}\n\nexport const createShikiAdapter = (\n loadShiki: () => Promise<any>,\n { forceColorScheme }: CreateShikiAdapterOptions = {},\n): CodeHighlightAdapter => ({\n loadContext: loadShiki,\n getHighlighter: (ctx) => {\n if (!ctx) {\n return ({ code }) => ({ highlightedCode: code, isHighlighted: false })\n }\n\n return ({ code, language, colorScheme }) => {\n let _colorScheme: any = colorScheme\n\n if (colorScheme === 'light') {\n _colorScheme = light\n } else if (colorScheme === 'dark') {\n _colorScheme = dark\n }\n\n return {\n isHighlighted: true,\n highlightedCode: stripShikiCodeBlocks(\n ctx.codeToHtml(code, {\n lang: language,\n theme: forceColorScheme || _colorScheme,\n }),\n ),\n }\n }\n },\n})\n"],"mappings":"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;EACA;GACE,OAAO;IAAC;IAA4B;IAA2B;GAAmB;GAClF,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO,CAAC,UAAU,4CAA4C;GAC9D,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,YAAY;IACZ,SAAS;IACT,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO,CAAC,iBAAiB,eAAe;GACxC,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IACL;IACA;IACA;IACA;GACF;GACA,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO,CAAC,kBAAkB,4BAA4B;GACtD,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO,CAAC,kBAAkB;GAC1B,UAAU,EACR,WAAW,YACb;EACF;EACA;GACE,OAAO,CAAC,sBAAsB;GAC9B,UAAU,EACR,WAAW,gBACb;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IAAC;IAAkB;IAA8B;GAAgC;GACxF,UAAU;IACR,YAAY;IACZ,YAAY;GACd;EACF;EACA;GACE,OAAO,CAAC,8BAA8B;GACtC,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IAAC;IAAmB;IAA4B;GAAiC;GACxF,UAAU;IACR,YAAY;IACZ,YAAY;GACd;EACF;EACA;GACE,OAAO,CAAC,kBAAkB,gCAAgC;GAC1D,UAAU;IACR,YAAY;IACZ,YAAY;GACd;EACF;EACA;GACE,OAAO,CAAC,kBAAkB,kBAAkB;GAC5C,UAAU;IACR,YAAY;IACZ,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IACL;IACA;IACA;IACA;IACA;IACA;GACF;GACA,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO,CAAC,iCAAiC,mBAAmB;GAC5D,UAAU,EACR,YAAY,UACd;EACF;CACF;CACA,MAAM;AACR;AAEA,IAAa,OAAO;CAClB,MAAM;CACN,QAAQ;EACN,uBAAuB;EACvB,kCAAkC;EAClC,kCAAkC;EAClC,oCAAoC;EACpC,wBAAwB;EACxB,4BAA4B;EAC5B,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,8BAA8B;EAC9B,8BAA8B;EAC9B,uCAAuC;EACvC,kCAAkC;EAClC,qCAAqC;EACrC,kCAAkC;EAClC,wCAAwC;EACxC,2BAA2B;EAC3B,+BAA+B;EAC/B,gCAAgC;EAChC,sCAAsC;EACtC,oCAAoC;EACpC,0BAA0B;EAC1B,cAAc;EACd,0BAA0B;EAC1B,wBAAwB;EACxB,mBAAmB;EACnB,+BAA+B;EAC/B,wBAAwB;EACxB,iCAAiC;EACjC,gCAAgC;EAChC,6BAA6B;EAC7B,kCAAkC;EAClC,sCAAsC;EACtC,0BAA0B;EAC1B,0BAA0B;EAC1B,+BAA+B;EAC/B,sBAAsB;EACtB,mCAAmC;EACnC,mBAAmB;EACnB,mBAAmB;EACnB,0BAA0B;EAC1B,4BAA4B;EAC5B,aAAa;EACb,sBAAsB;EACtB,oBAAoB;EACpB,sBAAsB;EACtB,uBAAuB;EACvB,qBAAqB;EACrB,wBAAwB;EACxB,qBAAqB;EACrB,sBAAsB;EACtB,4BAA4B;EAC5B,0BAA0B;EAC1B,4BAA4B;EAC5B,6BAA6B;EAC7B,2BAA2B;EAC3B,8BAA8B;EAC9B,2BAA2B;EAC3B,4BAA4B;EAC5B,wCAAwC;CAC1C;CACA,aAAa;EACX,EACE,UAAU,EACR,YAAY,UACd,EACF;EACA;GACE,OAAO;IAAC;IAAiB;IAA0B;GAAgC;GACnF,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;IACL;IACA;IACA;IACA;IACA;IACA;GACF;GACA,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OACE;GACF,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO,CAAC,8CAA8C,qCAAqC;GAC3F,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO,CAAC,0BAA0B;GAClC,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO,CAAC,2CAA2C,uCAAuC;GAC1F,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,WAAW,OACb;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU;IACR,WAAW;IACX,YAAY;GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,WAAW,OACb;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,GACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,WAAW,SACb;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,WAAW,gBACb;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,GACd;EACF;EACA;GACE,MAAM;GACN,OAAO,CAAC,4CAA4C;GACpD,UAAU,EACR,YAAY,GACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,MAAM;GACN,OAAO;GACP,UAAU,EACR,YAAY,UACd;EACF;CACF;CACA,sBAAsB;AACxB;;;ACntCA,SAAS,aAAa,SAAiB,MAAc;CACnD,MAAM,YAAY,KAAK,QAAQ,IAAI,SAAS;CAC5C,IAAI,aAAa,YAAY,QAAQ;CAErC,KAAK,IAAI,IAAI,WAAW,IAAI,KAAK,QAAQ,KAAK,GAC5C,IAAI,KAAK,OAAO,KAAK;EACnB,aAAa;EACb;CACF;CAIF,QADgB,KAAK,MAAM,GAAG,SAAS,IAAI,KAAK,MAAM,aAAa,CAAC,GACrD,QAAQ,KAAK,QAAQ,IAAI,EAAE;AAC5C;AAEA,SAAgB,qBAAqB,MAAc;CACjD,OAAO,aAAa,QAAQ,aAAa,OAAO,IAAI,CAAC;AACvD;AAMA,IAAa,sBACX,WACA,EAAE,qBAAgD,CAAC,OACzB;CAC1B,aAAa;CACb,iBAAiB,QAAQ;EACvB,IAAI,CAAC,KACH,QAAQ,EAAE,YAAY;GAAE,iBAAiB;GAAM,eAAe;EAAM;EAGtE,QAAQ,EAAE,MAAM,UAAU,kBAAkB;GAC1C,IAAI,eAAoB;GAExB,IAAI,gBAAgB,SAClB,eAAe;QACV,IAAI,gBAAgB,QACzB,eAAe;GAGjB,OAAO;IACL,eAAe;IACf,iBAAiB,qBACf,IAAI,WAAW,MAAM;KACnB,MAAM;KACN,OAAO,oBAAoB;IAC7B,CAAC,CACH;GACF;EACF;CACF;AACF"}
|