@mantine-vue/code-highlight 3.2.0 → 3.3.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 +144 -39
- package/cjs/index.cjs.map +1 -1
- package/esm/index.mjs +143 -41
- package/esm/index.mjs.map +1 -1
- package/lib/CodeHighlight/CodeHighlight.types.d.ts +2 -0
- package/lib/CodeHighlight/InlineCodeHighlight.types.d.ts +2 -0
- package/lib/CodeHighlightProvider/CodeHighlightProvider.d.ts +7 -1
- package/lib/CodeHighlightProvider/CodeHighlightProvider.types.d.ts +4 -0
- package/lib/CodeHighlightProvider/adapters/shiki-adapter.d.ts +2 -1
- package/lib/index.d.mts +3 -1
- package/lib/index.d.ts +3 -1
- package/lib/normalize-code.d.ts +6 -0
- package/package.json +3 -3
package/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","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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L;IACA;IACA;IACA;IACA;IACA;GACF;GACA,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IAAC;IAAe;IAAuB;GAA0B;GACxE,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IACL;IACA;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,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.mjs","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/normalize-code.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, ref, watch } 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 contextLoaded = ref(false)\nconst loadedLanguages = ref<string[]>([])\nconst requestedLanguages = new Set<string>()\nlet generation = 0\nconst highlight = computed(() => props.adapter.getHighlighter(context.value))\n\nwatch(\n () => props.adapter,\n async (adapter) => {\n const currentGeneration = ++generation\n context.value = null\n contextLoaded.value = !adapter.loadContext\n loadedLanguages.value = []\n requestedLanguages.clear()\n if (adapter.loadContext) {\n const value = await adapter.loadContext()\n if (currentGeneration === generation) {\n context.value = value\n contextLoaded.value = true\n }\n }\n },\n { immediate: true },\n)\n\nfunction loadLanguage(language: string | undefined) {\n if (\n !contextLoaded.value ||\n !language ||\n !props.adapter.loadLanguage ||\n requestedLanguages.has(language)\n ) {\n return\n }\n const currentGeneration = generation\n requestedLanguages.add(language)\n let result: Promise<any> | undefined\n try {\n result = props.adapter.loadLanguage(context.value, language)\n } catch {\n requestedLanguages.delete(language)\n return\n }\n result?.then(\n () => {\n if (currentGeneration === generation && !loadedLanguages.value.includes(language)) {\n loadedLanguages.value = [...loadedLanguages.value, language]\n }\n },\n () => currentGeneration === generation && requestedLanguages.delete(language),\n )\n}\n\nprovideCodeHighlightAdapterContext({\n get adapter() {\n return props.adapter\n },\n get highlight() {\n return highlight.value\n },\n loadLanguage,\n isLanguageLoaded: (language) =>\n !language || !props.adapter.loadLanguage || loadedLanguages.value.includes(language),\n})\n</script>\n\n<template>\n <div style=\"display: contents\"><slot /></div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } 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 contextLoaded = ref(false)\nconst loadedLanguages = ref<string[]>([])\nconst requestedLanguages = new Set<string>()\nlet generation = 0\nconst highlight = computed(() => props.adapter.getHighlighter(context.value))\n\nwatch(\n () => props.adapter,\n async (adapter) => {\n const currentGeneration = ++generation\n context.value = null\n contextLoaded.value = !adapter.loadContext\n loadedLanguages.value = []\n requestedLanguages.clear()\n if (adapter.loadContext) {\n const value = await adapter.loadContext()\n if (currentGeneration === generation) {\n context.value = value\n contextLoaded.value = true\n }\n }\n },\n { immediate: true },\n)\n\nfunction loadLanguage(language: string | undefined) {\n if (\n !contextLoaded.value ||\n !language ||\n !props.adapter.loadLanguage ||\n requestedLanguages.has(language)\n ) {\n return\n }\n const currentGeneration = generation\n requestedLanguages.add(language)\n let result: Promise<any> | undefined\n try {\n result = props.adapter.loadLanguage(context.value, language)\n } catch {\n requestedLanguages.delete(language)\n return\n }\n result?.then(\n () => {\n if (currentGeneration === generation && !loadedLanguages.value.includes(language)) {\n loadedLanguages.value = [...loadedLanguages.value, language]\n }\n },\n () => currentGeneration === generation && requestedLanguages.delete(language),\n )\n}\n\nprovideCodeHighlightAdapterContext({\n get adapter() {\n return props.adapter\n },\n get highlight() {\n return highlight.value\n },\n loadLanguage,\n isLanguageLoaded: (language) =>\n !language || !props.adapter.loadLanguage || loadedLanguages.value.includes(language),\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 const fallback = plainTextAdapter.getHighlighter(null)\n return (input: Parameters<CodeHighlightProviderContext['highlight']>[0]) =>\n (ctx?.highlight || fallback)(input)\n}\n\nexport function useLoadLanguage() {\n const ctx = inject<CodeHighlightProviderContext | null>(CodeHighlightContext, null)\n return ctx?.loadLanguage || (() => {})\n}\n\nexport function useIsLanguageLoaded() {\n const ctx = inject<CodeHighlightProviderContext | null>(CodeHighlightContext, null)\n return ctx?.isLanguageLoaded || (() => true)\n}\n\nexport const CodeHighlightAdapterProvider = CodeHighlightAdapterProviderComponent\nexport type * from './CodeHighlightProvider.types'\n","export interface NormalizeCodeOptions {\n /** If set, indentation of the first line is preserved. @default false */\n withFirstLineIndentation?: boolean\n}\n\n/** Removes blank leading lines and trailing whitespace before highlighting or copying code. */\nexport function normalizeCode(\n code: string,\n { withFirstLineIndentation }: NormalizeCodeOptions = {},\n) {\n return withFirstLineIndentation ? code.replace(/^(?:[^\\S\\r\\n]*\\r?\\n)+|\\s+$/g, '') : code.trim()\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","<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)\"\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)\"\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, watchEffect } 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 {\n useHighlight,\n useIsLanguageLoaded,\n useLoadLanguage,\n} from '../CodeHighlightProvider/CodeHighlightProvider'\nimport { normalizeCode } from '../normalize-code'\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()\nconst loadLanguage = useLoadLanguage()\nconst isLanguageLoaded = useIsLanguageLoaded()\nconst normalizedCode = computed(() =>\n normalizeCode(props.code, { withFirstLineIndentation: props.withFirstLineIndentation }),\n)\n\nwatchEffect(() => loadLanguage(props.language))\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 isLanguageLoaded(props.language)\n return highlight({\n code: normalizedCode.value,\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(() => normalizedCode.value.split('\\n').map((_, index) => index + 1))\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 >{{ normalizedCode }}</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=\"normalizedCode\"\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 >{{ normalizedCode }}</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, watchEffect } 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 {\n useHighlight,\n useIsLanguageLoaded,\n useLoadLanguage,\n} from '../CodeHighlightProvider/CodeHighlightProvider'\nimport { normalizeCode } from '../normalize-code'\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()\nconst loadLanguage = useLoadLanguage()\nconst isLanguageLoaded = useIsLanguageLoaded()\nconst normalizedCode = computed(() =>\n normalizeCode(props.code, { withFirstLineIndentation: props.withFirstLineIndentation }),\n)\n\nwatchEffect(() => loadLanguage(props.language))\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 isLanguageLoaded(props.language)\n return highlight({\n code: normalizedCode.value,\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(() => normalizedCode.value.split('\\n').map((_, index) => index + 1))\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 >{{ normalizedCode }}</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=\"normalizedCode\"\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 >{{ normalizedCode }}</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-first-line-indentation=\"props.withFirstLineIndentation\"\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-first-line-indentation=\"props.withFirstLineIndentation\"\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, { 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 resolveLanguage?: (language: string) => any\n}\n\nconst specialLanguages = ['text', 'plaintext', 'txt', 'plain', 'ansi']\n\nfunction isLanguageAvailable(ctx: any, language: string | undefined) {\n return (\n !language ||\n specialLanguages.includes(language) ||\n typeof ctx.getLoadedLanguages !== 'function' ||\n ctx.getLoadedLanguages().includes(language)\n )\n}\n\nexport const createShikiAdapter = (\n loadShiki: () => Promise<any>,\n { forceColorScheme, resolveLanguage }: CreateShikiAdapterOptions = {},\n): CodeHighlightAdapter => {\n const warnedLanguages = new Set<string>()\n const warnUnavailable = (language: string, reason: string) => {\n if (warnedLanguages.has(language)) return\n warnedLanguages.add(language)\n // oxlint-disable-next-line no-console\n console.warn(\n `[@mantine-vue/code-highlight] Language \\`${language}\\` ${reason}, code is rendered as plain text.`,\n )\n }\n\n return {\n loadContext: loadShiki,\n loadLanguage: resolveLanguage\n ? (ctx, language) => {\n if (isLanguageAvailable(ctx, language)) return undefined\n const onLoadError = (error: unknown) => {\n warnUnavailable(language, 'could not be loaded')\n throw error\n }\n try {\n const grammar = resolveLanguage(language)\n if (!grammar) {\n warnUnavailable(language, 'was not resolved by `resolveLanguage`')\n return undefined\n }\n return Promise.resolve(ctx.loadLanguage(grammar)).catch(onLoadError)\n } catch (error) {\n return Promise.reject(error).catch(onLoadError)\n }\n }\n : undefined,\n getHighlighter: (ctx) => {\n if (!ctx) {\n return ({ code }) => ({ highlightedCode: code, isHighlighted: false })\n }\n\n return ({ code, language, colorScheme }) => {\n if (!isLanguageAvailable(ctx, language)) {\n if (!resolveLanguage && language) warnUnavailable(language, 'is not loaded')\n return { highlightedCode: code, isHighlighted: false }\n }\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}\n"],"mappings":"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D,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IACL;IACA;IACA;IACA;IACA;IACA;GACF;GACA,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IAAC;IAAe;IAAuB;GAA0B;GACxE,UAAU,EACR,YAAY,UACd;EACF;EACA;GACE,OAAO;IACL;IACA;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,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;AAOA,IAAM,mBAAmB;CAAC;CAAQ;CAAa;CAAO;CAAS;AAAM;AAErE,SAAS,oBAAoB,KAAU,UAA8B;CACnE,OACE,CAAC,YACD,iBAAiB,SAAS,QAAQ,KAClC,OAAO,IAAI,uBAAuB,cAClC,IAAI,mBAAmB,EAAE,SAAS,QAAQ;AAE9C;AAEA,IAAa,sBACX,WACA,EAAE,kBAAkB,oBAA+C,CAAC,MAC3C;CACzB,MAAM,kCAAkB,IAAI,IAAY;CACxC,MAAM,mBAAmB,UAAkB,WAAmB;EAC5D,IAAI,gBAAgB,IAAI,QAAQ,GAAG;EACnC,gBAAgB,IAAI,QAAQ;EAE5B,QAAQ,KACN,4CAA4C,SAAS,KAAK,OAAO,kCACnE;CACF;CAEA,OAAO;EACL,aAAa;EACb,cAAc,mBACT,KAAK,aAAa;GACjB,IAAI,oBAAoB,KAAK,QAAQ,GAAG,OAAO,KAAA;GAC/C,MAAM,eAAe,UAAmB;IACtC,gBAAgB,UAAU,qBAAqB;IAC/C,MAAM;GACR;GACA,IAAI;IACF,MAAM,UAAU,gBAAgB,QAAQ;IACxC,IAAI,CAAC,SAAS;KACZ,gBAAgB,UAAU,uCAAuC;KACjE;IACF;IACA,OAAO,QAAQ,QAAQ,IAAI,aAAa,OAAO,CAAC,EAAE,MAAM,WAAW;GACrE,SAAS,OAAO;IACd,OAAO,QAAQ,OAAO,KAAK,EAAE,MAAM,WAAW;GAChD;EACF,IACA,KAAA;EACJ,iBAAiB,QAAQ;GACvB,IAAI,CAAC,KACH,QAAQ,EAAE,YAAY;IAAE,iBAAiB;IAAM,eAAe;GAAM;GAGtE,QAAQ,EAAE,MAAM,UAAU,kBAAkB;IAC1C,IAAI,CAAC,oBAAoB,KAAK,QAAQ,GAAG;KACvC,IAAI,CAAC,mBAAmB,UAAU,gBAAgB,UAAU,eAAe;KAC3E,OAAO;MAAE,iBAAiB;MAAM,eAAe;KAAM;IACvD;IACA,IAAI,eAAoB;IAExB,IAAI,gBAAgB,SAClB,eAAe;SACV,IAAI,gBAAgB,QACzB,eAAe;IAGjB,OAAO;KACL,eAAe;KACf,iBAAiB,qBACf,IAAI,WAAW,MAAM;MACnB,MAAM;MACN,OAAO,oBAAoB;KAC7B,CAAC,CACH;IACF;GACF;EACF;CACF;AACF"}
|